Map projets

Présentation

Le sujet de mon stage consiste Ă  Ă©laborer une carte de l’ensoleillement dans le Sud-Est de la France, en utilisant des technologies de cartographie et de visualisation de donnĂ©es. Pour ce faire, j’ai choisi d’utiliser la bibliothèque Leaflet, un outil open-source de cartographie interactive en JavaScript, largement reconnu pour sa flexibilitĂ© et sa facilitĂ© d’utilisation.

Le but principal de ce projet est de fournir une reprĂ©sentation des projets solaire rĂ©alisĂ©e dans cette rĂ©gion, ce qui peut ĂŞtre extrĂŞmement utile pour diverses applications telles que la planification urbaine, l’optimisation de l’implantation de panneaux solaires, ou encore l’Ă©valuation du potentiel Ă©nergĂ©tique solaire.

La carte que je dĂ©veloppe comprend des donnĂ©es prĂ©cises sur l’ensoleillement, basĂ©es sur des mesures rĂ©elles ou des donnĂ©es modĂ©lisĂ©es, permettant aux utilisateurs d’explorer et d’analyser les diffĂ©rents projets rĂ©alisĂ©es par Sun R Solutions.

Map3
map of france, france, country-3141895.jpg

Map

Elle utilise Leaflet, une bibliothèque JavaScript interactive pour les cartes, avec une superposition d'image de la France au lieu de la carte OpenStreetMap habituelle.

info, icon, button-1459077.jpg

Infos projets

Chaque projet solaire répertorié comprend des informations détaillées telles que la puissance installée, la production attendue, le potentiel d'économie et les équipements utilisés.

Localisation

Les coordonnées géographiques de chaque projet et agence sont fournies pour une localisation précise sur la carte.

Besoin Ă  l'origine du projet

L’idĂ©e de crĂ©er une carte interactive des projets solaires pour le site web est nĂ©e d’un besoin fondamental de transparence et de communication avec les clients et les parties prenantes de l’entreprise. En tant qu’entreprise engagĂ©e dans le dĂ©veloppement durable et les Ă©nergies renouvelables, l’organisation a rĂ©alisĂ© qu’il Ă©tait essentiel de fournir Ă  son public une vue d’ensemble claire de ses initiatives dans le domaine de l’Ă©nergie solaire.

L’un des principaux dĂ©fis auxquels l’entreprise Ă©tait confrontĂ©e Ă©tait la dispersion des informations sur les projets solaires. Les clients et les partenaires potentiels Ă©taient souvent confrontĂ©s Ă  des difficultĂ©s pour obtenir des informations prĂ©cises sur les rĂ©alisations dans ce domaine. Cette situation entravait non seulement leur capacitĂ© Ă  Ă©valuer l’expertise et l’engagement de l’entreprise, mais limitait Ă©galement sa capacitĂ© Ă  susciter un intĂ©rĂŞt et une confiance durables.

De plus, l’Ă©quipe interne chargĂ©e du suivi et de la gestion des projets solaires a exprimĂ© le besoin d’avoir un outil centralisĂ© pour visualiser et mettre Ă  jour les informations sur chaque projet. Actuellement, ces donnĂ©es sont dispersĂ©es dans divers fichiers et systèmes internes, ce qui rend la gestion et l’analyse des projets inefficaces et chronophages. 

Etapes du projet

Ce schéma illustre, sous la forme d’une ligne du temps, l’avancée du projet et la fréquence des réunions avec le maitre de
stage.

Planification Prévisionnelle

La rĂ©alisation de ce projet a Ă©tĂ© prĂ©cĂ©dĂ©e d’une planification minutieuse, visant Ă  dĂ©finir les diffĂ©rentes Ă©tapes et Ă  allouer les ressources de manière efficace. Le diagramme de Gantt ci-dessous prĂ©sente de manière synthĂ©tique les diffĂ©rentes tâches et leur rĂ©partition dans le temps, offrant ainsi une vue d’ensemble de la planification prĂ©visionnelle de ce travail. Pour cela, nous avons utiliser Gantt Project qui est un outil de planification de projet basĂ© sur le diagramme de Gantt, qui permet de visualiser les tâches du projet, leur chronologie, et les dĂ©pendances entre elles.

Veille thechnologique menée

