Accueil / Blog / Métier / 2016 / Présentation de Wagtail, le dernier CMS Django

Présentation de Wagtail, le dernier CMS Django

Par Yann Fouillat — publié 06/06/2016
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.
Présentation de Wagtail, le dernier CMS Django

Wagtail

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.

Back-Office

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.

Gestion du Contenu

Modification d'un Contenu

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.

Modification d'un Contenu

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.

Bibliothèque d'images

Modification d'une image

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.

Création d'un Formulaire

Soumissions du Formulaire

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.

Gestion des Roles de l'utilisateur

Gestion d'un Role

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.

ABONNEZ-VOUS À LA NEWSLETTER !
Voir aussi
Django Rest Framework : les tests (partie 8) Django Rest Framework : les tests (partie 8) 22/02/2016

Avec les API REST, développer très rapidement des tests fonctionnels complets qui frôlent les ...

Formation Django initiation à Toulouse du 13 au 15 mars Formation Django initiation à Toulouse du 13 au 15 mars 26/01/2017

Entrez de plain-pied dans l'univers de Django aux côtés de développeurs ayant une expérience de ...

Python : Bien configurer son environnement de développement Python : Bien configurer son environnement de développement 07/12/2015

Comment utiliser les bonnes pratiques de développement Python.

Internationalisation avec Django Internationalisation avec Django 27/11/2018

En tant que développeurs nous sommes parfois confronté à la problématique de l'accessibilité ...

Retour sur la PyConFr 2016 Retour sur la PyConFr 2016 18/10/2016

Nous étions présents à Rennes pour PyConFr 2016. Voici notre compte-rendu à chaud.