"X Marks the Spot" - TYPO3 v10.0 est arrivé !

Auteur: Benni Mack et Michael Schams
Traduit par : Rachel - W-Seils

Lire l'article complet en version originale

TYPO3 version 10.0 est le résultat du premier sprint de la version LTS (support à long terme) de 2020.

Puisque la version 10.0 se concentre principalement sur les tâches de nettoyage, il n'est pas surprenant qu'un grand nombre de changements de rupture aient été introduits dans cette version. Cette approche nous permet d'introduire de nouvelles bibliothèques, des concepts modernes et de rationaliser les API à un stade précoce du développement pour s'assurer que TYPO3 reste l'un des meilleurs systèmes de gestion de contenu d'entreprise sur le marché.

Les projets de la série TYPO3 v10

Nous nous sommes fixé des objectifs ambitieux et importants pour TYPO3 v10 LTS. Les améliorations suivantes sont très importantes sur notre liste et vous les verrez évoluer constamment à travers toutes les prochaines versions de sprint :

  • Permettre aux intégrateurs TYPO3 de configurer facilement un système sophistiqué et puissant.
  • Permettre aux contributeurs TYPO3, aux administrateurs, ainsi qu'aux développeurs d'extension de bénéficier des meilleures pratiques.
  • Utiliser des standards et des packages PHP robustes et établis pour obtenir des API stables sur l'ensemble du noyau TYPO3.
  • Rendre le travail quotidien avec TYPO3 encore plus agréable.

Changements clés dans TYPO3 v10.0

Comme la version 10.0 marque la première version de la série v10, son but principal est de se débarrasser des anciennes fonctionnalités qui sont considérées comme obsolètes ou ont été conservées pour des raisons d'héritage. De nouveaux concepts et méthodes ont été introduits dans TYPO3 v9 et ont fait leurs preuves. Il est maintenant temps de supprimer la couche existante et de stabiliser les nouvelles API. De plus, nous avons introduit de nouveaux concepts dans la version 10.0 qui seront encore améliorés lors des prochains sprints de la série TYPO3 v10.

Regardons de plus près ce que tout cela signifie :

Gestion du site

La gestion centralisée des sites a été introduite dans TYPO3 v9 LTS - la base de la gestion déterministe des URL ainsi que des fonctionnalités multi-sites et multilingues dans une interface centralisée. TYPO3 v9 permet toujours aux intégrateurs d'utiliser les enregistrements sys_domain (l'ancienne méthode d'une configuration multi-domaine). Cette compatibilité a été supprimée et le paramétrage d'un site avec la nouvelle méthode est maintenant obligatoire dans la v10.0. Les intégrateurs TYPO3 bénéficient des nombreux avantages d'un traitement de site cohérent et standardisé et de temps de déploiement plus courts pour les nouveaux sites.

Classe PHP / analyse de propriété

Extbase (le puissant framework MVC utilisé dans TYPO3) permet aux développeurs du Core et aux développeurs d'extension d'écrire des fonctions impressionnantes pour TYPO3 d'une manière claire et cohérente ("convention over configuration"). L'analyse des classes PHP personnalisées et de leurs propriétés est une fonction clé d'Extbase. Cette tâche cruciale est maintenant prise en charge par le composant PropertyInfo de Symfony. En utilisant un paquet PHP qui suit les standards de l'industrie, qui est bien connu et qui est maintenu par une vaste communauté, nous nous assurons que ce composant d'Extbase reste à la pointe du progrès pour les années à venir. En même temps, nous réduisons nos efforts de maintenance et ouvrons la porte à de nouvelles fonctionnalités pour les auteurs d'extensions.

Nouvelle injection de dépendance

Utiliser des standards et des paquets PHP robustes dans l'ensemble du coeur de TYPO3 est également primordial dans un autre domaine : l'"injection de dépendance" (DI). Cette technique entre en jeu lorsqu'un objet fournit les dépendances d'un autre objet. Les objets PHP qui ne contiennent pas d'état sont appelés services et sont logiquement encapsulés dans des conteneurs de service.

En appliquant l'architecture Service Containers de Symfony, nous portons la gestion des dépendances et l'injection de dépendances pour les classes PHP à un nouveau niveau. Cette approche vise à remplacer le conteneur d'injection de dépendance Extbase et le gestionnaire d'objets, ce qui signifie que nous pouvons nous passer de GeneralUtility::makeInstance() pour récupérer les singletons et les méthodes statiques comme getInstance() dans le futur.

Les développeurs sont encouragés à lire la documentation de Symfony et à garder un œil sur l'initiative PSR-11 et ses sous-tâches.

Event dispatchers

Nous vous l'avons dit : TYPO3 version 10.0 est la version parfaite pour introduire de nouvelles technologies modernes pour exciter chaque développeur TYPO3. En fait, nous avons activement contribué à l'élaboration de la norme PSR-14 au cours de la dernière année et l'avons ajoutée à l'univers TYPO3.

Les Hooks et le concept Signal/Slot est l'une des superpuissances de TYPO3. Ce dernier permet d'étendre une fonctionnalité de base en émettant un signal et d'avertir les autres composants d'un événement spécifique. Les développeurs d'extension TYPO3 peuvent exploiter cette technologie et s'appuyer sur la fonctionnalité de base.

Nous avons maintenant ajouté un event dispatcher au coeur de TYPO3 (clairement spécifié dans PSR-14), qui a la même API que le framework Zend ou le composant EventDispatcher de Symfony. Les "Events" seront ajoutés au cours des prochains sprints de TYPO3 et cette technologie vise à remplacer les Les Hooks et Signal/Slot à moyen terme.

En tant que développeur d'extension, vous n'avez pas à vous inquiéter : Les Hooks et Signal/Slot enregistrés restent en l'état et fonctionneront de la même manière qu'avant pour le moment.

Nouvelle API de mailer

TYPO3 a utilisé la bibliothèque SwiftMailer riche en fonctionnalités pour générer et envoyer des e-mails. Cependant, le développement actif a stagné et nous avons décidé d'utiliser une autre grande solution de Symfony avec une API moderne : le paquet "Mime" pour composer les emails et le paquet "Mailer" pour les traiter et les envoyer.

Ces deux composants sont à la pointe de la technologie et nous permettent de générer des courriels au format HTML à différents endroits du noyau, où de simples courriels textuels sont actuellement implémentés.

Extraction de certaines extensions du système

Les extensions système "RSA Authentication" (Extension key rsaauth), "Task Center" (Extension key taskcenter), "Actions" (Extension key sys_action) et "Frontend Editing" (Extension key fe_edit) précédemment incluses dans le coeur de TYPO3 ont été déplacées dans le référentiel public des extensions TYPO3.

Ces extensions seront tenues à jour, mais ne sont plus couvertes par la politique de support et de maintenance du coeur TYPO3.


Stratégie de sortie de TYPO3

La Core Team de TYPO3 publie des versions LTS (support à long terme) tous les 1,5 ans. Ces versions sont activement maintenues et supportées pendant 18 mois et reçoivent des correctifs de sécurité et des mises à jour critiques pendant 18 mois supplémentaires. Il en résulte un total de 3 ans de support gratuit de la part de la communauté TYPO3.

Comme les versions LTS sont publiées tous les 1,5 ans mais sont supportées pendant 3 ans, il y a toujours deux versions stables de TYPO3 LTS disponibles qui sont activement maintenues à jour et sécurisées sans modifications majeures.

Une série se compose d'un certain nombre de sprints, commençant par "0". TYPO3 version 9.0 et version 10.0 en sont des exemples. Les nouveaux sprints sont publiées toutes les 8 à 12 semaines jusqu'à la sortie de la version LTS, qui marque la fin d'une série. Les Sprints sont à la pointe du progrès, et en même temps suffisamment testées et stables pour être pris en considération pour de nouveaux projets. Une mise à jour entre deux sprints (par exemple de la version 10.1 à la version 10.2) est considérée comme triviale et ne devrait pas prendre beaucoup de temps.

TYPO3 v9 LTS (aussi connu sous le nom de version 9.5.x) est sorti en octobre 2018. La prochaine version LTS sera TYPO3 v10 LTS qui devrait sortir en avril 2020.

Téléchargement et installation

Il y a plusieurs façons d'installer TYPO3. La manière traditionnelle est de télécharger le paquet source sur get.typo3.org. Vous pouvez aussi utiliser l'approche moderne et mettre en place un projet en utilisant composer (en fait, c'est la méthode recommandée aujourd'hui). Des instructions d'installation détaillées sont disponibles sur get.typo3.org/version/10 et dans le Guide officiel d'installation et de mise à jour.

Mise à jour de TYPO3 v9 LTS

L'un des objectifs que nous nous étions fixés au début de la phase de développement de TYPO3 v9 était de rendre les mises à jour d'une version majeure à la suivante aussi simples que possible - et nous avons tenu notre promesse !

Si vous utilisez déjà TYPO3 v9 LTS, et que toutes les extensions sont marquées comme compatibles, une mise à jour de TYPO3 v10 devrait être simple et directe. Nous vous recommandons fortement d'utiliser le scanner d'extension de TYPO3 (ADMIN TOOLS > Upgrade > Scan Extension Files) pour identifier les problèmes possibles avant d'exécuter la mise à niveau. Les problèmes typiques sont les extensions développées sur mesure qui utilisent d'anciennes APIs qui ont été obsolètes ou supprimées conformément à la politique d'obsolescence de TYPO3. Le scanner d'extension fournit des instructions utiles et complètes sur la façon de mettre à jour le code.

Assurez-vous également que votre environnement d'hébergement répond aux exigences du système énumérées ci-dessous.

Configuration système requise

TYPO3 v10 nécessite PHP version 7.2 ou supérieure (même exigence PHP que TYPO3 v9 LTS). Une large gamme de serveurs de bases de données et de moteurs de bases de données sont supportés. Cela inclut MySQL, MariaDB, Microsoft SQL Server, PostgreSQL et SQLite. La version 5.7 est la version minimale requise si vous utilisez MySQL, tandis que la version 8 est la version recommandée pour TYPO3 v10, la version recommandée de MariaDB est la version 10.3. Tous les serveurs web modernes sont supportés par TYPO3 v10, cela inclut Apache, Nginx, et IIS par exemple.

Le backend de TYPO3 v10 est accessible avec tous les navigateurs modernes tels que Mozilla Firefox, Microsoft Edge et Google Chrome. Bien qu'il soit encore possible d'utiliser Microsoft Internet Explorer pour travailler dans l'interface d'administration de TYPO3, il n'est officiellement plus supporté.

Quelle est la prochaine étape ?

Vous conviendrez que les changements et améliorations de la version 10.0 de TYPO3 sont étonnants, surtout pour les développeurs de TYPO3 - mais ce n'est que le début d'un voyage passionnant ! Les nouvelles API introduites dans la version 10.0 ouvrent la voie à d'autres fonctionnalités à venir.

Pour en savoir plus sur les nouvelles fonctionnalités, les changements et les améliorations de TYPO3 version 10.0, consultez la rubrique TYPO3 Quoi de neuf ou le journal détaillé des modifications techniques.

Do you want to publish
a guest blog post?

 

Contact us

Do you want to publish
your own case study?

 

Get in touch