CMS Django : aperçu du système Python

L’agence Web Suisse Divio AG a publié en 2007 ce CMS (Content Management System ou système de gestion de contenu en français) gratuit appelé Django, basé sur un framework d’application Web du même nom. Comme le framework paru en 2005, le système de gestion de contenu a été développé avec le langage de programmation Python, permettant l’accès à un grand nombre de bibliothèques. Avec le CMS Django, il est possible d’accéder automatiquement aux outils et extensions développées autour du framework.

Obtenez le site Web de vos rêves grâce au CMS Django

Le CMS Django s’est établi depuis peu sur la scène des CMS open source.  Si le programme est si complexe, cela est avant tout lié à son lien étroit avec le Framework, qui l’était déjà depuis le début. Django se rapproche du Framework Ruby. Tous deux sont caractérisés par des codes entremêlés. Un programmeur Django doit donc écrire deux fois moins de code qu’un programmeur PHP par exemple. Le CMS Django marque des points, notamment avec les propriétés suivantes :

  • structure modulaire des pages, contenus basés sur des blocs préconçus
  • Codes frontend pour optimiser la bande passante et la vitesse de chargement
  • Intégration et développement facile de nouveaux plug-ins
  • Interface intuitive et conviviale, fonction drag-and-drop
  • les données aux sources complexes sont relativement faciles à intégrer

Les propriétés du CMS Django expliquent ce qui rend ce système de gestion de contenu si intéressant, tant pour les développeurs que pour les éditeurs. Vous pouvez déplacer les différents contenus par blocs de manière très simple, qu’il s’agisse de textes, de photos, vidéos ou formulaires. Si vous le souhaitez, le système crée automatiquement une arborescence dans les menus. Vous pouvez travailler sur ces blocs en Backend, mais aussi directement en Frontend. Cela présente l’avantage de pouvoir échanger des éléments, d’en intégrer de nouveaux ou bien d’en supprimer sur un site Web déjà actif. Certains types de contenus divers tels que les blogs, FAQs (foires aux questions) et offres d’emploi sont prédéfinis de manière à ce qu’il n’y ait plus qu’à ajouter vos données. En dehors des types de blocs standards, vous trouverez sur Django CMS Marketplace et sur GitHub des centaines d’autres éléments de sites Web. Ces extensions de contenu sont dans le cas du CMS Django appelées Templates, plug-ins, ou add-ons et vous pouvez les télécharger gratuitement puis les intégrer dans votre projet. Vous pouvez tester et combiner des éléments précis de votre site Web et revenir en arrière à tout moment. Vous constaterez vite le gain de temps obtenu grâce à ces modules préfabriqués lors de la création de votre projet Web.

S’il vous manque une fonction et que vous disposez d’un savoir-faire suffisant avec Python, vous pouvez créer vos propres extensions. Le Framework de base s’avère pour cela très utile : Django prend en charge la communication avec la base de données et crée automatiquement des barres d’administration et des formulaires pour vos propres données. De plus, vous pouvez vous servir des nombreuses applications Django disponibles.

Les fonctionnalités Django en aperçu

Comme beaucoup programmes open source, le CMS Django tire sa force de sa polyvalence, qui est d’autant plus importante grâce au large choix d’add-ons permettant d’obtenir de nouvelles fonctions. Indépendamment de ces extensions, le système présente par lui-même des Templates supplémentaires à télécharger, élargissant l’étendue des fonctionnalités :

  • Fonction d’édition par double-clic : vous pouvez ouvrir une fenêtre pop-up avec permettant de modifier un texte, une image, un bouton ou d’autres types de contenus avec un simple double-clic.
  • Traitement Frontend : il est aussi possible d’éditer tous les blocs de contenu utilisés directement depuis le Frontend.
  • Plug-ins réutilisables : les extensions du CMS Django peuvent être utilisées dans différents domaines de votre site Web.
  • Multisites: permet la gestion de plusieurs sites Web sur l’interface administrateur.
  • Architecture flexible : tous les éléments sont librement positionnables.
  • Gestion des droits : informations spécifiques relatives au droit pour chaque utilisateur.
  • Gestion des versions : toutes les modifications du projet sont enregistrées et vous pouvez revenir en arrière simplement pour retrouver un contenu sous son ancienne forme.
  • Multilingue : toutes les pages et les contenus peuvent être présentés en différentes langues. Il est possible de déterminer des règles pour que l’ordinateur sache quels contenus afficher si la langue cible n’est pas disponible.
  • Gestion des médias : les différents types de médias peuvent être gérés facilement (Images, PDFs, vidéos, etc…).

Quelles possibilités offre le CMS Django quant au SEO, e-commerce… ?

Avec le CMS Django, l’aspect de l’optimisation pour les moteurs de recherche n’est pas pris à la légère. Vous pouvez ainsi associer à chaque page de votre site un titre, une description et une URL individuellement et indépendamment des titres des menus de manière à optimiser leur référencement Web. Il existe par ailleurs toute une série d’extensions, comme par exemple djangocms-page-meta. Le Template rend aussi possible l’affichage de snippets de Facebook (Open Graph) ou de Twitter Cards sur les pages de résultats des moteurs de recherche.

En comparaison avec d’autres systèmes de gestion de contenu, vous ne pouvez pas exploiter de boutiques en ligne avec Django. Il existe toutefois une solution avec le logiciel autonome d’e-commerce django-shop, qui recourt également au Framework Django et qui représente donc l’alternative parfaite au CMS Django.

Autres Templates utiles du CMS Django :

  • djangocms-blog : logiciel pour blogs – fonction multilingue
  • Aldryn MailChimp : Plug-in reliant le CMS django avec le logiciel de Newsletter MailChimp
  • Aldryn Video : extension élégante pour l’intégration de vidéos
  • cmsplugin_facebook : intègre des fonctionnalités Facebook comme le bouton « like » ou « j’aime » en français.

Bilan : énorme potentiel de développement pour le CMS Django

Le CMS Django vous met d’excellents outils à disposition, avec lesquels vous ne pouvez pas seulement créer un site Web, mais aussi développer des applications autonomes. Les pages fonctionnelles peuvent en grande partie être automatisées et les éléments peuvent être modifiés au cas par cas par double-clic et drag-and-drop. Grâce à aux nombreuses et différentes extensions, toujours plus nombreuses grâce à l’importante communauté, vous pouvez réaliser vous-même des projets ambitieux. Le CMS Django est d’autant plus adapté aux sites de petites et moyennes entreprises, qui ne nécessitent pas d’aide extérieure pour chaque innovation technologique.

Sur le site officiel du CMS Django vous pouvez télécharger la dernière version du système de gestion de contenu ou la dernière version d’essai. Vous pouvez aussi trouver des exemples de pages Web sur lesquelles vous pouvez essayer des fonctionnalités du CMS Django via « édition » : les modifications sont affichées après un court temps de chargement. Pour installer le système open source, les composants suivants sont requis :

  • Python
  • Django (Framework)
  • PostgreSQL ou MySQL
  • html5lib (Bibliothèque Python)
  • les extensions django-classy-tag, django-treebeard, django-sekizai et djangocms-admin-style (toutes disponibles sur GitHub)