Peut-être aurez-vous remarqué si vous êtes déjà venus mais ce site www.apidev.fr a subi un lifting. Quelques petites modifications au niveau de l'ergonomie (menu, pied de page, nuage de tags sur la colonne de droite ... ) mais surtout une modification importante au niveau du fonctionnement du site qui est à présent totalement généré par un CMS de conception maison et qui permet ainsi d'éditer l'ensemble du contenu de manière plus agréable.
Pourquoi un CMS maison?
L'idée peut paraître saugrenue mais j'ai choisi de développer un CMS (Système de Gestion de Contenu) maison écrit avec Django plutôt que d'utiliser une solution existante (il en existe pourtant d'excellentes comme drupal, SPIP, Joomla ou Django-CMS). Elle s'est imposée au cours de la réalisation du site Alima-Dis où il m'est apparu évident que j'avais besoin d'une solution simple avec une maîtrise complète car le site ne se limitait pas au CMS. J'ai donc crée flatCMS, fortement inspiré par le module flatpage de Django.
Le site Alima-Dis s'est alors construit autour du CMS pour l'édition des pages, des menus et des petites pastilles (plugin en anglais) comme par exemple la zone Contact que l'on retrouve sur toutes les pages. Les autres fonctionnalités (le catalogue produit, la recherche du prix de livraison ... ) sont développées avec Django. Le CMS se limite à ce qu'il sait bien faire comme l'édition de pages et laisse le développeur profiter de la puissance de Django pour les besoins plus complexes.
Le tout permet de garder une solution simple et qui peut évoluer facilement si besoin.
Les fonctionnalités
Voici les principales fonctionnalités:
- Edition des pages avec un éditeur de type traitement de texte (TinyMCE)
- Edition de pastilles (plug-in) pour du contenu présent sur plusieurs pages
- Création de menus avec superfish
- Support du référencement naturel (SEO)
- Gestion de la publication du contenu (avec prévisualisation)
- Possibilité d'avoir du contenu privé (mode Extranet)
- Upload des images et de fichiers
- Edition d'une feuille de style CSS
- Génération automatique du sitemap Google
- Intégration d'entêtes meta personnalisés (comme pour Google Webmaster Tools)
- Support de Google Analystics via une pastille
- Gestion d'Alias (une même page avec plusieurs URL)
- Mode dégradé pour Internet Explorer 6
- Pensé pour s'intégrer avec d'autres applications Django (comme ce blog par exemple)
Et c'est déjà pas si mal ... 
Open-source of course
flatCMS n'est que l'association de très bons outils open-source. Python et Django bien sûr mais aussi l'éditeur TinyMCE pour rendre l'édition d'une page aussi simple que celle d'un document Word. superfish pour les menus (sous IE6 on a un menu dégradé grâce à suckerfish).
Je souhaite publier flatCMS d'ici quelques jours sous une license LGPL mais le code a besoin d'un petit toilettage d'abord.
J'espère que ce projet sera utile et que le fait d'ouvrir le code source apportera le regard d'autres personnes sur ce travail comme c'est le cas avec la librairie modbus-tk. Ce feedback est très enrichissant.
Bonne visite sur le site!



