Skip to content

kebiri-isam-dine/SOIVD-Systeme-optimise-d-integration-virtuelle-de-donnees

Repository files navigation

SOIVD – Système Optimisé d’Intégration Virtuelle de Données

GitHub last commit

GitHub dev_language GitHub dev_language GitHub dev_language GitHub dev_language GitHub dev_language GitHub dev_language

GitHub contributors

**Projet Chef d'œuvre **

Université Toulouse III - Paul Sabatier

Membres du groupe :

Responsable pédagogique :

About The Project

Le but de ce projet est de créé un Système Optimisé d’Intégration Virtuelle De Données – SOIVD qui exploitera différentes bases de données en relation avec l’énergie et la météo afin d’apporter une analyse du contexte actuel de crise d'énergies.

Contexte

● Évolution vers de grosses quantités de données (Big Data)
● Plusieurs sources d’informations (SGBD relationnels, fichiers, applications, pages Web ...)
● Des données de plus en plus hétérogènes et interfaces d’accès variées (langages d’interrogation, modèle de données, interfaces d’appel …)

Solution proposée

Un Système Optimisé d’Intégration Virtuelle De Données - SOIVD avec une architecture médiateur-adaptateur et une capacité d’intégration de plusieurs sources de données hétérogènes.

Objectif

Un accès uniforme à des sources multiples, autonomes et hétérogènes et structurés

Built With

  • Python
  • Flask
  • Pandas
  • APIs

Installation

Use the package manager pip to install

pip install pandasql
pip install contextlib
pip install bs4
pip install dateutil

Packages

json : https://docs.python.org/2/library/json.html

requests : https://fr.python-requests.org/en/latest/

dateutil : https://dateutil.readthedocs.io/en/stable/

pandas : https://pandas.pydata.org/docs/

pandasql : https://pypi.org/project/pandasql/

termcolor : https://pypi.org/project/termcolor/

urllib : https://docs.python.org/fr/3/library/urllib.html

BeautifulSoup : https://www.crummy.com/software/BeautifulSoup/bs4/doc/

contextlib

Conception

La figure ci-dessus représente l’architecture adoptée pour la réalisation du présent projet. Il s’agit d’une architecture Adaptateur-Médiateur dont on va utiliser l’approche GAV

Diagramme de séquence

Datasets

Choix des BDs : Nous avons choisi les bases de données par rapport aux contextes de crise de l’énergie, nous exploiterons donc deux API contenant des données relatives à la consommation gaz et électricité dans différentes régions, le troisième API quant à lui contient des données météorologiques notamment température et humidité sur différents laps de temps

Description des APIs

API Description
API Meteomatics L’API Meteomatics fourni par une compagnie suisse du même nom experte en prédiction météo permet de récupérer des données météorologiques passées, actuelles et prévisionnelles à l’échelle mondiale. Cela comprend les données de modèle et les données d’observation dans des séries chronologiques et des formats surfaciques.
API Energie ODRE Ce jeu de données rendu disponible par la plateforme d'Open Data Réseaux Énergies (ODRÉ) est constitué à partir des données locales de consommation finale en MWh publiés par le ministère de la Transition écologique et solidaire (état au 01/10/2020), regroupées par EPCI (établissements publics de coopération intercommunale), les données sont multiénergies, multiopérateurs et multi-réseaux
API Energie ODE Cette base de données issue de l’agence ORE (Opérateurs de Réseaux d’Énergie) qui est une alliance de tous les distributeurs français d'électricité et de gaz permet de visualiser l’évolution de 2011 à 2021 des consommations d'électricité et de gaz par secteur d'activité (résidentiel, tertiaire, industriel, agricole ou non affecté) et par EPCI (établissements publics de coopération intercommunale).

Mise en place de l'environnement

  • Création d'un environnement virtuel soit avec anaconda soit avec la commande -m venv sous python
  • Dans le cas où l'env virtuel est crée par Anaconda, il faut spécifier dans le anaconda prompt : conda activate
  • Pointer sur le dossier API_ConsommationElectriciteGaz (./API_ConsommationElectriciteGaz)
  • Installer les bibliothèques nécessaires dans le fichier requirements.txt (Flask, requests, json, ...)

Exploration de l'architecture du projet flask

  • Dossier static : contient tous les fichiers de style et les images si vous aurez besoin
  • Dossier templates : contient tous les fichiers html pour la partie front-end du projet
  • Fichier app.py : pour définir le logique et les endpoints

Exécution de l'app Flask

  • Dans la commande prompt d'anaconda :
    1. set FLASK_APP=app.py
    2. set FLASK_ENV=development
    3. flask run
  • Taper dans l'url : http://127.0.0.1:5000/
  • Obtenir les résultats affichés dans la page web

Affichage:

alt text alt text

Références:

About

Projet de fin d'étude M2 IAFA à l'université Toulouse 3

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published