Makina Blog

Le blog Makina-corpus

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.

Qu'est-ce que Wagtail ?

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-Office

Le 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-Office

Wagtail 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 encore

Cette 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 initiation

Nantes Du 12 au 14 mars 2024

Voir la formation

Formations Django

Formation Django intégration

À distance (FOAD) 11 mai

Voir la formation

Formations Django

Formation Django avancé

À distance (FOAD) Du 9 au 13 décembre 2024

Voir la formation

Actualités en lien

Image
Django PostgreSQL
07/11/2023

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.

Voir l'article
Image
Django logo
08/07/2020

Présentation de django-tracking-fields

Suivi de modification d'objets Django

Voir l'article
02/08/2019

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.

Voir l'article

Inscription à la newsletter

Nous vous avons convaincus