{"id":14482816,"url":"https://github.com/codegouvfr/eleventy-dsfr","last_synced_at":"2025-05-01T22:30:58.837Z","repository":{"id":72790218,"uuid":"414671398","full_name":"codegouvfr/eleventy-dsfr","owner":"codegouvfr","description":"Template pour la création d'un site utilisant le système de design de l'État avec Eleventy.","archived":false,"fork":false,"pushed_at":"2025-04-03T14:20:34.000Z","size":1000,"stargazers_count":56,"open_issues_count":9,"forks_count":25,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-04-26T22:02:58.221Z","etag":null,"topics":["bluehats","dsfr","eleventy","pagefind","static-website"],"latest_commit_sha":null,"homepage":"https://codegouvfr.github.io/eleventy-dsfr/","language":"Nunjucks","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"DISIC/MiNumEco","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codegouvfr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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,"zenodo":null}},"created_at":"2021-10-07T16:10:47.000Z","updated_at":"2025-04-03T14:20:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"624b5f75-f0eb-483b-ad90-b0b16a95c702","html_url":"https://github.com/codegouvfr/eleventy-dsfr","commit_stats":{"total_commits":420,"total_committers":38,"mean_commits":"11.052631578947368","dds":0.4119047619047619,"last_synced_commit":"1e4a9885e6160d512be0fb5d29b534ccf95175cb"},"previous_names":["codegouvfr/eleventy-dsfr"],"tags_count":5,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codegouvfr%2Feleventy-dsfr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codegouvfr%2Feleventy-dsfr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codegouvfr%2Feleventy-dsfr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codegouvfr%2Feleventy-dsfr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codegouvfr","download_url":"https://codeload.github.com/codegouvfr/eleventy-dsfr/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251954847,"owners_count":21670888,"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":["bluehats","dsfr","eleventy","pagefind","static-website"],"created_at":"2024-09-03T00:01:18.574Z","updated_at":"2025-05-01T22:30:58.824Z","avatar_url":"https://github.com/codegouvfr.png","language":"Nunjucks","funding_links":[],"categories":["Nunjucks"],"sub_categories":[],"readme":"[![img](https://img.shields.io/badge/code.gouv.fr-publi%C3%A9-orange.svg)](https://code.gouv.fr/documentation/#quels-degres-douverture-pour-les-codes-sources)\n![build](https://img.shields.io/github/actions/workflow/status/codegouvfr/eleventy-dsfr/11ty-gh-pages.yml?label=deployed%20to%20gh-pages)\n\n# eleventy-dsfr\n\n`eleventy-dsfr` permet de déployer un site statique au\n[DSFR](https://www.systeme-de-design.gouv.fr/) avec le générateur\n[Eleventy](https://www.11ty.dev/).\n\nVoir la démonstration sur [GitHub\nPages](https://codegouvfr.github.io/eleventy-dsfr/fr/).\n\nPour d'autres exemples de réutilisation, cf. [Démonstration et\nréutilisations](#démonstration-et-réutilisations).\n\n![Screenshot of the website front page.](eleventy-dsfr.png)\n\n## Fonctionnalités\n\n- **Style** :\n    - DSFR :\n        - Installation et mise à jour automatique via `npm`.\n        - [Voir les composants déjà implémentés](_includes/components)\n    - [Voir les mises en pages déjà implémentées](_includes/layouts)\n- **a11y et responsivity** : Respecte les recommandations du DSFR.\n- **i18n** : Prise en charge de l'internationalisation des textes et contenus via plusieurs filtres et le [système d'i18n d'Eleventy](https://www.11ty.dev/docs/i18n/).\n- **Navigation** : Utilise le [système de navigation d'Eleventy](https://www.11ty.dev/docs/plugins/navigation/) et gère la navigation de second niveau.\n- **Syntaxe markdown** : Améliorée via l'ajout de [conteneurs personnalisés](./markdown-custom-containers.js).\n- **Images** : Utilise l'[utilitaire d'image d'Eleventy](https://www.11ty.dev/docs/plugins/image/) pour traiter les images (par défaut pour certains composants, par exemple le composant [`card.njk`](_includes/components/card.njk)).\n- **Recherche** : Utilise [pagefind](https://pagefind.app/) pour la recherche.\n- **Pagination** : Utilise le [système de pagination d'Eleventy](https://www.11ty.dev/docs/pagination/) et gère la pagination de second niveau.\n- **Flux RSS** : Utilise le [plugin RSS d'Eleventy](https://www.11ty.dev/docs/plugins/rss/).\n- **Calendrier** : Utilise la bibliothèque [ics](https://www.npmjs.com/package/ics) pour générer un calendrier [`calendar.ics`](https://codegouvfr.github.io/eleventy-dsfr/calendar.ics) à la racine du site, ainsi que les événements `.ics` associés, à partir d'événements.\n- **Mesure d'audience** : Intègre la solution [matomo](public/js/matomo.js).\n- **Pages déjà générées** :\n    - Pages d'accueil, À propos, section Blog (en français et en anglais).\n    - Flux RSS pour Atom et JSON\n    - Plan du site et `sitemap.xml`\n    - Page non trouvée (404)\n    - Les pages obligatoires liées aux obligations légales : “accessibilité : non/partiellement/totalement conforme”, mentions légales, données personnelles et gestion des cookies.\n\n## Prise en main\n### Installation\n\n**Cloner le dépôt** :\n\n```bash\ngit clone https://github.com/codegouvfr/eleventy-dsfr.git my-site-name\n```\n\n**Naviguer dans le dossier** :\n\n```bash\ncd my-site-name\n```\n\n**Installer les dépendances** :\n\n```bash\nnpm install\n```\n\n**Exécuter Eleventy** :\n\nConstruire un livrable, indexé avec pagefind pour la recherche :\n\n```bash\nnpm run build\n```\n\nL'exécuter sur le serveur de développement local :\n\n```bash\nnpm start\n```\n\nOu exécuter un [mode de débogage](https://www.11ty.dev/docs/debugging/).\n\n### Réutilisation\n\n- Modifier les fichiers [`_data/metadata.js`](_data/metadata.js) et [`_data/data.js`](_data/data.js) pour renseigner les informations du site.\n- Modifier le fichier [`package.json`](package.json) pour modifier les informations du dépôt.\n- Compléter les pages obligatoires : [`content/fr/accessibility`](content/fr/accessibility/index.md), [`content/fr/personal-data`](content/fr/personal-data/index.md), [`content/fr/legal`](content/fr/legal/index.md).\n\n### Développement\n\n- Modifier le fichier [`eleventy.config.js`](eleventy.config.js) pour configurer les paramètres d'Eleventy différemment.\n- Ajouter des composants du DSFR dans le dossier [`_includes/components`](_includes/components) et des [mises en page](https://www.11ty.dev/docs/layouts/) dans le\n  dossier [`_includes/layouts`](_includes/layouts).\n    - Ajouter de nouveaux conteneurs markdown dans le fichier [`markdown-custom-containers.js`](markdown-custom-containers.js).\n\n_[Voir aussi la documentation des composants](https://codegouvfr.github.io/eleventy-dsfr/fr/blog/tags/composant/)_\n\n- Ajouter des chaînes de caractères localisées dans le dossier `_data/i18n/[lang]/index.js`.\n    - Pour ajouter une nouvelle traduction, ajouter un dossier `[lang]` dans [`content`](content), un nouveau fichier `_data/i18n/[lang]/index.js` et l'inclure dans [`_data/i18n/index.js`](_data/i18n/index.js).\n- Ajouter des styles personnalisés et des images dans le dossier [`public`](public).\n    - Celui-ci sera copié tel quel dans le dossier de sortie. Cela signifie que `./public/css/*` persistera dans `./_site/css/*` après la construction du livrable.\n- Compléter le [README](README.md) et la [documentation](content/fr/blog/posts). 😀\n\n### Ajout de contenu\n\n_[Voir la documentation des fonctionnalités et du Markdown](https://codegouvfr.github.io/eleventy-dsfr/fr/blog/tags/contenu/)_\n\n### Déploiement\n\n- Voir un [exemple de worklow de déploiement sur GitHub Pages](https://github.com/codegouvfr/eleventy-dsfr/blob/gh-pages/.github/workflows/11ty-gh-pages.yml) sur la branche `gh-pages`.\n\nEn cas d'erreur lors du build :\n```bash\nError: Get Pages site failed\nError: HttpError: Not Found\n```\nEssayer [cette configuration](https://stackoverflow.com/a/73967433).\n- _[OPTIONNEL]_ [Configurer la redirection](https://www.11ty.dev/docs/i18n/#distinct-urls-using-implied-default-language)\n  de toutes les URLs des pages dont la langue est celle par défaut.\n\n## Documentation\n\nLa suite de la documentation (composants, fonctionnalités) est disponible dans [`content/fr/blog/posts`](content/fr/blog/posts) ou directement sur le [site de démonstration](https://codegouvfr.github.io/eleventy-dsfr/fr/blog).\n\n## Démonstration et réutilisations\n\nPour une démonstration, voir la [GitHub Pages](https://codegouvfr.github.io/eleventy-dsfr/fr/) correspondante.\n\n- [Site de la mission logiciels libres de la DINUM](https://code.gouv.fr) (code source : https://github.com/codegouvfr/codegouvfr-website).\n- [Site du cadre de cohérence technique du MI](https://dnum-mi.github.io/cct-mi/) (code source : https://github.com/dnum-mi/cct-mi)\n- [Site de documentation pour cartes.gouv.fr](https://ignf.github.io/cartes.gouv.fr-documentation/) (code source : https://github.com/IGNF/cartes.gouv.fr-documentation)\n- [Partie blog du site de DiaLog](https://dialog.beta.gouv.fr/blog/fr/) (code source : https://github.com/MTES-MCT/dialog/tree/main/blog)\n- [Site de la start-up Médiation Logement](https://mediationlogement.beta.gouv.fr/) (code source : https://github.com/betagouv/mediation-logement)\n- [Portail du BARRI du CISIRH](https://cisirh.github.io/portail-barri/fr/) (code source : https://github.com/CISIRH/portail-barri)\n\n## Contribution\n\nLes contributions ponctuelles peuvent être acceptées, mais le dépôt n'est plus activement maintenu.\n\n## Licence\n\nLe dépôt est publié sous licence MIT pour le code et sous licence\nEtalab 2.0 pour les autres contenus.\n\nIl est maintenu par la [mission logiciels\nlibres](https://code.gouv.fr/) de la DINUM.\n\n### Crédits images\n\n- [1F3DB.svg](public/icons/1F3DB.svg) par [Martin\n  Wehl](https://openmoji.org/library/#author=Martin%20Wehl) sous\n  licence [CC BY-SA\n  4.0](https://creativecommons.org/licenses/by-sa/4.0\u003e).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodegouvfr%2Feleventy-dsfr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodegouvfr%2Feleventy-dsfr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodegouvfr%2Feleventy-dsfr/lists"}