À propos du projet

DashLord est un tableau de bord visant à suivre les bonnes pratiques techniques sur un ensemble de sites web et d'API. L'acquisition des données et la génération du rapport sont entièrement automatisées via GitHub Actions. ## Fonctionnement Le processus se déroule en deux étapes : 1. **Acquisition des données** : pour chaque URL configurée, chaque outil d'analyse est exécuté et produit un fichier JSON versionné dans le dépôt. 2. **Génération du rapport** : les résultats sont agrégés et compressés pour produire un site web statique, publié sur la branche `gh-pages` via GitHub Pages. ## Déploiement Pour déployer sa propre instance, il faut créer un nouveau dépôt à partir du template DashLord, éditer le fichier `dashlord.yml` pour définir les URLs à scanner, puis lancer le workflow `DashLord scans` depuis l'onglet Actions. Le rapport est ensuite accessible publiquement à l'adresse `https://[organisation].github.io/[repository]`. ## Configuration Le fichier `dashlord.yml` permet de paramétrer : - Le titre, la description et l'entité du tableau de bord - La liste des URLs à scanner, avec titres, tags, dépôts liés et images Docker associées - L'activation ou désactivation individuelle de chaque outil d'analyse ## Outils intégrés DashLord s'appuie sur de multiples outils d'analyse, activables individuellement : - **Sécurité** : Nmap (scan de ports), ZAP, Nuclei, TestSSL, Trivy (vulnérabilités d'images Docker), Dependabot (alertes de sécurité GitHub), CodeQL (alertes Code Scan) - **Performance et disponibilité** : Lighthouse, updown.io (monitoring de disponibilité via clé API) - **Technique** : Wappalyzer (détection de technologies), HTTP Observatory de Mozilla, détection d'erreurs 404, capture de screenshots - **Conformité** : détection des scripts tiers, page /stats, déclaration d'accessibilité La fréquence des scans est configurable (par défaut tous les dimanches à minuit) et les workflows peuvent également être déclenchés manuellement.