Membres du groupe :
- ERREBIAI Chaimae : [email protected]
- KEBIRI Issam Eddine : [email protected]
- GHORBEL Ahmed Amine : [email protected]
- HADDOU khalid : [email protected]
- ABAKAR Issa : [email protected]
Responsable pédagogique :
- SHAOYI Yin : [email protected]
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.
● Intégration virtuelle de données provenant de plusieurs sources, où qu'elles se trouvent.
● É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, interface de l'application pour l'utilisateur)
● Exploration de l'architecture médiateur/adaptateur.
● Optimisation des requêtes et le choix de la méthode performante.
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.
Accéder de manière uniforme à des sources multiples, autonomes, hétérogènes et structurées.
- Python
- Pandas (pandasql)
- APIs
- Flask
- HTML/CSS
Use the package manager pip
to install
pip install -r requirements.txt
OR
Use the package manager pip
to install
pip install flask
pip install pandasql
pip install contextlib
pip install bs4
pip install dateutil
-
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/
-
BeautifulSoup : https://www.crummy.com/software/BeautifulSoup/bs4/doc/
-
contextlib : https://docs.python.org/3/library/contextlib.html
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 nous allons utiliser l'approche GAV
Choix des Bases de données : 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 de population en France, et le dernier API contient un jeu de données des informations sur les logements en France.
API | Description |
---|---|
API Logement | Le jeu de données sur les logements disponible sur le site opendata.caissedesdepots fournit des informations sur les logements en France. Ces données sont recueillies auprès de différents acteurs du marché immobilier et incluent des informations sur les transactions immobilières, les prix de vente, les caractéristiques des logements, etc. |
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). |
API Population | Le jeu de données de population disponible sur le site public.opendatasoft fournit des informations démographiques sur les communes et arrondissements municipaux en France. Les données incluent le nombre d'habitants par commune, la densité de population, la répartition par sexe et par tranche d'âge, ainsi que des informations sur les migrations et les naissances, le jeu de données couvre plusieurs années. |
- 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_flask (./api_flask)
- Installer les bibliothèques nécessaires dans le fichier requirements.txt (Flask, requests, json, ...)
- 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
- Dans la commande prompt d'anaconda :
- set FLASK_APP=app.py
- set FLASK_ENV=development
- flask run
- Taper dans l'url : http://127.0.0.1:5000/
- Obtenir les résultats affichés dans la page web
- [1] S. A. Y. P. V. S. S. Adah, «Query Caching and Optimization in Distributed Mediator Systems,» SIGMOD, p. 12, 1996.
- [2] A. R. J. O. Alon Halevy, «Data Integration: The Teenage Years,» VLDB Endowment, p. 8, 2006.
- [3] A. H. G. M. W.-C. T. Behzad Golshan, «Data Integration: After the Teenage Years,» PODS’17, p. 6, 2017.
- [4] P. K. P. S. G. A. A. J. R. B. S. D. G. H. L. P. M. S. M. E. P. H. Z. AnHai Doan, «Toward a System Building Agenda for Data Integration (and Data Science),» IEEE, p. 12.
- [5] G. Wiederhold, «Mediators in the Architecture of Future Information Systems,» IEEE, p. 38, 1991.
- [6] Api de logements sociaux et bailleurs par région : https://opendata.caissedesdepots.fr/pages/pagehomerefonte/
- [7] Api energie 1 :consommation quotidienne brute r ́egional electricit ́e ou de gaz : https://opendata.agenceore.fr/explore/dataset/conso-elec-gaz-annuelle-par-secteur-dactivite-agregee-epci/information/
- [8] Api energie 2 : Production demi-horaire agrégée par région : https://odre.opendatasoft.com/explore/dataset/conso-epci-annuelle/
- [9] Api population : informations démographiques sur les communes en France : https://public.opendatasoft.com/explore/dataset/population-francaise-communes/
- [10] Flask framework : https://flask.palletsprojects.com/en/2.2.x/
- [11] Anaconda distribution : https://docs.anaconda.com/anaconda/