# TYPO3

TYPO3 est un système de gestion de contenu (CMS) libre écrit en PHP, créé en 1997 par le Danois Kasper Skårhøj.
TYPO3 est publié sous la Licence publique générale GNU et fonctionne sur un serveur Apache ou IIS.

## Historique

Le développement de TYPO3 a commencé en 1997. En 1998, l'outil est sous licence commerciale dans la société superfish.com. En octobre 1998, 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. Un an plus tard, en août 2000, Kasper publie la première version en libre téléchargement.
Dassault Systèmes a largement contribué aux améliorations de TYPO3. Durant l'année 2003, Kasper travaille en France à la mise au point d'un système de gestion de contenu spécifique à partir d'une base TYPO3 pour Dassault Systèmes. Cette collaboration aboutira à la création de l'extension TemplaVoilà!, initialement prévue comme fonctionnalité principale de la version 4 (sortie au printemps 2006). Cependant, elle ne fut pas intégrée et reste à l'heure actuelle une extension.
En parallèle de la version 4, une nouvelle branche de TYPO3 est en cours de développement, laquelle sera la version 5 de TYPO3. Cette version 5 sera basée sur le framework de développement FLOW3.
Chaque branche possède sa propre équipe de développement. L'équipe de développement de la branche 4 de TYPO3, la Core Team V4, comprend une trentaine de membres ce qui permet de garantir une bonne stabilité au projet.
De par son ancienneté et sa qualité, TYPO3 est bien implanté dans les administrations publiques, comme par exemple au Québec, ainsi que dans les entreprises. TYPO3 possède de nombreuses références auprès de grands comptes $^,$.
En 2009, les projets TYPO3 et FLOW3 ont chacun atteint la finale des « SourceForge Community Choice Awards », dans la catégorie « Best Project for the Enterprise » pour TYPO3 et dans la catégorie « Best New Project » pour FLOW3.
Au 28 décembre 2012, TYPO3 avait été téléchargé plus de 5,8 millions de fois et utilisé par tout près de 500 000 sites. Sans compter les quelque 60 000 utilisateurs inscrits.
Avec la version 4.4, est apparu un Introduction package qui permet d'installer et de configurer très facilement un site d'exemple afin de tester les fonctionnalités de TYPO3.
Au 26 novembre 2010, le site cmscrawler, place TYPO3 en 4e position des CMS les plus utilisés en Europe avec 81 000 instances détectées, derrière Joomla! (117 000 références), Wordpress (109 000 instances), et devant Drupal (18 000 instances).
Avec la version 4.5, l'association TYPO3 propose un support long terme de 3 ans (LTS), afin de permettre à des entreprises dont les cycles de mise à jour sont longs d'utiliser une version de TYPO3 supportée et maintenue par la core team.
La version 4.6 est une version de refondation, d'optimisation et de stabilisation, avec notamment l'utilisation obligatoire d'une version 5.3.X de php, l'abandon du support IE6 et des fonctions annoncées comme dépréciées de longue date.
La version 4.7 avec un support renforcé de l'accessibilité.
La version TYPO3 CMS 6.1 "released" (6.1.0) est disponible depuis le 30 avril 2013. Il faut noter que pour installer cette distribution, l'une des versions 5.3.7-5.5.x de PHP doit être installé, alors que pour MySQL c'est l'une des versions 5.1.x-5.5.x qui est requise.
La version TYPO3 9.5 est disponible en LTS (long term support) depuis fin 2018, elle intègre de nombreuses fonctionnalités natives incontournables: Multilingue, multi-sites, réécriture d'URL couplée à un outil de référencement, constructeurs de formulaires, framework MVC dédié (extBase) qui à l'instar de Symfony suit les normes PSR, moteur de templates dédié (Fluid), gestion intégrée des utilisateurs avec différenciation des utilisateurs Backend et Frontend, gestion du cache et minification des ressources... Chaque composant du CMS est entièrement personnalisable.

## Caractéristiques

