Auteurs : André Kraus
Traduit par : Léo - W-Seils
Rapport semestriel de l'équipe TYPO3 Content Types : Le premier semestre 2025 a été une période dynamique et productive pour l'équipe Content Types. Nous avons rencontré la communauté TYPO3 lors de plusieurs camps, notamment TYPO3 Camp Central Germany, Switzerland et Vienna, où nous avons recueilli de précieux commentaires et renforcé notre engagement.
Parallèlement à ces points de contact avec la communauté, nous avons continué à apporter des améliorations et de nouvelles fonctionnalités aux blocs de contenu. Ensemble, ces efforts montrent comment la collaboration communautaire et le développement continu font avancer le projet.
Le TYPO3 Camp Central Germany à Iéna a vraiment été un moment fort du premier trimestre 2025 ! Cela ressemblait à une réunion entre amis, la chaleur et l'enthousiasme de la communauté rendant chaque instant spécial. L'atmosphère était électrique, avec des discussions passionnées sur TYPO3 et les blocs de contenu.
Ce qui nous a vraiment surpris, c'est le niveau de familiarité des participants avec les blocs de contenu. Nous avons été agréablement surpris de constater qu'aucune session d'introduction n'était nécessaire ! Cela nous a permis de nous recentrer et d'offrir quelque chose de plus précieux : une session approfondie regorgeant de bonnes pratiques, de recommandations, de conseils pratiques et de fonctionnalités avancées qui vont au-delà de la simple création d'éléments de contenu.
L'engagement a été fantastique et les commentaires que nous avons reçus ont été à la fois incroyablement positifs et constructifs. Ce sont des moments comme ceux-ci qui nous rappellent pourquoi nous aimons faire partie de cette communauté !
Au cours du deuxième trimestre, nous avons participé au TYPO3 Camp Switzerland et au TYPO3 Camp Vienna afin de partager nos progrès et de recueillir les commentaires de la communauté des développeurs. Au TYPO3 Camp Switzerland, nous avons organisé deux sessions couvrant les bases des blocs de contenu pour les débutants et les techniques d'implémentation avancées pour les développeurs expérimentés. Le cadre plus petit et plus intime a permis des discussions détaillées sur des cas d'utilisation spécifiques et les défis liés à l'implémentation.
Au TYPO3 Camp Vienna, qui s'est tenu à l'université de Vienne, nous avons suivi un format similaire avec des sessions pour débutants et des sessions approfondies. Les commentaires directs des développeurs qui utilisent activement les blocs de contenu dans leurs projets nous ont aidés à identifier les points faibles et à hiérarchiser les fonctionnalités sur lesquelles nous devons nous concentrer ensuite. Ces événements nous ont fourni des informations précieuses sur les performances des blocs de contenu dans des scénarios réels et sur ce dont les développeurs ont réellement besoin pour travailler efficacement.
Tout au long du premier trimestre, nous avons travaillé à l'amélioration des blocs de contenu grâce à des mises à jour régulières. L'une des améliorations notables de la version 1.1.7 est la possibilité de ne pas indiquer de valeurs par défaut, qui seront désormais définies par défaut sur null. Ce petit changement offre plus de flexibilité dans la configuration du contenu.
Nos efforts de développement au cours du deuxième trimestre ont abouti à des améliorations significatives dans deux versions majeures, avec l'introduction de fonctionnalités qui répondent aux besoins réels identifiés par notre communauté.
La table sys_file_reference de TYPO3 est particulière, car elle comporte un champ de type qui fait référence à des valeurs provenant d'une autre table. Les blocs de contenu vous permettent désormais de remplacer la section des types de cette table, ce qui permet de définir des configurations de référence de fichiers personnalisées avec des champs et des palettes sur mesure. Cette fonctionnalité ouvre de nouvelles possibilités pour la création de workflows spécialisés de gestion de fichiers, tels que des galeries d'images personnalisées ou des systèmes de gestion de documents avec des exigences spécifiques en matière de métadonnées.
Cette fonctionnalité est l'implémentation dans Content Blocks de la puissante fonctionnalité TCA overrideChildTca, qui vous permet de remplacer tout élément des tables enfants. Le cas d'utilisation le plus intéressant est le remplacement de la chaîne showitem, ce qui est particulièrement utile lorsque vous travaillez avec des tables sys_file_reference qui n'autorisent pas les types personnalisés. Cela offre aux développeurs une flexibilité sans précédent pour personnaliser l'affichage et l'organisation des enregistrements associés dans leurs blocs de contenu.
Content Blocks introduit son propre ViewHelper cb:link.editRecord qui prend en charge les liens d'ancrage de mise en page par défaut. Lorsque vous cliquez sur un lien d'édition personnalisé et que vous fermez l'interface d'édition, vous revenez automatiquement à l'élément de contenu de référence. Cette amélioration mineure mais significative améliore l'expérience de l'éditeur en conservant le contexte pendant les sessions d'édition de contenu, ce qui rend les flux de travail plus fluides et plus efficaces.
Le fichier content-blocks.yaml a été étendu pour prendre en charge des valeurs par défaut arbitraires pour le fichier config.yaml généré à partir de la commande make:content-block. Cette fonctionnalité rationalise le processus de configuration des nouveaux blocs de contenu en permettant aux développeurs de définir des valeurs par défaut à l'échelle du projet pour les configurations courantes telles que les affectations de groupes, les préfixes de champs et les paramètres de base, réduisant ainsi le travail de configuration répétitif.
S'appuyant sur le Custom cb:link.editRecord ViewHelper, cette amélioration permet l'utilisation directe d'objets d'enregistrement dans les liens d'édition, rendant le développement de modèles plus intuitif. L'élément important est l'ajout de l'attribut id suivant le schéma : élément-[type]-[uid], ce qui permet aux éditeurs de modifier plus facilement et rapidement des éléments spécifiques.
Le processeur de données des blocs de contenu est désormais capable de résoudre l'enregistrement de page pour les modèles de page basés sur PAGEVIEW. Cet ajout rationalise l'intégration des blocs de contenu au niveau de la page avec les modèles TypoScript, offrant une approche unifiée pour traiter les données structurées au niveau de la page et du contenu dans votre installation TYPO3.
La commande content-blocks:assets:publish publie vos ressources de blocs de contenu publics dans le dossier Resources/Public de l'extension hôte. Bien que cela se fasse normalement automatiquement lors de la compilation des blocs de contenu, le fait de disposer d'une commande distincte s'avère inestimable dans les scénarios de déploiement où les connexions à la base de données ne sont pas disponibles pendant le processus de construction, comme les déploiements conteneurisés ou les pipelines CI/CD.
Il est désormais possible de définir des types d'enregistrements spécifiques qui doivent être disponibles pour le sélecteur de type des éléments de la collection. Le cas d'utilisation le plus courant est probablement un élément de type accordéon ou onglet, qui ne doit avoir que quelques éléments de contenu autorisés comme enfants. Cette fonctionnalité permet une meilleure gouvernance du contenu en garantissant que les éléments basés sur la collection conservent leur structure et leur objectif initiaux.
Nous sommes reconnaissants des précieux commentaires de notre communauté. Grâce à notre canal Slack actif, nous fournissons une assistance continue et recueillons des informations. Il est fascinant de voir la diversité des questions que nous recevons. Même si elles ne sont pas toutes directement liées aux blocs de contenu, elles nous aident à comprendre le contexte plus large dans lequel travaillent les développeurs.
Nous avons remarqué que de nombreux problèmes signalés proviennent d'une mauvaise compréhension des approches de mise en œuvre. Cette boucle de commentaires a été extrêmement précieuse, car elle nous a aidés à identifier les domaines dans lesquels notre documentation pourrait être plus claire. Plus intéressant encore, certains des commentaires que nous avons reçus au sujet des blocs de contenu nous ont aidés à découvrir et à corriger plusieurs bogues du noyau TYPO3. C'est un exemple parfait de la façon dont la collaboration communautaire renforce l'ensemble de l'écosystème !
Pour le troisième trimestre, nous nous concentrons sur l'amélioration de l'expérience des développeurs avec les blocs de contenu et l'exploration d'intégrations plus approfondies avec l'écosystème TYPO3. Nous travaillons également sur une interface graphique dédiée aux blocs de contenu qui permettra de créer et de gérer les blocs de contenu, rendant ainsi cette technologie accessible aux utilisateurs qui préfèrent travailler avec des outils graphiques plutôt qu'avec des fichiers de configuration YAML. Les commentaires recueillis lors de nos présentations au camp nous ont donné des indications précieuses sur la direction à prendre pour nos prochains efforts, notamment pour rendre les blocs de contenu encore plus accessibles aux développeurs qui passent des approches de développement TYPO3 traditionnelles.
Vous pouvez trouver les blocs de contenu sur GitHub et les installer via Composer avec composer require friendsoftypo3/content-blocks. La documentation fournit des guides complets pour démarrer et explorer les fonctionnalités avancées.
Nous sommes ravis de vous annoncer que vous aurez l'occasion de rencontrer les membres de notre équipe lors de deux prochains camps TYPO3 :
Nous ferons une présentation au TYPO3 Camp Munich avec des sessions sur le développement des blocs de contenu. Achetez vos billets dès aujourd'hui !
Nous serons également présents au TYPO3 Camp Berlin pour partager les dernières nouvelles sur les blocs de contenu et discuter des stratégies de mise en œuvre. Achetez vos billets et rendez-vous sur place !
Merci pour vos précieux commentaires jusqu'à présent ! Continuez à tester et à nous faire part de vos impressions ! Vous pouvez nous joindre sur le canal #cig-structuredcontent sur Slack, ou participer à nos appels les 1er et 3e lundis du mois à 20h00 CET (19h00 UTC).
L'équipe Types de Contenu