{"id":19830577,"url":"https://github.com/ansforge/dashlord","last_synced_at":"2025-02-28T17:25:38.146Z","repository":{"id":37371591,"uuid":"480738837","full_name":"ansforge/dashlord","owner":"ansforge","description":"Supervision de différentes métriques des sites de l'ANS","archived":false,"fork":false,"pushed_at":"2024-10-21T20:37:50.000Z","size":7077162,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-10-23T01:41:23.226Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://ansforge.github.io/dashlord/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ansforge.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-12T09:25:12.000Z","updated_at":"2024-10-21T20:37:33.000Z","dependencies_parsed_at":"2024-10-26T15:52:28.506Z","dependency_job_id":null,"html_url":"https://github.com/ansforge/dashlord","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansforge%2Fdashlord","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansforge%2Fdashlord/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansforge%2Fdashlord/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansforge%2Fdashlord/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ansforge","download_url":"https://codeload.github.com/ansforge/dashlord/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241190008,"owners_count":19924943,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T11:24:14.301Z","updated_at":"2025-02-28T17:25:38.125Z","avatar_url":"https://github.com/ansforge.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DashLord\n\nTableau de bord des bonnes pratiques techniques\n\nL'acquisition des données ainsi que la génération du rapport sont automatisés par des [GitHub actions](https://github.com/features/actions)\n\nExemples :\n - https://dashlord.incubateur.net\n - https://socialgouv.github.io/dashlord-fabrique\n - https://mtes-mct.github.io/dashlord\n - https://socialgouv.github.io/dnum-dashboard\n \n## Usage\n\nPour déployer votre version de DashLord :\n\n- Créer un nouveau repository [**à partir du template dashlord**](https://github.com/SocialGouv/dashlord)\n- Éditer le fichier `dashlord.yml`\n- Éditer le fichier `.github/workflows/scans.yml` si nécessaire\n- Éditer le fichier `.github/workflows/report.yml` si nécessaire (vérifier le `base-path` où sera publié le site web, il s'agira du nom du repository)\n- Lancer `DashLord scans` dans l'onglet `Actions` de votre projet GitHub\n\nUne fois les scans terminés, un rapport sera généré dans la branche `gh-pages` du repository. Vous devez aller dans l'onglet `Settings` du repository pour activer la fonctionnalité \"GitHub Pages\" et choisir la source `gh-pages`. Ceci permet de publier le rapport sur `https://[organisation].github.io/[repository]` (publiquement).\n\n### GitHub actions\n\n- Le workflow `DashLord scans` permet de lancer un scan sur les URLs, il est executé lors d'un changement dans le fichier `dashlord.yml`\n- Le workflow `DashLord report` est lancé à la fin de chaque `DashLord scans` et produit le rapport sous forme de site web.\n\nCes workflows sont également déclenchables manuellement dans l'onglet \"Actions\"\n\n## Customisation\n\n- Le fichier [`dashlord.yml`](./dashlord.yml) permet de paramétrer les urls et quelques options du tableau de bord\n- Le workflow [`.github/workflows/scans.yml`](./github/workflows/scans.yml) permet de customiser certains scanners, et régler la fréquence de scan (paramètre `schedule` positionné par défaut tous les dimanches à minuit)\n- Le workflow [`.github/workflows/report.yml`](./github/workflows/report.yml) permet de générer le rapport web en se basant sur [SocialGouv/dashlord-actions/report](https://github.com/SocialGouv/dashlord-actions).\n\n### dashlord.yml\n\n💡 Bonne pratique : enlever les slashs à la fin des urls\n\n```yml\ntitle: Dashboard title\ndescription: Bonnes pratiques techniques\nentity: Ministères sociaux\nfooter: Powered by SocialGouv\n# `tools` allows to activate only some of the tools in the report\ntools:\n  404: true\n  screenshot: true\n  nmap: true\n  zap: true\n  wappalyzer: true\n  http: true\n  testssl: true\n  lighthouse: true\n  thirdparties: true\n  nuclei: false\n  updownio: true\n  dependabot: true\n  codescan: true\n  stats: true\n  declaration-a11y: true\n  trivy: true\nurls:\n  - url: https://www.free.fr\n    title: Homepage free.fr\n    tags:\n      - telecom\n      - provider\n    repositories:\n      - free/free-ui\n      - free/free-css\n    docker:\n      - ghcr.io/socialgouv/fabrique/frontend\n      - ghcr.io/socialgouv/fabrique/backend\n    tools:\n      nmap: false\n  - url: https://www.lemonde.fr\n    title: Homepage lemonde.fr\n    tags:\n      - presse\n```\n\n### Mesures de disponibilité \n\nDashLord peut monitorer le niveau de performance et de disponibilité de vos applications. (mise en place = 10mins)\n\n - Créez un compte sur [updown.io](https://updown.io)\n - Ajoutez-y les urls à monitorer (telles que définies dans dashlord.yml)\n - Activez l'outil avec `updownio: true` dans le fichier dashlord.yml\n - Ajouter votre clé d'API updown.io \"readonly\" dans un secret GitHub nommé `UPDOWNIO_API_KEY` (onglet settings/secrets)\n\n▶ Au prochain scan, les informations updown.io seront remontées dans DashLord\n\n## Outils\n\nChaque outil peut être activé/désactivé dans le rapport avec la clé `tools` de dashlord.yml. \n\n| Repo                                                                                        | desc                                                       |\n| ------------------------------------------------------------------------------------------- | ---------------------------------------------------------- |\n| [SocialGouv/dashlord-actions](https://github.com/SocialGouv/dashlord-actions)               | Dashlord specific actions                                  |\n| [SocialGouv/dashlord-nuclei-action](https://github.com/SocialGouv/dashlord-nuclei-action)   | Dump nuclei result                                         |\n| [SocialGouv/httpobs-action](https://github.com/SocialGouv/httpobs-action)                   | Dump Mozilla HTTP Observatory result                       |\n| [SocialGouv/thirdparties-action](https://github.com/SocialGouv/thirdparties-action)         | Dump third party scripts scan result                       |\n| [SocialGouv/wappalyzer-action](https://github.com/SocialGouv/wappalyzer-action)             | Dump Wappalyzer scan result                                |\n| [MTES-MCT/dependabotalerts-action](https://github.com/MTES-MCT/dependabotalerts-action)     | Dump Github dependabot security alerts                     |\n| [MTES-MCT/codescanalerts-action](https://github.com/MTES-MCT/codescanalerts-action)         | Dump Github CodeQL security alerts                         |\n| [MTES-MCT/updownio-action](https://github.com/MTES-MCT/updownio-action)                     | Dump updown.io stats                                       |\n| [MTES-MCT/nmap-action](https://github.com/MTES-MCT/nmap-action)                             | Dump nmap port scan stats                                  |\n| [MTES-MCT/stats-action](https://github.com/MTES-MCT/stats-action)                           | Detect /stats page.                                        |\n| [SocialGouv/thirdparties](https://github.com/SocialGouv/thirdparties)                       | thirdparty scripts database                                |\n| [swinton/screenshot-website](https://github.com/swinton/screenshot-website)                 | grab website screenshot                                    |\n| [SocialGouv/detect-404-action](https://github.com/SocialGouv/detect-404-action)             | detect 404 errors                                          |\n| [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action)                   | Scan docker images vulnerabilities                         |\n\n## Contribute\n\nVous pouvez contribuer en remontant des issues de qualité, en améliorant la documentation, ou en ajoutant du code.\n\n🤗 Toutes les suggestions sont bienvenues.\n\ncf [CONTRIBUTING.md](./CONTRIBUTING.md)\n\n### Dev\n\nDashLord fonctionne en deux étapes :\n\n1. **Acquisition des données** : Pour chaque URL, chaque outil est executé et génère un fichier JSON qui sera versionné dans le repository\n2. **Génération du rapport** : À partir des données existantes, l'action [report](https://github.com/SocialGouv/dashlord-actions) aggrège, compresse les résultats et produit un rapport web statique.\n\nVoir aussi : [SocialGouv/dashlord-actions](https://github.com/SocialGouv/dashlord-actions)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fansforge%2Fdashlord","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fansforge%2Fdashlord","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fansforge%2Fdashlord/lists"}