Les technologies géospatiales jouent un rôle crucial dans de nombreux domaines. Ces technologies ont évolué pour offrir des outils interactifs et accessibles à tous. Dans ce contexte, le projet présenté repose sur un ensemble de technologies clés, notamment Leaflet.js, HTML, CSS et SVG (Scalable Vector Graphics), qui permettent de créer une carte interactive des projets photovoltaïques dans le Sud-Est de la France.

Sources

Technologies Etapes Liens Recommandations
Leaflet.js
Initialisation de la carte
Leaflet.js est une excellente bibliothèque JavaScript pour créer des cartes interactives. Il offre une documentation complète et de nombreux exemples pour faciliter le développement.
OpenStreetMap
Ajout de fonds de carte
OpenStreetMap fournit des données cartographiques gratuites et open-source pour alimenter le fond de carte.
Leaflet.js
Création de marqueurs
La création de marqueurs avec Leaflet est simple et efficace, permettant une représentation visuelle précise des points d'intérêt sur une carte interactive.
Leaflet.js
Utilisation de groupes de clusters
L'utilisation de regroupement de marqueurs améliore la lisibilité de la carte en regroupant les marqueurs proches les uns des autres.
JavaScript
Manipulation de la carte Leaflet
JavaScript est essentiel pour rendre la carte interactive et ajouter des fonctionnalités avancées.
SVG (Scalable Vector Graphics)
Création d'icônes personnalisées
Il offre une qualité d'image élevée et une flexibilité pour ajuster la taille et les couleurs des icônes.
Font Awesome
Utilisation d'icĂ´nes pour les marqueurs
Font Awesome offre une vaste collection d'icônes personnalisables pour améliorer l'expérience utilisateur sur la carte.

Outils de développement

WAMPSERVER

WampServer est un logiciel libre et gratuit permettant de crĂ©er un environnement de dĂ©veloppement web local sur des systèmes Windows. Il regroupe Apache, MySQL et PHP, formant ainsi l’acronyme WAMP. Il nous a permis d’hĂ©berger localement la carte afin de visualiser les modifications en temps rĂ©el.

Intégration dans le projet de cartographie :

  1. Compatibilité avec les Technologies Front-End :

    • CompatibilitĂ© de WampServer avec les technologies front-end utilisĂ©es dans le projet, notamment HTML, CSS, et JavaScript. 

Avantages et Limitations :

  1. Avantages de WampServer :

    • FacilitĂ© d’installation et de configuration, offrant un environnement de dĂ©veloppement local prĂŞt Ă  l’emploi en quelques Ă©tapes simples.
    • Prise en charge de diverses versions de PHP, MySQL, Apache, ainsi que des modules supplĂ©mentaires pour rĂ©pondre aux besoins spĂ©cifiques du projet.
    • IntĂ©gration transparente avec des outils de dĂ©veloppement web courants tels que des Ă©diteurs de code, des gestionnaires de bases de donnĂ©es, et des systèmes de contrĂ´le de version.
  2. Limitations et DĂ©fis :

    • NĂ©cessitĂ© de surveiller les conflits potentiels entre les versions de logiciels et les dĂ©pendances pour Ă©viter les problèmes de compatibilitĂ©.
    • Limitations en termes de performances par rapport Ă  un serveur de production, ce qui peut entraĂ®ner des diffĂ©rences de comportement entre l’environnement de dĂ©veloppement local et le dĂ©ploiement en production.

Visual Studio Code

Visual Studio Code est un Ă©diteur de code source dĂ©veloppĂ© par Microsoft. Il offre un large Ă©ventail de fonctionnalitĂ©s pour faciliter le dĂ©veloppement d’applications web, y compris celles impliquant la crĂ©ation de cartes interactives.

Intégration avec Leaflet.js :

Une des forces de Visual Studio Code est son Ă©cosystème d’extensions, qui permet d’ajouter des fonctionnalitĂ©s supplĂ©mentaires Ă  l’Ă©diteur. Une extension populaire pour les dĂ©veloppeurs travaillant sur des projets de cartographie est l’extension Leaflet Snippets, qui fournit des raccourcis de code pratiques pour la crĂ©ation rapide de cartes Leaflet.js.

DĂ©bogage et validation du code :

