TYPO3 v12 LTS est là pour vous sauver !

Auteur :  Michael Schams
Traduit par : Chloé - W-Seils

Lire l'article complet en version originale

Nous sommes ravis d'annoncer la sortie de TYPO3 v12 LTS. Cette version est notre nouveau fleuron, et en tant que version de support à long terme, elle recevra des mises à jour de sécurité pendant au moins trois ans. Lisez la suite pour en savoir plus sur la dernière étape de l'histoire de TYPO3.

Plus de 140 développeurs très motivés ont contribué à la base de code de TYPO3 v12 LTS en 569 jours depuis novembre 2021. Outre les développeurs, des experts talentueux issus de nombreux domaines de connaissances différents ont également façonné la nouvelle version. Cet effort a donné lieu à plus de 3250 commits Git et 216 nouvelles fonctionnalités, garantissant que chaque objectif que nous avons fixé pour la version LTS a été livré à temps.

TYPO3 est une fois de plus un système de gestion de contenu d'entreprise open-source de première classe, techniquement mûr et bourré de nouveautés. Cet article ne donne qu'un aperçu des nouvelles fonctionnalités étonnantes et des innombrables améliorations. Un aperçu technique détaillé avec des informations plus approfondies est disponible sur docs.typo3.org. Consultez également le document de mise à jour de TYPO3 v12 LTS.

Points forts et caractéristiques principales

Intégrations

L'exploitation de plusieurs applications, chacune se concentrant sur un aspect spécifique du processus commercial, est courante dans un environnement d'entreprise. Ces systèmes doivent échanger des données de manière sécurisée et unifiée. Les processus de développement agile modernes incluent des pipelines CI/CD pour tester, construire et déployer automatiquement les applications, par exemple. Les solutions de ce type nécessitent des interfaces système sécurisées qui suivent un protocole standardisé.

Les webhooks sont un concept couramment utilisé pour atteindre précisément cela, et TYPO3 v12 LTS offre des solutions pour configurer des webhooks entrants et sortants. Les systèmes externes peuvent envoyer des requêtes à TYPO3 pour déclencher des actions et des réponses prédéfinies. En outre, un nouveau module de backend vous permet de configurer les webhooks entrants en tant que "Reactions". Cette fonctionnalité facilite grandement l'intégration de TYPO3 dans les environnements à code bas et l'ajout du système à un déploiement ou à un pipeline de données, par exemple.

Les réactions vont de pair avec les webhooks sortants. Un exemple typique de cette fonctionnalité est de notifier les systèmes externes des changements dans TYPO3. L'autre système et TYPO3 restent autonomes et indépendants, mais restent synchronisés en communiquant l'un avec l'autre. Les webhooks sortants peuvent notifier les systèmes externes en temps réel des événements et déclencher des actions de suivi.

Les cas d'utilisation pratique des webhooks entrants et sortants sont infinis. Combinez les webhooks avec des outils d'automatisation de flux de travail comme Zapier ou déclenchez une commande pour vider les caches d'un réseau de diffusion de contenu (CDN). Vous pouvez désormais construire des solutions complexes pour intégrer des systèmes et des applications distants sans écrire une seule ligne de code PHP.
 

Améliorations du backend

Connectez-vous au backend de TYPO3 v12 LTS et parcourez-le. Vous remarquerez un aspect visuel plus moderne à de nombreux endroits et une interface utilisateur plus propre à travers le backend.

Nous avons simplifié et optimisé le module de page pour une meilleure lisibilité. La gestion des fichiers est également devenue plus accessible grâce à la nouvelle vue en tuiles et aux fonctions de glisser-déposer. De plus, les résultats de recherche apparaissent pendant que vous tapez, ce qui permet de trouver l'aiguille dans la botte de foin plus rapidement.

Les éditeurs utilisent le backend TYPO3 pour créer et éditer le contenu d'un site TYPO3. La nouvelle version de CKEditor, que nous avons mise à jour vers la dernière version stable 5, est dotée de nouvelles fonctionnalités qui améliorent leur productivité. Avec la nouvelle version, nous pouvons également dire adieu aux iframes lorsqu'il s'agit d'éditer du texte enrichi.

Les intégrateurs apprécieront les options de personnalisation illimitées du backend. Qu'il s'agisse des boutons d'action dans la liste des fichiers, des paramètres simplifiés pour la gestion des utilisateurs et de leurs permissions, ou des modules backend retravaillés pour l'édition et la gestion de TypoScript et Page TSconfig que vous trouverez maintenant dans le backend sous Site Management.

