KISS
UWiKiCMS essaye de respecter la doctrine "Keep It Simple Stupid".
La stratégie que j'ai adoptée pour UWiKiCMS c'est "faire peu de choses, mais les faire bien".
Fonctionnalités standard
Edition via le web
Oui, ça va sans le dire mais ça va mieux en le disant: une fois un site UWiKiCMS installé, il n'est plus jamais nécessaire d'accéder au système de fichier du serveur. Toute la manipulation de l'information se fait à l'aide d'un navigateur web (Firefox, Internet Explorer, Lynx...).
Texte formaté + images
UWiKiCMS permet de gérer du texte formaté, et d'intégrer des images. Par formatage du texte j'entends qu'il est possible de faire des listes, des titres, mettre en évidence certains éléments, et c'est à peu près tout.
Homogénéité des pages
UWiKiCMS garantit une forte homogénéité du look de votre site, par le simple fait qu'il est quasi-impossible de torturer le système pour lui faire faire n'importe quoi. Ce qu'on perd en souplesse on le gagne en propreté.
Site arborescent
UWiKiCMS gère le contenu selon une arborescence, et cette arborescence correspond aux chemins d'accès (URL). Exit les "article.php?id=421". Je trouve çà beaucoup plus pratique pour organiser l'information, et certains robots d'indexation aussi apparemment.
Barre de navigation auto-générée
Bizarrement c'est un des aspects qui fait souvent défaut dans d'autres CMS. J'apprécie que les liens "précédent, suivant, parent" soient systématiquement affichés (souvent "précédent" et "suivant" sont omis). Avec un site UWiKiCMS, vous pouvez ne jamais saisir aucun lien, aucune référence, toutes vos pages resteront accessibles de toutes façons, grâce à la navigation intégrée.
Une fonctionnalité "plan du site" est aussi disponible.
Thumbnails automatiques
La génération de versions réduites des images téléchargées est entièrement automatique. Ouf.
Utilisation massive des CSS
En terme de fonctionnalités, ce choix technique se traduit par une facilité de "relooking". Par exemple http://www.ufoot.org , http://ufo.ufoot.org et http://vap.ufoot.org produisent tous les 3 le même code HTML, pour autant le look est différent.
Les impressions sont aussi plus claires et dépouillées des gadgets qui ne servent à rien sur le papier.
Multilinguisme
UWiKiCMS est capable de gérer plusieurs langues sur un même site. Il adopte une stratégie assez particulière mais très efficace dans le cas où:
- on souhaite mettre du contenu à disposition dans plusieurs langues
- on sait que de grands pans du sites seront disponibles dans une seule langue, mais pas toujours la même
- lorsqu'un document est traduit en plusieurs langues, le lien entre les traductions doit être clairement établi
- par défaut on préfère montrer une page dans la mauvaise langue que pas de page du tout
Documents publics et privés
UWiKiCMS permet de différencier les documents:
- publics
- protégés par un mot de passe (mot de passe simple connu par beaucoup d'utilisateurs quasi anonymes)
- privés (à l'usage du contributeur)
- confidentiels (à l'usage de l'administrateur)
C'est rustique mais ça me suffit.
Cache
Indispensable pour tenir des performances potables. Mais me direz-vous, il y a Squid pour cela! Ouais bof. Squid oui en environnement professionnel, mais pour un site perso placé chez un hébergeur PHP/MySQL standard, pas moyen d'intercaler un reverse-proxy. Donc UWiKiCMS intègre un système de cache interne et autonome.
C'est ce qui lui permet de stocker les images en base de données et de conserver des performances acceptables.
Les plus
Pas de différence entre pages et dossiers
Il n'y a aucune différence entre un dossier et une page dans UWiKiCMS. C'est bien simple le modèle de données ne fait pas la différence. Pas de tables distinctes, même pas un flag pour discriminer.
L'intérêt est que si vous avez une page /titi et qu'un jour vous décidez que vous voulez étoffer le sujet vous pouvez créer /titi/tata et /titi/toto sans même changer le contenu de /titi ni rien faire dessus.
Avec des fichiers statiques vous auriez pu avoir /titi.html, /titi/tata.html et /titi/toto.html. Mais que se passe-t'il si quelqu'un voit /titi/tata.html et veut remonter d'un cran dans l'arborescence? Il tape /titi. Mais ça ne marche pas car /titi/index.html n'existe pas. En y réfléchissant un peu on se dit qu'il suffit de mettre un index.html dans chaque dossier. Et au final c'est un peu ce que fait UWiKiCMS: une page == un dossier.
Tout sur une page
La killer feature. Et en même temps très simple. Un utilisateur, moyennant certains privilèges, peut afficher sur une seule page HTML:
- le contenu de la page
- le contenu de toutes les sous-pages de la section
- les images en grande résolution, intégrées directement dedans
L'intérêt de cette fonctionnalité?
Pour imprimer une trace de votre site web, c'est royal. On peut ainsi transformer du contenu volatil "en ligne" en quelque chose qui ressemble finalement presque à un bouquin.
Mode Wiki
D'un certain point de vue, UWiKiCMS est très proche d'un Wiki. Il utilise d'ailleurs le moteur de rendu d'un Wiki en PHP pour formatter le HTML.
Si on demande une URL qui n'existe pas (avec les droits suffisants...), UWiKiCMS va simplement proposer la création du document. C'est ce qu'on fait lorsqu'on créé la page d'accueil du site.
La différence majeure avec un Wiki classique est qu'UWiKiCMS est structuré de manière arborescente, ce qui limite les possibilités d'exploitation en mode Wiki. Mais cette perte de souplesse, aussi forte soit-elle, me paraît justifiée au regard du certain ordre qui découle d'une structure pyramidale.
Les spécialistes des Wikis hurleraient de savoir que je prétends qu'un système 100% arborescent puisse être comparé à un Wiki, mais réfléchissez-y, vous verrez, ce n'est pas si contradictoire.
Insertion de code PHP
Mais, me direz-vous, ça on peut toujours le faire! Oui mais non, la différence avec UWiKiCMS c'est que ce genre de pratique (rajouter du code PHP sur mesure dans une page) est prévu et encadré, du coup ça permet de contenir l'hémorragie et de préserver un système à peu près propre et homogène.
Gadgets
Diaporama XUL
Dans la série "inutile donc indispensable", UWiKiCMS propose un diaporama en XUL. Rien de très transcendant mais je trouvais ça particulièrement rigolo de jouer avec cette techno 8-)
L'idée est tout simplement de visualiser les photos d'une page avec une interface Mozilla, qui ressemble à une interface client/serveur donc, et pas à du mode web. Le petit avantage (car il y en a un quand même...) c'est qu'on dispose d'un système d'onglets potables, pas comme ce qu'on pourrait bricoler en HTML, et du coup c'est assez confortable. Mais enfin le vrai but était de s'amuser avec XUL. A suivre...
Limitations
Pas de "back-office"
Aucune interface pour permettre à un super utilisateur de manipuler un quelconque référentiel ou une liste d'utilisateurs du système.
Solution de contournement: PhpMyAdmin ou mysql en ligne de commande.
Temps économisé en développement: des jours, des semaines.
Temps passé à rentrer les 4 utilisateurs qui existent sur mon site web: 20 minutes à tout casser.
Y'a pas photo...
Habilitations "en dur"
Le système d'habilitation est codé "100% en dur", aucun espoir de coder une passerelle LDAP rapidement, ni même de changer le comportement par défaut sans mettre les mains dans du gros cambouis tout sale.
Compromis entre temps de développement, temps d'exécution, et évolutivité. J'ai fait le pari que mon besoin n'évoluerait pas et j'ai économisé un temps énorme dans le développement. Mais ce choix a des conséquences. Mais pour l'instant, aucun regret 8-)
Sur-mesure
UWiKiCMS c'est un CMS sur mesure pour mon besoin à moi, de particulier qui croule devant la quantité de contenu qu'il a à mettre en ligne, n'a pas peur de bidouiller mais a besoin d'un truc simple et efficace.
Connaissant un peu la problématique des CMS en entreprise, il n'y a *aucune* chance qu'UWiKiCMS réponde au besoin d'une entreprise, pour peu que celle-ci dispose d'un responsable communication.
C'est comme ça. Que les entreprises se rassurent, 99% des CMS sur le marché sont dans le cas inverse, donc pas de soucis pour elles.
Un système spartiate
UWiKiCMS peut paraître vraiment austère à certains égards.
- Peut-on ajouter de la couleur dans un texte? Non.
- Peut-on joindre des fichiers? Non.
- Peut-on avoir un sous-titre, une description courte? Non.
- Peut-on associer un lien hypertexte à une image? Non.
- Peut-on? Non.
- etc.
Mon point de vue: depuis des siècles on écrit des bouquins avec grosso-modo du texte et des images. Encore aujourd'hui on trouve des bouquins excellents qui sont composés de titres, paragraphes, et d'images avec une légende. Point barre, pas plus pas moins. UWiKiCMS permet de faire tout cela.
Depuis l'avènement de l'informatique, des traitements de texte et du web il semble que les utilisateurs jugent indispensable de pouvoir tout triturer colorer redimensionner dans tous les sens. Je pense que tout ceci n'est que poudre aux yeux et en ce qui me concerne j'ai d'autres chats à fouetter que de faire de la mise en page cosmétique. Comme UWiKiCMS est au départ taillé pour mon besoin, il fait le minimum, et ça me va très bien comme ça.
J'ai parfois même l'impression qu'il en fait déjà trop.