Qu'est-ce qu'un ensemble de sites ?

| TYPO3-integrator | site set0

Les Site Sets sont l'un des nouveaux concepts les plus importants de TYPO3 13 pour la gestion et la configuration des sites web. Ils fournissent un moyen structuré et efficace de définir et de réutiliser les paramètres spécifiques au site, TypoScript, Page TSconfig et les éléments de contenu. Ceci est particulièrement utile dans les environnements avec plusieurs sites web ou des projets complexes.

Les Site Sets fonctionnent comme des "enveloppes" ou des conteneurs pour les éléments de configuration. Il s'agit de paquets prédéfinis que vous pouvez appliquer à un ou plusieurs sites.

Ils vous permettent de

  • de gérer les paramètres de manière centralisée.
  • Regrouper TypoScript et TSconfig.
  • de gérer les éléments de contenu disponibles.

C'est un grand pas en avant par rapport aux versions précédentes de TYPO3, où beaucoup de ces configurations étaient dispersées à différents endroits ou dépendaient de l'importation manuelle de modèles TypoScript statiques.

Pourquoi utiliser les Site Sets ?

L'utilisation des Site Sets offre plusieurs avantages :

  • Réutilisation: les développeurs et les administrateurs peuvent définir des configurations dans un Site Set et les appliquer à plusieurs sites web dans la même installation TYPO3. Cela réduit la duplication et assure la cohérence.
  • Modularité: Vous pouvez diviser les fonctionnalités en ensembles plus petits et plus faciles à gérer. Par exemple, un Site Set pour les paramètres SEO, un pour le code de suivi, ou un pour des blocs de contenu spécifiques.
  • Gestion aisée: un Site Set peut être livré en tant que package Composer, ce qui facilite la mise en œuvre et les mises à jour. Il n'est pas nécessaire d'utiliser des enregistrements de base de données ou des enregistrements TypoScript "sys_template" pour configurer un site, ce qui simplifie le déploiement.
  • Fiabilité: les Site Sets étant déclaratifs et définis par du code (généralement dans des fichiers YAML), ils sont moins sujets aux erreurs humaines que les configurations manuelles dans le backend. Les paramètres non valides sont ignorés et reviennent aux valeurs par défaut, ce qui garantit la stabilité du site.

Comment fonctionnent les Site Sets ?

Les Site Sets sont définis dans des fichiers YAML dans le dossier Configuration/Sets/ d'une extension.

Un Site Set se compose généralement des fichiers suivants :

config.yaml : ce fichier définit le nom et l'étiquette du Site Set, ainsi que les dépendances éventuelles avec d'autres Site Sets.

Exemple : Cet exemple montre comment un Site Set appelé my/site peut dépendre d'autres Site Sets tels que my/slider et my/hero.name : my/site

label : 'Set for My Site' (Ensemble pour mon site)

dépendances :

- my/slider

- my/hero

settings.definitions.yaml : Vous définissez ici la structure et les règles de validation des paramètres fournis par ce Site Set. Vous indiquez le type de données attendues (par exemple, la couleur), une valeur par défaut (default), un libellé et une description.