Nous avons également élargi les informations fournies par le module de backend Système ➜ Configuration. Vous pouvez maintenant consulter des informations sur les fournisseurs de langage d'expression Symfony, la configuration TCA et la configuration YAML.

Superpouvoirs sous le capot

Nous avons renforcé les superpuissances de TYPO3 qui ne sont pas visibles mais qui fonctionnent sous le capot. Par exemple, les webhooks sortants mentionnés ci-dessus exploitent un bus de messages et une file d'attente de messages que nous avons intégrés au cœur de TYPO3. Basé sur le Symfony Messenger, le bus de messages fournit un moyen rationalisé qui permet aux composants de communiquer d'une manière unifiée. Le système de file d'attente dispose même d'un mode asynchrone pour gérer efficacement les tâches qui prennent du temps et qui peuvent être exécutées indépendamment.

L'équipe TYPO3 Core a également effectué une refonte significative des fonctions TypoScript et Page TSconfig, résultant en un nouvel analyseur syntaxique TypoScript qui est étonnamment rapide, plus robuste et plus logique.

Changements pour les développeurs

Les développeurs de logiciels seront enthousiastes quand ils entendront ce que la nouvelle version majeure de TYPO3 apporte.

Tout d'abord, la version 8.1 de PHP est une nouvelle exigence minimale pour faire fonctionner TYPO3. Cette version a amélioré la sécurité des types, les propriétés en lecture seule, la syntaxe des appelants de première classe, les fibres et les types d'intersection, entre autres améliorations. TYPO3 v12 LTS supporte également la toute dernière version de PHP : la version 8.2. Cette version inclut des classes en lecture seule, des types autonomes supplémentaires, des propriétés dynamiques dépréciées, et plus encore. Plus important encore : les deux versions de PHP offrent de meilleures performances.

Nous avons mis à jour les bibliothèques tierces et les paquets dépendants vers leurs dernières versions lorsque cela était possible. Une mise à jour substantielle concerne la couche d'abstraction de base de données (DBAL). TYPO3 v12 LTS utilise Doctrine DBAL version 3. Cette version du DBAL a fait l'objet d'une refonte interne majeure en séparant la logique du pilote interne de Doctrine de la fonctionnalité PDO native de PHP.

La "colle" entre la couche de base de données et le FormEngine, qui rend les lignes de table dans le backend TYPO3, est le tableau de configuration de la table (TCA). TYPO3 v12 LTS propose plusieurs nouveaux types de TCA tels que l'email, le mot de passe, le lien, le nombre, la date, la couleur, le fichier, le générateur de mot de passe et plus encore.

Plongeons plus profondément dans les aspects internes et examinons le changement le plus important dans le cadre de programmation Extbase dans TYPO3 v12 LTS. Les développeurs TYPO3 expérimentés sont probablement familiers avec les "fonctions magiques". La caractéristique de ces fonctions est que leur implémentation concrète est déterminée au moment de l'exécution. Aucune magie noire n'est impliquée, il s'agit simplement d'une partie intelligente du cadre Extbase. Aussi pratiques que soient les méthodes magiques, elles présentent quelques inconvénients. Les fausses alertes dans les IDE modernes ou l'échec de l'analyse statique du code en sont deux exemples.

Nous avons introduit quelques nouvelles méthodes dans TYPO3 v12 LTS, pour répondre à ces défis. Elles fournissent la même fonctionnalité que les méthodes magiques et coexistent avec les anciennes méthodes pour le moment : findBy(), findOneBy() et count(). En outre, les nouvelles méthodes permettent des comparaisons multiples (appelées "contraintes"), et leurs noms suivent la convention de nommage du mappeur objet-relationnel Doctrine ORM.

Internationalisation

Les capacités multilingues de TYPO3, prêtes à l'emploi, permettent aux intégrateurs et aux développeurs de répondre facilement aux exigences complexes de contenu global.

Avec plusieurs langues de site Web activées, vous pouvez configurer une chaîne de repli ("overlays en mode mixte"). Si la traduction d'une page ou d'un élément de contenu n'est pas encore disponible, le système se rabat automatiquement sur un contenu dans une autre langue.

Vous pouvez maintenant configurer une nouvelle langue en un clin d'œil. TYPO3 v12 LTS offre des préréglages de configuration qui vous permettent de créer facilement une nouvelle langue de site web en un seul clic. Même le backend a reçu une mise à jour. Pour les langues telles que l'arabe, l'interface utilisateur peut maintenant rendre le texte de droite à gauche !

