Créer un CMS libre
- permettant de gérer des sites petits ou moyens (quelques pages à plusieurs centaines de pages),
- simple à installer et à utiliser (des notions de html / css restent cependant nécessaires pour personnaliser le site),
- demandant peu de ressources serveur, donc rapide pour l'utilisateur et adapté aux hébergement mutualisé,
- compatible avec une plateforme en cluster (grappe) aussi bien qu'avec une plateforme conventionnelle,
- utilisable comme noyau pour créer un intra(extra)net,
- pouvant recevoir des fonctions supplémentaires sous forme de modules facultatifs. L'ajout de multiples modules ne doit augmenter que très peu le nombre de scripts inclus pour l'affichage d'une page.
- Facilement mutualisable dans un cadre d'hebergement mutualisé (indépendance des divers sites créés au niveau des répertoires, des bases de données).
Objectifs techniques
Les lectures de page étant généralement beaucoup plus fréquentes que les éditions, le CMS sera centré sur l'optimisation de la lecture des pages publiques, afin que celles-ci ne soient pas plus lourdes que celles d'un site statiques. Le point central du projet est donc l'obtention d'un cache html pur directement accessible pour les visiteurs non identifiés sans passer par un script php.
Les pages inexistantes ou les adresses mal rédigées sont redirigées vers un script php permettant d'afficher la page manquante ou un message d'erreur si besoin.
On veillera également à limiter
- les fonctions du noyau (il ne s'agit pas de créer un CMS de plus capable de faire tout et n'importe quoi). Ce qui n'est pas nécessaire à tous les modes d'utilisations prévu du CMS doit être mis en module, à moins que la mise en module ne rende le système trop complexe.
- le nombre de requête SQL (utilisation de caches)
- le nombre des inclusions et manipulations de fichiers (afin de rendre possible l'hébergement sur une plateforme de type cluster)