Cet article décrit notre démarche dans le choix du CMS Kirby, il n'est en aucun cas un exemple qui s'applique à toutes les situations. Le choix d'un outil est un processus long qui demande de prendre de nombreux aspects en compte (technique, sociétal, humain et environnemental).
La mention CMS (content management system) sera privilégiée à la version française système de gestion de contenu, ce terme étant plus répandu.
Le point de départ : le contexte est les besoins
Avant de choisir un outil, il convient de définir les objectifs de cet outil. Il faut déterminer les besoins auxquels l'outil doit répondre. Il est aussi important de prendre en compte les externalités positives et négatives d'un outil (impacts sociaux, environnementaux, etc.).
Notre besoin principal est de concevoir des sites web écoconçu avec un poids par page limité (de 100 à 250 ko). En plus de cette limite, nos sites doivent être accessibles dans des conditions contraignantes (réseau internet à faible débit, appareils anciens). Nous devons favoriser l'inclusivité. c'est pourquoi l'ergonomie et le design sont des points cruciaux pour nos projets. À cela s'ajoute l'importance de protéger la vie privée et de privilégier des acteurs éthiques (exclusion des GAFAM). Nous avons des services complémentaires pour conseiller, former et configurer des services éthiques. Ce champ d'action est divers et demande déjà des compétences dans des domaines très variés, d'où la taille restreinte de nos projets (sites vitrines).
Nous sommes une petite équipe, nous ne pouvons pas réaliser des projets trop conséquents à moins de s'associer à d'autres prestataires. Nous avons choisi d'avoir un champ d'action limité pour se concentrer sur la qualité. Par conséquent, nous travaillons avec des structures qui ont aussi des engagements éthiques. Ce point n'est pas déterminant pour le choix d'une technique, mais il augmente la cohérence de nos projets avec nos valeurs.
Notre processus est très collaboratif, nous commençons toujours avec une phase de recherche en design qui nous amène à travailler sur l'organisation du contenu et l'arborescence. Après cette étape, nous démarrons le travail sur le style graphique, l'ergonomie et le web design. Une fois cette phase validée, nous démarrons le travail de développement avec un prototype qui sert pour la phase de test. Nous allons voir pourquoi le processus de création de site avec Kirby s'adapte très bien à notre manière de travailler.
Le CMS Kirby
Kirby est un CMS flat-file, le contenu est stocké dans de simples fichiers texte. Il s'oppose aux CMS comme Wordpress ou Drupal qui utilisent une base de données. Ce point technique simplifie le processus d'installation et de maintenance. Pour faire simple, la structure des dossiers du site reflète son arborescence. Cette simplicité rend Kirby plus accessible. Il est rapide pour un développeur externe de s'adapter et de comprendre la structure du CMS.
De plus, il est facile d'étendre la structure et d'ajouter des fonctionnalités. Malgré cette structure, il présente tous les avantages d'un CMS moderne avec la possibilité de structurer son code en fonction des besoins (modèles, API, cache, etc.).
La flexibilité du code se retrouve dans le processus de création du design. Kirby n'impose pas un processus précis pour le design. La gestion du frontend (partie graphique d'un site) ne dépend pas de technologies prédéfinies, elle est complètement agnostique. Nous avons choisi une gestion simple du style en essayant de limiter les surcouches. Il est possible de travailler avec des langages et des bibliothèques variés pour réaliser le design. En sachant que l'administration du site et la partie visuelle peuvent être créés de zéro avec une séparation claire entre design et contenu.
Ce CMS est basé sur les logiciels libres LAMP (Linux, Apache, MySQL, PHP/Perl), même si cette technologie est impopulaire pour de nombreux développeurs (principalement pour une raison de mode), elle est résiliente dans le sens où elle a fait ses preuves sur le long terme. Cette solution technique est la plus répandue, il est donc facile de trouver un hébergement et de la documentation. À noter, que pour une personnalisation très poussée de l'administration (non nécessaire pour une majorité de projets), une connaissance de Vue.js est un plus.
Un système de plugin est disponible et une bibliothèque de plugins permet d'ajouter des fonctionnalités essentielles au site. Le développement de plugins reste accessible comparé à d'autres plateformes.
Enfin, Kirby respecte le RGPD par défaut. Il n'inclut pas de code de suivi et de cookies par défaut. C'est un critère important pour le respect de la vie privée des utilisateurs.
Le CMS Kirby et ses avantages pour l'écoconception (dans notre cas)
Processus
C'est surtout par rapport à son processus de création que Kirby s'adapte à nos pratiques. Le fait de construire l'administration et le visuel de zéro nous permet de s'adapter au mieux aux besoins des utilisateurs. Avec ce processus, nous pouvons diviser notre travail de manière à se focaliser sur les fonctions utiles et l'ergonomie. Contrairement à beaucoup de CMS, Kirby nécessite d'ajouter des fonctions plutôt que d'en retirer.
Par rapport à notre processus, dès la validation de l'arborescence et de l'organisation du contenu, nous pouvons travailler sur l'ergonomie de l'administration pour tester les premières idées. Bien sûr, cette organisation peut évoluer tout au long du projet.
À la fin de l'étape de design, nous pouvons intégrer le style graphique et mettre à jour la partie visuelle du site pour tester un premier prototype en situation réelle. Cette étape permet de tester l'ergonomie et de valider les dernières fonctionnalités en phase de test. Pendant cette dernière étape, nous utilisons nos indicateurs d'écoconception pour respecter le cahier des charges et nos objectifs.
Technologie et résilience
La technologie LAMP est très bien documentée et une majorité de développeurs connaît cette technologie, ce qui est encore un gage de longévité pour un service numérique. Il sera plus simple pour une majorité développeurs de maintenir un site avec cette technologie. Ce qui répond à notre objectif de faire durer les projets sur le long terme. La documentation Kirby est aussi très claire (bien qu'uniquement en anglais).
Kirby de par sa structure facilite la maintenance et limite les risques de sécurité, car l'absence de base de données créée un point de faille en moins. Bien sûr, il est toujours nécessaire de suivre des règles de sécurité strictes et de faire des mises à jour régulières.
Les sauvegardes ainsi que les déploiements de fichiers sont facilités, il s'agit uniquement d'un transfert de fichier.
Usage
L'aspect formation est aussi facilité, les retours sur l'ergonomie de Kirby sont positifs et le fait d'impliquer progressivement les utilisateurs dans la construction de l'administration permet déjà aux utilisateurs de s'habituer à l'édition du site.
Côté développement et design, la structure de Kirby rend le travail agréable, ce qui est un argument non négligeable pour choisir un CMS sur le long terme.
Les points de discussion
Tout n'est pas rose, une technologie peut toujours évoluer négativement, il est nécessaire d'avoir un suivi sérieux de son développement. Un point de controverse et le modèle économique de Kirby. Ce CMS fonctionne avec une licence par site à 99€. Au lancement de Kirby, nous avions évité d'utiliser ce CMS en raison de ce modèle économique, mais nous avions fait une erreur. Ce modèle permet au projet de durer dans le temps et malgré une petite communauté, cette dernière est active et très saine dans le sens où elle est soucieuse de la qualité et de l'éthique. L'activité sur le forum montre un suivi sérieux du projet. Cette petite échelle facilite la proximité et permet de participer et suivre l'avancement du projet.
La galerie des projets signale un souci pour la qualité de la communauté. Des projets complémentaires comme ce template Figma montre qu'il existe un engouement suffisant pour faire vivre le projet. Surtout, le code reste open source et soumis à des audits externes ce qui permet un suivi de qualité du projet.
Rappel : l'écoconception ne dépend pas d'un outil ou d'une pratique fixe, elle demande un état d'esprit qui doit s'adapter à une situation précise qui dépend aussi bien d'aspect humain que technique.
Aller plus loin dans l'écoconception
La génération de sites statiques présente de nombreux avantages pour éliminer tous les calculs liés à la génération de pages dynamiques. Pour le moment, les solutions qui facilitent l'édition de sites statiques ne sont pas encore assez ergonomiques pour nos besoins. Elles peuvent s'adapter à certains projets qui ont une équipe plus formée aux outils numériques.
L'édition de sites statiques dépend de plateformes et services extérieurs qui créent des dépendances. Ces solutions sont moins résilientes que LAMP et sont plus complexes techniquement. Il sera nécessaire de trouver un compromis pour les utiliser sur une plus grande quantité de projets. Rien n'exclut d'avoir Kirby pour la gestion de contenu d'un site statique aussi. Nous sommes toujours en train d'effectuer des recherches sur ce sujet pour trouver une solution plus adaptée.
Pour tous les projets
Il n'existe pas de système qui s'adapte à toutes les situations. Kirby ne sera pas la solution pour tous les projets, mais il répond très bien à nos besoins actuels. Nous limitons nos projets à des sites vitrines avec des fonctionnalités basiques. Cette limite fait que le CMS Kirby est utilisé pour la majorité de nos projets, mais il est possible qu'avec l'évolution de nos recherches d'autres outils soient utilisés ou que nous ajoutions des fonctionnalités à Kirby. Par exemple, l'e-commerce pourrait aussi nécessiter une autre solution, même s'il existe des intégrations de module de paiement sur Kirby. L'important est aussi d'avoir une bonne maitrise de ses outils et nous avons encore beaucoup de possibilités à tester avec Kirby pour améliorer la qualité et aller plus loin dans notre démarche écoresponsable.