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
de# Gestionnaire de contenu Wagtail VILLAGE
Sur la base de l'application gestionnaire de contenu CMS et blog sous technologie Wagtail sites-facile de la DINUM, France, elle-même à base de l'application de mise en page de site dynamique Django django-dsfr, elle même basé sur le Design Système de l'Etat ou DSFR du gouvernement français, cette application gestionnaire de contenu dit CMS et blog VILLAGE propose de capitaliser sur le travail de fond pour le traitement d'information et de la communication en rendant les composants génériques.
Les conditions d’utilisation de DSFR pour des acteurs privés sont claires :
2° Conditions d’utilisation des Composants par les Autres Utilisateurs
Tous les Autres Utilisateurs sont autorisés à utiliser le code source selon les conditions de la licence MIT.
Il est expressément rappelé aux Autres Utilisateurs que toute utilisation des Composants en dehors des limites visées aux présentes ou dans le but de les détourner et de s’approprier d’une manière ou d’une autre la Marque de l’État est punissable de sanctions civiles et/ou pénales.
Les conditions de l'utilisation de dango-wagtailvillage and sites-faciles (content_manager) sont encore moins problématiques un fois que la question fondamentale du DSFR est traitée de manière responsable. Le défi est de proposer un deal équitable et sympa pour l'Etat. Cela serait aidé, je pense, par la contribution fondamentale de proposer des thèmes graphiques très différents de la charte du DSFR. Il y a encore un peu de travail à faire dans ce sens, mais c'est bien parti.
Maîtriser l'ensemble de la chaîne de wagtailvillage à django-wagtailvillage à sites-faciles a été une joie parce-que les développements sont propres et faits de manière responsable.
Voici un autre diagramme autour de l'idée de faire un outil publiquement utilisable Wagtail-VILLAGE avec Django-VILLAGE Module Python Django-VILLAGE et Fabrique-VILLAGE.
flowchart TD
subgraph GouvernementFR
DSFR
end
subgraph numerique-gouv
django-dsfr
sites-faciles
end
subgraph ResDigita
fabrique-village
django-village
wagtail-village
end
django-dsfr -.-> Django
sites-faciles-.-> Wagtail
django-village -.-> Django
wagtail-village -.-> Wagtail
DSFR -.-> NodeJS
fabrique-village -.-> NodeJS
DSFR --> django-dsfr
django-dsfr --> sites-faciles
DSFR --> uniquement-generique{{Reprise uniquement\ndes éléments\ngénériques}}
uniquement-generique --> fabrique-village
fabrique-village --> django-village
django-dsfr --> intro-submodules{{Introduction\nde submodules\npar desgin de site}}
intro-submodules --> django-village
django-village --> wagtail-village
sites-faciles --> wagtail-village
Django --> Wagtail
Voici des notes aléatoires:
CREATE USER wagtailvillage with ENCRYPTED PASSWORD 'SOMEPASSWORD';
CREATE DATABASE "wagtailvillage" WITH OWNER "wagtailvillage" ENCODING 'UTF8';
ALTER database wagtailvillage owner to wagtailvillage;
GRANT ALL privileges ON DATABASE wagtailvillage TO wagtailvillage;
git clone git@github.com:chris2fr/wagtail-village.git
python -m venv venv
source venv/bin/activate
pip install pre-commit django
cp .env.example .env
python -c "from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())"
vi .env
pre-commit install
pre-commit run --all-files
poetry install
poetry run python manage.py makemigrations
make migrations
make collectstatic
poetry run python manage.py createsuperuser
SECRET_KEY=<VALUE>
DEBUG=False
HOST_PROTO=http
# HOST_URL and ALLOWED_HOSTS: use 0.0.0.0 for Docker
HOST_URL=0.0.0.0
ALLOWED_HOSTS=localhost, 127.0.0.1, wagtail.village.org
HOST_PORT=8890
SITE_NAME=Wagtail VILLAGE
MEDIA_ROOT=medias
Texte reproduite de la DINUM
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
- Python 3.10
- Postgreql 14.x.
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
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
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
File details
Details for the file wagtail_design_system-0.0.1.tar.gz
.
File metadata
- Download URL: wagtail_design_system-0.0.1.tar.gz
- Upload date:
- Size: 65.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.12.6 Linux/6.6.54-2-MANJARO
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8239f7ea68a4fcffb46f54f5b750e70accbc88629fcdb89b0ffd164bd0580fab |
|
MD5 | 32aee46c368c3cd5228b74b5ab271cdd |
|
BLAKE2b-256 | 141fd4b3ea00917866025f63a5e5bb83418d081b282d245a83688776ff754369 |
File details
Details for the file wagtail_design_system-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: wagtail_design_system-0.0.1-py3-none-any.whl
- Upload date:
- Size: 91.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.12.6 Linux/6.6.54-2-MANJARO
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 44b5ee93cbc3cd76b11a969c15f1295f5653723fd94ddf49e6294c43ead76fe4 |
|
MD5 | e0ea14f9241dd303eecaffffc4527cc2 |
|
BLAKE2b-256 | b5c04fd183f2c537226711895a526f352c6064571f3ee934242738fa940ae9a2 |