Exemple : Ces paramètres sont validés, ce qui signifie que si une valeur non valide est saisie (par exemple "3" au lieu d'un code couleur), la valeur par défaut est utilisée au lieu de provoquer un message d'erreur.

paramètres :

mysite.brandColor :

type : colour

default : '#000'

label : 'Couleur de la marque'

description : 'Définit la couleur de la marque de ce site'

catégories :

- design

settings.yaml : Ce fichier contient les valeurs réelles des paramètres définis dans settings.definitions.yaml. Ces valeurs peuvent être modifiées par Site Set ou par site individuel.

Exemple : settings.yaml

settings :

mysite :

brandColor : '#f3d4a1'

setup.typoscript et page.tsconfig : Ce sont les fichiers dans lesquels vous définissez la configuration du TypoScript et la configuration de la page. TYPO3 13 charge automatiquement ces fichiers dans le cadre du Site Set.

Exemple de configuration TypoScript :

page = PAGE

page {

10 = PAGEVIEW

10.paths.100 = EXT:mysite/Resources/Private/Templates/

}

Exemple de page TSconfig :

mod {

BackendLayouts {

MyLayout {

title = ...

config {

...

}

}

}

}

Utilisation pratique des Site Sets

Les utilisateurs du backend remarqueront principalement que les paramètres et les fonctionnalités du backend sont plus logiques et cohérents.

L'éditeur de Site Sets, une nouvelle fonctionnalité de TYPO3 13, fournit une interface utilisateur pour visualiser et éditer les paramètres des Site Sets, ce qui permet aux administrateurs d'ajuster plus facilement la configuration du site sans avoir à plonger directement dans le code.

Migration de la configuration existante

Pour les sites mis à jour vers TYPO3 13, il est important de noter que les enregistrements TypoScript sys_template existants fonctionnent toujours, mais que les Site Sets sont préférables. Pour une migration propre, il est recommandé de déplacer le code d'installation TypoScript dans setup.typoscript au sein d'un Site Set et de définir les dépendances dans config.yaml.

 

Les Site Sets sont un ajout puissant qui change fondamentalement la façon dont les sites web TYPO3 sont configurés et gérés, visant à fournir plus de cohérence, d'efficacité et d'évolutivité.

 

Voici un exemple simplifié de ce à quoi les fichiers d'un Site Set appelé my/site pourraient ressembler :

votre_extension/

└─── Configuration/

└── Sets/

└── my/

└── site/

config.yaml

└── settings.definitions.yaml

settings.yaml

└── setup.typoscript

└── page.tsconfig

Explication de la structure :

  • your_extension/ : C'est le répertoire racine de votre extension TYPO3 personnalisée. Les ensembles de sites sont généralement définis dans les extensions.
  • Configuration/ : Un dossier par défaut dans les extensions TYPO3 pour les fichiers de configuration.
  • Sets/ : Le dossier spécifique où les définitions des Site Sets sont placées.
  • my/ : Il s'agit d'un sous-dossier qui permet d'organiser les Site Sets, en particulier si vous en avez plusieurs. Vous pouvez suivre votre propre convention de nommage ici.
  • site/ : Il s'agit du dossier qui contient la définition de l'ensemble de sites my/site. Le nom de ce dossier correspond à l'attribut name du fichier config.yaml (ici my/site).
  • config.yaml : Contient des informations de base sur l'ensemble de sites, telles que son nom, son étiquette et ses dépendances.
  • settings.definitions.yaml : Définit la structure et la validation des paramètres fournis par cet ensemble de sites.
  • settings.yaml : Contient les valeurs par défaut des paramètres définis dans settings.definitions.yaml.
  • setup.typoscript : Contient la configuration TypoScript associée à cet ensemble de sites.
  • page.tsconfig : Contient la page TSconfig associée à cet ensemble de sites.

Cette structure fournit une manière organisée et modulaire de gérer et de réutiliser les configurations spécifiques au site dans TYPO3 13.

L'implémentation précédente disparaîtra-t-elle avec les versions suivantes ?

Dans TYPO3 13, les enregistrements traditionnels TypoScript sys_template fonctionnent toujours. Cependant, les Site Sets sont fortement encouragés comme la méthode préférée pour configurer les sites. Bien qu'il n'y ait pas d'annonce immédiate de la disparition complète des enregistrements sys_template, la direction est claire : les Site Sets sont l'avenir de la configuration des sites dans TYPO3. Il est conseillé de configurer les nouveaux projets avec des Site Sets et, lors de la mise à jour de projets existants, de migrer progressivement la configuration vers des Site Sets afin d'être prêt pour les futures versions de TYPO3.

Y a-t-il des problèmes de performance par rapport à la méthode des Site Sets ?

En général, les Site Sets offrent de meilleures performances que la méthode traditionnelle sys_template, et ce pour plusieurs raisons :

  • Configuration déclarative : Les Site Sets sont définis dans le code (YAML, TypoScript, fichiers TSconfig) et sont automatiquement chargés par TYPO3. C'est plus efficace que de récupérer et d'analyser la configuration à partir des enregistrements de la base de données (comme avec sys_template), ce qui nécessite des requêtes de base de données et des traitements supplémentaires.
  • Chargement automatisé : TYPO3 13 charge les fichiers de configuration dans un Site Set automatiquement et de manière optimisée. Cela réduit les frais généraux qui peuvent être associés à des inclusions manuelles ou à des structures sys_template complexes.
  • Moins de dépendances : En définissant explicitement les dépendances entre les Site Sets, TYPO3 peut charger la configuration plus efficacement et gérer les conflits mieux qu'avec les dépendances plus implicites qui surviennent parfois avec les inclusions sys_template.
  • Intégration de Composer : Les Site Sets peuvent être gérés comme des packages Composer, assurant un processus de déploiement et de mise à jour rationalisé, ce qui contribue aussi indirectement à un environnement plus stable et potentiellement plus performant puisque les erreurs de configuration sont minimisées.
  • Bien que les différences de performance puissent varier d'un projet à l'autre en fonction de la complexité de la configuration, la méthode des Site Sets est intrinsèquement plus efficace et évolutive pour la configuration des sites dans TYPO3 13.
  • Gérer les Site Sets comme des packages Composer

Un aspect important des Site Sets dans TYPO3 13 est leur intégration avec Composer. Composer est un gestionnaire de dépendances pour PHP, utilisé pour installer et gérer les bibliothèques et extensions nécessaires à un projet.

Qu'est-ce que cela signifie en pratique ?

Définition déclarative : Au lieu d'arranger manuellement la configuration dans le backend ou via la base de données, vous définissez un Site Set dans le cadre d'une extension. Cette extension, y compris les définitions de l'ensemble de sites (les fichiers YAML susmentionnés et les fichiers TypoScript/TSconfig), peut ensuite être structurée comme un paquet Composer.

Installation et mises à jour faciles : Tout comme vous installez une extension TYPO3 normale ou une autre bibliothèque PHP via Composer (e.g. composer require my-vendor/my-site-set), vous pouvez installer une extension Site Set. Composer s'assurera alors que tous les fichiers nécessaires sont au bon endroit. Les mises à jour de Site Set sont également faciles : une commande composer update récupère la dernière version, y compris les changements de configuration.

Contrôle de version et cohérence : En gérant les Site Sets dans Composer, ils sont automatiquement inclus dans le système de contrôle de version de votre projet (par exemple Git). Cela signifie que toute la configuration de votre site fait partie de la base de code. Cela favorise la cohérence entre les différents environnements de développement (développement, staging, production) et facilite le suivi et le retour en arrière des modifications.

Environnements reproductibles : Lorsque vous démarrez un nouveau projet ou que vous configurez un projet existant, il vous suffit d'exécuter composer install. Composer installe alors toutes les extensions et tous les Site Sets définis, garantissant ainsi un environnement de projet identique et reproductible.

Configuration partagée : Les développeurs peuvent créer des Site Sets réutilisables pour des configurations communes (par exemple, un ensemble pour l'intégration de Google Analytics, ou un ensemble de base pour tous les nouveaux sites web). Ces ensembles peuvent ensuite être publiés en tant que paquets Composer distincts et partagés entre les projets.