VS Code offre des fonctionnalitĂ©s avancĂ©es de dĂ©bogage et de validation du code, ce qui est particulièrement utile lors du dĂ©veloppement d’applications web avec des bibliothèques comme Leaflet.js. Les outils de dĂ©bogage intĂ©grĂ©s permettent de dĂ©tecter et de corriger rapidement les erreurs de code, tandis que les fonctionnalitĂ©s de validation automatique aident Ă  maintenir un code propre et bien structurĂ©.

Extensions pour la productivité des développeurs :

En plus des outils spĂ©cifiques Ă  Leaflet.js, Visual Studio Code propose une multitude d’extensions pour amĂ©liorer la productivitĂ© des dĂ©veloppeurs. Par exemple, des extensions pour la coloration syntaxique amĂ©liorĂ©e, la gestion de version avec Git, la prise en charge des langages de balisage comme HTML et CSS, et bien plus encore, peuvent ĂŞtre extrĂŞmement utiles dans le contexte du dĂ©veloppement de projets de cartographie.

Communauté et support :

Visual Studio Code bĂ©nĂ©ficie d’une vaste communautĂ© d’utilisateurs et de dĂ©veloppeurs, ce qui se traduit par une documentation Ă©tendue, des forums de discussion actifs et un support rĂ©gulier. Cela signifie que les dĂ©veloppeurs travaillant sur des projets de cartographie peuvent trouver facilement des ressources et des rĂ©ponses Ă  leurs questions, ce qui facilite le processus de dĂ©veloppement.

Langages de développement

HTML

HTML (HyperText Markup Language) est le langage standard utilisĂ© pour crĂ©er et structurer le contenu des pages web. Dans le contexte de cette carte interactive, HTML est utilisĂ© pour dĂ©finir la structure de la page et intĂ©grer les Ă©lĂ©ments nĂ©cessaires Ă  l’affichage de la carte.

JavaScript

JavaScript (JS) est un langage de programmation utilisĂ© pour rendre les pages web interactives et dynamiques. Dans le contexte du projet de cartographie, le JavaScript est utilisĂ© pour gĂ©rer la logique de la carte, y compris l’initialisation de la carte, l’ajout de marqueurs, la gestion des popups et d’autres fonctionnalitĂ©s

  1. InteractivitĂ© : JavaScript permet d’ajouter des fonctionnalitĂ©s interactives Ă  la carte, telles que des marqueurs personnalisĂ©s, des popups informatifs et des Ă©vĂ©nements utilisateur, ce qui amĂ©liore l’expĂ©rience globale de l’utilisateur.

  2. FlexibilitĂ© : JavaScript offre une grande flexibilitĂ© en termes de personnalisation de la carte, permettant aux dĂ©veloppeurs de rĂ©pondre aux besoins spĂ©cifiques du projet et d’ajouter des fonctionnalitĂ©s sur mesure en fonction des exigences.

  3. Performance : L’utilisation de bibliothèques JavaScript optimisĂ©es telles que Leaflet.js et Leaflet.markercluster contribue Ă  amĂ©liorer les performances de la carte, en particulier lors du traitement de grands ensembles de donnĂ©es gĂ©ographiques.

  4. ÉvolutivitĂ© : JavaScript permet une Ă©volutivitĂ© efficace du projet, car il facilite l’ajout de nouvelles fonctionnalitĂ©s et l’intĂ©gration avec d’autres technologies et services tiers, ce qui garantit que la carte peut Ă©voluer avec les besoins changeants de l’utilisateur.

 

CSS (Cascading Style Sheets) est un langage de feuilles de style utilisĂ© pour dĂ©finir l’apparence visuelle et la mise en page des Ă©lĂ©ments HTML sur une page web. Dans le contexte du projet de cartographie, le CSS est utilisĂ© pour styliser la carte, les marqueurs, les popups et d’autres Ă©lĂ©ments associĂ©s. 

  1. Style pour Centrer la Carte : Les règles CSS définissent la taille et le positionnement du conteneur de la carte

  2. Style pour les Icônes Personnalisées : Des styles sont définis pour les icônes personnalisées utilisées pour les marqueurs sur la carte, notamment la couleur et la taille.

  3. Style pour les Popups : Le style des popups utilisées pour afficher les informations sur les établissements est défini, notamment la police, la couleur de fond et la disposition.

CSS

Ressources

Leaflet

