TYPO3 : Le TypoScript, c'est propre et sûr

Yannick Pavard explique le TypoScript sur le site d'Infoglobe. Le TypoScript langage de configuration de sites TYPO3, se révèle très pratique pour la gestion des propriétés d'éléments de contenu d'un site.

Comme je le disais en introduction, le Typoscript est l’avantage numéro 1 lorsque vous choisissez TYPO3 pour créer vos projets Web. Maintenant je n’hésite même plus à le dire à nos clients, ce qui n’était pas le cas il y a quelques années car peu familiarisé avec le TS. D’ailleurs à mon sens un client a plus d’avantages à aller modifier une constante quelque part dans le TS que d’aller jouer dans le code PHP, vous n’êtes pas d’accord ? Et si une entreprise a une équipe de développeurs PHP, l’apprentissage du Typoscript n’est pas une si haute marche à gravir pour eux autres.

Dans cet article, il semble falloir comprendre que le TypoScript est vraiment quelque chose de génial. Pourtant, j'imagine que le novice n'aura pas tout à fait retenu ou compris les argurments principaux. Alors, j'en remet une couche.

Pour moi, le TypoScript offre l'avantage de séparer, de manière stricte, les couches d'intégration HTML, de configuration TypoScript et de développement PHP. Cette manière de procéder est évidemment mal acceptée par un développeur qui va réaliser toute la chaîne, à la fois une intégration de gabarits et le développement fonctionnel. Plutôt que d'aller taper directement dans le PHP pour définir les évenéments, il va devoir se familiariser avec un langage supplémentaire qui présente sa propre logique. Je comprends, c'est fastidieux.

Maintenant plaçons nous dans le cas d'une équipe constitutée de deux ou trois personnes pour la réalisation d'un site en TYPO3. La séparation stricte des parties du code va permettre de séparer les métiers.

TYPO3 4.3 t3editor auto completion

Ainsi, le gabarit HTML ne contient que du HTML. Dans TYPO3, on appelle un fichier HTML et on demande d'aller cibler des zones (selon le chemin ou l'identifiant), il n'est pas nécessaire d'insérer de code (PHP) à l'intérieur. Le code PHP ne renvoie que des données, il n'est normalement pas nécessaire de mettre en place des méthodes spécifiques pour la gestion d'un effet sur une page. Entre les deux, le TypoScript gère un traitement des données (options d'un plugin, écriture d'un lien, insertion de class CSS, affichage de menus…), que l'on peut actionner à partir de différentes constantes.

Donc, le fichier HTML peut être modifié par un intégrateur HTML sans connaissances de PHP. Le code PHP n'est pas pollué par la couche de présentation ou de configuration, il gère les données ; il est plus lisible, plus facile à maintenir ; le développeur n'intègre pas de code HTML (souvent non valide). Le TypoScript permet de configurer le fonctionnement d'un site selon les désirs et les pratiques du client.

Donc, si cette même équipe prend le même code HTML, ne touche pas aux fichiers PHP (à moins de les faire évoluer) et applique une configuration légèrement différentes du TypoScript pour appeler une CSS différentes ou autres ; elle peut mettre en ligne un nouveau site sans repartir de zéro.

Pourquoi Yannick Parvard écrit-il un article sur le TypoScript ? Pourquoi semble-t-il si enthousiaste ?

Et bien parce que Yannick traite des sites en TYPO3 depuis plus de 5 années. Ces sites sont (je crois) à majorité des sites gouvernementaux, qu'on peut catégoriser comme éditoriaux, avec un grand volume de pages et avec des contraintes de multilinguisme.

TYPO3 est vraiment un formidable outil pour ce genre de sites. Il est très facile de mutualiser le code des extensions (qui ne contiennent aucunes spécificités). Une partie du code TypoScript pourra aussi être partagée entre tous les sites, seules les constantes différeront.

De cette manière, malgré la taille que peuvent avoir ces sites, le nombre de sites à faire évoluer, la version TYPO3 de chacun d'eux. Yannick peut aisément se replonger dans leur code et les mettre à jour. A priori pas d'effets de bord sur les dépendances de fichiers PHP, pas de casse sur le HTML, pas de conflits entre les configurations de plusieurs sites : c'est propre, c'est sûr.

TYPO3, avec son langage Typoscript, est particulièrement adapté à des équipes avec assez de personnes pour pratiquer la spécialisation par métier. La couche de configuration étant séparée, elle est centralisée. Chacun des membres de l'équipe aura à charge un certain de fichiers ou langages (c'est bien allemand comme mode de pensée). Ce mode d'organisation se révelera avantageux à mesure que le nombre sites à gérer augmentera. Le coup de maintenance par sites supplémentaires sera faible.

Bien entendu, le temps nécessaire pour la maitrise de ce CMS en particulier, ajouté au temps pour se créer un portefeuille de clients conséquent peut être très long. Et puis c'est pas l'outil qui fait le bon développeur ; ce qui compte c'est de coder de manière propre.

Pourtant dans le cas d'Infoglobe, il semble qu'au final, l'investissement est payant : Le Typoscript, c’est quoi exactement ?.