L’agence Web Suisse Divio AG a publié en 2007 ce CMS (Content Ma­na­ge­ment System ou système de gestion de contenu en français) gratuit appelé Django, basé sur un framework d’ap­pli­ca­tion 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 pro­gram­ma­tion Python, per­met­tant l’accès à un grand nombre de bi­blio­thèques. Avec le CMS Django, il est possible d’accéder au­to­ma­ti­que­ment aux outils et ex­ten­sions dé­ve­lop­pé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 ca­rac­té­ri­sés par des codes en­tre­mê­lés. Un pro­gram­meur Django doit donc écrire deux fois moins de code qu’un pro­gram­meur PHP par exemple. Le CMS Django marque des points, notamment avec les pro­prié­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 char­ge­ment
  • In­té­gra­tion et dé­ve­lop­pe­ment facile de nouveaux plug-ins
  • Interface intuitive et con­vi­viale, fonction drag-and-drop
  • les données aux sources complexes sont re­la­ti­ve­ment faciles à intégrer

Les pro­prié­tés du CMS Django ex­pli­quent ce qui rend ce système de gestion de contenu si in­té­res­sant, tant pour les dé­ve­lop­peurs que pour les éditeurs. Vous pouvez déplacer les dif­fé­rents contenus par blocs de manière très simple, qu’il s’agisse de textes, de photos, vidéos ou for­mu­laires. Si vous le souhaitez, le système crée au­to­ma­ti­que­ment une ar­bo­res­cence dans les menus. Vous pouvez tra­vail­ler sur ces blocs en Backend, mais aussi di­rec­te­ment 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é­fi­nis 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 Mar­ket­place et sur GitHub des centaines d’autres éléments de sites Web. Ces ex­ten­sions de contenu sont dans le cas du CMS Django appelées Templates, plug-ins, ou add-ons et vous pouvez les té­lé­char­ger gra­tui­te­ment 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 cons­ta­te­rez vite le gain de temps obtenu grâce à ces modules pré­fa­bri­qué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 ex­ten­sions. Le Framework de base s’avère pour cela très utile : Django prend en charge la com­mu­ni­ca­tion avec la base de données et crée au­to­ma­ti­que­ment des barres d’ad­mi­nis­tra­tion et des for­mu­laires pour vos propres données. De plus, vous pouvez vous servir des nom­breuses ap­pli­ca­tions Django dis­po­nibles.

Les fonc­tion­na­li­tés Django en aperçu

Comme beaucoup pro­grammes open source, le CMS Django tire sa force de sa po­ly­va­lence, qui est d’autant plus im­por­tante grâce au large choix d’add-ons per­met­tant d’obtenir de nouvelles fonctions. In­dé­pen­dam­ment de ces ex­ten­sions, le système présente par lui-même des Templates sup­plé­men­taires à té­lé­char­ger, élar­gis­sant l’étendue des fonc­tion­na­li­tés :

  • Fonction d’édition par double-clic : vous pouvez ouvrir une fenêtre pop-up avec per­met­tant de modifier un texte, une image, un bouton ou d’autres types de contenus avec un simple double-clic.
  • Trai­te­ment Frontend : il est aussi possible d’éditer tous les blocs de contenu utilisés di­rec­te­ment depuis le Frontend.
  • Plug-ins réu­ti­li­sables : les ex­ten­sions du CMS Django peuvent être utilisées dans dif­fé­rents domaines de votre site Web.
  • Mul­ti­sites: permet la gestion de plusieurs sites Web sur l’interface ad­mi­nis­tra­teur.
  • Ar­chi­tec­ture flexible : tous les éléments sont librement po­si­tion­nables.
  • Gestion des droits : in­for­ma­tions spé­ci­fiques relatives au droit pour chaque uti­li­sa­teur.
  • Gestion des versions : toutes les mo­di­fi­ca­tions du projet sont en­re­gis­trées et vous pouvez revenir en arrière sim­ple­ment pour retrouver un contenu sous son ancienne forme.
  • Mul­ti­lingue : toutes les pages et les contenus peuvent être présentés en dif­fé­rentes langues. Il est possible de dé­ter­mi­ner des règles pour que l’or­di­na­teur sache quels contenus afficher si la langue cible n’est pas dis­po­nible.
  • Gestion des médias : les dif­fé­rents types de médias peuvent être gérés fa­ci­le­ment (Images, PDFs, vidéos, etc…).

Quelles pos­si­bi­li­tés offre le CMS Django quant au SEO, e-commerce… ?

Avec le CMS Django, l’aspect de l’op­ti­mi­sa­tion 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 des­crip­tion et une URL in­di­vi­duel­le­ment et in­dé­pen­dam­ment des titres des menus de manière à optimiser leur ré­fé­ren­ce­ment Web. Il existe par ailleurs toute une série d’ex­ten­sions, 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 com­pa­rai­son 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 re­pré­sente donc l’al­ter­na­tive parfaite au CMS Django.

Autres Templates utiles du CMS Django :

  • djangocms-blog : logiciel pour blogs – fonction mul­ti­lingue
  • Aldryn MailChimp : Plug-in reliant le CMS django avec le logiciel de News­let­ter MailChimp
  • Aldryn Video : extension élégante pour l’in­té­gra­tion de vidéos
  • cmsplugin_facebook : intègre des fonc­tion­na­li­tés Facebook comme le bouton « like » ou « j’aime » en français.

Bilan : énorme potentiel de dé­ve­lop­pe­ment pour le CMS Django

Le CMS Django vous met d’ex­cel­lents outils à dis­po­si­tion, avec lesquels vous ne pouvez pas seulement créer un site Web, mais aussi dé­ve­lop­per des ap­pli­ca­tions autonomes. Les pages fonc­tion­nelles peuvent en grande partie être au­to­ma­ti­sées et les éléments peuvent être modifiés au cas par cas par double-clic et drag-and-drop. Grâce à aux nom­breuses et dif­fé­rentes ex­ten­sions, toujours plus nom­breuses grâce à l’im­por­tante com­mu­nauté, vous pouvez réaliser vous-même des projets ambitieux. Le CMS Django est d’autant plus adapté aux sites de petites et moyennes en­tre­prises, qui ne né­ces­si­tent pas d’aide ex­té­rieure pour chaque in­no­va­tion tech­no­lo­gique. Sur le site officiel du CMS Django vous pouvez té­lé­char­ger 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 les­quelles vous pouvez essayer des fonc­tion­na­li­tés du CMS Django via « édition » : les mo­di­fi­ca­tions sont affichées après un court temps de char­ge­ment. Pour installer le système open source, les com­po­sants suivants sont requis :

  • Python
  • Django (Framework)
  • Post­greSQL ou MySQL
  • html5lib (Bi­blio­thèque Python)
  • les ex­ten­sions django-classy-tag, django-treebeard, django-sekizai et djangocms-admin-style (toutes dis­po­nibles sur GitHub)
Aller au menu principal