Leaflet.js est une bibliothèque JavaScript open-source utilisée pour créer des cartes interactives dans les applications web. Simple, léger et flexible, Leaflet.js offre une solution efficace pour intégrer des fonctionnalités cartographiques dans un site web ou une application. Voici une description détaillée de ses caractéristiques et avantages :

Légèreté

Leaflet.js est célèbre pour sa légèreté, ce qui signifie qu'il charge rapidement et fonctionne efficacement même sur des appareils avec une puissance de traitement limitée.

Responsive

Leaflet.js est entièrement responsive, ce qui signifie que les cartes créées avec cette bibliothèque s'adaptent automatiquement à différents appareils et résolutions d'écran.

Personnalisation

Les développeurs peuvent facilement créer des cartes interactives sur mesure en utilisant une variété de couches de carte, de marqueurs, de polylignes, de polygones et d'autres éléments graphiques.

Comparaison

Alors que Google Maps offre une solution complète avec une multitude de fonctionnalitĂ©s, et que Mapbox se distingue par ses capacitĂ©s avancĂ©es de personnalisation et ses outils d’analyse de donnĂ©es, notre choix s’est portĂ© sur Leaflet pour sa simplicitĂ© d’utilisation, sa lĂ©gèretĂ© et sa grande flexibilitĂ©, offrant ainsi une solution optimale pour notre projet de cartographie en ligne.

Google Maps

PAYANT
  • FlexibilitĂ©
  • Styles de carte
  • Recherche d'adresses
  • ConvivialitĂ©
  • PopularitĂ©

Leaflet

FREE
  • FlexibilitĂ©
  • Styles de carte
  • Recherche d'adresses
  • ConvivialitĂ©
  • PopularitĂ©

MapBox

PAYANT
  • FlexibilitĂ©
  • Styles de carte
  • Recherche d'adresses
  • ConvivialitĂ©
  • PopularitĂ©

OpenStreetMap

OpenStreetMap (OSM) est une plateforme de cartographie collaborative en ligne qui offre des données cartographiques gratuites et ouvertes à tous. Voici une analyse de son utilité et de ses fonctionnalités en rapport avec les besoins du projet de cartographie.

1. Données cartographiques ouvertes :

  • OSM offre un accès gratuit et ouvert Ă  des donnĂ©es cartographiques dĂ©taillĂ©es, ce qui permet de crĂ©er des cartes personnalisĂ©es sans restrictions d’utilisation.

2. Intégration facile :

  • OSM fournit des API et des bibliothèques qui facilitent l’intĂ©gration de ses donnĂ©es dans des applications web, comme cela a Ă©tĂ© fait dans le projet avec Leaflet.js. Cette intĂ©gration permet d’afficher les donnĂ©es cartographiques d’OSM sur la carte interactive.

3. Personnalisation des cartes :

  • Avec OSM, il est possible de personnaliser les cartes en modifiant les styles, en ajoutant des marqueurs, des polygones et d’autres Ă©lĂ©ments, ce qui correspond aux besoins du projet pour afficher des informations spĂ©cifiques sur les sites de projets solaires.

4. Mises à jour régulières :

  • La communautĂ© OSM effectue rĂ©gulièrement des mises Ă  jour des donnĂ©es cartographiques, ce qui garantit la disponibilitĂ© d’informations prĂ©cises et Ă  jour pour les utilisateurs de la carte.

5. Collaboratif :

  • OSM est une plateforme collaborative oĂą les utilisateurs peuvent contribuer en ajoutant, modifiant ou mettant Ă  jour des donnĂ©es cartographiques. Cela permet d’amĂ©liorer constamment la qualitĂ© des donnĂ©es et de reflĂ©ter avec prĂ©cision les changements sur le terrain.

6. Flexibilité et extensibilité :

  • OSM offre une grande flexibilitĂ© et extensibilitĂ© grâce Ă  son format de donnĂ©es ouvert (XML, JSON) et Ă  sa structure modulaire. Cela permet d’adapter les fonctionnalitĂ©s de la carte en fonction des besoins spĂ©cifiques du projet.

7. Communauté active :

  • OSM bĂ©nĂ©ficie d’une communauté  active composĂ©e de contributeurs, de dĂ©veloppeurs et d’utilisateurs, ce qui offrent un support, des conseils et des ressources prĂ©cieuses pour les projets basĂ©s sur OSM.

SVG - icônes personnalisées

