Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Sites Conformes

Sites Conformes (anciennement « Sites Faciles ») vise à permettre la création simplifiée de sites dont le domaine se termine par .gouv.fr.

Basé sur Wagtail, il permet de concevoir rapidement des sites internet conformes aux normes numériques en vigueur.

En particulier, il permet de construire des pages à l’aide de composants prêts à l’emploi issus du Système de design de l’État (DSFR).

Prérequis

Sites Conformes vise à utiliser les dernières versions disponibles de Django (6.0+) et Wagtail.

Les tests automatisés couvrent les versions suivantes :

Installation et contribution

Git blame

Le projet utilise .git-blame-ignore-revs pour exclure les commits de reformatage de git blame. À configurer une fois après le clone :

git config blame.ignoreRevsFile .git-blame-ignore-revs

Voir docs/git-blame-ignore-revs.md pour plus de détails.

Architecture

Applications Django

Made with Django Made with Wagtail

Sites Conformes est développé en utilisant le framework Django et le CMS Wagtail. Il est centré autour d'une application principale nommée sites_conformes.core, accompagnée d’applications annexes pour divers types de pages :

  • sites_conformes.core : l’application principale, contient les contenus communs, les pages standard (pages de contenu), les pages d’index de catalogue et la gestion des configurations
  • blog : Permet de gérer des articles de blog et des index de blog, et les flux RSS correspondants.
  • dashboard : Contient les personnalisations des panneaux d’administration de Wagtail (dans templates/wagtailadmin et wagtail_hooks.py)
  • django-dsfr : Permet d’utiliser facilement le système de design de l’État dans des templates Django.
  • events : Similaire à blog, mais permet de gérer des événements et des pages de calendrier, ainsi que les exports iCal correspondants.
  • forms : implémentation du module de création de formulaire de Wagtail, par exemple pour les pages de contact. Volontairement assez limité (suffisant pour un formulaire de contact mais pas beaucoup plus), pour les cas complexes il vaut mieux privilégier l’intégration de Démarches simplifiées ou de Grist.
  • db_storage : stockage des médias en base de données PostgreSQL, alternative au S3 pour les PaaS avec filesystem éphémère (cf. documentation)
  • proconnect : permet la connexion via ProConnect

Structure du dépôt

En plus des applications déjà citées, le dépôt contient les répertoires suivants :

  • config : le projet Django proprement dit
  • locale : la traduction des templates de base et du JS global du site (cf. ci-dessous.) La localisation des apps listées plus haut se fait à l’intérieur de celles-ci.
  • scripts : scripts shell utilisés par certaines commandes et fichiers de configurations associés.
  • static : des fichiers statiques communs à l’ensemble du site (CSS global, JS global, quelques images intégrées par défaut) ainsi que la librairie tierce TarteaucitronJS (utilisée pour la gestion des cookies tiers)
  • templates : les templates de base du site.

Schéma

Schéma montrant les apps listées ci-dessus ainsi que l’interconnection avec la BDD, le S3 et les services tiers (dont ProConnect)

Schéma de l’application dans le cas d’un hébergement sur Scalingo.

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

Notifications

Le panneau d’information de l’administration peut afficher des notifications (nouveautés, alertes, maintenances) aux utilisateurs qui ont accès au back-office. Ces notifications sont pilotées par le fichier notifications.json à la racine du dépôt.

Pour savoir comment ajouter, modifier ou désactiver une notification, voir la documentation dédiée : NOTIFICATIONS.md.

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sites_conformes-4.1rc1.tar.gz (7.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sites_conformes-4.1rc1-py3-none-any.whl (7.8 MB view details)

Uploaded Python 3

File details

Details for the file sites_conformes-4.1rc1.tar.gz.

File metadata

  • Download URL: sites_conformes-4.1rc1.tar.gz
  • Upload date:
  • Size: 7.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sites_conformes-4.1rc1.tar.gz
Algorithm Hash digest
SHA256 256da125f1b0967cc42356c7366077421b6dad1e7a325bf0d7a16dec7582637f
MD5 044b9f55daae1aa4fb477a06ce28375d
BLAKE2b-256 8c97b768ce719bd396ffb3bd179a6d4eb01b62fc95c828ee277b386c767ed36b

See more details on using hashes here.

Provenance

The following attestation bundles were made for sites_conformes-4.1rc1.tar.gz:

Publisher: publish.yml on numerique-gouv/sites-conformes

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sites_conformes-4.1rc1-py3-none-any.whl.

File metadata

File hashes

Hashes for sites_conformes-4.1rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 e87809051a6287b8d504cbef7edf6196be5cc3971fb36af133de091bae7d0207
MD5 f8fd02a4ba0710369d193bd4872892f5
BLAKE2b-256 c9e9fff99a8d25dd1c618da7776f787edef7068afacb500a048d709a7652ec90

See more details on using hashes here.

Provenance

The following attestation bundles were made for sites_conformes-4.1rc1-py3-none-any.whl:

Publisher: publish.yml on numerique-gouv/sites-conformes

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page