Nous avons également ajouté une Country API  à TYPO3 v12 LTS, permettant aux développeurs de récupérer les noms de pays localisés et les données connexes telles que les codes ISO normalisés, la représentation Unicode des drapeaux et plus encore. Créer des listes de pays de manière programmatique et déterminer les drapeaux et les langues n'a jamais été aussi facile. L'utilisation de l'API en combinaison avec le nouveau FormCountrySelect-Viewhelper pour Fluid vous permet de rendre les éléments déroulants pour les formulaires.

Renforcer la posture de sécurité

Benni Mack, TYPO3 Core Lead, souligne : "La sécurité et la stabilité sont les principales priorités de TYPO3". Cette position est cruciale pour un système de gestion de contenu de niveau entreprise comme TYPO3. Nous avons relevé la barre dans TYPO3 v12 LTS et mis en œuvre plusieurs techniques modernes pour renforcer la sécurité du système.

Avec l'introduction des politiques de sécurité du contenu (CSP) dans TYPO3, par exemple, nous nous attaquons aux vulnérabilités de sécurité qui se produisent souvent en raison de l'absence d'encodage approprié du contenu soumis par l'utilisateur. Cette couche de sécurité supplémentaire vise à détecter et à atténuer certains types d'attaques, tels que le cross-site scripting (XSS) et l'injection de données.

Un nouveau module backend Outils d'administration ➜ Politique de sécurité du contenu vous permet de passer en revue les récentes violations potentielles de la PSC dans le frontend et le backend, y compris des suggestions sur la façon de résoudre le problème.

En fournissant l'URL d'un système distant, TYPO3 peut également signaler les violations de la CSP à un service externe.

En plus de la CSP, TYPO3 v12 LTS envoie par défaut un ensemble d'en-têtes de sécurité HTTP communs lorsque les utilisateurs accèdent au backend.

Pour renforcer la posture de sécurité afin de protéger les informations d'identification des utilisateurs, TYPO3 propose désormais des politiques de mot de passe configurables. Le système prend en compte la politique globale par défaut, par exemple, lorsque l'utilisateur administrateur initial est créé lors de l'installation du système.

Configuration requise

La version 8.1 de PHP est une nouvelle exigence minimale pour faire fonctionner TYPO3. Cette version recevra des mises à jour de sécurité jusqu'en novembre 2024. TYPO3 v12 LTS supporte également PHP version 8.2. Cette version bénéficie d'un support de sécurité pour une année supplémentaire jusqu'en décembre 2025.

Avec la Doctrine Database Abstraction Layer (DBAL) version 3, TYPO3 supporte désormais les moteurs et versions de bases de données suivants :

MySQL version 8.0 ou supérieure
MariaDB version 10.3 ou supérieure
PostgreSQL version 10.0 ou supérieure
SQLite version 3.8.3 ou supérieure
TYPO3 v12 LTS fonctionne sur une large gamme de serveurs web bien connus, y compris Apache httpd, Nginx, Microsoft IIS et Caddy Server.

Pour en savoir plus sur la configuration requise, consultez la documentation officielle de TYPO3.

Support et maintenance

En tant que version LTS (support à long terme), TYPO3 v12 LTS recevra des corrections de bugs pendant 1,5 an à partir de la date de sortie. Ensuite, des mises à jour de sécurité gratuites sont fournies pour une période supplémentaire de 1,5 an. Cela donne une période de support totale de 3 ans.

En plus des 3 ans de support et de maintenance gratuits, TYPO3 GmbH offre un support étendu à long terme (ELTS) pour un maximum de trois années supplémentaires. Cela signifie que la version ELTS de TYPO3 v12 sera supportée jusqu'en avril 2029. Cela représente jusqu'à six ans de compatibilité avec les navigateurs, de correctifs de sécurité et de conformité avec les lois sur la sécurité informatique pour votre CMS d'entreprise.

Téléchargement et installation

Avec un noyau de système entièrement testé et plus de 150 extensions tierces déjà compatibles avec TYPO3 v12 LTS, vous pouvez mettre à jour votre site ou démarrer un nouveau projet dès aujourd'hui. Les extensions tierces incluent également des extensions vérifiées telles que News, Mask, LUX, Container, Headless et plus encore.

Vous trouverez tous les détails sur la version et comment télécharger et installer TYPO3 sur get.typo3.org. Les instructions d'installation détaillées sont documentées dans le Guide d'installation. Nous recommandons d'utiliser Composer pour configurer votre environnement TYPO3 (Composer version 2.1 ou supérieure).

Do you want to publish
a guest blog post?

 

Contact us

Do you want to publish
your own case study?

 

Get in touch