Technologie - Wagtail : le CMS Django pour des sites de contenu sur mesure
Wagtail est un CMS open source construit sur Django. Il donne aux équipes éditoriales une interface d'administration agréable, et aux développeurs toute la liberté de Django. Naeka le propose quand un site de contenu doit aller plus loin qu'un CMS classique, ou vivre à côté d'une application Django.

Qu'est-ce que Wagtail ?
Wagtail est un système de gestion de contenu (CMS) open source, écrit en Python au-dessus de Django. Il a été créé en 2014 par l'agence britannique Torchbox.
Prenons le site d'un établissement qui publie des actualités, des fiches de formation et des pages institutionnelles. Avec Wagtail, chaque type de page a son modèle : une fiche de formation a une durée, un niveau, des prérequis et des dates de session. L'équipe éditoriale remplit ces champs dans l'administration, et le site affiche toujours les fiches de la même façon. Si demain on veut lister les formations de niveau master qui démarrent en septembre, c'est une simple requête sur les données.
Pourquoi choisir Wagtail ?
Une administration pensée pour les rédacteurs
L'interface de Wagtail est claire et rapide à prendre en main. Les rédacteurs organisent les pages dans une arborescence, prévisualisent avant de publier, retrouvent l'historique des versions et peuvent revenir en arrière.
Le StreamField
Le StreamField permet de composer une page avec des blocs définis par les développeurs : un paragraphe, une image avec légende, une citation, une vidéo, un encadré. Le rédacteur a de la liberté dans la mise en page, mais chaque bloc reste structuré et cohérent avec la charte du site.
Des workflows de publication
Wagtail gère la modération : un rédacteur soumet une page, un relecteur la valide ou la renvoie avec un commentaire, et la page peut être programmée pour une date de publication. Les droits se règlent finement, par section du site et par groupe d'utilisateurs.
Tout Django derrière
Comme Wagtail est une application Django, on garde tout l'écosystème : l'ORM, les formulaires, l'authentification, les tâches en arrière-plan. Un espace membre, un formulaire d'inscription relié à une base métier ou un moteur de recherche sur mesure se développent comme dans n'importe quel projet Django.
Le multilingue et le multisite
Wagtail gère plusieurs sites dans une même installation et la traduction des contenus, page par page.
Le mode headless
Wagtail peut aussi servir uniquement de back-office : il expose les contenus par une API REST (ou GraphQL), et un frontend séparé, en Vue.js par exemple, les affiche. C'est utile quand le même contenu alimente un site, une application mobile et des écrans.
Wagtail ou WordPress ?
WordPress reste un bon choix pour un site vitrine standard monté rapidement avec des thèmes et des extensions existants. Wagtail devient plus intéressant quand :
- le contenu est structuré (catalogue, fiches, annuaire) et doit être interrogé comme des données
- le site doit s'intégrer à une application ou à une base métier en Python
- vous voulez éviter l'empilement d'extensions tierces à mettre à jour et à sécuriser
- l'équipe technique travaille déjà en Python et en Django
Ce que Naeka propose avec Wagtail
- la conception des modèles de pages et des blocs StreamField avec votre équipe éditoriale
- le développement du site, de l'intégration de la charte aux fonctionnalités sur mesure
- l'ajout d'un CMS Wagtail à une application Django existante, pour que vos équipes gèrent elles-mêmes les pages de contenu
- la mise en place d'un Wagtail headless pour un frontend séparé
- l'hébergement, les montées de version et la maintenance, avec notre offre de tierce maintenance applicative
Parlons de votre site
Vous avez un projet de site de contenu, ou un CMS qui ne suit plus vos besoins ? Contactez-nous pour en discuter.