SAÉ 2.4 · Projet intégratif

Passerelle DNS intelligente et éco-responsable

2ᵉ semestre · IUT Nancy-Brabois
Étudiant : Tom Hennequin

Cette SAÉ nous a conduits à concevoir et déployer une passerelle DNS intelligente et éco-responsable, en articulant une API REST en Python, un module d'intelligence artificielle et un tableau de bord web dynamique.

Objectifs et principes abordés

Le projet intégratif visait à nous faire mettre en place une solution réseau complète, du filtrage DNS jusqu'à la visualisation des données, en intégrant des compétences transversales issues de plusieurs matières. L'objectif était de filtrer les publicités et les domaines de tracking, tout en évaluant l'impact environnemental de ce filtrage.

Le travail s'est organisé en trois grandes parties. La première concernait le déploiement d'une API REST avec FastAPI, servant de passerelle entre AdGuard Home (solution de filtrage DNS auto-hébergée sur un VPS) et le frontend, avec authentification gérée côté serveur et documentation générée automatiquement. La deuxième partie portait sur la conception et l'entraînement d'un modèle d'intelligence artificielle (Random Forest, via scikit-learn) capable de détecter des domaines publicitaires non référencés dans les listes classiques, à partir de caractéristiques extraites du nom de domaine. La troisième partie, le tableau de bord web, nous a amenés à exploiter les données JSON exposées par l'API en HTML/CSS/JavaScript, avec chart.js pour la représentation graphique.

Résultats obtenus

Le résultat correspond globalement aux attentes du sujet. L'API expose une cartographie complète de routes (statistiques, journal des requêtes, filtrage, classification par catégorie, statistiques IA) et communique correctement avec AdGuard Home. Le modèle IA atteint une précision d'environ 82 %, avec un taux de faux positifs de 9,8 % et de faux négatifs de 18,1 %, ce qui constitue une valeur ajoutée réelle en complément des listes de blocage classiques. Le tableau de bord affiche les statistiques de base, la contribution spécifique de l'IA et une estimation de l'impact environnemental (données économisées, CO2 évité), le tout de façon claire et épurée.

Réussites

Parmi nos réussites, nous retenons la mise en place complète de la chaîne technique, du filtrage DNS jusqu'au navigateur, en passant par un module IA autonome et automatisé via CRON. Le choix argumenté des outils (AdGuard Home plutôt que Pi-hole, Python/FastAPI plutôt que Java, Random Forest plutôt que les autres modèles testés) nous a permis de justifier chaque décision technique par des critères concrets. La comparaison rigoureuse de plusieurs modèles de machine learning, avec matrice de confusion à l'appui, nous a permis de bien comprendre les notions de précision, de rappel et de score F1. Côté frontend, l'exploitation asynchrone des données JSON avec fetch et leur mise en forme graphique avec chart.js a été un point technique bien assimilé.

Difficultés rencontrées

La principale difficulté a été de définir des critères d'analyse de noms de domaine suffisamment discriminants sans recourir à une inspection profonde du trafic, pour des raisons de respect de la vie privée. Certains domaines légitimes mais riches en sous-domaines (comme github.com ou microsoft.com) se sont retrouvés bloqués à tort, ce qui nous a obligés à pondérer plus finement nos critères. La gestion des règles de filtrage côté AdGuard Home, qui ne permet pas d'ajout incrémental, nous a également demandé une adaptation de notre logique (récupération de la liste complète avant réécriture).

Prise de recul et pistes d'amélioration

Aujourd'hui, si nous devions recommencer ce projet, nous consacrerions plus de temps à l'entraînement du modèle IA sur un dataset plus volumineux et plus varié, afin de réduire le taux de faux négatifs. Nous porterions également une attention plus fine au calcul de l'impact environnemental, en appliquant des coefficients de poids différenciés selon la catégorie de domaine bloqué plutôt qu'une valeur arbitraire fixe. Enfin, nous chercherions à mieux anticiper les cas limites (domaines publicitaires respectant nos règles de détection, comme doubleclick.net) en intégrant une whitelist de mots-clés fréquents pour limiter les faux positifs.

Cette SAÉ nous a convaincus de l'intérêt de combiner plusieurs briques technologiques — API, intelligence artificielle et développement web — au sein d'un même projet cohérent, et de l'importance de justifier chaque choix technique par des critères objectifs, une compétence que nous pourrons réinvestir dans de futurs projets professionnels.

Revenir au portfolio