Makina Blog
Présentation de Wagtail, le dernier CMS Django
Wagtail est un CMS relativement récent dans l’écosystème Django. Pour autant, son jeune âge ne l’empêche pas de posséder de nombreuses fonctionnalités que nous découvrirons dans cet article.
Wagtail est une suite de modules Django ajoutant les fonctionnalités nécessaires à tout CMS. On a ainsi accès à toute la puissance de Django combiné aux ajouts de Wagtail : gestion de contenus hiérarchiques, gestion documentaire, bibliothèque d'images, workflow de publication, révisions, création de formulaires, API REST, …
Les premières versions de Wagtail ont été disponibles dès 2014, tandis que la première version stable est sortie le 17 juillet 2015. Il évolue rapidement, sa version actuelle étant la 1.5, et chacune de ces versions apportant son lot de nouvelles fonctionnalités.
Wagtail étant une application Django, il est simple de créer un site Wagtail de zéro ou à partir d'un site Django. Tout comme Django, Wagtail est facilement extensible.
Wagtail propose uniquement une interface d'administration, laissant le développement du front-office aux bons soins du développeur.
Le Back-OfficeLe back-office est la partie d'un site permettant sa gestion. Elle n'est disponible qu'aux administrateurs et contributeurs. Wagtail propose une interface ergonomique et épurée, facile à prendre en main.
Gestion des Contenus
Chaque site Wagtail est organisé de façon hiérarchique. Une page peut ainsi contenir d'autres pages. C'est le cas de la page d'accueil, qui sera toujours considérée comme la racine du site. Cela est notamment utile pour organiser le contenu : les billets de blogs seront sous la page "blog", etc.
On peut apercevoir sur ce screenshot un StreamField, une des fonctionnalités phare de Wagtail. Les créateurs de Wagtail en ont fait une démonstration lors de la sortie de la 1.0.
Une autre fonctionnalité intéressante est la barre d'utilisateur, petite vignette présente directement sur les contenus permettant un accès rapide à leur gestion.
Gestion des Images et Documents
La gestion d'image reste classique mais efficace. Il est possible de les uploader en masse depuis la bibliothèque, ou bien de les ajouter directement depuis l'édition d'un contenu. La possibilité de définir un point d’intérêt permet également de faciliter le redimensionnement automatique des images et de s'assurer que l'image reste pertinente dans n'importe quelle situation. La gestion documentaire est tout aussi simple.
Création de Formulaires
Wagtail offre la possibilité de créer des formulaires personnalisables directement depuis le back-office. Les résultats sont disponibles en ligne mais peuvent également être envoyés par e-mail. Il est ainsi facile de créer des sondages ou des pages de contact par exemple.
Gestions des Utilisateurs
Les utilisateurs peuvent être modifiés directement depuis le back-office. L'ajout de groupes permet de gérer les permissions accordées aux utilisateurs, et donc de définir des rôles précis pour les contributeurs, éditeurs, etc.
Le Front-OfficeWagtail ne propose pas de front-office par défaut. Il met par contre à bon escient la mécanique de vue et de template offerte par Django. Il est donc aussi simple de créer un design pour Wagtail qu'il ne l'est pour Django. L'API REST mise à disposition par Wagtail (utilisant Django Rest Framework) permet également la création de front-office utilisant un framework JavaScript (Angular, React, …).
Et bien plus encoreCette présentation de Wagtail est loin d'être exhaustive, les possibilités étant infinies. Il est difficile de se rendre compte de tout ce qu'il est possible de faire, le meilleur moyen étant encore de voir ce qu'il existe déjà.
Si vous êtes intéressé par Wagtail, n'hésitez pas à nous contacter en exprimant vos besoins.
Formations associées
Formations Django
Formation Django avancé
À distance (FOAD) Du 9 au 13 décembre 2024
Voir la formationActualités en lien
Utiliser des fonctions PostgreSQL dans des contraintes Django
Cet article vous présente comment utiliser les fonctions et les check constraints
PostgreSQL en tant que contrainte sur vos modèles Django.
Présentation de django-tracking-fields
Suivi de modification d'objets Django
Créer un tag d'inclusion avec paramètres dans Django
La bibliothèque de tags interne permet d'enregistrer des tags avec paramètres ou des tags d'inclusion de template, voici comment faire les deux en même temps.