Créé le 12/04/2024
Dernière mise à jour le 07/05/2024
Il y a 2 semaines, du 28 au 30 mars se déroulait le Drupalcamp Roazhon 2024 à Rennes.
L'événement affichait complet avec 250 participants, ce qui est un très bon résultat et un signe positif pour la reprise, je l'espère régulière, des Drupalcamp. Le dernier Drupalcamp français ayant été Paris 2019 et entre-temps une certaine pandémie mondiale est venue perturber la régularité des camps.
Smile était présent avec une dizaine de participants et tant que sponsor “galette complète” (le plus haut niveau de sponsoring au cas où l'originalité des noms des formules de sponsoring de cette édition ne soit pas claire :) ).
Voici un résumé des sessions auxquelles j'ai assisté ou co-présenté, ainsi que les contributions réalisées.
Soyons fou ! Et si Drupal faisait moins de chose au runtime ?
J'ai raté les 10 premières minutes de la présentation car occupé sur des sujets de contribution.
Présentation très technique et bas niveau sur le conteneur. Très intéressante comme à l'accoutumée.
En résumé, en rendant moins dynamique et pré-calculé le conteneur de services d'importants gains de performance, de prédictibilité et une meilleure analyse statique via PHPStan seraient possibles.
Table ronde : C'est quoi une usine à site ?
Première fois que je participe à une table-ronde à un événement. Cela s'est très bien passé.
Merci à Jean Fenouil d'avoir rejoint à l'improviste les participants afin d'équilibrer le nombre de participants “techniques” et de “non-techniques”.
Cela a été un moment de partage de points de vue et non de débat car nous étions tous assez d'accord pour dire qu'il n'existe pas une seule typologie d'usine à site, mais que qu'une usine à site est propre à chaque projet.
L'organisation client/prestataire et le choix des solutions techniques dépendent des points suivants (liste non exhaustive) :
- Combien de sites seront produits ?
- Est-ce qu'il y aura un partage de contenu entre les sites ?
- Quel est le RACI ?
- Est-ce que le prestataire est responsable de la gestion des sites ainsi produits ? En partie ? En totalité ?
- Est-ce qu'il y aura d'autres prestataires impliqués ?
- Est-ce qu'après la phase de construction, l'usine à sites sera-t-elle internalisée par les équipes clients ? Équipes dédiées et formées à Drupal ?
- Quelles seront les différences entre les sites ? Fonctionnalités, charte graphique, équipe d'administration, contenu ?
- Comment déployer un nouveau site ?
Devant la multitude de cas, il est donc impossible de tous les satisfaire avec une seule solution et finalement nous avons plus aborder les questions à se poser dans un projet type “usine à sites”.
D'où également la difficulté de répondre à certaines questions car une usine à site devient très vite spécifique.
Pour les aspects techniques, concernant la problématique de partage de contenu je dirai que le module Entity Share a permis de résoudre beaucoup de situations vu les retours positifs que j'en ai eu, et la mention du module dans des slides et des conversations tout au long du camp !
Je pense que l'aspect technique qui reste le plus épineux reste désormais la gestion de la configuration, dès qu'il va s'agir d'aborder les mises à jour de configuration et les personnalisations possibles d'un site à l'autre.
Les deux Render API, comment apprécier la bonne et éviter la mauvaise
Talk assez technique expliquant les mécanismes de rendu dans Drupal ou comment le service Renderer et ThemeManager sont liés.
Avec une ouverture sur le nouveau système de rendu de composant désormais intégré au noyau Drupal. Une simplification des mécanismes de rendu permettrait des gains de performance et surtout un apprentissage plus rapide de la render API de Drupal.
Vers une nouvelle render API dans Drupal ?
Avec FrankenPHP, PHP revient d'entre les morts
Le moment de voir ce qui se fait ailleurs en dehors de Drupal.
FrankenPHP ou comment faire bénéficier à PHP des avancées de Go au niveau exécution en transformant l'application entière (Drupal + PHP + serveur web) en binaire exécutable pour des gains de performance et de la facilité de déploiement.
Cependant, cela amène également un lot de contraintes et pour l'instant Drupal n'est pas prêt à satisfaire ces contraintes.
Plusieurs contributeurs ont donc contribué après la session à tester Drupal avec FrankenPHP pour voir ce qu'il y a à améliorer. Plus d'infos dans les issues suivantes :
- https://www.drupal.org/project/drupal/issues/3437187
- https://www.drupal.org/project/drupal/issues/2218651
La revue de code pour toutes et tous
J'ai pu co-présenté avec Lydie Fromont le sujet de la revue de code afin de sensibiliser à ses intérêts, aux bénéfices obtenus en termes de qualité au niveau du code et au niveau des connaissances des équipes.
Plus de détails dans les supports de présentation :
Crop & Media : l'étape d'après
La présentation part du constat que l'écosystème de crop dans Drupal est surtout pensé pour agir au niveau d'une image gérée directement par un champ média. Autrement dit, non réutilisable nativement.
Sauf que depuis Drupal 8.4 (octobre 2017), la fonctionnalité de média est directement dans le noyau, avec donc la possibilité de réutiliser les images déjà présentes.
Cela pose donc la problématique de comment permettre d'avoir un crop en fonction de l'utilisation de l'image et non plus en fonction de l'image pour avoir des crop différents selon l'usage car la démultiplication du nombre d'images styles ne sera pas la solution.
C'est donc l'objet de l'écosystème Media Contextual Crop API d'essayer de résoudre cette problématique.
Dans ma carrière, je n'ai jusqu'à présent pas été sur des projets nécessitant un tel degré de finesse dans la gestion des médias et des crops, et n'ai donc pas encore rencontré cette problématique. Mais si elle se pose avoir une suite de modules pour y répondre sera très pratique.
Association Drupal France et francophonie, questions & réponses
L'association ayant fait son AGO le mardi juste avant le camp, une session de présentation de l'association, du nouveau bureau et des chantiers en cours tombait à pic pour redynamiser ces derniers.
Au niveau événementiel, je trouve très bien, le fait de vouloir alterner des années avec un camp et des années avec un splash awards plus orienté business et mise en valeur des réalisations Drupal. Pour que chaque profil ait un intérêt dans les événements tout en évitant/réduisant une pression aux organisateurs de camp une fréquence annuelle.
Contribution
Dans la semaine avant le camp, j'ai rendu le plugin Psalm pour Drupal compatible avec Psalm 5, cela a permis de se passer de dépendances marquées comme plus maintenues.
Durant le camp, j'ai mis en ligne Sobki, le nouveau profil d'installation de Smile, disponible sur les URLs suivantes :
- Sobki : le point d'entrée fournissant la documentation commune aux différentes variations de Sobki.
- Sobki Admin Theme : le thème d'administration commun aux différentes variations.
- Sobki Bootstrap : Sobki basé sur le design system Bootstrap 5.
- Sobki DSFR : Sobki basé sur le design système de l'état français. En tout début de développement au moment du camp.
Durant la semaine, avant et pendant le camp, j'ai contribué à l'écosystème UI Suite sur les issues suivantes :
- https://www.drupal.org/project/ui_suite_bootstrap/issues/3426475
- https://www.drupal.org/project/ui_suite_bootstrap/issues/3423235
- https://www.drupal.org/project/ui_suite_bootstrap/issues/3427151
- https://www.drupal.org/project/ui_suite_bootstrap/issues/3437118
- https://www.drupal.org/project/ui_suite_bootstrap/issues/3426391
- https://www.drupal.org/project/ui_patterns_settings/issues/3437139
J'ai également pu faire un peu de mentoring et participer à des discussions sur :
- Entity Share
- UI Icons : le kickoff de ce nouveau sujet UI Suite.
- le renouveau du module Statistics : maintenant que le module est sorti du noyau, j'ai fait un retour sur les besoins de statistiques déjà rencontrés sur des projets.
Conclusion
La DrupalCon de Lille 5 mois auparavant avait déjà permis de revoir beaucoup de personnes de la communauté Drupal francophone, mais ce n'était pas comme avoir un camp dédié à une plus petite échelle qui convient très bien. Cela donne un très bon sentiment de communauté et rien qu'à cette échelle, on a à peine le temps de croiser certains participants.
Je remercie Vincent de m'avoir mentionné lors de sa promotion de Sobki sur scène. Un grand coup de projecteur sur UI Suite cette année !
Merci aux organisateurs, aux bénévoles (bien visibles avec les chemises roses :)), aux sponsors, aux participants et à Smile de m'y avoir envoyé.
Vidéos : https://www.youtube.com/playlist?list=PLfn228hCw1tGd0GdbIcz0hSjWrfZnd56q
Photos : https://www.flickr.com/photos/196542885@N02/albums/72177720315791559/
Commentaires
Thank you for the write up!…
Thank you for the write up! Even with the automatic Google translation it was easy to read :)
Ajouter un commentaire