Auteur: Michael Schams
Traduit par : Chloé - W-Seils
La version 12.0 de TYPO3 est sortie ! Il s'agit de la première des cinq versions que nous prévoyons de réaliser au cours des six prochains mois, avant la sortie de la version de support à long terme en avril 2023. Je suis heureux de partager aujourd'hui les points forts de la version sprint, qui comprend de nouvelles fonctionnalités pour les utilisateurs backend, les intégrateurs et les développeurs.
Le 18 novembre 2021, Oliver Hader a mis à jour le numéro de version de TYPO3 dans notre dépôt Git officiel à 12.0.0-dev. Ce commit a marqué le début d'une nouvelle série de versions majeures de TYPO3. Beaucoup de choses se sont passées depuis.
Le code de base a reçu plus de 1 600 modifications et le journal des modifications de la version 12.0 de TYPO3 fait état d'environ 100 modifications marquées comme "fonctionnalités" - certaines petites, d’autres plus grandes. Beaucoup d'entre elles ont été réalisées sans être visible et ont posé les bases de futurs changements et mises à jour. La nouvelle version principale de TYPO3 a également une nouvelle configuration minimale requise. Ce qui ouvre la voie aux améliorations les plus modernes prévues pour les prochaines versions du sprint.
Examinons les principaux changements et les nouvelles fonctionnalités de la version 12.0 de TYPO3. Si nécessaire, vous pouvez consulter le changelog technique détaillé pour obtenir des informations plus approfondies.
L'article "Préparez-vous pour TYPO3 v12" donne un aperçu général de nos objectifs pour la série de versions TYPO3 v12. Tout d'abord, nous souhaitons améliorer la productivité de manière significative. Veuillez noter que les objectifs suivants sont provisoires et susceptibles d'être modifiés, en fonction de ce que nous pouvons réaliser en tant que communauté.
Nous apporterons des améliorations visuelles et ergonomique au backend de TYPO3 pour permettre aux utilisateurs de gérer le contenu de leur site web en moins de clics. Les développeurs travailleront plus efficacement car nous prévoyons, par exemple, de simplifier les méthodes d'enregistrement des modules backend. L'augmentation des performances du système en exploitant davantage de couches de système sous-jacentes est également à l'ordre du jour. Des fonctionnalités PHP et de base de données plus spécialisées ne sont que deux aspects que vous trouverez dans le TYPO3 Core.
Nous prévoyons également de créer de nouvelles façons de communiquer pour permettre à TYPO3 d’échanger avec des systèmes tiers. Les Webhooks (nous envisageons toujours un autre nom pour cette fonctionnalité) enverront des requêtes si quelque chose a changé dans le site web ou l'application TYPO3. Les réactions fonctionneront dans l'autre sens. D'autres systèmes seront capables de notifier TYPO3 à travers une API REST (REpresentational State Transfer).
Bien que tout cela soit excitant, nous n'en sommes pas encore là. Aujourd'hui, nous avons publié la version 12.0 de TYPO3, la première version de la série v12. Vous devez prêter une attention particulière à la configuration minimale requise car elle a changé par rapport aux versions précédentes de TYPO3.
Les versions dites " dot-zero " nous permettent toujours d'introduire de nouvelles bibliothèques, de nouveaux concepts modernes et des technologies de pointe. Par exemple, la version 12.0 de TYPO3 nous a permis de mettre à jour des packages tiers en suivant notre politique de dépréciation. Notre objectif, en général, est d'utiliser les packages en date du jour qui bénéficient d'un support à long terme.
Les composants de Symfony version 6 fonctionnent désormais au cœur de TYPO3 v12. La promesse de rétrocompatibilité de Symfony garantit que nous n’aurons pas à gérer un flot de changements majeures et que nous avons maintenant la possibilité de tirer parti des dernières fonctionnalités et composants. C’est la dernière version de Symfony actuellement disponible.
Un autre outil essentiel que nous avons mis à jour dans la version 12.0 de TYPO3 est le CKEditor, l'éditeur de texte riche (RTE) puissant et hautement personnalisable qui permet aux utilisateurs backend de modifier le contenu textuel du site web. TYPO3 propose désormais la version 5 de CKEditor, qui est une refonte complète et ne nécessite plus d'iframes.
Nous avons également supprimé les anciennes fonctionnalités considérées comme obsolètes ou conservées pour des raisons patrimoniales. Cette tâche de nettoyage concerne principalement les développeurs (voir plus de détails ci-dessous).
Le backend a été et restera l'interface d'administration la plus utilisée de TYPO3. Les intégrateurs utilisent le backend pour mettre en place, configurer et maintenir le système. De plus, les éditeurs utilisent le backend pour leur travail quotidien avec le contenu d'un site TYPO3. Il n'est donc pas surprenant qu'une expérience utilisateur exceptionnelle dans ces deux rôles soit le point central de notre travail.
Une fois connecté au backend de TYPO3 version 12.0, naviguez et regardez le menu contextuel (par exemple dans l'arbre des pages), les menus déroulants et les messages flash (notifications). Vous remarquerez un aspect visuel plus moderne à de nombreux endroits.
Ouvrez maintenant le module backend Web ➜ Page. Grâce au travail fantastique de l'Initiative pour le contenu structuré, le nouveau module « page »présente désormais une interface utilisateur plus propre. Les styles sous-jacents ont été remaniés, et certains éléments de mise en page optimisés. En conséquence, il est maintenant plus facile de déplacer les éléments de contenu et les changements sont également en préparation pour d'autres ajustements prévus pour les prochaines versions sprint de la série v12.
Comme les bases pour plus d'améliorations visuelles et d’ergonomie dans le backend TYPO3 ont été posées dans la version 12.0, nous avons hâte d'introduire d'autres changements dans les prochaines versions du sprint.
L'écran des paramètres du panneau d'administration montre maintenant une case à cocher pour désactiver les restrictions d'heure de début et de fin des enregistrements. Cette fonctionnalité permet aux éditeurs de visualiser une page avec tous les enregistrements de contenu, même si les enregistrements ont un horodatage de début ou de fin défini. Il est souvent utile d'ouvrir une page directement dans le backend. Cette action est maintenant possible en cliquant simplement sur le bouton "Ouvrir la page dans le backend" depuis le panneau d'administration.
De temps en temps, les intégrateurs ont besoin d'examiner les journaux du système TYPO3. Bien sûr, cela dépend de la configuration individuelle du système, mais, en général, chaque connexion/déconnexion d'un utilisateur du backend, les connexions échouées, les modifications de contenu, etc. produisent une entrée dans ce journal.
Nous avons ajouté une nouvelle option au module backend System ➜ Log qui permet aux utilisateurs de filtrer les entrées du journal par une page spécifique et, éventuellement, des sous-pages de cette page. Cette option est pratique si vous êtes intéressé par ce qui s'est passé sur une page, par exemple les modifications de contenu telles que "L'utilisateur X a créé l'enregistrement Y".
Les nouvelles options "page" et "profondeur" étendent les filtres existants tels que "Utilisateurs" et les filtres "De" et "À".
Les intégrateurs et les développeurs TYPO3 ont parfois besoin de vérifier la configuration du système. Le module backend qui fournit des informations complètes sur l'état actuel s'étend au fil du temps. Depuis la version 12.0 de TYPO3, vous pouvez désormais trouver un aperçu des fournisseurs du langage d'expression Symfony dans le module System ➜ Configuration. Par conséquent, les intégrateurs et les développeurs peuvent rechercher quelles variables et fonctions sont disponibles et dans quel domaine du système, par exemple, "default", "typoscript", "site" et "form".
Dans les versions précédentes de TYPO3, les utilisateurs du backend pouvaient accéder à de courts textes d'aide sur des champs spécifiques en cliquant sur une étiquette. Cette fonction est appelée aide contextuelle (CSH), et nous avons décidé de supprimer la CSH dans la version 12.0 de TYPO3 pour plusieurs raisons. La documentation de TYPO3 s'est considérablement améliorée et fournit de meilleures informations et est plus à jour que les CSH. Outre les informations redondantes, les CSH souffrent également de problèmes conceptuels et d'accessibilité.
Nous ne perdons pas de courts textes d'aide dans le backend en abandonnant la fonctionnalité CSH. Les développeurs peuvent stocker une description pour chaque champ dans le TCA (TYPO3 Configuration Array), qui offre une fonctionnalité similaire au CSH.
De nombreux sites et applications TYPO3 génèrent des e-mails, par exemple, des e-mails automatique que les utilisateurs du backend peuvent déclencher lorsqu'ils ont oublié leur mot de passe. Les formulaires de contact et les extensions développées sur mesure utilisent également l’API Mail de TYPO3, qui propose désormais quatre nouvelles options de configuration :
Alors que les trois premières options permettent principalement aux intégrateurs et aux administrateurs du système d'affiner le processus de transport du courrier, le dernier paramètre vous permet de personnaliser facilement les paramètres requis pour communiquer avec un serveur SMTP. Par exemple, si vous voulez désactiver la vérification si le pair utilise un certificat SSL/TLS valide dans une communication SMTP cryptée, vous pouvez l'ajuster maintenant. Un cas d'utilisation typique pour une telle configuration, est un certificat auto-signé qui, à proprement parler, n'est pas un certificat valide par défaut.
Si l'on se réfère à la phase de développement de la série de versions TYPO3 v11, le module backend "Filelist" a déjà reçu une refonte visuelle. Nous avons également rationalisé l'édition par lots des fichiers et introduit de nouvelles actions et fonctions. L'option permettant de télécharger plusieurs fichiers sous forme d'archive ZIP en est un exemple. La fonction permettant de sélectionner les colonnes que TYPO3 doit afficher en est un autre.
Dans la version 12.0 de TYPO3, nous avons ajouté une nouvelle option au TSconfig de l'utilisateur pour personnaliser les actions primaires qui sont affichées dans la liste des fichiers (colonne "Contrôle") :
Les paramètres par défaut montrent l'icône "modifier les métadonnées", l'icône "afficher" et l'icône "supprimer" (voir la capture d'écran ci-dessus). L'option TSconfig "options.file_list.primaryActions" peut être appliquée pour réduire les actions affichées par utilisateur. Vous pouvez même supprimer toutes les icônes de la vue en liste, comme le montre la capture d'écran ci-dessous, ou configurer les icônes supplémentaires "copier dans le presse-papiers" et "couper" :
Nous améliorons et étendons constamment les capacités multi-langues de TYPO3 et supportons désormais le luxembourgeois (code ISO 639-1 "lb") dans le backend TYPO3 par défaut. Il est maintenant possible de télécharger les étiquettes traduites du backend depuis le serveur de traduction TYPO3 et CrowdIn pour ces langues, de basculer l'interface du backend en luxembourgeois, respectivement, et d'utiliser cette langue dans les configurations de sites.
En parlant d'internationalisation : Afin d'améliorer les caractères établi et d’internationalisation TYPO3, deux extensions PHP couramment utilisées sont désormais requises pour TYPO3 : Multi-byte string ("mbstring") et Internationalization ("intl"). Assurez-vous que ces extensions PHP soient installées et activées dans votre environnement. Elles sont généralement livrées avec la distribution de votre système.
Passons maintenant aux points forts de la version 12.0 de TYPO3 pour les développeurs. Vous ne serez pas déçus, étant donné qu'une version " point-zéro " nous donne toujours l'occasion de prendre un nouveau départ avec de nouvelles idées, solutions et concepts techniques.
La première version d'un nouveau cycle de publication est également synonyme de nettoyage. Nous avons donc supprimé les classes dépréciées de PHP, fonctions, appels CLI, etc. Veuillez-vous référer au journal des modifications (en particulier à Breaking-96107) pour une liste complète des nettoyages.
Il est également crucial pour une version "point-zero" d'augmenter les versions des bibliothèques tierces utilisées dans le noyau TYPO3. Comme je l'ai souligné plus haut, notre objectif général est d'utiliser des packages à jour avec un support à long terme.
L’une des mises à jour majeure concerne la couche d'abstraction de base de données (DBAL). TYPO3 v12 utilise désormais la version 3 de Doctrine DBAL. Cette version de la DBAL a subi d'importants remaniements internes en séparant la logique du pilote interne de Doctrine de la fonctionnalité PDO native de PHP.
Qu'est-ce que cela signifie pour les développeurs d'extensions TYPO3 ? Tout d'abord, si vous utilisez le QueryBuilder dans votre extension et que vous soumettez toujours les requêtes par l'appel execute(), vous devez le changer en executeQuery() ou executeStatement(). Nous avons laissé l'ancienne instruction execute() intacte pour des raisons de compatibilité ascendante dans TYPO3 v 11 LTS. Cependant, la documentation a conseillé aux développeurs de ne plus utiliser cet appel de fonction. Vous trouverez des informations sur les autres actions de migration nécessaires dans le changelog.
La mise à jour du Doctrine DBAL de la version 2 à la version 3 ouvre également la voie à plus d'options d'optimisation concernant les performances du système dans les prochaines versions de TYPO3 v12.
La "colle" entre la couche de base de données et le FormEngine, qui rend les lignes de la table dans le backend de TYPO3, est le tableau de configuration (TCA). Nous avons ajouté sept nouveaux types de TCA, tous disponibles dans la version 12.0 de TYPO3 et documentés dans la référence TCA : email, mot de passe, lien, numéro, date, couleur et fichier.
Un autre changement significatif sur notre agenda pour la série TYPO3 v12 est l'abandon et la suppression de RequireJS. Le but de cette bibliothèque tierce est de charger les fichiers et modules JavaScript de manière organisée, en tenant compte des dépendances. En suivant la spécification W3C Import Maps (actuellement en projet), les développeurs peuvent maintenant utiliser JavaScript ES6 au lieu des modules AMD (Asynchronous Module Definition). Cette évolution permettra d'améliorer les performances puisque les modules seront chargés beaucoup plus rapidement.
Il est important de comprendre que l'API est toujours considérée comme expérimentale et peut changer dans les versions ultérieures de la série TYPO3 v12.
Si, en tant que développeur d'extensions TYPO3, vous avez besoin d'étendre les fonctionnalités de base de TYPO3, vous rencontrerez très probablement la spécification PSR-14 et le concept d'événements et de récepteurs d'événements de Symfony. Cette technologie fait partie du noyau de TYPO3 depuis un certain temps déjà. La liste des événements que le noyau distribue est en constante augmentation. Nous avons poursuivi cette tendance dans la version 12 de TYPO3 et remplacé la solution Signals/Slots utilisée précédemment dans toutes les classes connexes par des événements dans la version 12.0.
Par exemple, deux nouveaux événements permettent aux développeurs de manipuler les messages générés par le composant Mailer de TYPO3. Lisez la documentation TYPO3 pour en savoir plus sur les événements PSR-14 et pour connaître les événements disponibles dans la version 12.0 de TYPO3.
Nous avons introduit l'API de pagination dans la version 10.2 de TYPO3 en décembre 2019. Cette API offre une solution qui permet aux utilisateurs de parcourir confortablement n'importe quelle liste d'éléments - des enregistrements de base de données aux tableaux et aux QueryResults. L'API de pagination a été étendue dans la version 12.0 de TYPO3 et propose désormais la "pagination par fenêtre coulissante". La documentation de TYPO3 reflète déjà ce changement et fournit un exemple de code pour l'utilisation de cette nouvelle fonctionnalité.
Tout d'abord, la version 8.1 de PHP est une nouvelle exigence minimale pour faire fonctionner la version 12.0 de TYPO3. Cette version promet de meilleures performances et une meilleure sécurité des types, entre autres améliorations. En outre, la version 8.1 de PHP recevra des mises à jour de sécurité jusqu'en novembre 2024.
La mise à niveau vers Doctrine v3 a également un impact sur les moteurs de base de données pris en charge :
MySQL 8.0 ou supérieur
MariaDB 10.3 ou supérieur
PostgreSQL 10.0 ou supérieur
SQLite 3.8.3 ou supérieur
Le Microsoft SQL Server n'est plus supporté dans TYPO3 v12.
Pour en savoir plus sur la configuration requise et les dépendances de TYPO3 v12, consultez l'article "Get Ready for TYPO3 v12" et le site get.typo3.org.
Vous trouverez tous les détails sur la version et les options pour télécharger TYPO3 sur get.typo3.org. Les instructions détaillées d'installation sont documentées dans le Guide d'installation. Nous vous recommandons d'utiliser Composer pour configurer votre environnement TYPO3.
La version 12.0 de TYPO3 est la première version de la série v12 et marque le début d'un voyage passionnant ! La prochaine version sur notre feuille de route est TYPO3 version 12.1, prévue dans neuf semaines, le 6 décembre 2022.