Analyser un problème avec méthode
CARTO REZO repose sur une méthodologie rigoureuse pour identifier et cartographier les réseaux IP en Martinique. L’analyse a commencé par une segmentation des besoins : récupération des IPs, classification par opérateur et sous-réseaux, et intégration des résultats des scans réseau. La structuration du projet en étapes progressives a permis d’assurer une approche logique et efficace.

Comparer des algorithme pour des problèmes classiques
Le projet nécessitait le choix d’algorithmes pour la gestion et la visualisation des réseaux. Par exemple, la comparaison entre DFS (Depth First Search) et BFS (Breadth First Search) pour l'exploration des graphes a aidé à optimiser la découverte des sous-réseaux. De même, des tests ont été faits sur différents algorithmes de clustering pour grouper les IPs selon leurs caractéristiques.
Formaliser et mettre en oeuvre des outils mathématique pour l’informatique
L’application s’appuie sur la théorie des graphes pour représenter les connexions entre les équipements réseau. La modélisation des distances entre nœuds et l’optimisation des graphes pour une lecture plus claire sont des exemples d’outils mathématiques appliqués.

Choisir des structures de données complexes adaptés au problèmes
L’optimisation du stockage et de la manipulation des IPs a nécessité l’utilisation de tables de hachage pour la correspondance rapide des sous-réseaux, ainsi que de structures en arbres pour organiser hiérarchiquement les IPs par opérateur et classe.

Utiliser des technique algorithmiques adaptées pour les problèmes complexes
L'intégration de Shodan pour enrichir les données a demandé des traitements asynchrones, permettant de récupérer et d'afficher des informations sans ralentir l'interface. La gestion des scans réseau a été optimisée avec multiprocessing pour accélérer les requêtes sur de grands ensembles d’IPs.
Evaluer l’impact environnemental et sociétale des solutions proposer
Le projet CARTO REZO pose des questions sur la cybersécurité et la protection des données personnelles. L’outil pourrait aider les entreprises à mieux sécuriser leurs infrastructures, mais aussi être détourné à des fins malveillantes. Une réflexion sur la transparence des données et l’éthique a été menée pour encadrer son usage.
Anticiper les résultats de diverses métriques
L’évaluation des performances a nécessité la définition de métriques comme le temps d’exécution des scans, le taux d’IPs détectées comme inactives, ou la couverture des réseaux cartographiés. Ces métriques ont guidé les optimisations successives du projet.
Profiler, analyser et justifier le comportement d’un code existant
L’utilisation de cProfile et memory_profiler a permis d’identifier les goulets d’étranglement et les fuites de mémoire dans les traitements des données réseau. Ces analyses ont conduit à l’amélioration de l’efficacité du code.
Choisir et utiliser des bibliothèque et méthodes dédiées au domaine d’application
Le projet repose sur des bibliothèques spécialisées comme pyvis pour la visualisation des réseaux, scapy pour l’analyse des paquets réseau, et Shodan API pour récupérer des informations externes sur les IPs. Le choix de ces outils a été fait après comparaison de plusieurs alternatives.
- scapy → Capture et analyse des paquets réseau.
- multiprocessing → Exécuter les scans en parallèle pour accélérer les traitements.
- asyncio → Gérer les requêtes asynchrones pour éviter de bloquer le programme.
- shodan → Récupérer des informations sur les IPs depuis la base de données de Shodan.
- requests → Effectuer des requêtes HTTP pour récupérer des données externes.
- pyvis → Générer une visualisation interactive du réseau en graphe.
- networkx → Modéliser les connexions entre les IPs sous forme de graphe.