TYPO3 est un système de gestion de contenu complet, qui dispose de la plupart des fonctionnalités recherchées. Un aperçu des possibilités de TYPO3 est disponible sur CMS matrix
Les principaux points forts de TYPO3 sont :
Points forts techniques de l'outil liés à l'architecture logicielle
* Une architecture en plugin basée sur des extensions qui permet :
** une évolution maîtrisée des développements ;
** une adaptation possible de TYPO3 aux besoins du client sans toucher au cœur de TYPO3.
* Une forte adhérence aux standards d'accessibilité du web.
* Un processus de publication sur le core TYPO3 garantissant la qualité du code et la sécurité.
Points forts fonctionnels de l'outil liés à l'utilisation en entreprise entre autres
* De très nombreuses extensions disponibles, développées par la communauté ou des entreprises.
* Une gestion très fine des droits des contributeurs (inspirée d'Unix) permettant de créer des profils de contributeurs différents selon les besoins.
* La possibilité d'utiliser des workflows de publication pour les contributeurs.
* Une gestion multi-sites aisée.
* Une communauté active.
* La présence d'une version LTS (Long Term Support) pour les entreprises qui possèdent des cycles de mise à jour longs.
* La présence d'un package d'introduction, pour tester et prendre en main rapidement l'outil.

## Présentation des versions de TYPO3

La politique de gestion des versions est la suivante, pour une version courante identifiée 6.x :
* Le développement est réalisé sur la version 6.x+1.
* La version stable est la 6.x. Elle est activement maintenue. Le périmètre de cette maintenance est la correction des bugs après acceptation du Release Manager et l'application des patchs de sécurité.
* L'ancienne version stable est 6.x-1. Elle est partiellement maintenue. Tous les patchs de sécurité sont appliqués, cependant les bugs sont corrigés à la discrétion de la Core Team et du Release Manager.
* Sur la version précédant la 6.x-2 (status deprecated), seules les failles critiques sont corrigées.
* Les branches plus anciennes ne sont plus supportées.
L'équipe de développement TYPO3 se donne comme objectif de sortir une nouvelle version de TYPO3 tous les 6 mois.
En parallèle de ce processus de développement en cycle court et rapide, une version long terme, taggée comme LTS, est maintenue sur trois ans afin d'offrir un support aux entreprises qui possèdent des cycles de mise à jour plus longs.
Afin de garantir la qualité du code et minimiser les problèmes de sécurité, seuls les membres de la Core Team TYPO3 possèdent le droit de livrer des modifications dans le core TYPO3 en respectant le processus suivant :
* Le correctif est soumis à un vote (+1 ou -1) et doit obtenir finalement deux relectures positives et deux tests fonctionnels positifs.
* Si le vote est concluant, le correctif est ensuite livré dans l'outil de source contrôle.
Depuis le passage de l'outil de source contrôle SVN vers Git en mars 2011, le processus de relecture et de validation des modifications est porté par l'outil de revue de code Gerrit.
Ce processus de livraison rigoureux permet de garantir un code de bonne qualité.

## Intégration des templates HTML

TYPO3 permet d'intégrer des templates HTML de plusieurs manières, soit de façon classique via l'utilisation de marqueurs, soit au travers d'une extension qui aide à réaliser ce mapping comme TemplaVoila ou Jetts.
TemplaVoila permet d'aller très loin. Toutes les pages deviennent modifiables par un CMS. Techniquement, TemplaVoila met en œuvre deux nouveaux mécanismes :
* L'identification des zones de contenu à la souris, et le nombre de telles zones devient illimité. Dans tous les autres 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.
* Les contenus flexibles (ou flexible contents) 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'une image. Un contenu flexible permet de définir un type de contenu et la mise en forme qui lui est associée.
Jetts ne va pas aussi loin d'un point de vue graphique que TemplaVoila, mais il présente l'avantage d'utiliser les fonctionnalités natives de TYPO3 sans surcharger le core de TYPO3.

## Littérature
### Livres

* Patrick Lobacher, Certified TYPO3 Integrator, Open Source Press, 2009 (ISBN 978-3-937514-78-9)

### Documents vidéo

* Irene Höppner, TYPO3 Extensions (DVD-ROM), Addison-Wesley, 2009, (ASIN 3827361648)