boite Typo3 version 4Un CMS (Content Management System), Système de gestion de contenu (SGC) est un dispositif qui permet de mettre à jour dynamiquement un site web. Typo3 est un CMS créé en 1997 par le danois Kasper Skårhøj.

Le développement de Typo3 a commencé en 1997. Typo3 est écrit en PHP. En 1998, l'outil est sous licence commerciale dans la société superfish.com. En octobre 98, l'une des premières versions est présentée en France au salon IFRA de Lyon. Pendant l'été 1999, Kasper quitte superfish.com avec les droits de Typo3. Il en continue le développement seul. 1 an plus tard, en août 2000 (et quelques jours avant son mariage) Kasper publie la première version en libre téléchargement.

Photo de Kasper Skårhøj
Kasper Skårhøj est un homme profondément chrétien. Il demande sur sa page personnelle de respecter un contrat moral et de ne pas utiliser Typo3 pour des publications NewAge, des messages antichrétiens, des publications pornographiques ou de la propagande politique présentant des idées extrêmes. Rasmus Lerdorf est Groenlandais, Linus Torvald finlandais et Kasper Danois. Il semble que les pays nordiques soient un nid de créateur de logiciel libre !
Kasper a donné 8 ans de sa vie pour créer Typo3 et il pense que les choses matérielles ont peu d'importance. Plutôt que de vendre son application, il l'a publié sous licence GPL. Ce choix, guidé par une grande piété, fait qu'aujourd'hui Typo3 représente plus de 5 000 références à travers le monde.




La France est intimement liée à Typo3. Typo3 a été officiellement présenté pour la première fois à Lyon. Plus récemment, Dassault System a largement contribué aux améliorations de Typo3. Pourtant, cet outil est relativement peu connu en France. C'est SPIP, un outil 100% français lui aussi en PHP, qui occupe la tête d'affiche. SPIP est utilisé sur la majorité des sites gouvernementaux français qui ont développé leur propre version : SPIP Agora. Il est regrettable de constater que ce fait n'est pas mérité, SPIP ne tenant pas longtemps la comparaison avec Typo3. Avec SPIP, l'état français c'est englué dans un nouveau Minitel. On notera au passage le clache entre la communauté open source et les organismes gouvernementaux.

Typo3 mérite qu'on s'y intéresse et a retenu l'attention de l'équipe Nalis. Cet outil sort du lot des CMS par sa souplesse d'utilisation et ses innovations. Les utilisateurs de Typo3 vous diront que le contact le plus basique avec typo3 sont les "crayons". Il suffit de s'authentifier sur l'espace d'administration puis de retourner sur le site internet "public" et constater l'apparition d'icône crayon en face de chaque contenu éditable.
Typo3 crayons sur le site

On peut parcourir le site et éditer un élément grâce au crayon adjacent. Une faute d'orthographe ? Une précision à apporter? Une illustration à changer? Typo3 permet de faire cela en 3 clics de souris. C'est une véritable valeur ajoutée absente de SPIP mais présente dans de nombreux autres CMS open-source ou commerciaux. On illustre cette fonctionnalité par l'a modification du bloc de contenu guitare ci dessus qui affiche la pop-up d'édition ci dessous
Typo3 pop-up d'edition
Le back-office permet de prendre une plus grande mesure de l'efficacité de l'outil. L'interface d'administration se découpe en 3 parties, le menu, l'arborescence du site et la zone de travail.

Dans typo3, une page est composée de colones. Cette désignation est abusive, il conviendrait plutôt d'employer le terme de zone. On peut venir saisir des contenus dans différentes zones. Chaque zone peut bénéficier d'un traitement graphique particulier, là où beaucoup d'outils de gestion de contenu se limitent à la publication d'un contenu proche d'une news ou d'un billet.
Interface d'administration de Typo3

Il faut bien comprendre l'intervention de l'outil de CMS sur la page. Sur une page générée par un CMS, on distingue 3 types d'éléments :
  • les éléments fixes de page en page (logo, pied de page, ...)
  • la navigation générée automatiquement par l'outil (une nouvelle page créée provoque automatiquement l'apparition d'un lien dans le menu de navigation sur toute les autres pages !)
  • les éléments de contenu propre à une page, éditable par l'utilisateur

Techniquement, le développeur doit intégrer une page HTML modèle: un template ou gabarit. On remplace le contenu par des balises spécifiques qui délimitent la zone dans laquelle Typo3 viendra insérer le contenu. Il semble finalement que ceci est assez proche de ce que propose Spip avec ses "squelettes".

La prise en main de Typo3 est douloureuse. Le langage de template de Typo3, le typoscript possède une logique particulière. Après plusieurs mois d'utilisation, on peut avoir une bonne idée du fonctionnement de l'outil mais il faut plus de temps pour en acquérir une véritable maîtrise. Typo3 permet véritablement de construire une page. Toutefois, une mise en forme aboutit comme une page d'accueil sera limitée par le nombre de colonnes.

2003 : Kasper travaille en France à la mise au point un CMS spécifique à partir d'une base Typo3 pour Dassault System. Cette collaboration aboutira à la création du module Templa Voila qui deviendra la fonctionnalité principale de la version 4 sortie ce printemps. Templa Voila permet d'aller très loin. Toutes les pages deviennent modifiables par un CMS. Techniquement, Templa Voila met en oeuvre 2 nouveaux mécanismes :
  • l'identification des zones de contenu à la souris et le nombre de zone devient illimité
  • les contenus 'flexibles '
Dans tout les outils de CMS, il faut entrer dans le code HTML pour indiquer à quel endroit le contenu dynamique va être inséré. Avec la version 4 de Typo3, c'est terminé. La page modèle s'affiche et on indique à la souris la délimitation de la zone de contenu.
La capture ci dessous illustre cette fonctionnalité. Pour identifier le positionnement d'un élément de menu, on vient cliquer sur la balise html en sur-impression de la page.

Mappage de zone avec Typo3 et Templa Voila


Les contenus flexibles (ou flexible content) sont tout aussi innovants. La mise en forme d'un élément ne peut pas toujours se résumer à un article, à un paragraphe ou à quelque chose composé d'un titre, d'un corps et éventuellement d'image. Un contenu flexible permet de définir un type de contenu et la mise en forme qui lui est associé. Par exemple, une citation est un contenu texte (sans titre) auquel on souhaite apporter une mise en forme particulière (encadré avec des images de guillemets). Il suffit pour l'utilisateur de créer un nouvel élément citation dans la zone qui lui convient : c'est tout. On peut aller beaucoup plus loin en réalisant des tableaux comparatifs mêlants images, listes, liens chacun mis en forme spécifiquement par la feuille de style. L'exemple ci dessous montre bien le champs personnalisé (url et texte) d'une liste mis en oeuvre dans ce contenu flexible.






La version 4 de Typo3 s'affirme comme une évolution majeure de l'outil en plus de nombreuses améliorations Templa voila fait maintenant parti du coeur de l'application. Typo3 est en bonne position pour s'affirmer comme la référence des outils de gestion de contenu particulèrement dans les mondes opensource et PHP.