Créé le 10/10/2022
Dernière mise à jour le 10/10/2022
Il y a 3 semaines, du 20 au 23 septembre 2022 se déroulait la DrupalCon Europe 2022 à Prague.
Première DrupalCon en Europe en présentiel depuis celle d'Amsterdam en 2019. Cela a été l'occasion de retrouver la communauté Drupal, même si cette année il y a aussi eu les Drupal Dev Days à Ghent en Belgique où j'ai été speaker !
Nouveauté cette année, le format hybride permettant à des personnes de suivre en direct les sessions à distance, à moindre frais. À Prague ce fût donc près de 1200 personnes sur place et 100 en ligne qui ont participé à l'événement.
Les enregistrements des sessions seront disponibles publiquement à partir du mercredi 26 octobre.
Voici un résumé de mon vécu à cet événement jour après jour.
Jour 1
Contribution
Matinée dédiée à la contribution. Je vais ici décrire l'ensemble de ma contribution qui s'est étalée tout au long de l'événement.
UI Suite :
- UI Patterns :
- migration de UI Patterns de Github à Drupal.org : retrait du code de toutes les spécificités liées à Github
- correction des tests afin qu'ils passent sur Drupal.org
- résolution de problèmes dans ma stack m'empêchant d'exécuter les tests FunctionalJavascript
- résolution d'un problème de compatibilité avec la dernière version du module Field Group (plus tard, je me suis rendu compte qu'un fix avait déjà été proposé sur Github, mais il était noyé dans les PR accumulées depuis des années et je n'avais pas eu le réflexe de vérifier si quelqu'un avait déjà proposé un fix ce qui m'aurait économisé quelques heures)
- création de la version 8.x-1.3 de UI Patterns qui apporte compatibilité avec PHP 8.1 et Drupal 10
- récupération d'issues et PR de Github sur Drupal.org
- avancée sur le packaging du profil d'installation UI Suite Bootstrap Demo
Liste des modules sur lesquels j'ai fait de l'entretien et ait rendu compatible Drupal 10 :
- UI Styles
- UI Examples
- Qwantsearch : nouvelle version
- Syslog Watcher : nouvelle version
- File Extractor : cependant depuis quelques temps les tests ne passent plus sur Drupal.org dû à des pré-requis assez importants pour les tests de ce module, suite à une discussion sur place avec Neil Drumm, il m'a conseillé de passer à Gitlab CI car les efforts sur la DrupalCI sont réduits, donc inutile de passer du temps sur l'ancien système. J'expérimenterai à l'occasion Gitlab CI sur Drupal.org.
- Select Icons
- Internationalization Single Sign-On
- Video Embed Damdy : nouvelle version
- Video Embed Bliverr : nouvelle version
- UI Suite Protocol
- Entity Visibility Preview : nouvelle version
Module où j'ai pu faire un peu d'entretien :
Opening Ceremony
Accueil des participants et mise dans l'ambiance pour les personnes participant pour la première fois à une DrupalCon.
Exposition du parcours de la mascotte de l'événement aux différents événements européens sur l'année écoulée.
Keynote: Drupal Core Initiative Leads
Présentation des initiatives en cours sur le noyau Drupal.
- CKEditor 5
- Grand travail pour l'intégration, collaboration étroite avec CKSource.
- Chemin de migration des données.
- Project browser
- Permettre de parcourir l'écosystème de module Drupal depuis le backoffice.
- Project Update Bot
- De meilleurs outils pour faciliter les mises à jour de compatibilité des projets sur Drupal.org.
- Gitlab Drupal.org
- Poursuite de la migration vers Gitlab du workflow de contribution.
- Le système d'issue sera à terme migré sur Gitlab, donc il n'y aura plus de patch possible, en tout cas le fait d'uploader un patch ne déclenchera plus rien.
- Utilisation de Gitlab CI, ce qui permettra une complète liberté sur la CI.
- Ces changements permettront de réduire les customisations de Drupal.org, facilité la contribution en fournissant des outils standard du marché aux contributeurs et ainsi facilité la maintenance de Drupal.org.
- Localize.drupal.org
- Migration du serveur de traduction sur Drupal 9.
- Distributions and recipes
- Nouveau système pour remplacer les distributions, cela permet :
- d'être utilisé sur un site existant
- facilité les mises à jour
- de fournir du contenu par défaut par exemple
- https://www.drupal.org/project/distributions_recipes
- Nouveau système pour remplacer les distributions, cela permet :
- Automatic updates
- Avancée des pré-requis pour permettre des mises à jour automatiques.
Components everywhere! From Component Library module to Fully Decoupled Layout Builder with Instant Preview
Les problèmes techniques en début de session, 20 minutes de perdues, n'ont pas aidé mais sur le fond, j'ai trouvé que la solution présentée était une usine à gaz.
Les modules abordés en plus que j'ai noté :
CKEditor 5 in Drupal 10: what is there to be excited about?
Présenté par le président de CKSource, donc très impliqué dans le produit et dans la collaboration avec la communauté Drupal pour permettre à CKEditor de rester le RTE du noyau.
CKEditor 5 est une réécriture complète par rapport à CKEditor 4. Réécriture qui s'opère depuis plusieurs années.
Quelques fonctionnalités de CKEditor 5 qui ont été présentées :
- le support de la syntaxe Markdown
- transformations automatique, par exemple un symbole copyright (pas dans Drupal)
- réintroduction du bouton source
- décompte du nombre de mots
- les mentions de personne
- les todo list
- le chercher/remplacer
- export PDF
- export docx
- la collaboration
- système de commentaires
- système de suggestions
- historique des modifications
Les fonctionnalités premium peuvent être intégrées via le module CKEditor 5 Premium Features.
Ensuite il a été présenté le fonctionnement technique de CKEditor 5 avec un point important sur l'aspect qu'un widget CKEditor déclare explicitement le markup sur lequel il peut agir et les types de balises et attributs HTML générés via un système de schéma.
Practical SEO optimizations for faceted searches
Enchaînement d'astuces sur le SEO et la recherche.
Liste de modules à utiliser selon les situations :
Pour différents éléments du site, voici les recommandations :
- fil d'ariane : surchargé le "ajaxfacet controller" et faire un fil d'ariane custom
- metatags : faire des hook custom ou utiliser Metatag Views
- sitemap (XML) : appliquer un patch pour que les facettes soient gérées et mettre du nofollow
- robots.txt : retirer les listes de recherche
Jour 2
Driesnote
La traditionnelle keynote du fondateur de Drupal.
Je mettrai ici quelques phrases et idées clés (attention il faut voir la keynote pour avoir le contextes des citations sinon cela peut faire contre-sens) :
- "I like to own my own data"
- "Somebody might not like a detail, so there can be no details."
- "Control of code" (apporté par Drupal)
- "Creativity limit" : des solutions propriétaires
- "Good software cares about end users"
Puis il a fait un état des lieux sur les sujets "qu'est-ce qui ralentit la contribution ?" et "comment faire pour que Drupal soit plus utiliser ?".
Le passage à Gitlab CI et aux Gitlab issues facilitera l'arrivée de nouveaux contributeurs accoutumés à ces outils.
Et il compte beaucoup sur les initiatives de "Project browser" et mises à jour automatiques pour facilité l'usage de Drupal.
Drupal 10 en quelques chiffres niveau contribution :
- plus de 1500 personnes
- plus de 500 organisations
Cependant malgré que la keynote ait été très motivante, Drupal 10 reste pour l'instant surtout une mise à jour technique (Symfony 6, changement de thèmes de base, version PHP minimum).
Certes CKEditor 5 va permettre de bien revoir son intégration avec Drupal, mais des fonctionnalités comme le project browser ne vont pas changer le quotidien des professionnels.
Après est-ce si mal qu'il n'y ait pas d'annonce de fonctionnalités phares comme l'introduction de Layout Builder ou des workflows dans le noyau ? Drupal passe par une phase de stabilisation et de séparation des fonctionnalités qui ne sont plus utilisées pour se concentrer sur l'essentiel et ainsi mieux continuer son cycle de vie.
Drupal performances from real production projects
Pas pu assister car la salle était pleine à craquer et qu'il fallait arriver bien 10 ou 15 avant pour avoir une place.
J'ai néanmoins vu les slides a posteriori.
Sujet traité de manière très complète et intéressante.
Je reste sceptique sur la nécessité d'optimisation du conteneur d'injection de dépendance, mais il y a d'autres points comme l'extension Igbinary ou la serialization via Redis que je compte tester dans mon skeleton Drupal.
Getting Ready for Drupal 10 (sponsored by Acquia)
Occupé à coder et finalement pas assister à la présentation.
Et je suppose que ce qui a été présenté était des outils comme PHPStan et Rector que j'intègre déjà à ma stack de développement.
All the cool things you can do when you don’t support IE11 (and how we can use these in Drupal core)
En Drupal 10, plus de support pour IE.
Liste de quelques points abordés :
- propriété CSS "all: revert"
- CSS logical properties (RTL) "padding-inline-start" et non plus padding gauche ou droite.
- CSS Grid
- Focus selectors
- le Not
- le Is / Where et le fait que Where ne rajoute pas de la spécificité
- CSS image mask : mieux pour l'accessibilité
- CSS variables : scoping
- Les variables CSS injectées via JavaScript
Drupal Recipes: From #Driesnote to Initiative
Concept encore très expérimental.
Le constat est que créer et maintenir des distributions est difficile.
Une distribution décide de la configuration, du thème, etc. Et cela oblige à faire des choix dès l'installation d'un site.
Il a ensuite été présenté des exemples de recipe, leur structure avec notamment l'utilisation des attributs PHP.
L'état de l'initiative étant encore très expérimental et les exemples très simples et donc assez peu utiles, il est difficile de se projeter pour savoir si cela va réellement prendre et révolutionner la manière de packager des fonctionnalités en vue de réutilisation.
Jour 3
Reimagining text editing in Drupal Core: CKEditor 5
Encore une présentation sur CKEditor 5, cette fois-ci du point de vue d'un Drupal core mainteneur.
Avec la fin de vie de CKEditor 4, il y a eu des évaluations d'autres RTE pour Drupal, finalement vu l'affinité développer au cours des années entre Drupal et CKEditor, il a été décidé de poursuivre avec CKEditor.
Les objectifs de la mise à jour :
- aucune perte de donnée en fournissant un chemin de migration
- nécessité de reconstruire entièrement l'intégration avec Drupal
De même que dans la précédente présentation, il a été montré la liste des issues faites pour arriver au résultat actuel.
Nouveautés (peut être redite par rapport à l'autre présentation) :
- besoin de déclarer la liste des tags HTML autorisés
- pas de support de IE11 dans CKEditor 5
- l'inspecteur CKEditor 5 pour débugger
- création d'un starter template dans le noyau pour faciliter la création de plugin
Page de documentation avec l'état de la migration des modules communautaires où j'ai ajouté Font Awesome Icons durant la session.
Core Web Vitals: Improving the End User Experience of Drupal (sponsored by Tag1 Consulting)
Présentation en plein milieu des exposants, donc possibilité d'y assister que debout ou sur des tabourets, pas très pratique pour la prise de notes.
Présentation d'outils Google et d'issues du noyau sur les performances, que ce soit PHP, cache, Image pour profiter des dernières specs HTML.
The Form API Workflow
Fidèle au titre de la session, cela a été une présentation de la quasi intégralité du fonctionnement de la Form API de Drupal.
Intéressant, mais assez indigeste comme ça. À voir ou revoir en prenant son temps.
Astuce que je ne connaissais pas : il existe une clé "#limit_validation_errors" pour permettre d'éviter de valider certains éléments lorsque le formulaire est reconstruit via ajax ou autre et qu'il ne s'agit pas d'une soumission finale par exemple.
Low-Code Theming experience with UI Suite
Déjà vu aux Drupal Dev Days 2022, mais j'ai assisté à la session en tant que membre de "l'initiative" et pour s'assurer que la nouvelle release du module UI Patterns puisse avoir lieu en live :)
Wrap up Ceremony
Après un récapitulatif de l'événement et un long teasing, nous avons eu droit aux annonces suivantes :
- prochains Drupal Dev Days à Vienne en juillet 2023 !
- prochaine DrupalCon Europe à Lille du 17 au 20 octobre 2023 !
Pour la promotion de la prochaine DrupalCon, la nouvelle mascotte sera désormais un coq !
Jour 4
Jour dédié à la contribution.
Conclusion
Un événement assez productif en terme de contribution, pas nécessairement sur des sujets complexes, mais un bon volume de petits sujets traités et surtout un pas de géant pour UI Patterns.
Encore et toujours un plaisir de retrouver la communauté Drupal et d'échanger.
Merci aux organisateurs, aux sponsors, aux participants et à Smile pour m'y avoir envoyé.
Photos : https://www.flickr.com/groups/drupalconprague2022/
Vidéos : https://www.youtube.com/playlist?list=PLpeDXSh4nHjRK_6I7HVLCw8k_ZTopYv5i
Ajouter un commentaire