Home

Awesome

Gestionnaire de contenu DSFR et Accessible

Créez et gérez votre site internet simplement

Gestionnaire de contenu (CMS) pour créer un site internet dont le domaine se terminant par .gouv.fr . Pas besoin de compétence technique pour mettre à jours le contenu.

Un CMS basé sur la solution open source Wagtail

Créez ou modifiez des pages, ajoutez un menu de navigation, des boutons, images, vidéos, contributeurs etc

Système de Design de l'État

Construisez vos pages à l'aide de composants prêts à l'emploi issus du Système de Design de l'État (DSFR)

Accessible et responsive

Le contenu des pages générées par le CMS est partiellement conforme selon la norme RGAA 4.1 et responsive

Prérequis

Installer les pre-commit hooks

pre-commit install

On peut faire un premier test en faisant tourner :

pre-commit run --all-files

Installation

Le projet peut se lancer en local ou avec Docker.

Dans tous les cas, copier les variables d’environnement

cp .env.example .env
python -c "from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())"

En local

Installer poetry s’il ne l’est pas

Cf. la documentation de poetry

Installer le projet

make init

Créer un utilisateur

poetry run python manage.py createsuperuser

Lancer le serveur

make runserver

via Docker

Lancer les containers

docker compose up

Effectuer les tests

Les tests unitaires peuvent être lancés avec make test-unit.

Vous pouvez également générer un rapport sur la couverture de tests :

coverage run manage.py test --settings config.settings_test

Indexation des contenus

Les contenus des pages sont indexés pour la recherche par un script python manage.py update_index (cf. documentation de Wagtail)

Scalingo

Le script est lancé automatiquement après les déploiements sur Scalingo.

Il est recommandé de procéder à une nouvelle indexation une fois par semaine, en renommant le fichier cron.json.example en cron.json (cf. documentation de Scalingo)

Autres déploiements

Il est recommandé de faire de même pour les déploiements sur d’autres plateformes, en ajoutant une ligne à la crontab de l’utilisateur avec lequel tourne le site :

0 3 * * SUN python manage.py update_index

Droit d’utilisation du DSFR

Ce projet utilise le DSFR et est donc tenu par les conditions d’utilisations suivantes :

⚠️ Utilisation interdite en dehors des sites Internet de l’État

Il est formellement interdit à tout autre acteur d’utiliser le Système de Design de l’État (les administrations territoriales ou tout autre acteur privé) pour des sites web ou des applications. Le Système de Design de l’État représente l’identité numérique de l’État. En cas d’usage à des fins trompeuses ou frauduleuses, l’État se réserve le droit d’entreprendre les actions nécessaires pour y mettre un terme.

Voir les conditions générales d'utilisation.

⚠️ Prohibited Use Outside Government Websites

This Design System is only meant to be used by official French public services' websites and apps. Its main purpose is to make it easy to identify governmental websites for citizens. See terms.