GitHub - NailKhelifa/PyCar

Un rapide aperçu

Projet python de deuxième année à l'ENSAE.

But

Ce projet a pour objectif de créer un itinéraire optimal pour un véhicule électrique en tenant compte des bornes de recharge disponibles sur le territoire français. L'idée est d'optimiser le trajet en minimisant les arrêts de recharge et en maximisant l'efficacité énergétique du parcours.

Collaborateurs :

  • Naïl Khelifa
  • Thomas Pogu
  • Augustin Cablant

Description du projet

Recherche d'Itinéraire : Le système permet à l'utilisateur de spécifier un point de départ et une destination, puis calcule l'itinéraire optimal en considérant les bornes de recharge électrique le long du trajet.

Informations sur les Bornes de Recharge : Le système fournit des informations détaillées sur les bornes de recharge disponibles, y compris leur emplacement, le type de connecteur, la puissance de recharge, etc.

Optimisation de l'Énergie : L'algorithme d'optimisation prend en compte la capacité de la batterie du véhicule, les conditions de circulation et la disponibilité des bornes de recharge pour maximiser l'efficacité énergétique du trajet.

Architecture du répertoire

Les principaux dossiers sont :

  • Notebooks : qui contient tous les notebooks nous ayant permis de visualiser les données.
  • SCRAP : qui contient les codes qui nous ont permis de scrapper plusieurs pages internet.
  • Application : contient la web-application que nous avons conçu pour visualiser les itinéraires.

Technologies utilisées

  • Langage de Programmation : Python
  • Framework Web : Flask (pour une interface utilisateur)

Structure du projet

  • Le dossier notebooks contient tous les notebooks de statistiques descriptives (présents dans le dossier notebooks_unique). Nous avons fait le choix de tout regrouper dans le fichier EDA.ipynb.

Le fichier EDA.ipynb est construit de la manière suivante :

  • I. La pollution en France

  • II. Répartition de la population en France métropolitaine

  • III. Répartition des véhicules électriques en France métropolitaine

  • III.B Analyse du fichier

  • III.C Répartition des ventes de véhicules en fonction de leur motorisation en France

  • III.D Classement des véhicules électriques en France métropolitaine

  • III.E Autonomie des voitures électriques

  • III.F Évolution des voitures électriques en France métropolitaine

  • III.G Voitures particulières immatriculées par commune et par type de recharge

  • III.H Projection de ventes de voitures électriques selon l'IEA

  • III.I Tentative de prédictions

  • IV. Répartition des bornes électriques en France métropolitaine

  • V. Accidents en France métropolitaine

  • DOWNLOAD est le dossier avec les datasets téléchargés

  • Modules est le dossier contenant la classe permettant de trouver l'itinéraire optimal

  • SCRAP est le dossier contenant les codes pour scraper les données ainsi que les datasets correspondants

Installation

  • Cloner le dépôt :
$ git clone https://github.com/AugustinCablant/PyCar.git
  • Installer les dépendances :
$ pip install -r requirements.txt
  • Exécuter l'application : python Application/app.py
$ python Application/main.py

Utilisation

  • Accéder à l'interface web à l'adresse :
$ python Application/app.py
Un rapide aperçu Un rapide aperçu

Vous pouvez accéder à l'Exploratory Data Analysis que nous avons effectué en cliquant sur l'onglet "EDA"

Un rapide aperçu

Ou bien retrouver ce qui a motivé ce projet en cliquant sur "Pourquoi ce projet ?"

Un rapide aperçu

  • Spécifier le point de départ et la destination.
Un rapide aperçu - L'application affichera l'itinéraire optimal avec les bornes de recharge recommandées. Un rapide aperçu

Contribuer

Si vous souhaitez contribuer à ce projet, veuillez suivre les étapes suivantes :

  • Forker le projet.
  • Créer une branche pour votre fonctionnalité : git checkout -b nouvelle-fonctionnalite
  • Effectuer les modifications nécessaires.
  • Soumettre une demande de fusion (Pull Request).

Bibliographie des sources

Notebook accidents_2022_idf.ipynb

Fichier CarNetwork.py

  • data.gouv.fr, Bornes de recharge pour véhicules électriques, 2019 (Version la plus récente).

  • adresse.data.gouv.fr, API Adresse.

  • France GeoJson, France GeoJson : utilisé pour obtenir les coordonnées GeoJson des limites de l'Île-de-France

Fichier Graphique.py

  • INSEE, Émissions de gaz à effet de serre par activité

  • data.gouv.fr, Bornes de recharge pour véhicules électriques, 2019 (Version la plus récente).

Fichier autonomie_km.py

Différents scraps utiles

-Etat des lieux des voitures électriques en France Page Wikipédia présentant le parc des véhicules électriques en France (version la plus récente)

-Accidents principaux en France Page Wikipédia présentant les accidents principaux en France (version la plus récente)

-Liste de différentes autonomies de véhicules électriques Site présentant les véhciules électriques ainsi que leurs autonomies, (version la plus récente)

-Classement des véhiucules électriques les plus vendues Site présentant les véhicules électriques les plus vendus en 2023 (version la plus récente)

## Remarques

On trouvera dans le notebook test1.ipynb (fichier Tests) un mode d'emploi de la classe derrière notre projet.