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
Sites Faciles - Expérimentation sous forme de package
Sites Faciles est un 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. Développé sous forme de site Wagtail, il n'est à l'heure actuelle pas possible de l'utiliser comme dépendance d'un projet Wagtail existant.
Le projet courant vise cet objectif.
C'est un soft-fork, au sens où aucune fonctionnalité ne sera ajoutée via Sites Faciles dans ce fork. Cependant une synchronisation directe des deux dépôts n'est pas possible car l'empaquetage de Sites Faciles nécessite de déplacer des fichiers, ce qui fausse la synchronisation.
Un script de synchronisation a donc été écrit qui vise à :
- déplacer l'arborescence dans un sous-dossier
- namespacer tout ce qui doit l'être dans le code source de Sites Faciles
Pour l'utilisation de Sites Faciles, voir le README original.
Le versionning et les tags suit de manière iso ceux de Sites Faciles.
🙋♂️ Comment tester
Pour le tester dans un projet wagtail existant (⚠ c'est hautement expérimental, à ne tester que sur un projet local) :
poetry add sites-faciles-experimentoupip install sites-faciles-experiment- ajouter quelques settings nécessaires au bon fonctionnement du projet, à savoir
TEMPLATES = [
{
"BACKEND": "django.template.backends.django.DjangoTemplates",
"DIRS": [BASE_DIR / "templates"],
"APP_DIRS": True,
"OPTIONS": {
"context_processors": [
# ...
"wagtailmenus.context_processors.wagtailmenus",
"sites_faciles.content_manager.context_processors.skiplinks",
"sites_faciles.content_manager.context_processors.mega_menus",
],
},
},
]
INSTALLED_APPS.extend(
[
"sites_faciles",
"sites_faciles.blog",
"sites_faciles.content_manager",
"sites_faciles.events",
"sass_processor",
"wagtail.contrib.settings",
"wagtail_modeladmin",
"wagtailmenus",
"wagtailmarkdown",
]
)
STATICFILES_FINDERS.extend([
"sass_processor.finders.CssFinder",
])
- Éventuellement overrider le template de base de Sites Faciles pour utiliser directement les modèles de page proposés
{# sites_faciles/base.html #}
{% extends "votre_wagtail_existant/base.html" %}
{# Fournir un block content dans lequel les modèles de pages de sites faciles peuvent render le contenu #}
{% block content %}{% endblock %}
- Sinon utiliser le champ streamfield sur un modèle existant
# models.py
from sites_faciles.content_manager.blocks import STREAMFIELD_COMMON_BLOCKS
# ...
class CMSPage(Page):
body = StreamField(
STREAMFIELD_COMMON_BLOCKS,
blank=True,
use_json_field=True,
)
- Voir la PR en cours côté quefairemesdechets / longue vie aux objets pour l'ajout de wagtail + sites faciles à un projet Django
🔍 Quelques infos / observations en vrac
- On a fait une solution quick&dirty pour évaluer la faisabilité, on récupère tout : les modèles, les templates etc
- Idéalement il serait intéressant de pouvoir importer que le champ streamfield avec le rendering qui va bien, mais comme de nombreux blocs dépendent de
blogetevent, on se retrouve à devoir ajouter ces apps. Donc à voir pour rendre ça plus modulaire - Il y a un certains nombres de dépendances nécessaires à Sites Faciles qui sont normalement gérées par le wagtail existant qui accueille
sites-faciles-experiment:gunicorn,dj-database-url... - La dépendance à sass semble superflue, pourrait-on imaginer s'en passer ?
✅ Reste à faire
- Voir comment rendre une éventuelle refacto rétro compatible avec les sites déjà déployés
- Rendre le streamfield de
content_managerplus modulaire pour le rendre utilisable sans les dépendances aux apps blog et event - Définir le scope
- SSO / proconnect ?
- Streamfield
- Modèles de page
- Config wagtail
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-2.0.0rc7.tar.gz.
File metadata
- Download URL: sites_faciles_experiment-2.0.0rc7.tar.gz
- Upload date:
- Size: 2.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11575378bb891bd31132f37884b57b472768ab4cf4954ae3b283eb6129fe9627
|
|
| MD5 |
ffa47370111d24c7f29df0e48b3900a1
|
|
| BLAKE2b-256 |
e50ea56477775a8f451abbe98aa3397075f49d0c7be44538fe6ec60ada6e2c5e
|
Provenance
The following attestation bundles were made for sites_faciles_experiment-2.0.0rc7.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-2.0.0rc7.tar.gz -
Subject digest:
11575378bb891bd31132f37884b57b472768ab4cf4954ae3b283eb6129fe9627 - Sigstore transparency entry: 456101960
- Sigstore integration time:
-
Permalink:
fabienheureux/sites-faciles@1d212d0cf5e1574178aa47ec6abdfaa957f42f0e -
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@1d212d0cf5e1574178aa47ec6abdfaa957f42f0e -
Trigger Event:
push
-
Statement type:
File details
Details for the file sites_faciles_experiment-2.0.0rc7-py3-none-any.whl.
File metadata
- Download URL: sites_faciles_experiment-2.0.0rc7-py3-none-any.whl
- Upload date:
- Size: 2.8 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 |
55b633b989195dd498c63af45d89949ba81547d9b254b2763451051ca663258b
|
|
| MD5 |
457d978118b02a2d7ec1a10e688b100d
|
|
| BLAKE2b-256 |
ca6fa115a6eddbb7b92e0ca39489856c152364f13680326733d2c93976690c65
|
Provenance
The following attestation bundles were made for sites_faciles_experiment-2.0.0rc7-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-2.0.0rc7-py3-none-any.whl -
Subject digest:
55b633b989195dd498c63af45d89949ba81547d9b254b2763451051ca663258b - Sigstore transparency entry: 456101979
- Sigstore integration time:
-
Permalink:
fabienheureux/sites-faciles@1d212d0cf5e1574178aa47ec6abdfaa957f42f0e -
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@1d212d0cf5e1574178aa47ec6abdfaa957f42f0e -
Trigger Event:
push
-
Statement type: