TuttifruttiCake : un CMS propulsé par le framework Cake PHP (2073 lectures)
200801/10
Nous annoncons la sortie officielle de notre CMS basé sur le framework CakePHP. Revue détaillée du projet...Nom de code : Tuttifrutti CMS
Parce qu'il est coloré, parce qu'il est goûteux, parce qu'il est sucré, parce qu'il est multi-saveurs, parce qu'il est Rock'n Roll, il ne pouvait que s'appeler Tuttifrutti !
Tuttifrutti CMS, un CMS propulsé par Cake PHP
J'ai depuis plus de 6 ans apporté une veille technologique assidue sur de nombreux CMS open source, comme Wordpress, Dotclear, SPIP, Plume, et d'autres produits que l'on range traditionnellement dans cette catégorie des CMS même s'ils ont vocation à être bien plus performants : Drupal, Joomla, Typo3, ...
Lorsqu'un projet se présente, je suis souvent amené à déterminer quelle serait la meilleure solution à déployer en fonction du cahier des charges ou du budget client. Parfois, cette solution est imposée avec toutes les contraintes qu'elle va impliquer derrière.
J'ai ainsi pû déployer plusieurs de ces solutions pour des clients, sur des configurations serveurs très variées. Pourtant, aujourd'hui, je vois plus de contraintes que d'avantages à utiliser autre chose que TuttifruttiCMS sur des projets dits "classiques".
Les contraintes et avantages des CMS standards les plus utilisés
Le but n'est pas de dénigrer chacun des CMS cités ci-dessus ; leur choix est d'ailleurs limité car ils font parti de la crême des CMS, de part la qualité du code, de part la richesse des développeurs qui travaillent sur chaque projet, et de part la pérénité de chaque solution.
Chaque mois, voir moins, nait un nouveau CMS, basé sur un environnement différent (php, ruby, python, ...) ; comment s'y retrouver pour un client ? Comment savoir si le produit est fiable, sécurisé, évolutif, facilement maintenable, pérenne, ... ? Comment savoir si le serveur va pouvoir faire tourner le logiciel ?
Pas facile dans cette forêt pour un non-initié de savoir quel produit choisir.
Le problème majeur des CMS, c'est leur mise à jour.
En effet, à une date T, un client achète l'implémentation d'un CMS pour son site internet, mais achète t-il les mises à jour nécessaires et parfois obligatoires à la date T + n ?
Je ne pense pas que ça se produise souvent.
Et pourtant, lorsqu'une faille de sécurité est décellée, il devient capital de faire la mise à jour du produit, sinon votre site devient piratable.
Et c'est ici que la mise à jour peut devenir un vrai problème, car elle nécessite pour certains logiciels pourtant très performants des contraintes de sauvegarde de la base de données, des fichiers sur le serveur, et d'executer cette mise à jour en suivant une procédure très rigoureuse si on ne veut pas casser tout l'édifice. Inutile de dénoncer un CMS en particulier, ils sont tous concernés ou presque par ce problème.
Pire, un CMS Open Source a pour vocation à attirer de nombreux contributeurs, qui y vont de leurs plugins, widgets et autres participations.
Mais une mise à jour majeur peut souvent ne plus faire fonctionner un plugin, qui est pourtant indispensable au site !
Voilà le client obligé de demander au développeur de mettre à jour le plugin, ou de trouver un moyen de contourner ce problème.
Et cela impact forcément le budget.
Et je ne pousserais pas le bouchon trop loin en disant qu'à peine une mise à jour majeur effectuée par le prestataire qu'une nouvelle mise à jour est de nouveau disponible ! Wordpress est familier du genre, et les forums de développeurs sont souvent envahis de demande d'aide suite à une mise à jour qui a provoquée un ou plusieurs problèmes.
Le problème de nombreux CMS, c'est de les détourner de leurs usages initiaux
Aujourd'hui, les cadors des CMS deviennent si complexes à utiliser/modulariser que les agences web ne font plus appel uniquement à un simple développeur php, mais à un développeur spécialiste de tel ou tel cms, faute de quoi le temps de maintenance/déveelopement/débugguage pourrait vite exploser.
La faute à ces cms bien sûr, qui pour suivre l'évolution du web voient leur noyau gonfler de façon démesuré.
A la base Wordpress fut conçu pour être ce qu'on appelle un moteur de blog (certains clients sont d'ailleurs étonnés qu'on puisse proposer Wordpress en tant que CMS), mais aujourd'hui il permet de gérer un site complexe dans sa structure, et pas uniquement un schéma articles/commentaires.
Son succès peut être comparé à celui de Firefox et de ses plugins, mais j'ajouterais que si on y réfléchit bien, ses défauts sont aussi ce que beaucoup qualifient d'avantages.
Toujours en restant sur l'exemple de Wordpress qui est très significatif, voici un schéma classique.
Au départ, le cms est relativement simple ; chacun peut créer/installer ses plugins, ses thèmes avec une grande facilité et souplesse.
Le cms prend de la réputation, son noyau évolue, mais pas forcément ses plugins, qui ne sont pas développés par l'équipe source mais par des indépendants.
Et c'est là que commencent les problèmes ; l'équipe source (la "core team") ne faisantpas le choix à un stade de l'évolution d'intégrer d'office certains plugins "indispensables" dans le noyau.
On dira que c'est à chacun de choisir ses plugins, mais c'est en tout cas ce qui fragilise l'édifice, sans quoi le CMS, et Wordpress en particulier, serait incontestablement sur le podium des CMS.
TuttifruttiCMS est la solution aux problèmes des mises à jour
Parce qu'il est basé sur un des trois meilleurs framework PHP du marché actuel, avec Zend framework et Symfony, TuttifruttiCMS possède un noyau stable est performant.
Chaque plugin ajouté est ajouté autour de ce noyau suivant le design pattern MVC.
La mise à jour du noyau n'est pas nécessaire puisque celui-ci est stable.
TuttifruttiCMS n'est pas un logiciel Open Source
Il n'est pas encore décidé de mettre une version Open Source du logiciel à disposition, pour des raisons qui sont commerciales évidemment, sécuritaires aussi (rendre son code source public, c'est rendre possible des attaques ; aussi seul le noyau de CakePHP reste en open source), mais aussi afin d'éviter les (trop) nombreux bugs liés aux plugins lors des mises à jour du logiciel comme évoqué précedemment.
L'esprit de Tuttifrutti CMS
TuttifruttCMS a été élaboré à partir de nombreuses expériences utilisateurs et uniquement autour de ces expériences.
C'est le point clé du projet, l'utilisateur.
Sur tous les projets CMS mis en ligne jusqu'à aujourd'hui, il n'est pas un seul client qui n'ait à un moment donné une critique à formuler (à juste titre) sur le maniement et l'emploi du logiciel. "Comment fait-on pour ?"
Malgré les heures de formation en ligne apportées au client avant le lancement du site, il arrive toujours un moment où celui-ci, par définition à l'opposé de l'expert qu'est le développeur, ne se souvienne plus des manipulations, ou commette des erreurs qu'il ne sait pas corriger.
Tout simplement parce que le développeur expertise tous les jours ou presque sur les logiciels, là où le client n'y apporte que quelques minutes ou heures par mois.
De ce constat redondant est néée l'idée de proposer un logiciel simple d'emploi, même pour un non initié !
Les fonctionnalités de Tuttifrutti CMS
TuttifruttiCMS s'articule autour d'un principe largement répandu aujourd'hui sur internet, celui des pages et des articles.
Gestion des pages
- Création, modification, suppression de pages,
- Activation du statut des pages (publié ou broullion),
- Url rewriting intégré pour avoir des urls propres et mieux indexées par les moteurs de recherche,
- Possibilité d'avoir un chapeau (extrait) et une description complète,
- Contenu enrichi avec l'éditeur javascript le plus performant, TinyMCE,
- Possibilité de gestion des metas description et du titre de la page,
- Possibilité d'intégrer une page à un menu.
Gestion des articles
- Création, modification, suppresion d'articles,
- Activation du statut des articles (publié ou brouillon),
- Url rewriting intégré pour avoir des urls propres et mieux indexées par les moteurs de recherche,
- Possibilité d'avoir un chapeau (extrait) et une description complète,
- Contenu enrichi avec l'éditeur javascript le plus performant, TinyMCE,
- Configuration du nombre d'articles en page d'accueil,
- Moteur de recherche multi-filtrage des articles,
- Possibilité de réagir aux articles,
- Possibilité de placer ou non l'article en page d'accueil,
- Possibilité de gestion des metas description et du titre de la page,
- Possibilité de relier un article à une ou plusieurs catégories.
Gestion des catégories
- Création, modification de catégorie,
- Url rewriting intégré pour avoir des urls propres et mieux indexées par les moteurs de recherche.
Gestion du menu de navigation
- Menu entièrement dynamique,
- Gestion de l'ordre des menus.
Gestion des droits utilisateurs
- Création, modification, suppression d'utilisateurs,
- Gestion des droits (lecture, écriture, administration).
Gestion des albums et iconographies
- Création, modification, suppression d'albums,
- Création, modification, suppression de photographies/iconographies,
- Gestion de la taille des vignettes et de leur type,
- Activation ou désactivation des albums et/ou iconographies.
Gestion des templates
- Possibilité de changer de templates pour le site
Gestion des flux RSS ou fils d'infos
- publics et extranet.
Gestion du cache automatique
Sitemap automatique
- Le sitemap est automatiquement généréà chaque ajout pour améliorer le SEO ou référencement.
Librairies externes utilisées et licences associées
- Prototype : MIT Licence
- Scriptaculous : MIT Licence
- Lightbox : Creative Commons Attribution 2.5 License
- JQuery : MIT Licence
- TinyMCE : LGPL
- Option Plugin Filemanager et/ou Imagemanager : licence à 50 € TTC au 09/2008
Vous le voyez, Tutifrutti CMS a déjà tout d'un grand, du fait de posséder un noyau très performant qu'est Cake PHP, et d'une interface utilisateur définie par et pour les utilisateurs, et non pas pour ajouter des gadgets tout aussi inutiles les uns que les autres et qui rendent l'emploi du site complexe.
Bien sûr, l'extranet est alimenté à base d'Ajax tant que cela est nécessaire afin de simplifier les commandes utilisateurs.
En un seul clic, vous changer les statuts de vos pages, articles, menus, albums ou images !
Environnements de travail
- PHP 5.2.1
- MySQL 5.0.27
Vous êtes intérressé par Tuttifrutti CMS ?
Tuttifrutti CMS fait très bien ce pour quoi il a été conçu. Il n'est donc pas question de venir demander ce logiciel, mais avec tel ou tel module en plus qui feraient de lui un tout autre logiciel au final et donc d'une commande spécifique.
Si vous avez des besoins spécifiques, nous nous ferons un plaisir d'étudier votre demande autour du framework CakePHP, ou d'une autre solution si celle-ci est plus adaptée.
Quel est la licence du logiciel ?
TuttifruttiCMS n'est pas un logiciel libre ni open source. Vous achetez une licence pour un domaine.
Si vous êtes une agence web ou un développeur indépendant, vous pouvez nous contacter pour plus de renseignements sur les conditions de vente et de redistributions du logiciel.
Combien coûte Tuttifrutti CMS ?
Tout dépend de vos besoins sur son implémentation, de son installation sur le serveur, de votre volonté de nous confier l'identité visuelle de votre site et son intégration, de votre volonté de pouvoir redistribuer le produit ou non (pour les agences web), etc.
Comment tester le logiciel ?
Si vous souhaitez pouvoir tester une démo en ligne de TuttifruttiCMS, veuillez nous contacter via le formulaire de contact et nous donner le plus de renseignements possibles sur votre projet*.
Après réception de votre demande, nous vous répondons dans les 24 heures au plus tard pour vous donner les disponibilités de tests et le cas échéant vous placer sur une liste d'attente.
Vous aurez ensuite un crédit de 2 heures pour tester à loisir TuttifruttiCMS avant que votre compte n'expire.
* Important : les simples demandes sans détails précis du projet ne seront pas traitées. Aussi ne vous étonnez pas si vous n'avez pas de réponse à votre demande de test.
Qu'en est-il des mises à jour ?
On a déjà parlé des mises à jour auparavant. Pourquoi mettre à jour un noyau déjà stable ?
Soit vous changer carrément de voiture, donc de produit, soit vous la garder.
La différence, c'est que Tuttifrutti CMS n'est pas périssable pour les besoins pour lesquels il a été élaboré ! Donc pas d'entretien !
Si par contre vous avez des nouveaux besoins en terme de module, de fonctionnalités, nous restons votre partenaire privilégié pour vous conseiller et vous proposer une solution confortable.
Dernière modification : 01/10/2008
Catégorie : Développement PHP/MySQL - Framework - CakePHP - CMS - Web - Réalisations -
A découvrir également :
Gestionnaire d'évènements avec Thunderbird et Google Calendar
Commentaires
Les commentaires sont désactivés.


