Gestionnaire de contenu permettant de créer et gérer un site internet basé sur le Système de design de l’État, accessible et responsive
Project description
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
Sites Faciles vise à utiliser les dernières versions disponibles de Django (5.0+) et Wagtail.
Les tests automatisés couvrent les versions suivantes :
- Python 3.10 à 3.13 (cf. versions de Python supportées par Django)
- Postgreql 13 à 17 (cf. versions de PostgreSQL supportées par Django)
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
- Copier le fichier
cp .env.example .env
- Générer la
SECRET_KEY
python -c "from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())"
- Mettre les valeurs pertinentes dans le fichier
.env
En local
Installer poetry s’il ne l’est pas
- Cf. la documentation de poetry
- mettre la variable d’environnement
USE_POETRYà1dans le fichier.env
Installer le projet
- La commande suivante installe les dépendances, fait les migrations et collecte les fichiers
make init
Créer un utilisateur
- La commande suivante crée un utilisateur administrateur avec tous les droits:
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sites_faciles_experiment-0.0.1.tar.gz.
File metadata
- Download URL: sites_faciles_experiment-0.0.1.tar.gz
- Upload date:
- Size: 2.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
65cd5a44ab5c784bdf94ca63e5d7e096aa3eb8f4313b46f4739cd1c784d1e2a2
|
|
| MD5 |
20ced47b5a04c5b9e42c556c4bd3a058
|
|
| BLAKE2b-256 |
16b2e286f5792dbeeeba42d84c6b2cf6ad061fa8f6173de8bd4352766744d1b3
|
Provenance
The following attestation bundles were made for sites_faciles_experiment-0.0.1.tar.gz:
Publisher:
publish.yml on fabienheureux/sites-faciles
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sites_faciles_experiment-0.0.1.tar.gz -
Subject digest:
65cd5a44ab5c784bdf94ca63e5d7e096aa3eb8f4313b46f4739cd1c784d1e2a2 - Sigstore transparency entry: 181030938
- Sigstore integration time:
-
Permalink:
fabienheureux/sites-faciles@6e25f32738071b339a514ab800dee57a0f00aab2 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/fabienheureux
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6e25f32738071b339a514ab800dee57a0f00aab2 -
Trigger Event:
push
-
Statement type:
File details
Details for the file sites_faciles_experiment-0.0.1-py3-none-any.whl.
File metadata
- Download URL: sites_faciles_experiment-0.0.1-py3-none-any.whl
- Upload date:
- Size: 2.4 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac8f676d7155ccae5ec8c3b27ddad8aa65802ebbf749fa4f5944c635e2ff4c4e
|
|
| MD5 |
f73f9cd3fa1053028bcd7fb2f7ea98c0
|
|
| BLAKE2b-256 |
37b0c56989f22c519a61f0ba36b2c426fb73c41a150158f3b7c1947365ea5132
|
Provenance
The following attestation bundles were made for sites_faciles_experiment-0.0.1-py3-none-any.whl:
Publisher:
publish.yml on fabienheureux/sites-faciles
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sites_faciles_experiment-0.0.1-py3-none-any.whl -
Subject digest:
ac8f676d7155ccae5ec8c3b27ddad8aa65802ebbf749fa4f5944c635e2ff4c4e - Sigstore transparency entry: 181030941
- Sigstore integration time:
-
Permalink:
fabienheureux/sites-faciles@6e25f32738071b339a514ab800dee57a0f00aab2 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/fabienheureux
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6e25f32738071b339a514ab800dee57a0f00aab2 -
Trigger Event:
push
-
Statement type: