Auteur: Michael Schams
Traduit par : Rachel et Anatole - W-Seils

Lire l'article complet en version originale

TYPO3 version 9.5 est une version de support a long terme (LTS) et propose plus de 100 nouvelles fonctionnalités. Cet article fournit une vue d’ensemble des évolutions les plus importantes pour utilisateurs professionnels et les utilisateurs techniques.

Introduction

TYPO3 a toujours été connu pour sa maturité technique, sa robustesse, sa sécurité et ses fonctionnalités d’entreprise exceptionnelles. La nouvelle version majeure de TYPO3 arrive avec d’innombrable nouveautés et montre une fois de plus que le célèbre système de gestion de contenu est bien positionné à l’avant-garde du développement de logiciel open source.

La nouvelle version LTS offre des fonctionnalités améliorées dans le backend (l’interface d’administration), une sécurité et une confidentialité améliorées pour l’utilisateur final (par exemple pour atteindre la conformité RGPD sans maux de tête), les derniers algorithmes de hachage de mot de passe, les meilleurs pratiques de SEO, et bien plus encore.

Au cours de quatre dernières semaines – la phase de stabilisation entre la dernière version intermédiaire 9.4 et la nouvelle version majeure 9.5 (aussi connu sous le nom « TYPO3 v9 LTS ») – les derniers éléments des fonctionnalités ont été finalisés mais rien de nouveau n’a été ajouté. C’est pour s’assurer que la version LTS est robuste, stable et peut supporter des sites de toutes tailles et complexités, même ceux qui comptent des milliers de pages. Cet article résume les changements majeurs de toutes les versions 9.X et de ce à quoi vous pouvez vous attendre de TYPO3 v9 LTS.

Réécriture d'Url out of the boxe

La réécriture d’URL native change une URI comme « index.php ?id=123 » en une url propre, et lisible par un humain. Typiquement, ceci est basé sur le titre de la page, par exemple « /team/about-us ». le Core TYPO3 prend désormais en charge la gestion d’URL basée sur les pages. Les enregistrements de page dans TYPO3 ont un champ nommé « URL Segment », contenant l’URL d’accès du site Web à la page. Le champ est affiché lors de l’édition d’un enregistrement de page, et est résolu dans le frontend grâce à l’UID si une « Configuration de site » à été configurée au préalable

Les langues sont elles aussi prises en compte par TYPO3 et les réécritures d’URL sont générées partout : dans le frontend, dans les liens de prévisualisation, dans le backend, etc…

Maintenant il n’est plus nécessaire d’utiliser des extensions tierces pour générer ce type d’URI. C’est également une fonctionnalité importante pour l’optimisation des moteurs de recherche, qui nous amène directement à la prochaine amélioration impressionnante de TYPO3 v9 LTS : Une nouvelle API gérant les Meta Tag de manière moderne et rapide.

Optimisation pour les moteurs de recherche

Les bonnes pratiques pour le SEO ne devraient pas dépendre d’extensions tierces, mais devrait être offertes par le système central, avec la possibilité pour les développeurs d’étendre les fonctionnalités standard si nécessaire. Dans TYPO3 v9 LTS, les meta tags définis dans les propriétés de page sont rendu par défaut dans le frontend et aucune configuration supplémentaire n’est nécessaire. Dans l’envers du décor, une nouvelle Meta Tage API gère tout ceci d’une façon moderne et rapide.

Une amélioration plus évidente pour les intégrateurs et les éditeurs est le nouvel onglet "SEO" dans les propriétés de la page du backend. Il contient les options les plus importantes pour indiquer aux moteurs de recherche comment indexer une page et permet également aux utilisateurs d'insérer des informations comme les données Open Graph. Ce protocole est supporté par tous les réseaux sociaux modernes tels que Twitter, Facebook et LinkedIn.

Mais les nouvelles fonctionnalités SEO de TYPO3 v9 LTS ne s'arrêtent pas là : ce ne sont que les bases !

TYPO3 peut également générer des sitemaps XML prêts à l'emploi, avec la possibilité de rendre différents sitemaps par site et par langue. Les intégrateurs peuvent affiner de nombreux aspects avec des options de configuration complètes et des plans de site peuvent même être générés pour des enregistrements spécifiques, par exemple des enregistrements de nouvelles. Les liens canoniques vers les pages sont automatiquement ajoutés si l'extension "SEO" a été activée. L'un des avantages de cette approche est qu'elle empêche les moteurs de recherche de pénaliser les sites en raison du double contenu. Dans les sites TYPO3 multilingues, les balises "hreflang" sont désormais ajoutées automatiquement.

Une nouvelle API de titre de page permet aux intégrateurs et aux développeurs de contrôler exactement comment le titre de la page est affiché. Un concept de repli en plusieurs étapes a été mis en œuvre, qui prend en compte toutes les options de configuration possibles. Par exemple, les titres définis par des extensions tierces, les titres SEO spécifiques fournis par les éditeurs ou les titres sans aucune configuration spécifique dans les propriétés de la page, qui utilisent ensuite le nom de la page comme balise de titre dans le frontal. Les développeurs d'extensions peuvent construire leur propre solution pour définir le titre de la page en utilisant l'API, qui ne nécessite que quelques lignes de code PHP.

Gestion du site

Le module de gestion du site fournit un lieu central où les intégrateurs et les administrateurs peuvent visualiser et gérer tous les aspects de leurs sites.

Configuration de site

Le module « Sites » permet aux utilisateurs backend d’ajouter et modifier la configuration globale pour un ou plusieurs sites dans une instance web. Ceci inclus des options pour les langues du site Web, les URL réécrites, les points d’entrée du site et les paramètres généraux.

Fonctionnalités de redirection

Un autre module nommé « Redirects » à été ajouté pour configurer les redirections. Celles-ci peuvent être limitées à un domaine spécifique et le code de réponse HTTP peut être facilement configuré. L'url source peut être définie avec une expression régulière et une redirection vers le protocole HTTPS peut être forcée.

Changements majeurs au niveau du backend

Pour ceux d'entre vous qui ont travaillé avec des versions précédentes de TYPO3, vous verrez quelques changements immédiatement lorsque vous vous connecterez au backend de TYPO3 v9 LTS.

Arborescence des pages

L'optimisation des performances et l'utilisation des dernières technologies web ont toujours été à l'ordre du jour. Une arborescence de pages incroyablement facile à utiliser, qui est maintenant basé sur les SVG et a des temps de rendu super rapides, permet aux utilisateurs de créer, renommer, déplacer et supprimer des pages en un tournemain. Tout le code ExtJS a été complètement supprimé et le backend TYPO3 est maintenant alimenté par les technologies web les plus modernes et les plus conviviales telles que TypeScript, Bootstrap et jQuery.

Popups modaux

De nos jours, les popups modaux sont le premier choix pour les interfaces utilisateur modernes. TYPO3 utilise désormais ce modèle de conception de manière cohérente dans le backend pour fournir une interaction fluide et ininterrompue avec le système lorsqu'une interaction utilisateur est nécessaire. Cette fenêtre exige que les utilisateurs interagissent avec elle avant de pouvoir revenir à l'exploitation de l'application. Dans TYPO3, il apparaît maintenant, par exemple, lorsque les utilisateurs doivent confirmer des modifications non sauvegardées ou lorsqu'ils sélectionnent un élément de contenu à ajouter à une page ou à un dialogue similaire.

Améliorations supplémentaires

Les images sont maintenant pivotées automatiquement lors du téléchargement, en fonction de leur orientation stockée dans les métadonnées EXIF de l'image. Un nouveau bouton "Dupliquer" a été ajouté, qui peut être activé et permet aux utilisateurs backend de cloner un élément de contenu en un seul clic. Des " interrupteurs à bascule " ont été introduits, qui ne sont pas seulement esthétiques, mais qui sont aussi un outil utile pour permettre aux utilisateurs de passer facilement d'un état à l'autre. Les vignettes sont maintenant chargées de manière asynchrone (par exemple dans la liste des fichiers), ce qui rend le travail dans le backend plus rapide et plus fluide. En mode débogage, le nom de champ de chaque champ FormEngine est affiché aux utilisateurs administrateurs dans le backend. Le processus de configuration des droits d'accès s'en trouve facilité, car les mêmes noms de champs apparaissent lors de la configuration des utilisateurs ou des groupes d'utilisateurs back-end.

Décrire tous les changements et améliorations du backend TYPO3 dépasserait le cadre de cet article. Travaillez avec le backend, et vous ne voudrez plus travailler avec quoi que ce soit d'autre - c'est sûr ! Curieux ? A la fin de cet article, vous trouverez le paragraphe "Plus de détails sur TYPO3 v9 LTS", qui inclut des liens vers des ressources plus détaillées.

System Maintenance Area

L'outil d'installation est un composant important de TYPO3 et fournit des options pour configurer le système, exécuter des vérifications du système et de l'environnement, tester la configuration, et même mettre à jour l'instance vers une nouvelle version de base en un seul clic. Par conséquent, la terminologie "Install Tool" n'était plus exacte et le module a reçu un nouveau nom : "System Maintenance Area".

En plus d'un aspect et d'une convivialité améliorés, qui intègre l'outil en douceur dans le backend de TYPO3, il a également été divisé en quatre modules : "Maintenance", "Réglages", "Mise à niveau" et "Environnement". En utilisant ces catégories, une séparation claire, logique et distincte des fonctions derrière les modules a été réalisée et les utilisateurs peuvent trouver plus facilement les fonctions dont ils ont besoin. La configuration des extensions a également été déplacée du gestionnaire d'extensions vers ce module.

Malgré l'intégration étroite dans le backend de TYPO3 (les utilisateurs remarqueront à peine que les fonctions sont implémentées dans un outil "en dehors" du backend), le System Maintenance Area reste accessible comme application autonome.

Variantes conditionnelles pour les éléments de forme

De plus en plus de sites web utilisent l'extension "form" (également connue sous le nom de "form framework"), qui fait partie du noyau TYPO3 depuis la version 8.5 (décembre 2016). Cette extension du système a maintenant reçu une autre nouveauté magnifique : les variantes conditionnelles.

Les variantes peuvent avoir des conditions et permettre de modifier les propriétés d'un élément de formulaire. De cette façon, vous pouvez manipuler les valeurs des éléments de formulaire, les options du validateur et du finisseur, etc. en fonction des conditions. Quelques cas d'utilisation typiques sont :

  • Traduire les valeurs des éléments de formulaire en fonction de la langue du front-end actuel.
  • Définir et supprimer les validateurs en fonction de la valeur d'un autre élément de formulaire.
  • Définir les valeurs du finisseur en fonction de la valeur d'un élément de formulaire.
  • Masquer un élément de formulaire dans certains finisseurs et sur la page récapitulative.
  • Masquer des pages entières dans le workflow en fonction de la valeur d'un élément de formulaire.
  • Et bien d'autres encore.

La documentation complète contient beaucoup plus de détails et d'exemples.

Admin Panel

Le "TYPO3 Admin Panel" donne un aperçu plus approfondi des processus internes de TYPO3 au moment de l'exécution. Une fois activé, les utilisateurs peuvent accéder aux statistiques de performance et de cache, aux paramètres d'une page spécifique, etc. tout en accédant au front-end du site Web.

Le panneau d'administration a été remanié en ce qui concerne sa conception ainsi que le code et l'architecture sous-jacents. L'apparence visuelle a été modernisée pour faciliter l'accès aux détails du système en les séparant en modules et sous-modules logiques. Les détails les plus importants du système sont affichés d'un coup d'œil rapide avec la possibilité d'afficher des informations détaillées si nécessaire. De plus, les auteurs d'extensions peuvent écrire leurs propres modules ou ajouter des sous-modules aux modules existants.

Le résultat est indéniablement la meilleure fonctionnalité de débogage et de profilage que nous ayons jamais eue dans TYPO3, combiné avec un aspect visuel frais, moderne, mobile et convivial de l'Admin Panel.

Règlement général sur la protection des données (RGPD)

Le RGPD est entré en vigueur en mai 2018 et vise à donner aux utilisateurs plus de pouvoir sur la protection, la transparence et le contrôle de leurs données personnelles, tout en imposant des règles strictes sur l'hébergement et le traitement des données. En tant que système de gestion de contenu d'entreprise leader, TYPO3 v9 LTS aide les administrateurs et les intégrateurs à atteindre une conformité totale au RGPD.

Un certain nombre de paramètres peuvent être configurés pour contrôler si et quel type de données doivent être classées "sensibles" et pour combien de temps elles sont stockées (temps de conservation des données). Les adresses IP stockées dans le système peuvent être rendues anonymes et les vidéos YouTube peuvent être référencées en utilisant un lien sans cookie. De plus, les utilisateurs inactifs du front-end et du back-end peuvent être automatiquement et irréversiblement retirés du système dès la sortie de la boîte. Ceci est conforme au principe de minimisation des données : les données (y compris les profils d'utilisateurs), qui n'existent pas, ne peuvent pas être compromises en cas d'atteinte à la sécurité.

Renforcer la sécurité de TYPO3

La sécurité a toujours été l'une de nos principales priorités et, comme nous le savons, le renforcement de la sécurité d'une application est toujours un processus continu. Il n'est donc pas surprenant que la nouvelle version LTS de TYPO3 augmente encore les standards de sécurité.

Fichiers stockés à l'extérieur de la racine Web

TYPO3 stocke désormais dans le répertoire "var/" des fichiers tels que les fichiers de session de l'outil d'installation, les fichiers de mise en cache, les fichiers liés au verrouillage, à la journalisation, etc. Il est évident que ces fichiers non publics doivent être situés à l'extérieur de la racine du web. Dans le cadre des efforts en cours pour améliorer encore la sécurité de TYPO3, le chemin vers le répertoire "var/" peut maintenant être configuré comme variable d'environnement TYPO3_PATH_APP.

Plus de texte en clair, ni de mots de passe cachés MD5

Le support des mots de passe en texte clair pour les utilisateurs back-end a été abandonné dans TYPO3 il y a plus de quatre ans. Depuis lors, les mots de passe "salés" sont devenus la norme dans TYPO3. Avec TYPO3 v9 LTs, la prise en charge des mots de passe en texte clair touche désormais à sa fin, même pour les utilisateurs frontaux. TYPO3 utilise maintenant l'API de hachage de mots de passe PHP, qui utilise des algorithmes de puissance industrielle, tels que Argon2i et PBKDF2. Etant donné que MD5 est considéré comme très peu sûr pour protéger les mots de passe aujourd'hui, même le support des hachages MD5 standard a été abandonné. Il n'y a pas grand chose que les intégrateurs de TYPO3 doivent faire pour sécuriser les mots de passe de leurs utilisateurs. Dès que l'utilisateur se connecte, son mot de passe est automatiquement mis à jour au besoin.

Des cadeaux pour les intégrateurs et les développeurs

Contrairement à de nombreux autres systèmes concurrents dans le paysage CMS, TYPO3 a une réputation incontestable d'être très flexible et ouvert en ce qui concerne la personnalisation. L'architecture interne, les nombreuses API publiques et les hooks/signals permettent aux développeurs PHP de construire des solutions qui répondent parfaitement aux besoins de leurs clients. En même temps, les versions LTS introduisent souvent de nouvelles technologies de pointe, qui transforment le travail avec le CMS en un voyage agréable pour les développeurs. TYPO3 v9 LTS offre des avantages similaires et les paragraphes suivants décrivent les points forts pour les intégrateurs et les développeurs.

Création de tables de base de données simplifiée

Les développeurs peuvent maintenant omettre plusieurs des attributs par défaut de la base de données dans le fichier "ext_tables.sql" de leur extension. L'analyseur de schéma de base de données a été rendu plus intelligent pour TYPO3 v9 LTS et crée maintenant automatiquement la plupart des champs de gestion, par exemple "uid", "pid", "tri", date et heure de début et de fin, les indicateurs cachés et supprimés, etc. Par conséquent, les développeurs peuvent se concentrer davantage sur la logique métier et laisser TYPO3 s'occuper de la création des champs internes au système et des champs nécessaires à la gestion du langage et des espaces de travail.

API contextuelle

Dans les versions précédentes de TYPO3, beaucoup de données provenant de différentes parties du système étaient dispersées. TYPO3 v9 LTS introduit une nouvelle API Context qui vise à remplacer ces objets globalement disponibles (par exemple TSFE, sys_page, BE_USER). Au lieu d'exposer un objet complet, les "aspects" de l'API ne contiennent que les propriétés qui sont pertinentes et requises. L'objectif principal de ce concept est de centraliser les variables globales d'une manière commune, structurée et logique.

Normes PSR-3, PSR-7 et PSR-15

La Recommandation Standard PHP (PSR) est une spécification publiée par le PHP Framework Interop Group. En suivant cette spécification, les applications logicielles assurent des normes de codage de haute qualité, une conception de système de meilleure pratique et l'interopérabilité avec les bibliothèques indépendantes.

Plus tôt cette année, TYPO3 a introduit les middlewares PSR-15 aussi bien dans le frontend que dans le backend, ce qui fait de TYPO3 l'un des premiers systèmes de gestion de contenu d'entreprise sur le marché à faire ce pas. Toutes les requêtes Web du noyau TYPO3 renvoient une réponse conforme à PSR-7, la norme pour les interfaces de messages HTTP.

Les développeurs savent à quel point la journalisation est importante et qu'une interface commune peut être cruciale pour suivre les erreurs, enregistrer les événements importants et les problèmes de débogage. La norme PSR-3 décrit une interface de journalisation pour les applications PHP, qui est maintenant utilisée par toutes les procédures de journalisation du système TYPO3.

Commutateurs de fonctions

La zone de maintenance système dans le backend de TYPO3 mentionnée plus haut contient une fonction appelée "Commutation des fonctions", qui permet aux intégrateurs de TYPO3 d'activer et de désactiver les fonctions centrales selon les besoins. En combinaison avec une nouvelle classe d'API " Features", TYPO3 v9 permet aux développeurs de construire facilement de nouvelles fonctionnalités à côté de leur ancienne version et aux intégrateurs de contrôler si et quand passer à cette nouvelle fonctionnalité.

Symfony ExpressionLanguage Component

Les conditions TypoScript ont une longue histoire et sont largement utilisées. Un autre grand pas en avant est l'introduction du composant Symfony ExpressionLanguage dans TYPO3 v9 LTS. Le composant ExpressionLanguage utilise une syntaxe spécifique et ajoute un certain nombre de fonctionnalités puissantes aux conditions TypoScript pour le frontend, ainsi que pour le backend. Un ensemble de variables et de fonctions utiles sont déjà livrées avec le noyau TYPO3, et les développeurs peuvent aller plus loin si nécessaire.

File d'attente du courrier (SwiftMailer)

Dans TYPO3 v9 LTS, vous pouvez maintenant utiliser la fonctionnalité de file d'attente de SwiftMailer - également connue sous le nom de "transport de spool". Dans la plupart des cas, les développeurs veulent envoyer des courriels immédiatement, mais dans certaines circonstances, faire la queue et les traiter plus tard est bénéfique, par exemple pour des raisons de performance. C'est maintenant possible : les mails peuvent être mis en file d'attente en mémoire ou dans des fichiers. Dans ce dernier cas, l'envoi d'emails spooled peut être déclenché par un appel en ligne de commande ou par une tâche scheduler.

La mise à jour des sites TYPO3 en toute simplicité

Nous comprenons l'importance d'une mise à jour d'une version majeure à l'autre. Ce processus devrait être aussi simple que possible avec un minimum d'efforts (en particulier d'un LTS à la dernière version LTS), mais dépend souvent d'extensions tierces installées. Nous avons ouvert la voie en introduisant le scanner d'extension à TYPO3 v9 LTS. Cet outil fournit une interface interactive pour scanner le code d'extension pour l'utilisation des API de base TYPO3 qui ont été supprimées ou marquées obsolètes. Le résultat est un aperçu détaillé de ce qui doit être fait pour réussir la migration vers la prochaine version de TYPO3. Si les extensions utilisent des appels API obsolètes, l'Extension Scanner suggère même la documentation appropriée sur la façon de migrer ce morceau de code spécifique.

Configuration système requise

Après avoir lu toutes les nouvelles fonctionnalités et améliorations, nous comprenons que vous avez hâte de découvrir la nouvelle version maintenant. Jetons un coup d'œil à la configuration système requise pour TYPO3 v9 LTS - un système d'entreprise conçu avec un œil attentif au développement futur.

TYPO3 v9 LTS nécessite une pile technologique moderne avec PHP version 7.2 et un serveur de base de données tel que MySQL, MariaDB, PostgreSQL ou Microsoft SQL Server. Tous les serveurs web couramment utilisés sont supportés (par exemple Apache, nginx, Microsoft IIS, etc.). Au moins 256M octets de mémoire doivent être alloués à PHP. Le Guide d'installation et de mise à niveau fournit plus de détails sur la configuration système requise et les paramètres recommandés.

TYPO3 sans serveur de base de données

TYPO3 v9 LTS supporte également "SQLite", une solution de base de données populaire, légère et basée sur fichiers, disponible en PHP. En utilisant SQLite, les instances web de TYPO3 peuvent s'exécuter nativement en PHP, ce qui est parfaitement logique pour des sites TYPO3 relativement petits ou par exemple pour des instances de test et de développement.

Télécharger

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. Bien sûr, vous pouvez également utiliser l'approche moderne et mettre en place un projet en utilisant composer. Des instructions d'installation détaillées sont disponibles sur get.typo3.org/version/9 et dans le Guide d'installation et de mise à jour.

En tant que version LTS, la version 9.5 de TYPO3 marque la dernière version de la série 9.x et sera maintenue et corrigée pendant 1,5 an, avec des mises à jour de sécurité pendant au moins trois ans jusqu'en octobre 2021. La TYPO3 GmbH offre un support étendu pour TYPO3 v9 LTS jusqu'en 2024.

Plus de détails sur TYPO3 v9 LTS

Pour en savoir plus sur les nouvelles fonctionnalités, les changements et les améliorations de TYPO3 v9 LTS, jetez un coup d'oeil à TYPO3 What's New Slides et aux notes détaillées des Sprint Releases v9.0 à v9.5.

Remerciements

La Core Team de TYPO3 tient à remercier tous ceux qui ont contribué à la réalisation de cette étape importante. Toutes les personnes impliquées ont joué un rôle important dans ce projet et sans votre temps et votre enthousiasme, nous ne serions pas où nous en sommes aujourd'hui. Un grand merci pour tout votre travail de développement, pour avoir signalé des bugs, révisé des changements, testé des correctifs et de nouvelles fonctionnalités, maintenu l'infrastructure, renforcé la sécurité, écrit, édité et copié de la documentation et des articles, organisé et sponsorisé des événements, participé à des sprints de code, partagé vos connaissances et soutenu les autres et fait connaître TYPO3.

La communauté TYPO3 remercie également tous les sponsors qui ont contribué ou soutenu financièrement les initiatives stratégiques et les événements TYPO3 et Inge Bateman pour sa précieuse contribution à la création de cet article.

Comments

No comments

Feedback