# 🌍 Projet Réseaux Trophiques - Théorie des Graphes Ce projet s’inscrit dans une démarche de sensibilisation à la complexité des écosystèmes et à la compréhension des interactions dynamiques entre espèces vivantes. Il repose sur des modèles de graphes représentant des réseaux trophiques et intègre des outils modernes pour leur manipulation et leur visualisation. --- ## 🎯 Objectifs du Projet - Modéliser et analyser les réseaux trophiques, comprenant les relations alimentaires entre espèces. - Sensibiliser à l’impact des dynamiques écologiques et des régulations sur la stabilité des écosystèmes. - Offrir une interface interactive permettant de simuler des scénarios et d'explorer les conséquences des changements dans un écosystème. --- ## 🛠️ Fonctionnalités Implémentées ### 1. **Stockage et Gestion des Réseaux** - **Format JSON** : Les données des réseaux sont stockées et manipulées via des fichiers JSON, facilitant leur structuration et leur utilisation. *Bibliothèque utilisée :* [cJSON](https://github.com/DaveGamble/cJSON) ### 2. **Visualisation Graphique** - **Mermaid & Mermaid CLI** : Génération de graphes visuels en PNG à partir des fichiers JSON pour une meilleure interprétation des réseaux trophiques. *Outils utilisés :* - [Mermaid.js](https://mermaid.js.org/) - [Mermaid CLI](https://github.com/mermaid-js/mermaid-cli) ### 3. **Interface Interactive** - **Allegro** : Une interface graphique interactive qui affiche les graphes générés. L'utilisateur peut interagir avec les réseaux pour visualiser les données et lancer des simulations. *Bibliothèque utilisée :* [Allegro 5](https://github.com/liballeg/allegro5) ### 4. **Mode Console** - Pour les utilisateurs ne souhaitant pas utiliser l’interface graphique, une version console est disponible, permettant l'affichage et l'interaction avec les réseaux directement en ligne de commande. ### 5. **Exploration des Réseaux** - Affichage des graphes générés et informations détaillées sur chaque espèce (successeurs, prédécesseurs, niveaux trophiques, etc.). - Analyse structurelle : connexité, k-connexité, identification des sommets particuliers. ### 6. **Mode Simulation** - Permet de saisir les populations initiales des espèces et de visualiser l'évolution des populations au cours du temps grâce à un graphe dynamique. - Intégration de modèles logistiques pour modéliser les dynamiques de population. ### 7. **Mode Algorithmes** - Ajout d’un mode permettant d’appliquer en temps réel des algorithmes structuraux comme la k-connexité et Dijkstra pour analyser les changements dans les graphes. --- ## 📊 Résultats Visuels - **Graphes PNG** : Représentation des réseaux trophiques avec Mermaid. - **Graphiques dynamiques** : Courbes illustrant l'évolution des populations au cours du temps. - **Résultats interactifs** : Affichage des impacts des modifications apportées aux réseaux. --- ## 🚀 Technologies Utilisées - **Langage** : C - **Bibliothèques** : - [cJSON](https://github.com/DaveGamble/cJSON) pour la gestion des fichiers JSON. - [Mermaid.js](https://mermaid.js.org/) et [Mermaid CLI](https://github.com/mermaid-js/mermaid-cli) pour la génération graphique. - [Allegro 5](https://github.com/liballeg/allegro5) pour l’interface utilisateur. - **Formats de fichiers** : JSON, PNG. *Pour plus d'informations, consultez le fichier [LICENCE](./LICENSE.md).* --- ## 📂 Sources et Références ### Réseaux Trophiques 1. **Coachella Valley** : [Exploring the Diverse Wildlife of Coachella Valley](https://coachellalakesrvresort.com/exploring-the-diverse-wildlife-of-coachella-valley/) 2. **Saint-Martin** : [Réserve Naturelle Nationale de Saint-Martin](https://reservenaturelle-saint-martin.com/fr/plan-de-gestion/patrimoine-naturel) 3. **Baie de Chasepeak** : [Habitat - Chesapeake Bay Foundation](https://www.cbf.org/issues/habitat/index.html) 4. **Savane** : [ScienceAQ : Nature de la Savane](https://fr.scienceaq.com/Nature/100108294.html?utm_source=chatgpt.com) ### Articles Scientifiques - [Trophic Coherence Determines Food-Web Stability](https://arxiv.org/abs/1404.7728) - [Population Dynamics Models](https://en.wikipedia.org/wiki/Population_dynamics#Simple_discrete_time_exponential_model) *Pour plus d'informations, consultez le fichier [LICENCE](./LICENSE.md).* --- ## 📝 Comment Contribuer 1. **Clonez le dépôt** : ```bash git clone https://github.com/username/projet-reseaux-trophiques.git ``` 2. **Installez les dépendances nécessaires** : - Téléchargez et installez Allegro depuis [Allegro 5 Releases](https://github.com/liballeg/allegro5/releases). Suivez les instructions pour ajouter les fichiers requis à votre projet. - Téléchargez et installez [Node.js](https://nodejs.org/). - Installez Mermaid CLI avec npm : ```bash npm install -g @mermaid-js/mermaid-cli ``` 3. **Testez le projet** avec l’interface graphique. --- ## 📧 Contact Pour toute question ou suggestion, veuillez contacter l’un des membres de l’équipe du projet : - Alban Dechirot : [alban.dechirot@edu.ece.fr](mailto:alban.dechirot@edu.ece.fr) - Hugo Durand : [hugo.durand@edu.ece.fr](mailto:hugo.durand@edu.ece.fr) - Titouan Faugue : [titouan.faugue@edu.ece.fr](mailto:titouan.faugue@edu.ece.fr) - Célestin Guilhen : [celestin.guilhen@edu.ece.fr](mailto:celestin.guilhen@edu.ece.fr) --- Merci de votre intérêt pour notre projet et bonne exploration des écosystèmes ! 🌱