La Gestion de Contenu Simplifiée
Le Geekmoot 2015 en résumé
Le Geekmoot (littéralement « assemblée des geeks ») était l'événement CMS Made Simple de l'année, avec 3 journées de conférences (du 20 au 22 mars 2015) entièrement dédiées à notre CMS préféré. Retour sur ces 3 jours en Belgique où l'équipe francophone était présente.
Pour cette édition 2015, trois membres de la communauté francophone étaient sur place : Eric Pesser (heriquet), Kevin Danezis (bess) et Mathieu Muths (airelibre).
Arrivés la veille (jeudi soir), nous avons pu rencontrer les premiers participants et conférenciers présents déjà sur place. Ce fut l'occasion d'entamer les premières discussions déjà passionnées.
Le lieu du salon a été savamment choisi par Manuel qui est l'organisateur de cette édition 2015. Nous avons pu bénéficier d'un cadre hors norme à savoir un ancien monastère au coeur même de la très jolie ville de Gand (Ghent) en Belgique.
Jour 1 – vendredi 20 mars
9h30 > 10h15 : keynote de Robert Campbell
Les conférences débutèrent le vendredi matin à 9h30 par la traditionnelle Keynote de Robert Campbell (Calguy1000). Après un historique du projet et une présentation de l'équipe de développement, une présentation rapide de CMS Made Simple 2.0 a été faite.
Nous vous préparerons un article plus détaillé sur les nombreuses nouveautés de cette version majeure. Voici cependant un résumé :
- Nouveau module de gestion de pages/contenus (CMSContentManager)
- Nouveau module Navigator (venant remplacer MenuManager) plus simple à styliser
- Nouveau DesignManager venant remplacer le lot de modules dédiés à l'apparence (feuilles de styles, gabarits, bloc de contenus globaux...)
- Nouveau ModuleManager fusionnant les anciens « Gestionnaire de modules » et « Modules »
- Nouvel installateur avec paquet PHAR
- Recherche dans l'administration, mise à jour de l'API de module, système plus rapide... et bien plus !
Nous retiendrons également de cette présentation l'importance de transférer le fichier de l'installateur PHAR en binaire si ce transfert est fait par FTP. En effet, si le mode de transfert est mal configuré (en ASCII) vous vous retrouverez avec un fichier corrompu. Vous pouvez également télécharger le fichier PHAR via SSH pour éviter tout problème.
10h30 > 11h15 : présentation du framework ORM par Kevin Danezis
Kevin (Bess) nous a présenté son projet d'ORM pour CMS Made Simple. Cet outil ajoute une couche (le modèle) entre le contrôleur (fichier d'actions des modules) et la base de données MySQL pour faciliter les échanges entre ces deux parties lorsqu'on développe un module et ainsi respecter les modèles de programmation dites MVC.
Pour en savoir plus sur ce projet, nous vous invitons à consulter la page GitHub de ORM pour CMS Made Simple.
11h30 > 12h15 : découverte du module Whoman2 Made Simple par Eric Pesser
Depuis 4 ans, Eric (heriquet) développe un module de gestion d'annonces immobilières utilisant le logiciel Whoman2, un logiciel de gestion pour les agences et promoteurs. Par l'intermédiaire de webservices, le module pour CMSMS se connecte aux bases de données du logiciel mère pour en extraire toutes les informations à afficher aux visiteurs des sites.
Ce module est également une bonne démonstration des possibilités du nouveau module ORM qu'il utilise.
13h30 > 14h15 : NeoBackup et AjaxMadeSimple par Morten Poulsen
Morten (silmarillion) nous a présenté deux modules. Tout d'abord NeoBackup (http://dev.cmsmadesimple.org/projects/neobackup), qui est un outil de sauvegarde d'installations complètes ou partielles de sites sous CMS Made Simple. Ce module vous permet entre autres :
- le choix des dossiers à sauvegarder
- la fréquence de sauvegarde
- la création de profils de sauvegarde avec leurs plannings respectifs
Ce module est utile pour tous ceux ne disposant pas d'un système de sauvegarde proposé par leur hébergeur.
AjaxMadeSimple est un module d'aide pour les développeurs. Il offre un certain nombre d'outils facilitant les requêtes en Ajax au sein du site/des modules.
14h30 > 15h15 : Intégration de gabarits HTML5 dans CMS Made Simple par Jeff Bosch
Jeff Bosch (ajprog) nous a présenté comment simplement intégrer un gabarit de site statique (HTML / CSS / JS) dans le système de design du CMS.
Avec le nombre grandissant de gabarits HTML5 / Bootstrap / etc.. disponibles (gratuitement ou non) sur le web, ce type de pratique est de plus en plus utilisé pour monter rapidement un site.
15h30 > 16h15 : Truc et astuces pour Smarty par Fernando Morgado
Fernando (JoMorg) nous a donné de nombreux conseils pour optimiser le code Smarty lors de l'écriture de gabarits : la meilleure syntaxe pour assigner correctement une variable, les fonctions, les balises à utiliser avec parcimonie, l'héritage de gabarits, etc.
Nous reviendrons plus en détails sur ces trucs et astuces lors d'un nouvel article car il y a certaines erreurs que nous faisons probablement tous !
Jour 2 – samedi 21 mars
10h00 > 10h45 : construction d'une administration de module au sein du site avec FrontEndUsers (FEU) par Eric Pesser
Eric nous a présenté deux exemples de sites utilisant des administrations côté visiteur (front-end) avec l'aide du module FrontEndUsers qui gère les comptes utilisateurs et leur authentification.
Si ce type d'intégration est relativement simple avec des modules existants, Eric est allé plus loin en nous présentant ses solutions pour l'intégration de FEU au sein d'un ou plusieurs module sur mesure.
11h00 > 12h00 : développement de modules pour CMS Made Simple 2.0 par Robert Campbell
Robert nous a détaillé les changements opérés au sein de l'API de module pour cette nouvelle version :
- un certain nombre de méthodes supprimées car inutilisées ou parfois incompatibles, par exemple MaximumCMSVersion()
- des méthodes dépréciées, en particulier tout ce qui a trait à la création de formulaires et de champs (ex : CreateInputHidden()..). Cette responsabilité a été logiquement transférée à la vue (gabarits) par l'intermédiaire de nouveaux plugins, ce qui offre de nombreux avantages :
- plus rapide à développement : on ne gère les champs que dans les gabarits
- en admin, les interfaces sont plus simples à personnaliser avec la technique du dossier « module_custom »
- côté site, on peut facilement créer des formulaires de filtre ou appels Ajax grâce aux plugins form_start ou cms_action_url
- code plus compréhensible
- de nouvelles méthodes :
- gestion de « capacité » pour les modules – au lieu d'avoir des méthodes sur mesure pour indiquer si un modèle gère la recherche, les taxes, etc. , un module pourra désormais implémenter la méthode « HasCapability ». La recherche de modules ayant telle ou telle capacité sera du coup plus simple.
- gestion de plusieurs entrées de menu dans l'admin pour un module. Ceci est une évolution importante car permet de développer de « gros » modules sans pour autant les limiter à une seule entrée dans le menu de l'administration
Toutes les informations sur les mises à jour de l'API sont disponibles dans la nouvelle documentation de l'API de modules CMS Made Simple.
13h30 > 13h50 : présentation du centre de traduction par René Helminsen
Responsable des projets de traductions, René (reneh) nous a présenté le système de traduction pour le coeur et les modules :
- Comment créer son compte
- Comment ajouter un module de la forge au translation center
- Comment éditer les traductions
Bien que moins visible, ce projet est néanmoins très important pour la diffusion du CMS à l'étranger. Actuellement, CMS Made Simple est traduit en 45 langues ! Le français est d'ailleurs la première langue téléchargée après l'anglais inclus de base.
13h55 > 14h15 : la gestion de projet dans le domaine du web par Anne-Mieke Bovelett
Au départ, Anne-Mieke (Compufairy) devait nous présenter l'installation du CMS via la console, mais cette présentation a finalement été intégrée dans la présentation de Jeff Bosch sur la configuration d'un VPS (le dimanche).
Aussi, Anne-Mieke nous a plutôt présentée sa manière de gérer ses projets web, insistant particulièrement sur les échanges avec le client et l'importance d'être clair dès le départ sur les délais, les livrables, etc..
Ce fut l'occasion d'ouvrir un forum entre les participants sur leurs propres manières d'aborder les difficultés que tout webdesigner / développeur peut rencontrer dans son activité.
14h30 > 15h15 : la gestion du contenu dans CMS Made Simple par Fernando Morgado
Fernando (JoMorg) nous a détaillé les outils à notre disposition pour une bonne gestion du contenu, reprenant les basiques (le contenu des pages, les blocs de contenu globaux qui disparaissent dans la V2.0) jusqu'aux type plus avancés.
Il est également revenu sur les outils à utiliser pour déboguer son code : outils de logs embarqués dans CMS Made Simple, print_r, etc.
15h30 > 16h15 : questions-réponses entre l'équipe de développement et les participants
Pendant près d'une heure, les participants ont pu publiquement poser leurs questions aux membres de l'équipe sur divers sujets : techniques, leurs méthodes de gestion de sauvegardes, etc.
Jour 3 – dimanche 22 mars
9h30 > 10h15 : optimisation d'un VPS pour CMS Made Simple par Jeff Bosch
Jeff (ajprog) nous a présenté un guide de configuration d'un VPS sous Linux afin que celui-ci soit optimisé pour CMSMS. On retiendra en particulier l'importance d'avoir une version de PHP à jour, tout comme la nécessité de sécuriser sa machine selon ses besoins.
Cette présentation a également été l'occasion de démontrer qu'une installation complète de CMS Made Simple, incluant la création des bases de données et le téléchargement de l'archive, ne prend que 3 minutes via une console SSH !
10h30 > 11h15 : création d'un site multilingue par Manuel Schroyens
L'organisateur du Geekmoot, Manuel (du même pseudo), nous a présenté plusieurs techniques de création d'un site multilingue. Si le module MleCMS a été évoqué, Manuel s'est davantage attardé sur des techniques sur-mesure via quelques balises utilisateurs et blocs de contenus globaux.
Cette solution offre l'avantage d'offrir une réponse à la problématique d'arborescences différentes d'une langue à l'autre, par la définition des alias équivalents d'une page à l'autre.
11h30 > 12h15 : présentation du projet de nouvelle forge par Kevin Danezis
En charge du développement d'une nouvelle version de la forge, Kevin (bess) nous en a présenté les concepts et la base technique. Nous vous rappelons que la forge est le site qui héberge tous les projets liés à CMS Made Simple et vous permet de les télécharger : le CMS en lui-même, les modules et plugins, les traductions etc.. (http://dev.cmsmadesimple.org).
La nouvelle forge sera réalisée avec CMS Made Simple 2.0. Ceci change de la version actuelle développée avec Ruby on Rails dont la maintenance est difficile.
Ce nouveau site s'appuiera sur des échanges de données via des services REST. Cet évolution permettra à terme à tout système de communiquer avec la forge afin de mettre à jour des projets à distance, récupérer une liste de modules répondant à une recherche, etc.
Bien que le développement soit plutôt avancé, il faut encore compter quelques mois avant sa mise en production. D'ici-là, la forge actuelle continuera de vous servir.
12h30 : Photo !
Une photo de tous les participants a été faite - On vous la publie dès qu'elle est prête !
14h00 > 15h30 : tour d'horizon de CMS Made Simple 2.0 par Robert Campbell
Après un survol rapide de cette nouvelle version lors de la conférence d'ouverture, Robert (calguy1000) nous en a cette fois-ci présenté en détails les nouveautés : installateur, gestionnaire de design, de contenus, navigation, recherche, etc. Nous reviendrons en détails sur les nouveautés lors de la sortie qui devrait être avant juin 2015.
A noter qu'aucun nom n'a pour l'instant été attribué à cette version, mais il est probable qu'une nouvelle convention de nommage soit adoptée. En effet, jusqu'à présent les versions de la série 1.x portent toutes des noms d'îles. Il a été donné plusieurs piste, notamment le nom de bières belges mais rien n'est pour l'instant décidé !
15h00 > ... Forum libre
Comme à chaque édition, le Geekmoot se finit par un forum libre où chacun peut lancer un sujet autour du CMS et faire débattre les participants.
Les after
Au-delà du programme officiel, le Geekmoot est toujours l'occasion d'échanger avec les autres utilisateurs / développeurs sur nos propres modules, les évolutions souhaitées, etc.
Certaines idées de projets / modules ont ainsi pu émerger et nul doute que ces rencontres ont motivé tout le monde pour la suite de l'aventure.
LE cadeau
Juste pour vous donner envie de venir la prochaine fois, nous avons chacun reçu une édition unique ""Geekmoot 2015"" du mug CMS Made Simple :)
Au final
Nous espérons que ce résumé vous aura donné envie de découvrir la nouvelle version qui s'annonce réellement majeure, mais aussi de continuer à travailler avec CMS Made Simple.
En ce qui nous concerne (l'équipe francophone), nous avons passé un très agréable séjour auprès de cette grande famille de geeks. Vivement la prochaine édition, où nous espérons vous voir !