À 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.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.