Les Scalable Vector Graphics (SVG) sont un format d’image vectorielle basĂ© sur XML utilisĂ© pour dessiner des graphiques et des icĂ´nes. Contrairement aux images matricielles telles que les PNG, les SVG sont constituĂ©s de formes gĂ©omĂ©triques et de chemins, ce qui signifie qu’ils peuvent ĂŞtre redimensionnĂ©s Ă  n’importe quelle taille sans perte de qualitĂ©. Pour ce projet, nous avons dĂ©cidĂ© de remplacer les marqueurs proposĂ©s par dĂ©faut par des icĂ´nes de panneaux solaires afin de diffĂ©rencier les projets photovoltaĂŻques des agences de SUN R SOLUTIONS.

Avantages

Les images telles que les PNG ou les JPEG, ont tendance Ă  perdre en qualitĂ© lorsqu’elles sont agrandies, ce qui peut entraĂ®ner une pixellisation et une baisse de la nettetĂ©. En revanche, les SVG sont basĂ©s sur des formules mathĂ©matiques, ce qui leur permet de s’adapter Ă  n’importe quelle taille d’Ă©cran sans perte de qualitĂ©.

Légèreté du fichier

Les fichiers SVG sont généralement plus légers que les images raster, ce qui contribue à améliorer les performances de chargement de la page web.

Personnalisation

Les icônes SVG offrent une grande souplesse en termes de personnalisation. Ils peuvent être facilement modifiés en ajustant les propriétés CSS ou en modifiant directement le code SVG.

Clusters

La technologie des groupes de clusters est une approche efficace pour gérer et afficher un grand nombre de marqueurs sur une carte interactive.

  • Performance : Les groupes de clusters amĂ©liorent les performances en rĂ©duisant la charge de travail du navigateur en regroupant les marqueurs lorsqu’ils sont trop proches les uns des autres. Cela permet de rĂ©duire le nombre de calculs nĂ©cessaires pour afficher la carte, ce qui entraĂ®ne une expĂ©rience utilisateur plus fluide.

  • LisibilitĂ© de la carte : En regroupant les marqueurs similaires, les groupes de clusters Ă©vitent la surcharge visuelle sur la carte, ce qui rend la carte plus lisible, surtout lorsque le nombre de marqueurs est Ă©levĂ©.

  • ExpĂ©rience utilisateur : Les groupes de clusters offrent une expĂ©rience utilisateur amĂ©liorĂ©e en permettant aux utilisateurs d’explorer facilement des ensembles de donnĂ©es denses sans ĂŞtre submergĂ©s par un grand nombre de marqueurs.

Recommandations & Conseils

Au cours de mon expĂ©rience de stage, j’ai identifiĂ© plusieurs recommandations et conseils pour optimiser l’utilisation des technologies associĂ©es Ă  la rĂ©alisation de la carte intĂ©grĂ©e dans WordPress Divi, en mettant particulièrement l’accent sur l’intĂ©gration d’OpenStreetMap (OSM) et de Leaflet.js.

  1. Intégration fluide dans Divi :

    • Assurez-vous que l’intĂ©gration de la carte interactive dans Divi se fait de manière fluide et harmonieuse. Divi offre une grande flexibilitĂ© en matière de conception, mais il est essentiel de tester rĂ©gulièrement la compatibilitĂ© avec les diffĂ©rents modules et fonctionnalitĂ©s de Divi pour garantir une expĂ©rience utilisateur optimale.
  2. Optimisation des performances :

    • Optimiser les performances de la carte pour garantir un chargement rapide de la page. Cela peut inclure la rĂ©duction de la taille des fichiers JavaScript, le mise en cache des ressources et l’utilisation de techniques d’optimisation des images.
  3. Personnalisation avancée :

    • Visitez en dĂ©tail les fonctionnalitĂ©s de personnalisation avancĂ©e offertes par Leaflet.js pour crĂ©er une carte personaliser qui correspond parfaitement aux besoins et Ă  l’esthĂ©tique du site web. Cela peut inclure la personnalisation des marqueurs, des popups et des contrĂ´les de la carte.
  4. Sécurité et mises à jour :

    • Assurez-vous que toutes les bibliothèques et plugins utilisĂ©s, y compris Leaflet.js, sont rĂ©gulièrement mis Ă  jour pour garantir la sĂ©curitĂ© et la stabilitĂ© du site web.