InfraLens
Un outil open source qui rassemble les principaux signaux techniques d'un site dans un rapport lisible.
Contexte
InfraLens est né du besoin de vérifier rapidement la configuration technique d'un site (DNS, sécurité, headers) sans jongler entre plusieurs outils différents. Conçu et maintenu en solo, en parallèle de projets clients, comme outil gratuit et open source plutôt que comme produit commercial.
Problème
Les développeurs et DevOps doivent jongler entre plusieurs outils pour inspecter DNS, headers HTTP et TLS d'un site.
Objectifs
Donner une vue lisible et rapide de la configuration technique publique d'un site, sans devenir un scanner de sécurité certifié, un outil de pentest ou une plateforme de monitoring commerciale. Rester gratuit, sans compte, open source.
Rôle
Je conçois, développe et maintiens InfraLens seul, du moteur d'analyse à l'interface.
Solution
InfraLens exécute 20 checks indépendants répartis en 6 catégories (HTTP & Sécurité, Réseau & DNS, Infrastructure, Structure du site, Métadonnées & Stack, Signaux de performance), via un pool à concurrence bornée côté serveur (jusqu'à 6 checks simultanés). Chaque check a un statut (Pass/Warning/Fail/Info/Inconclusive/Unavailable/Error), un score pondéré par check et une note globale de A à E. Résultats exportables en JSON ou Markdown, comparaison entre deux analyses, historique des 10 dernières analyses conservé localement dans le navigateur.
Architecture
Next.js 16 (App Router), TypeScript strict. Chaque check est un module indépendant et testable implémentant une interface commune, exécuté via Server Action avec un timeout de 8 secondes — l'échec d'un check n'interrompt pas les autres. Résolution DNS native (Node.js dns/promises) avec cache en mémoire, extraction de liens via Cheerio, lookup IP/ASN optionnel via ipapi.co. Interface en Tailwind CSS et shadcn/ui.
Choix techniques
Scoring pondéré par catégorie (45 points HTTP & Sécurité, 14 Réseau & DNS, 17 Métadonnées & Stack, 13 Signaux de performance, 11 Structure du site ; Infrastructure est informationnelle, poids 0), avec des multiplicateurs de statut (100% du poids si OK, 60% si Warning, 0% si Error) — transparent plutôt que boîte noire. Rate limiting par IP via Upstash (5 requêtes/minute, 30/heure) pour protéger le service et les résolveurs DNS.
Sécurité et confidentialité
Analyse passive uniquement, aucune exploitation ni scan intrusif. Pas de compte utilisateur ; l'IP n'est utilisée que comme clé de rate limiting (Upstash), jamais comme donnée de suivi. Historique stocké uniquement en local, pas de backend de stockage.
Résultat
Outil utilisé au quotidien, intégré nativement à Randy Code.
Enseignements
Garder InfraLens simple, gratuit et transparent demande de la discipline : résister à la tentation d'ajouter des fonctionnalités qui le feraient glisser vers un SaaS ou un outil de pentest commercial, alors que ce n'est ni son objectif ni son positionnement.