Cet ouvrage fait partie de la bibliothèque YouScribe
Obtenez un accès à la bibliothèque pour le lire en ligne
En savoir plus

Typo3

De
537 pages
Développement de sites Web collaboratifs orientés publication de contenu

Outil Open Source et gratuit, TYPO3 fait partie comme SPIP de la famille des CMS (Content Management Systems) basés sur le langage PHP. Plus riche fonctionnellement, mais aussi plus complexe que SPIP, TYPO3 est idéal pour le développement de sites Web ou d'intranets orientés publication de contenu et partage d'informations. Il connaît un succès croissant auprès des administrations, des collectivités locales, des portails d'information ou de presse en ligne, et des entreprises cherchant à mettre en place un intranet de travail collaboratif ou de gestion documentaire.


Le guide de référence des rédacteurs, administrateurs et développeurs TYPO3


Écrit par trois des membres du projet TYPO3, cet ouvrage de référence riche en conseils méthodologiques et en exemples pratiques est découpé en quatre parties :



  • Introduction à TYPO3 et installation du produit sous Windows et Linux.

  • TYPO3 pour les rédacteurs et éditeurs de contenu, qui découvriront comment insérer et formater des textes et des images, créer des bulletins d'information, des forums de discussion, des agendas d'événements et autres animations éditoriales.

  • TYPO3 pour les administrateurs, qui apprendront à gérer les droits d'accès des utilisateurs, à définir les règles de travail collaboratif, à analyser la fréquentation du site et à en optimiser les performances.

  • TYPO3 pour les développeurs, qui découvriront comment personnaliser un site en créant de nouveaux gabarits et en développant des fonctionnalités inédites grâce au système d'extensions de TYPO3.



  • Préface de Kasper Skarhoj

  • Préface des auteurs

  • A propos de ce livre

  • Introduction

  • TYPO3 pour les rédacteurs

  • TYPO3 pour les administrateurs

  • TYPO3 pour les développeurs

  • Index

Voir plus Voir moins

Vous aimerez aussi

typo3_XP 14/12/05 16:39 Page 1
TYPO3TYPO3
W. Altmann,
R. Fritz et
Développement de sites Web collaboratifs D. Hinderink
orientés publication de contenu Werner Altmann est
Outil Open Source et gratuit, TYPO3 fait partie comme SPIP de la famille des CMS (Content Mana- un des membres du projet
gement Systems) basés sur le langage PHP. Plus riche fonctionnellement, mais aussi plus complexe TYPO3 en charge de
que SPIP, TYPO3 est idéal pour le développement de sites Web ou d’intranets orientés publication de la documentation officielle.
Il est également consultantcontenu et partage d’informations. Il connaît un succès croissant auprès des administrations, des col-
technique pour une agencelectivités locales, des portails d’information ou de presse en ligne, et des entreprises cherchant à
berlinoise spécialisée dansmettre en place un intranet de travail collaboratif ou de gestion documentaire.
les projets CMS d’envergure.
Le guide de référence des rédacteurs, administrateurs Consultant et développeur
freelance, René Fritz estet développeurs TYPO3
un des membres actifsÉcrit par trois des membres du projet TYPO3, cet ouvrage de référence riche en conseils méthodo-
du projet TYPO3. Il a
logiques et en exemples pratiques est découpé en quatre parties :
contribué au développement
• Introduction à TYPO3 et installation du produit sous Windows et Linux. du cœur de TYPO3 et est
à l’origine de nombreuses• TYPO3 pour les rédacteurs et éditeurs de contenu, qui découvriront comment insérer et formater
extensions. des textes et des images, créer des bulletins d’information, des forums de discussion, des agendas
Daniel Hinderink estd’événements et autres animations éditoriales.
responsable du marketing,
• TYPO3 pour les administrateurs, qui apprendront à gérer les droits d’accès des utilisateurs, à définir
de l’innovation et de la
les règles de travail collaboratif, à analyser la fréquentation du site et à en optimiser les performances. stratégie au sein du projet
• TYPO3 pour les développeurs, qui découvriront comment personnaliser un site en créant de nou- TYPO3. Sa société de conseil
basée à Munich assisteveaux gabarits et en développant des fonctionnalités inédites grâce au système d’extensions de TYPO3.
les entreprises dans la
conduite de projets TYPO3.
Werner AltmannAu sommaire
Nicolas Wezel a coordonné René FritzInstallation et prise en main • Les CMS (Content Management Systems) et TYPO3 • Installation de la traduction de ce livre.
TYPO3 sous Windows ou sous Linux •Configuration du serveur •TYPO3 pour les rédac- En tant qu’expert TYPO3, Daniel Hinderink
il donne de nombreusesteurs • Interface utilisateur • Modules, centre de tâches • Insertion de contenus • Outils de produc-
formations en France ettivité • TYPO3 pour les administrateurs • Gestion des droits d’accès et des utilisateurs • Gestion du
en Belgique. Sa sociétéworkflow • Procédures d’automatisation •Gestion des performances (cache…) •Statistiques et
Streamsys développe deslogs •Gestion des fichiers numériques et de leurs métadonnées •TYPO3 pour les déve-
sites Internet et intranet
loppeurs • TypoScript : syntaxe du langage, outils de développement, gabarits standards et création
avec TYPO3.
de gabarits… • Le système d’extensions de TYPO3 • Développement d’extensions personnalisées.
45 €
www.editions-eyrolles.com
Code éditeur : G11781
ISBN : 2-212-11781-7
9 782212 117813
Conception: Nord Compo
W. Altmann
R. Fritz
D. Hinderink
TYPO3typo3_XP 14/12/05 16:39 Page 1
TYPO3TYPO3
W. Altmann,
R. Fritz et
Développement de sites Web collaboratifs D. Hinderink
orientés publication de contenu Werner Altmann est
Outil Open Source et gratuit, TYPO3 fait partie comme SPIP de la famille des CMS (Content Mana- un des membres du projet
gement Systems) basés sur le langage PHP. Plus riche fonctionnellement, mais aussi plus complexe TYPO3 en charge de
que SPIP, TYPO3 est idéal pour le développement de sites Web ou d’intranets orientés publication de la documentation officielle.
Il est également consultantcontenu et partage d’informations. Il connaît un succès croissant auprès des administrations, des col-
technique pour une agencelectivités locales, des portails d’information ou de presse en ligne, et des entreprises cherchant à
berlinoise spécialisée dansmettre en place un intranet de travail collaboratif ou de gestion documentaire.
les projets CMS d’envergure.
Le guide de référence des rédacteurs, administrateurs Consultant et développeur
freelance, René Fritz estet développeurs TYPO3
un des membres actifsÉcrit par trois des membres du projet TYPO3, cet ouvrage de référence riche en conseils méthodo-
du projet TYPO3. Il a
logiques et en exemples pratiques est découpé en quatre parties :
contribué au développement
• Introduction à TYPO3 et installation du produit sous Windows et Linux. du cœur de TYPO3 et est
à l’origine de nombreuses• TYPO3 pour les rédacteurs et éditeurs de contenu, qui découvriront comment insérer et formater
extensions. des textes et des images, créer des bulletins d’information, des forums de discussion, des agendas
Daniel Hinderink estd’événements et autres animations éditoriales.
responsable du marketing,
• TYPO3 pour les administrateurs, qui apprendront à gérer les droits d’accès des utilisateurs, à définir
de l’innovation et de la
les règles de travail collaboratif, à analyser la fréquentation du site et à en optimiser les performances. stratégie au sein du projet
• TYPO3 pour les développeurs, qui découvriront comment personnaliser un site en créant de nou- TYPO3. Sa société de conseil
basée à Munich assisteveaux gabarits et en développant des fonctionnalités inédites grâce au système d’extensions de TYPO3.
les entreprises dans la
conduite de projets TYPO3.
Werner AltmannAu sommaire
Nicolas Wezel a coordonné René FritzInstallation et prise en main • Les CMS (Content Management Systems) et TYPO3 • Installation de la traduction de ce livre.
TYPO3 sous Windows ou sous Linux •Configuration du serveur •TYPO3 pour les rédac- En tant qu’expert TYPO3, Daniel Hinderink
il donne de nombreusesteurs • Interface utilisateur • Modules, centre de tâches • Insertion de contenus • Outils de produc-
formations en France ettivité • TYPO3 pour les administrateurs • Gestion des droits d’accès et des utilisateurs • Gestion du
en Belgique. Sa sociétéworkflow • Procédures d’automatisation •Gestion des performances (cache…) •Statistiques et
Streamsys développe deslogs •Gestion des fichiers numériques et de leurs métadonnées •TYPO3 pour les déve-
sites Internet et intranet
loppeurs • TypoScript : syntaxe du langage, outils de développement, gabarits standards et création
avec TYPO3.
de gabarits… • Le système d’extensions de TYPO3 • Développement d’extensions personnalisées.
45 €
www.editions-eyrolles.com
Code éditeur : G11781
ISBN : 2-212-11781-7
9 782212 117813
Conception: Nord Compo
W. Altmann
R. Fritz
D. Hinderink
TYPO3Titre_typo3 8/12/05 10:20 Page 1
�����
� � � � � � � � � � � � � �
� � � � � � � � � �
� � � � � � � � � � � � � � � �ÉDITIONS EYROLLES
61, bd Saint-Germain
75240 Paris Cedex 05
www.editions-eyrolles.com
Traduction autorisée de l’ouvrage en langue allemande intitulé :
TYPO3 – Enterprise Content Management (ISBN : 3-937514-01-5)
de Werner Altmann, René Fritz et Daniel Hinderink
© 2004, Open Source Press, Munich (Allemagne)
http://www.opensourcepress.de
Adapté de l’allemand par Nicolas Wezel de la société Streamsys.
erLe code de la propriété intellectuelle du 1 juillet 1992 interdit en effet expressément la photocopie à
usage collectif sans autorisation des ayants droit. Or, cette pratique s’est généralisée notamment dans
les établissements d’enseignement, provoquant une baisse brutale des achats de livres, au point que la
possibilité même pour les auteurs de créer des œuvres nouvelles et de les faire éditer correctement est
aujourd’hui menacée.
En application de la loi du 11 mars 1957, il est interdit de reproduire intégralement ou partiellement le
présent ouvrage, sur quelque support que ce soit, sans autorisation de l’éditeur ou du Centre Français d’Exploitation du
Droit de Copie, 20, rue des Grands-Augustins, 75006 Paris.
© Open Source Press, Munich, 2004, pour l’édition originale en langue allemande
© Groupe Eyrolles, 2006, pour la présente édition, ISBN : 2-212-11781-7Tabledes matier` es
Prefa´ ce de Kasper Skar˚ høj 11
Prefa´ ce desauteurs 17
`Aproposdecelivre 19
Introduction 21
1Introduction 23
1.1Historique. .... ........ ....... ........ ....... .. 23
1.2Qu’est-ce qu’unCMS?. ..... .. 24
´1.2.1Separationducontenudelaforme .. ........ ....... .. 25
1.2.2Cycle de vie du contenu. ....... .. 25
1.2.3System` emodulaire. ... ........ ....... .. 26
1.2.4Groupecible ....... ....... .. 26
1.2.5Ref´ er´ encesTYPO3. ... ........ ....... .. 26
1.3LacommunauteT´ YPO3. ..... ....... .. 27
1.4L’association TYPO3. ....... ........ ....... .. 29
1.4.1Objectifs. ........ ....... .. 29
ˆ1.4.2 Etre membre et s’inscrire.. ...... ........ ....... .. 29
2Installation 31
2.1Choix du paquetage TYPO3etdelaconfiguration du serveur ....... .. 31
2.1.1Mater´ iel. .. ....... ....... ........ .. 32
2.1.2Serveur Web. ...... ....... .. 35
2.1.3Basededonnees´ ..... ....... ........ .. 35
2.1.4Autreslogiciels. ..... ....... .. 36
2.1.5Choix du paquetage TYPO3. ..... ........ .. 36
1Tabledes mati `eres
2.2Installation de testetd’initiation ........ ....... ........ .. 38
2.2.1Installation WAMP sous Windows. .. .. 38
2.2.2Installation QuickInstall sous Linux .. ....... ........ .. 39
2.3L’installation en production. .. ........ .. 40
2.3.1Installation LAMP.... ....... ........ .. 40
2.3.2Installation WAMP ... ........ .. 43
2.3.3Installation WIIS .... ....... ........ .. 44
2.4L’outil d’installation ....... ........ .. 45
2.4.1 BasicConfiguration .. ....... ....... ........ .. 46
2.4.2 Database Analyzer .. ........ .. 47
2.4.3 Image Processing ... ....... ........ .. 49
2.4.4 AllConfiguration ... ........ .. 49
2.4.5 typo3temp/....... ....... ........ .. 49
2.4.6 phpinfo() ........ ........ .. 49
2.4.7 Editfilesintypo3conf/ ....... ....... ........ .. 49
2.4.8 About.. ........ ........ .. 50
2.5Options de configuration dans TYPO3_CONF_VARS .... ........ .. 50
2.5.1 [GFX]:$TYPO3_CONF_VARS["GFX"] .. ...... .. 50
2.5.2 [SYS]:$TYPO3_CONF_VARS["SYS"].. ....... ........ .. 53
2.5.3 [EXT]:$TYPO3_CONF_VARS["EXT"] .. .. 58
2.5.4 [BE]:$TYPO3_CONF_VARS["BE"] ... ....... ........ .. 59
2.5.5 [FE]:$TYPO3_CONF_VARS["FE"] ... .. 64
2.5.6Autresoptions ..... ........ ....... ........ .. 70
2.6Sep´ arationduserveur de productionetduserveur en ligne .. 70
2.6.1Pagesstatiques ..... ........ ....... ........ .. 71
2.7Sauvegardes. .. ........ .. 71
2.8Mises aj` our. .. ........ ....... ........ .. 73
2.9Encas de problem` e. ...... .. 74
TYPO3 pour lesred´ acteurs 75
3TYPO3 pour lesred´ acteurs77
3.1Lerolˆ edured´ acteur. ...... ........ ....... ........ .. 78
3.2Acced´ er au system` e. .. 79
3.2.1Configuration du navigateur. .... ....... ........ .. 79
3.2.2Identification ...... ........ .. 79
2Tabledes mati `eres
3.3Interfaceutilisateuretmodules. .. ...... ........ ....... .. 80
3.3.1Zones de l’interfaceutilisateur. ... .. 80
3.3.2Modulesprincipauxetsous-modules– un aperc ¸u .. ....... .. 83
3.4Lemodule utilisateur → centredetacˆ hes comme centre de communication 87
3.5Les pages, rec´ eptacles de contenu. ...... ........ ....... .. 91
3.5.1Structure d’un site, arborescence et el´ em´ ents de contenu. .... .. 91
3.5.2Creer´ et ed´ iter de nouvellespages. .. ........ ....... .. 92
3.5.3Differ´ ents typesdepages. ...... .. 95
3.6Insertion d’el´ em´ ents de contenudansTYPO3. ........ ....... .. 99
3.6.1Crea´ tion et ed´ itiondenouveaux el´ em´ ents de contenu. ..... .. 101
3.6.2Types de contenu. .... ....... ........ ....... .. 103
3.7RessourcesdansTYPO3. ..... .. 115
3.7.1Gestion desressourcesdansl’arborescencedes fichiers. ..... .. 115
3.7.2Inser´ er desressourcesdansune application. .... ....... .. 116
´3.8 Edition frontend. .. ....... ....... ........ .. 117
3.9LeRichTextEditor. ........ ....... .. 119
3.10 TravaillerefficacementavecTYPO3. ...... ........ .. 123
3.10.1Scen´ ario.. ........ ....... ....... .. 124
3.10.2Creer´ l’arborescencedes pages. ... ........ .. 124
3.10.3Presse-papiers. ..... ....... ....... .. 126
´ ´ ´3.10.4 Editer deschampsselectionnes .... ........ .. 127
3.10.5Raccourcis ........ ....... ....... .. 129
3.10.6Aideauniveau du contenu. ..... ........ .. 130
3.10.7Restaurer/ed´ iter l’historique. ..... ....... .. 132
3.10.8Multilinguisme ...... ....... ........ .. 134
TYPO3 pour lesadministrateurs 137
4TYPO3 pour lesadministrateurs139
ˆ4.1Taches et objectifsdel’administration. .... ........ ....... .. 139
4.2Planifieretinstallerl’environnement de gestiondecontenu. .. 141
4.3Principes d’organisationdes droits d’acces` dansTYPO3. ... ....... .. 142
4.3.1Exemple pratique..... ....... ........ .. 143
´4.3.2 Etapesdemiseenœuvre ....... .. 144
4.4Administrationdes utilisateurs backend .... ........ .. 144
4.4.1Creer´ desgroupes d’utilisateurs .... ....... .. 145
3Tabledes mati `eres
4.4.2Creer´ descomptes utilisateurs..... ....... ........ .. 150
4.5Administrationdes utilisateurs al` ’aidedumodule Outils→ Administration
desutilisateurs .. ....... ........ ....... ........ .. 152
4.6Droitsd’acces` au niveau de la page....... .. 153
´4.7 Edition frontendpourutilisateurs backend .. ....... ........ .. 155
4.8TSconfig —options et interface. ........ .. 157
4.8.1AssistantTSConfig:consulter lespropriet´ es´ TypoScript. ..... .. 157
4.8.2TSConfig utilisateur. .. ....... ....... ........ .. 157
4.8.3TSConfig page ..... ........ .. 159
4.8.4AjustementduRichTextEditor. ... ....... ........ .. 162
4.8.5Lemodule Web→ Info→ Configuration TS de la page .... .. 167
4.9Creer´ desWorkflowssimples .. ........ ....... ........ .. 167
4.9.1Configuration d’un workflow. .... .. 168
´4.9.2Exemple :workflow d’Actualites.... ....... ........ .. 168
4.10 Proced´ ures et actions ...... ........ .. 170
4.10.1Types d’actions. .... ....... ........ .. 171
4.10.2Exemple :actionpourcreer´ desutilisateurs .... .. 172
4.11 Administration desutilisateurs frontend. ... ....... ........ .. 175
4.11.1Crea´ tion de groupesd’utilisateurs... .. 175
4.11.2Crea´ tion de comptes utilisateurs ... ....... ........ .. 175
4.11.3Identification ...... ........ .. 176
4.11.4Assigner despagesetdes el´ em´ ents de contenu. .. ....... .. 176
4.11.5Perspectives. ...... ........ ....... ........ .. 177
4.12 Statistiques et logs ....... .. 177
4.12.1Lemodule Web→ Info ........ ....... ........ .. 178
4.12.2Integ´ ration d’AWStats. .. 178
4.12.3Analysedes fichiersjournaux. .... ....... ........ .. 179
4.12.4Logs frontend. ..... ........ .. 180
4.12.5Lemodule V´ erification BD ...... ....... ........ .. 180
4.13 TYPO3etlesystem` edecache. .. ....... .. 183
4.14 DigitalAssetManagement ... ........ ....... ........ .. 184
4.14.1Tachˆ es et buts du DAM.. ....... .. 184
4.14.2Integ´ ration dansTYPO3. ....... ........ .. 185
4.14.3Perspectives. ...... ........ .. 190
4.15 Administration :l’avenir. .... ....... ........ .. 191
4Tabledes mati `eres
TYPO3 pour lesdev´ eloppeurs 193
5TypoScript 195
5.1Lerolˆ edudev´ eloppeur ...... ....... ........ ....... .. 195
5.1.1Leprocessusdemiseenœuvre .... .. 195
5.1.2Prer´ equisetvue d’ensemble ...... ........ ....... .. 196
5.2TypoScript— Principesdebase. .. .. 197
5.2.1Qu’est-ce queTypoScript?....... ........ ....... .. 197
5.2.2TSref.... ........ .. 199
5.2.3Digression :TypoScriptetPHP..... ........ ....... .. 199
5.2.4GabaritsTypoScript. ... ....... .. 201
5.2.5Hello World! —Lepremier gabaritTypoScript. ... ....... .. 203
5.2.6Cascade de gabarits. .. ....... ........ .. 205
5.2.7Enregistrements de gabarits ...... ....... .. 206
5.2.8 Constants et Setup ... ....... ........ .. 211
´5.2.9 Elem´ ents et concepts... ....... .. 212
5.2.10 La syntaxe ........ ....... ........ .. 214
5.2.11 Ordredetraitement. .. ....... .. 222
5.2.12 L’emboˆıtementd’objets .. ...... ........ .. 223
5.3Objets,fonctions et typesdedonnees´ TS.... ....... .. 225
5.3.1Types de donnees´ ..... ....... ........ .. 225
5.3.2Leconcept d’enveloppe .. ...... ....... .. 227
5.3.3Fonctions .. ....... ....... ........ .. 227
5.3.4Objets de contenu(cObjects) ..... ....... .. 229
5.3.5Objets de premierniveau ....... ........ .. 237
5.4Outils de dev´ eloppement ..... ....... .. 241
5.4.1 Info/Modify ....... ....... ........ .. 241
5.4.2AssistantTS. ....... .. 242
5.4.3TypoScriptObject Browser. ...... ........ .. 242
5.4.4TemplateAnalyzer .... ....... ....... .. 244
5.4.5ConstantEditor. ..... ........ .. 245
5.4.6Panneau d’Administration ....... ....... .. 251
5.4.7ImportetexportdepagesTYPO3. .. ........ .. 252
5.5Gabaritsstandards (gabaritsstatiques). .... ....... .. 255
5.5.1 content(default) .... ....... ........ .. 257
5.5.2 styles.* .. ........ ....... .. 257
5Tabledes mati `eres
5.5.3 cSet.* .. ........ ........ ....... ........ .. 258
5.5.4 frameset;* ....... .. 259
5.5.5 template;* ........ ....... ........ .. 259
5.5.6 plugin.* .. ....... .. 262
5.5.7 temp.*.. ........ ........ ....... ........ .. 263
5.5.8 content.tt_* ...... .. 263
5.5.9 (example)........ ........ ....... ........ .. 264
5.5.10 language.* ....... .. 264
5.6Les basesdelamiseenpage —Conceptsdegabarit .... ........ .. 264
5.6.1Gabaritsstandards (gabaritsstatiques). ...... .. 264
5.6.2GabaritsTypoScriptpurs. ....... ....... ........ .. 265
5.6.3GabaritsTypoScriptetHTML. ..... .. 265
5.6.4TemplateAuto-Parser .. ....... ....... ........ .. 266
5.6.5TemplaVoila.` ...... ........ .. 266
5.7Restitution du contenu. .... ....... ........ .. 267
5.8Changer de gabarits avec type/typeNum ... .. 268
5.9Crea´ tion de gabarits TypoScript. ........ ....... ........ .. 269
5.9.1TypoScriptetgabaritsHTML. ..... .. 272
5.9.2LeTemplateAuto-Parser ........ ....... ........ .. 284
5.9.3GabaritsTypoScriptpurs. ....... .. 290
5.10 Menus ...... ........ ........ ....... ........ .. 296
´ ´ ´ ´5.10.1LecObject HMENU—proprietes generales desmenus....... .. 298
5.10.2Menus de texte (TMENU). ...... ....... ........ .. 300
5.10.3Menus graphiques(GMENU). .... .. 304
5.10.4Menus bases´ surdes couches(TMENU_LAYERS/
GMENU_LAYERS). .. ........ ....... ........ .. 308
5.10.5 GMENU_FOLDOUT... .. 311
5.10.6ImageMaps (IMGMENU). ....... ....... ........ .. 314
5.10.7Menus JavaScript (JSMENU). ..... .. 317
5.10.8Menus .special ..... ........ ....... ........ .. 318
5.11 TypoScriptendeta´ il ....... .. 322
5.11.1Lafonction optionSplit ........ ....... ........ .. 322
5.11.2Travailleravecdes imagesetleGIFBUILDER. ... .. 325
5.11.3Lafonction stdWrap .. ........ ....... ........ .. 331
5.11.4Conditions. ...... .. 339
5.12 Travailleravecdes cadres. ... ........ ....... ........ .. 345
6Tabledes mati `eres
5.12.1Crea´ tion de cadres. ... ....... ........ ....... .. 346
5.12.2Lesiteexemple avec descadres .... .. 348
5.13 Futuretperspectives. ...... ....... ........ ....... .. 353
5.13.1XHTML et accessibilite.´ .. ...... .. 353
5.13.2Accessibilite.´ ....... ....... ........ ....... .. 356
5.13.3TemplaVoila.` .. 358
6Extensions367
6.1Aperc ¸u ....... ........ ....... ........ ....... .. 367
6.2Lesystem` ed’extensions. ..... .. 368
6.2.1Structure d’extensions. .. ...... ........ ....... .. 368
6.2.2Cled´ ’extension ...... ....... .. 369
6.2.3Composants d’extensions. ...... ........ ....... .. 369
6.2.4Categ´ oriesd’extensions. ....... .. 370
6.2.5Installation:niveau system` e, global ou local ..... ....... .. 371
6.2.6Rep´ ertoired’extensions. ....... ........ .. 371
6.2.7Documentation. ..... ....... .. 373
6.3Gestionnaired’extensions. .... ....... ........ .. 373
6.3.1Liste desextensionsdisponibles. ... ....... .. 374
6.3.2Importer desextensionsdurep´ ertoire. ....... .. 375
6.3.3LeKickstarter ....... ....... ........ ....... .. 377
7Dev´ eloppement d’extensions379
7.1Uncompteurdevisiteurs en 20 minutes .... ........ ....... .. 380
7.2Assistantd’extensions: le Kickstarter...... .. 387
7.2.1Defi´ nition d’une cled´ ’extension .... ........ ....... .. 388
7.2.2Composants de Kickstarter....... .. 388
7.2.3Structure d’une extension ........ ....... .. 390
7.2.4Reg` lesdebasedes extensions. .... .. 392
7.3Gestion d’extensionspourles programmeurs. ........ ....... .. 393
7.3.1Fonctions du gestionnaired’extensions. ....... .. 393
7.3.2CompteutilisateurTER.. ....... ........ ....... .. 395
7.3.3Transfert d’une extension vers le TER. .. 396
7.3.4Gestion d’extensionsTER.. ...... ........ ....... .. 397
7.3.5Publicationdedocumentation. ... .. 398
7.4Leframework TYPO3. ....... ....... ........ ....... .. 400
7.4.1Structure du framework. .. 400
7Tabledes mati `eres
7.4.2Conventions d’ec´ riture ........ ....... ........ .. 401
7.4.3Structure desrep´ ertoires .. 402
7.4.4Bibliotheq` ues. ..... ........ ....... ........ .. 406
7.4.5L’API d’extension .... .. 409
7.4.6Structure de base de donnees´ ..... ....... ........ .. 410
7.4.7Basededonnees´ ,TCA et TCEForms .. .. 414
7.4.8Flexforms ........ ........ ....... ........ .. 419
7.4.9 TYPO3CoreEngine (TCE). ...... .. 422
7.4.10 SQLettablesdefi´ nies dansleTCA ... ....... ........ .. 425
7.4.11 Utilisateurs, sessionsetidentification .. ...... .. 426
7.4.12 Programmation TYPO3etplate-forme ....... ........ .. 429
7.4.13 Multilinguisme ..... ........ .. 432
7.4.14 Codage descaracter` es .. ....... ....... ........ .. 433
7.5Programmerdanslefrontend: lesprincipes .. .. 438
7.5.1Frontend:restitution du contenu. .. ....... ........ .. 438
7.5.2API frontend. ..... ........ .. 439
7.5.3TypoScriptfrontend(TSFE). ...... ....... ........ .. 440
7.5.4cObject, tslib_cObj ... ........ .. 441
7.5.5Restitution descObjectspar PHP. .. ....... ........ .. 444
7.5.6 tslib_pibase ...... ........ .. 445
7.5.7Liens et parametr` es dansles plugins. ....... ........ .. 446
`7.5.8 USER, USER_INT,cacheetparametres .. 448
7.6Programmation frontend:exemples. ..... ....... ........ .. 453
7.6.1Borduresd’el´ em´ ents de contenu. .. .. 453
7.6.2LabaliseTypodecomptear` ebours (TypoTag) ... ........ .. 457
7.6.3Balisedecomptear` ebours en JavaScript ...... .. 461
´7.6.4Integration de scriptsPHP externes. .. ........ .. 465
7.6.5Portage de script PHP. ........ ....... .. 470
7.7Programmation du backend:principes..... ........ .. 476
7.7.1Structure d’un module ........ ....... .. 476
7.7.2Module:framework .. ........ .. 478
7.7.3Modules: script .... ........ ....... .. 480
7.7.4Module principal .... ........ .. 481
7.7.5Fonctions de sous-modules. ..... ....... .. 482
7.8Programmation backend:exemple ....... ........ .. 482
7.8.1 Outils→ Derni`eres modifications .. ...... .. 482
8Tabledes mati `eres
7.8.2Fonctiondesous-module Web→ Fonctions→ Assistants ... .. 494
7.8.3Menucontextuel ..... ....... ........ ....... .. 504
7.8.4Habillages– Changerl’apparence du backend .... .. 507
7.9Services....... ........ ....... ........ ....... .. 510
7.9.1Miseenœuvre desservices ...... .. 510
7.9.2Dev´ elopperdes services. ....... ........ ....... .. 512
7.9.3Configuration....... .. 518
7.9.4Introductiond’unnouveau type de service ...... ....... .. 519
7.10 XCLASS:modification et extension de classe .. ....... .. 519
7.11 TYPO3etautreslangages de programmation .. ....... .. 521
7.12 Outils pourledev´ eloppeur .... ....... ........ .. 521
7.12.1 ExtDevEval ........ ....... .. 521
7.12.2Deb´ ogage avec debug() .. ...... ........ .. 522
7.12.3Deb´ ogage avec t3lib_div::devLog() .. ....... .. 524
7.12.4FEDebug/Info output et BE Env-Info. ........ .. 526
7.12.5Environnementsdedev´ eloppement PHP. ...... ....... .. 527
Index529
9Pref´ acedeKasperSkar˚ høj
Thereisa pictureofa child standing on theshelf next to me here in my office. It wasin
my grandmother’spossession until shemoved to an oldpeople’shome. Theboy in theimage
holdsanobject in hishandwhile lookingatthe camera, interrupted from hisinvestigations by
thephotographer.I don’t have kids yetmyselfso... theboy is me asathree-year old.
Thepicture fascinates me because it helpsmetounderstandmyselfand God’sdesignofour
creative souls. It rips me outofTypoScript, PHPvariablesand foreach-loops foramomentand
putsasmile on my face. Thepicture capturesthe essenceofmypersonality, whichhas always
been curiousand creative;frombuildingplayhousesonmyuncle’s farm, shootingVHS-movies
asateenager, wiringupa houseautomationsystem to,well, programming a“little” CMS tool
whichI accidentially needed in theearly daysofthe passion we allshare;the modern Internet.
Opening theplayground
Creativitydefinesa lotofwho Iam. TYPO3has been theoutputvalve of this energy.Itis
the“Very best of” albumfrommylifeuntil now, even withall thequirksithas.I love TYPO3
because Iknowitisanauthentic expression of my creative pulse. Buthow diditevercome
this far?
Let’sturnback theclock to 1997 whenIbegan to studyatthe Technical UniversityofDenmark.
Ithink after 5minutes at theintroductioncourseI hadspotted anotherrestlesssoulinthe
classfor whom Taylorpolynomials hadnosignificance forthe greater meaninginlife. We
teamedup, Icreated my ownlittlecompany(CurbySoft Multimedia)and college waswhere
Islept theextra hoursI missedatnight.Back then Iwas extremelyinspiredbyDavid Siegel’s
visions for webdesign(www.killersites.com). In fact my “creativityvalve”pointed in thevisual
directionback then;myteammatehandled theLinux-stuff, Ijustjuggled around withthe
colors.
Thebinarybrainwash
TheCMS mantra of “separatingcontentfromcode”was notthe brilliant idea of anyone
individual, butwhathappened to allofusatthattime; everyone realized that customers
needed aCMS tool to maintain theirwebsites.Inlate1997 we began thefirstprototypes
of what some yearslater becameTYPO3. Unfortunatelymyteammatedidn’tdeliverthe
technical work andmyproactive gene autorespondedbyclosing downPhotoshop andstarting
up Homesite, awebbrowserpointed at www.php.net andthe installation of aRedHat6.2
11Pr ´eface de Kasper Sk ˚arhøj
server; oneweek laterIhad theminimum knowledge required to make lookupsinMySQLand
presentthe contentinanHTMLpage.AndIhated it.
At the time in 1998 Imet anotherguy witha lotmoremarketing experience than myself.
He wanted to commercializethe earlyversion of TYPO3. So we setupthe “Superfish.com”
companytogether,hired employees andevenmanagedtoteamupwithSaatchi& Saatchiin
Copenhagen. ButI hadone condition; thatIwould be relievedfrommyroleasthe programmer
behind theCMS as fastaspossible!Itwas “Too muchworkand no funmakesJack adullboy”
for me andmyinsidewas adesert. Iwas cryingout for colors, poetryand visual universes
to explore. Ihated programming,itdried me outand Ihad accepted it only as atemporary
necessity .
Maybe this should scareme, butguess what;now thepainofprogramming is gone! Slowly
Iwas swallowedbyPHP until thetoxid influence of booleans andarraysmade me forgetmy
visual gold age;the “re-coding”ofadesignerintoa programmerwas successfully complete.
Butevennow,the spring of creativitycouldn’tbesuppressed. Ratherthanbeing expressedin
visual terms it permeated themaking of TYPO3; programming is an art! Programming contains
love andpassion for beauty just as muchasphotographyoroilpaintingdoes.
Goodbye World, Hello GPL
When Irealized that runningacompanylikeSuperfishwas notmycup of tea,nothing mat-
tered more than my creation,TYPO3. Ileftthe companywiththe rights to thecode,mypartner
kept therest. IfeltI hadpassedsomekindof“PointofnoReturn”and allI wanted wasto
finishmywork. Forwhatpurpose? That question wasn’t even askedatthe time.I agreed
withmyselftodojustenoughfreelance work to live andput therestofmytimeintofinishing
TYPO3overthe next sixmonths(it’s funny to look back at therepeatedly naive time-estimates
Ihavemade in thepast– andstill do :-).
Duringmyshort flirtationwiththe commercialproductionofTYPO3,Irealized that commercial
pressurestendtocorrupt thequalityofthe product;ready or not, it hastogoonthe shelf
to create income.Thatwas onething Icouldn’taccept as an artist; Ibelievedinquality, and
compromise in this area wasnooptiontome. On theother hand,withnocompanybehindI
couldprobably sell my CMS solution to only ahandful of local companies. Comparedtothe
perspectivesofsharing TYPO3witha wholeworld andthereby helpingthousands of people,
thelatter wouldfar outweigh thejoy of making abit of moneylocally in Denmark– even if I
neversawasingleEurocomingback.SoI chosethe GPLway .
Livingwaters
GivingawayTYPO3for free also hasa strong root in my faith in Jesus.I have been raised in
aChristian family andalways believedinGod. Butpassionatefaith can’t be inherited andmy
most recent “conversion” happenedafter havingworked16hoursaday fora long time.I think
many of youreading this book know thesituation andhow passion can drive youintointense
work.Itcan be funand rewarding. Butinthe long runitdries youout inside,and eventually
youask yourself:whatisthe point,whatamI livingfor?Thisiswhere some peopleburnout
andget depressed. Formeittriggeredthe logical question;IfI really believe in theBible,why
notopenitand read aboutwhata balanced lifeshouldbelike?
12Pr ´eface de Kasper Sk ˚arhøj
This hada dramatic impactonmylife. Ibegan to take my faith seriouslyand re-alignmy
actions withmybeliefs.I metmywife, Rie. And Idiscoveredmyidentityand some personal
gifts, so Icould understandmy“mission”inlife. Ialsothought abouthow youcould live in a
Christianway in themodern world. Iread“feed thehungry”and found thatausefultool like
TYPO3would be just that.I read “loveyourneighbour”and found that sharingTYPO3asthe
best Ihad wouldbeanact of love.I read “seek andyou shallfind”and thoughtthatTYPO3
couldbejustsucha reward for thosewhose whodaretosearchfor alternatives. Iread“you
got it for nothing, give it for nothing” andthought that TYPO3was possible througha talent
Icould only attribute to God, so what wouldbelostbygivingitaway?
Reasons to believe
Mixing TYPO3withJesus mustseem strangetomostofyou.Why wouldanapparentlyintel-
ligentguy believe in somethingfuzzy likeGod? Butinfact Ithink programmers have nothing
butgood reasonstoconcludethatsomekindofhigherintelligence mustexist.Every day I
spendhours writingcharacterscarefully combined into acomputer program.I know that a
single misplacedbytewill make TYPO3failtorun. IalsoknowthatsometimesI need to make
an internalredesignwhich doesnot add newfunctionalitytoTYPO3, butmerelyopens the
possibilityoffurther development. And whowould believe me if Iclaimed to have created
TYPO3byrepeatedly combiningrandombytes andtryingtoexecute them until something
useful cameout –evenifdoing this atrilliontimes?TYPO3requiredconscious,intelligent
design!I have to admit that thecomplexityoflifepointstosomethingoutside theuniverse
itself.Itdoesn’t puta name tagonwho is behind it all, butthere aregood reasonsfor believing
in amastermind.
The24/7lane
Ideclare that Iamnotaperfectionist.Perfectionisnot obtainable for humans,itisanideal.
And although theideal of perfection is ourbeaconoflight,wehavetosettle for less.Whatis
obtainable is completeness. Completing what youhavestarted is what givesthe first step you
took ameaning.
TYPO3ismybaby, it takesenourmous amountsofmytimeand often it consumesmostofmy
awareness. When peopleask me aboutTYPO3and my ownworking life, Iask them to think
abouthow it waspreparing for examsorwriting alarge thesis at university. Ibelieve that
captures theintensity of howmylifehas been for thelastfouryears, whileTYPO3has been a
public project.
It hasbeenaprivilege, fun, challengingall alongbut it hasalsowornmeout.The most precise
waytodescribe this stateistocomparemewitha fragile ecosystem. Even smallchanges
in theenvironment can have greatimpactsonstability. Luckily Ihavedevelopedanequally
good understanding of my innerselfand daily Itry to walk theroads that motivate, rather
than thosewhich lead to despair. Ihavelearned to focusonsingleissues,and suppressthe
viewfromthe topofthe mountain, whichcan be overwhelming.I have hadtotrust myself
to be rightmanytimes,whenitwould have been fairtohavedoubts. And Ihavelearned to
strive for perfection butsettle for somethingcomplete, andsometimesless. It’s astrategyof
survival, andwithout it thewaveyou aresurfingwill swallowyou.
13Pr ´eface de Kasper Sk ˚arhøj
Growinga community
It’s easy for me to remember for howlongIhavebeen married to Rie; Ijustthink about
when TYPO3was first released to thepublic –thatwas also in August2000 :-)Anyhow, the
launchofTYPO3tothe public wassupposed to be theend of thelinebut it becamea whole
newbeginning!Atthe time Iwas exhausted after developing for ayearonmyown with
no externalresponse.I remember howlonelyI felt.Publishing TYPO3under GPLchanged
allthisand thegrowingcommunity becamea solid source of power that changedthe whole
perspective of theproject;suddenlymyworkmattered to someone! This wasa fulfillment
of my personal “prophecy” that givingTYPO3awayfor free wouldbemuchmorevaluable
than sellinglicensestolocal customersinDenmark.Inaddition thenew situationgreatly
compensated for thelonelinessinthe office, sinceI nowhad virtual colleagues allaround the
globe!
As an Open Source project, asmall community quicklygrewuparound TYPO3, includingRene´
Fritz(co-authorofthisbook)asone of theveryfirstpersonalitiesonthe scene. Peoplecon-
tributed by setting up mailinglists,archives, providingsupporttoothers, creating smallplu-
gins,offering help to portTYPO3toWindowsand most significantly, translatingTYPO3into
theirnative languages.
In April2001 Rieand Iconceivedthe idea of arranging asnowboardtourfor thecommunity
andthe next winter we didit! 25 peopleshowedupand suddenlyfaceswereattached to
emailaddresses. Thefirstsnowboardtourwas an amazingevent andJan-HendrikHeuing
wouldstill quotemefor saying“I’mstartingtobelieve in it”back then.The year after we were
50 peoplesnowboarding theslopesofSplug¨ en,the next year we were more than 80 gathered
in Kitzbuhe¨ l. Morethananythingelse, theannualsnowboardevent hasbecomethe identity
of theTYPO3community .
LifeinThe Bazaar
Thecommunity of TYPO3has grownatanexponential rate ever since. From beinga small
village whereeveryonekneweach otheronthe mailinglists,itisnow abig city withall that
that entails.The manpower to help is far greater butthe risk of getting impersonal is equally
high.I often receive emails from peopleaskingmesupportquestions.I have to delete them
flatly. Even answeringback that they should usethe mailinglistcan become stressful to me
anditreally breaks my heart, because on theother hand Iholdthe idealtobepersonalto
everyone.But today Ihavetotrust that thecommunity willtake good careofthe newbee
asking for guidance,whileIoptimizemytimefor generaldevelopmentwhich helpsthousands,
rather thanasingleperson.
Thegrowthofthe community also holdsgreat developmentalpotential.Centered around
code contributionsvia theExtension Repository, it is directly possible for anyone to contribute
qualitycode to thesystem in asafe way, whichprotects theintegrity of everyone’s work,as
well as theirmotivation for contributing.
My greatestvisionfor TYPO3isextensions. Istronglybelieve they arethe most perfectvehicle
for bringing broad innovation to theproject andoffering maximum freedom for everydevel-
opertodemonstrate hisorher personal love for theart andbeautyofcoding webapplications.
This is thedemocracy of ourcommunity,everyonehas equalchances.
14Pr ´eface de Kasper Sk ˚arhøj
Thechallengeweface,asI seeit, is to maintain thefriendlyatmospherefor whichwehave
traditionally been known. We also have to maintain an effective frameworkfor contributions
from thegrowingnumber of code authorsand apply more qualityassurancetocontributions
of allkinds.Inanother field we have realized theneed to enforce theGPL license,asTYPO3has
become apopularsoftware whichobviously wouldbenicetore-brandand sell as one’sown
work.And finally,wehavetofightthe prejudiced mindsthatthink Open Source hasnothing
to offer, sincethere is no feetopay .
Credits
So many peopletruelydeserve to be mentionedhere. Unfortunatelyany attempttolistsome
nameswould excludeothersequally merited.Itislikeinvitingpeopletoyourwedding;It’snot
hard to inviteyourbestfriend, butitishardtofind thecriteria to decide whoyou willexclude,
sincethere is notroom for everyone.
Howeveritwill be safe to mentionmywife, Rie. Sheismybestfriend, sheloves me and
challenges me.She praysfor me andweshare faith in God. Shehas followedTYPO3all the
wayand supported everybit of it,often withpersonalsacrifice when Iwas stressedout and
mentally absent.She hasaccepted that sheissecondchoiceattimes,and we allowe herbig
time for that.
Iwanttomention ChristianJul Jensen (Denmark)who hasbeen my good friend andmental
supportthrough theyears, andalsomyright hand in professional matters. Christianhas been
my personal proxyforawhile,taking theload from my shouldersastimes changedand TYPO3
needed more of my dedication,ratherthanmehelping oldcustomers. Hishelphas been
priceless.
Daniel Hinderinkisanother cornerstoneinthe historyofTYPO3. Daniel is notonlyprofessional
andveryskilled. In adition to this he hasbeen ashowcaseofproactivitytome. Daniel has
takenthe initiative andbecomethe solution to problems,ratherthana part of them. As
thecoordinatorofmarketing efforts for TYPO3, he carries alot of theresponsibilityfor the
marketing success TYPO3has had. Buthis initiativeshaveborne even more fruitinareas such
as initiating innovation,teambuildingand projectorganisation. I’mimpressedand thankful!
Nowthe listofnames wouldexplode if Iwanted to thankeveryonewho hascontributed to
TYPO3withcode,supportorhas otherwisebeen active in thecommunity.Money is good but
sharingyourtalents in thecommunity is worthevenmore! Thankyou so mucheveryone. I
hope youcan recognizethe valueofsharing thebestyou have got withthe world, as my
experience describedinthisprefacehas been,andIencourage youhangoninthere!
Ihavereceivedanincreasingamount of moneydonations during thetimeTYPO3has been
public.Toeveryonewho hassentmoney Ialsowanttosay thanks from my heart. Youhave
enabledmetospend more andmoretimeonTYPO3ratherthandoing irrelevant freelance
work.Yourdonations provehow many smallstreams make onelarge flood whicheventually
can power an Open Source projectintostable andcontinualdevelopment. Iencourage you
to stay true to your promises of financial supportsowecan employ more peopledeveloping
TYPO3inthe future!
15Pr ´eface de Kasper Sk ˚arhøj
Ialsowanttomention DassaultSystem` es webdepartmentinParis for theirgenerosityand
theinspiring friendship we have shared during my timesinParis.Through theirbeliefinTYPO3
they have supported thedevelopmentinadventurous ways.
Finally Iwanttosay “Hello”toall my future friendsinthe community!TYPO3and thesnow-
boardtours area social pit-stop for me.These relationssomehow make thehours behind the
screen less lonely andinsomecases sparks real-worldfriendships likethe oneI have been so
lucky to establishwithRobertLemke from Luneburg.¨
Threemen in blue overalls
To me thethird snowboardtourin2004 wasa fantastic experience.I sawold friendsagain,
Igot my ownsnowboardthistime, andImet alot of new, inspiringpeople. And finally it
demonstrated thepowerfulinitiative of the“self-ignited fireworks”thathas popped up in the
community.The meninthe mirror finally jumped into theirblueoveralls andbegan work.
Even though thehistory of TYPO3ismorethanI couldeverask for,I always jokedabout the
day when therewould be abook aboutTYPO3onthe shelvesinmylocal bookstore. Three
talented community membershavenow made this dreamcometrue. They askedfor abook
andfound theanswertoits creation in theirown mirror reflections.I’m thrilledabout the
outcomeand thankfulfor your contribution to thebig pictureofcompletenessweare striving
for .
Enjoythe book andwelcome to theTYPO3cornerofcyberspace!
–kasper
16Pref´ acedes auteurs
TYPO3est un system` edegestion de contenuOpenSourcequi rencontreunimmensesucces`
et estrep´ ute´ etrˆ etres` puissant,maisaussi fortcomplexe. Dans ce livre, nous avonsessayed´ e
dec´ rire TYPO3dansles grandeslignes, fournissant ainsiunaperc ¸u de sonutilisationtantpour
lesred´ acteurs quepourles administrateurs et lesdev´ eloppeurs.
En raison desnombreusesref´ er´ encesetdelaquantited´ edidacticiels existants, nous avons
soulevel´ aquestiondel’apportpotentiel de ce livre. Le flotdequestions deslistes email n’a
apparemment pas et´ ee´ ndiguep´ ar la documentationexistante. Apres` une longue observation
desproblem` es et desquestions lespluscaracter´ istiques,nousavons dec´ ided´ ’ec´ rire un livre
s’efforc¸antd’illustrerles principesdeTYPO3etdedem´ ontrer sesapplications pratiques at` ra-
vers desexemples. Ce livrenedoitdoncpas etrˆ econsider´ ec´ omme un substitutaux ref´ er´ ences
et auxdidacticiels de typo3.org;ildevrait plutotˆ faireoffice de lienservantad` ev´ elopperune
image coher´ ente de ce qu’est TYPO3pourles deb´ utants,les utilisateurs et lesdev´ eloppeurs, en
ˆleur permettantd’y naviguerpar eux-memes.
ˆ ´Le projet TYPO3atachedediviser tous lesniveauxdedocumentationetdecommunication
en troisgroupes,afin de simplifier la navigation. Ce livreproced´ eradememˆ e:
1. Red´ action: dec´ ritles outils du system` epourlacrea´ tion du contenuetdec´ ritles me-´
thodesenvue de leur utilisationpratique.
2. Administration :inclutles tachˆ es d’organisationnec´ essaires al` ’implem´ entation de la
gestiondecontenuenutilisantTYPO3.
3. Dev´ eloppement:dec´ ritlacrea´ tion d’un site Webetdeson interfacegraphique en utili-
sant lesgabarits, ainsique la programmation de vospropres applications danslastruc-
ture de TYPO3.
´Pour lesresponsablesqui ne sont pas encore familiarises avec la GestiondeContenu, et avec
la GestiondeContenuenEntrepriseenparticulier, nous proposonsune introductionaudeb´ ut
de ce livre; tout au long de l’ouvrage,nousrevenonsreg´ ulier` ementaux pointsimportantsen
rapportavecles divers domainesdes tachˆ es misesenplace au sein de l’entreprise.
Leschapitres 1et2 introduisentles basestheo´ riques de la gestiondecontenu. Dans ce
contexte, lesavantagesfournis par TYPO3deviennent ev´ idents,et, ap` artirdela,` nous eta´ -
blissons desbases afindevouspermettredeprendre desdec´ isions concernant sonutilisa-
tion strateg´ ique.Par ailleurs, ceschapitres introductifsdonnent auxlecteurs dep´ ourvus de
connaissances anter´ ieures surlesujet une descriptiondecelui-ci, en pres´ entant lestermes
17Pr ´eface desauteurs
et lesconceptsles plus importants. Cetexposee´ st suivi du deta´ il de l’installation et de la
configuration de TYPO3.
´ `Dans le chapitre 3, nous faisons une demonstration du fonctionnement du systemeennous
`servant de situations concretes de productiondecontenu. Un outilcomplexedoitprouver sa
valeur d’une certaine fac ¸on, graceˆ al` afacilited´ eprise en charge de soninterface. Apres` avoir
pres´ entel´ es options de TYPO3etleurs fonctions,lasection se clotˆ surunexemple pratique de
travaileffectif avec TYPO3.
Le chapitre 4couvrel’administrationdusystem` e, puis lesadaptations auxconditionsetaux
proced´ es´ defi´ nispar lesproducteurs dansleurtravail avec le system` e. En proced´ antdelasorte,
nous montrons par desexemplescomment lesmoyensdisponibless’imbriquent,etcomment
ils sont utilises´ en pratique.
Le chapitre5dec´ ritlaproductiondesites Webgraceˆ al` ’utilisationdeTYPO3. Commenc ¸ant par
l’installation,nousdiscutons ensuitedelaprogrammation desgabaritsavecTYPO3etpassons
en revueles differ´ entesmeth´ odesdisponibles.
Dans leschapitres6et7,nouspres´ entons l’interfaced’extension de TYPO3, le System` eExten-
sions, dec´ rivant lesbases et lesfac ¸ons de dev´ eloppervos propres extensionsfonctionnelles
danslastructure de TYPO3. Ici, nous pouvons observer, du point de vuedudev´ eloppeur ,
l’integ´ ration avec lesfonctions du noyauetavecles differ´ entes partiesdel’architecture de
TYPO3qui peuvent etrˆ e eten´ dues.
Le texte tout entier comporte desnotes de basdepage et ce quenousappelons des « ref´ e-´
rences ».Les notes de basdepage sont destinees´ ae` ncouragerlalecture et l’approfondis-
sement de domainesqui ne relev` entpas directementdes aspectstechniques de TYPO3. Les
ref´ er´ encesservent de lienentre le livreet typo3.org,ainsi qued’autresressources.
En saisissant le code numer´ ique surlesite typo3.org (http://www.typo3.org/book/), vous se-
´ `rezameneausujet quiycorrespondsur la documentationenligne,oubien ades sources
´ ´ ` ´ ´plus detaillees.Decettemaniere, lesreferencestechniques et la documentationsontincluses
` ´ ´ ´et sont mises ajourautantque possible.Lelecteura egalementl’opportunitededecouvrir
lesressourcesthem´ atiquesetstructurellesenligne,qui luidonnent ainsiuncertain sens de
l’orientation danslaprofusion toujours grandissanted’informations.
18`Aproposdecelivre
Ce dontvousavezbesoinpourutilisercelivre
Il vous sera nec´ essaired’avoir installeT´ YPO3sur un serveur Websur lequel sont dep´ loyes´ PHP4
et MySQL. Vous pourriez aussi avoirbesoind’options supplem´ entaires tellesque ImageMagick,
GDLib/Freetype,zlib et un accel´ er´ ateurPHP comme Zend.
Conventions
Dans cetouvrage,voustrouverez divers stylesdetextes servant ad` istinguerdiffer´ entes sortes
d’informations. Voiciquelquesexemples, ainsiqu’une explicationdeleursignification.
Il existe troisstylespourles lignesdecode.Les mots du code sont indiques´ comme suit dans
le texte : « si nous souhaitonstransformerlacouleur du fondd’ec´ ranenunjoligris, nous
pouvons allerdans typo3_styles et personnaliser base_properties ».
Si nous rencontronsunblocdecode,ilapparaˆıtra comme suit :
$result=$this->query($query);
$row=$this->fetch_array($result);
$result=$GLOBALS[’TYPO3_DB’]->sql_query($query);
$row=$GLOBALS[’TYPO3_DB’]->sql_fetch_assoc($result);
Lorsquenousvoulons attirervotre attention surune partie d’un blocdecode,les lignesen
question seront en caracter` egras:
<body>
<div id="rootline">rootline</div>
<div id="header">
<div id="logo">logo</div>
<div id="headerimagetext">texteimageentete</div>
</div>
Lestermesnouveauxetles mots importantssontpres´ entes´ en italique.Les mots quevous
voyezdansles capturesd’ec´ ran— dansles menus ou dansles boˆıtes de dialogue, par exemple
—apparaissent ainsidansletexte : « en cliquant surlatouche Suivant,vousarrivez al` ’ec´ ran
suivant. »
Toutes lesentrees´ et sortiesdelignesdecommandesontaffichees´ comme suit :
19`Aproposdecelivre
user@domain:/srv/www> ls -al htdocs/
total 38
drwxr-xr-x 6user group 512 May 23 02:42 .
drwxrwxr-x 14 user 512 Jul 24 17:51 ..
-rw-r--r-- 1user group 4987 May 23 02:42 INSTALL.txt 1user 608 May 23 Package.txt 1user group 8119 May 23 02:42 README.txt
...
Lescommentairesdes lecteurs
Lescommentairesdelapartdenos lecteurs sont toujours bienvenus.Faites-noussavoirceque
´ ˆ ´vous pensez de ce livre, ce quevousavezaimeouceque vous n’avez peut-etrepas aime. Les
critiquesdenos lecteurs sont importantes pournous, danslamesureoun` ouspouvons alors
dev´ elopperles sujets lespluspertinentspourvous.
Pour nous envoyeruncommentaire gen´ er´ al,vouspouvezsimplementposter un email a-`
l’adresse typo3@eyrolles.com,envousassurant quevousmentionnezbienletitre du livre
et l’objetdevotre message.
Tel´ ec´ harger le code exemplepourlelivre
Visitez le site http://www.editions-eyrolles.com/,ettapezlecode 11781 danslechamp Re-
cherchepouracced´ er al` apage du livre. Vous ytrouverez desliens vers lesfichiers du code
source desexemplesdulivreetversd’autresressources.
Lesfichiers te´e´chargeablescontiennent desinstructionsquanta` leurutilisation.
Errata
Bien quenousayons pris le plus grandsoinpourassurerl’exactitudeducontenudulivre, des
erreurspeuvent toujours se produire. Si vous dec´ ouvrez une erreur dansl’undenos livres —
cela peut etrˆ eune faute dansle texte ou dansle code —nous vous serionsreconnaissants
de nous le signaler.Enagissant de la sorte, vous pouvez ep´ argner une certaine frustrationaux
autres lecteurs, et vous nous aidez eg´ alementaa` mel´ iorerles versions suivantes de ce livre.
Si vous trouvezdes erreurs, signalez-les par mail al` ’adresse typo3@eyrolles.com.Apres` les
avoirver´ ifies´ ,nousajouteronsces errata al` aliste existante. Cette liste peut etrˆ econsultee´ en
consultant la page du livresur le site http://www.editions-eyrolles.com.
20Introduction1
Introduction
Ce livreest bases´ ur la versionoriginale allemande, dontdiffer´ entes partiesont et´ em´ ises a`
jour ap` lusieurs reprises, ac` ause de changementseffectues´ surlenoyau de TYPO3dansses
deux dernier` es versions (3.7.0 et 3.8.0).
Lesauteurs aimeraient remerciertousleurs lecteurs pourleurs nombreux commentairesaver-
tis, leursconseils,et, biensurˆ ,pourlesucces` consider´ able qu’a rencontrel´ ’ouvrage.
Nous voudrionsaussi remercierlacommunauteq´ ui nous soutient, ac` ommencer par Kasper
Skar˚ høj, lesmembres de l’association TYPO3, ensuitetoutes lespersonnesappartenant ad` es
groupesd’utilisateurs, ad` es listes mail, et enfin auxprestatairesdeservicequi nous aident.
1.1Historique
Kasper Skar˚ høj, nee´ n1976, travaillait dej´ad` epuislafin1997 surl’undes tout premiers
system` es de gestiondecontenupourlajeune entreprise « Superfish » aC` openhague. Apres`
deux annees´ de dev´ eloppement,unvoyage al` aconfer´ ence de Seybold aS` an Francisco, un
certainnombredeprojets av` ocationpratique, et plusieursrencontres(avec le « gourou »
23
Chapitre1 Introduction
d’InternetDavid Siege), Kasper se rendit compte que « Superfish » n’eta´ it pas vraiment l’envi-
´ ´ ` ´ronnement adequatouidealpourcontinueradevelopperTYPO3.
Ceci s’explique en partie par le faitque « Superfish » s’orientaitdansune nouvelle direction
` `quantautypedeservicefourni. De plus,ily avaitune raison quin’est quetropfamiliere ade
nombreux dev´ eloppeursdelogiciels: la pression desdel´ aispoursortirdenouvelles versions en
vueduprochainsalon,etlatendance gen´ er´ alead` onnerplusd’importanceaux aspectsvisibles
etan` eg´ liger lesaspects invisibles, qui, al` ongterme,sontplusimportantsquand il s’agitdela
qualite.´
Lesconseq´ uences queKaspertiradecettesituation ne sont pas parmiles plus habituelles:
alorsque la plupartdes dev´ eloppeursd’OpenSourcedelapremier` egen´ er´ ationgrandissaient
dansunenvironnement universitaire —Linus Torvalds en eta´ nt un exempledepremier plan —
,Kasperdec´ idaderenonceral` asec´ urited´ ’une entreprise florissante, al` aquelle il eta´ it de plus
associe,´ pourtravailler ap` lein tempssur sa conception du system` edegestion de contenu. Un
an plus tard,s’eta´ nt consacreu´ niquemental` amiseenœuvre de cette conception,laversion
1.5fitson apparition.C’eta´ it en juillet2000.
Le dev´ eloppement de TYPO3resta un « one-manshow » jusqu’en juillet2002, avec cetavan-
tage crucialque la qualitee´ tlacoher´ ence de l’ensemble demeurer` entau` ntres` haut niveau.
Il yavait un des´ avantage :laprogression du dev´ eloppement et un certainnombred’el´ em´ ents
devaient,enquelque sorte, passer «at` ravers le chas de l’aiguille Kasper ».Apres` de nom-
breusesdiscussionsavecles membresdelaliste mail, suiviespar une phasedetravail fren´ eti´ que,
Kasper publia une nouvelle versionen2002, la version3.5b1,qui,avecson gestionnaired’ex-
tension,transforma immed´ iatementTYPO3enunsystem` emodulaire. Depuis,lacommunaute´
acontinuellement publied´ enouvelles extensions, permettantd’el´ argirrapidement le champ
d’applicationdeTYPO3.
´ ´ ´ ´ ´ ´Reference 314624 Parconsequent,des groupesdetravail ont eteformes pouraborder tous lesaspects de TYPO3.
˚Kasper Skarhøjest au cœur du projet et esttoujoursresponsable de la mise en circulation. Il
` ´ `travaille personnellementalaresolutiond’uncertain nombre de problemes.
Il ne faudraitpas oublierque sonengagement dep´ endessentiellement de la question sui-
vante: pourlui,est-ce ec´ onomiquement viabledeseconcentrersur cessujets?C’est pourquoi
lescontributions ad` egrandsprojets commerciaux et lesprestations de serviceseffectuees´ a`
cesoccasions,sontcruciales pourleprojetTYPO3:afin qu’il continue ap` ouvoir payer ses
spec´ ialistes lesplusimportants.
1.2Qu’est-cequ’un CMS?
Lessystem` es de gestiondecontenusontdevenus incontournablespourcreer´ et mettreen
ligne du contenusur Internetetles intranets.Onappelle gen´ er´ alementles system` es de logiciel
de ce domaine « WebContentManagement Systems » (WCMS), ou « ContentManagement
Systems » (CMS). Lorsqu’ilssontinteg´ res´ dansune approcheglobale de l’information depuis
la gestiondes documents, jusqu’al` apublicationsur Internet, en passant par l’impression,on
parledegestion professionnelle de contenu.
241.2 Qu’est-ce qu’unCMS ?
1.2.1Sep´ arationducontenu de la forme
Un principe de base estlasep´ arationducontenudelaforme.Enpratique, cela signifieque la
defi´ nition de la mise en forme estsauvegardee´ indep´ endamment du contenuentantque tel,
quecedernier soit sous forme de texte, d’imagesoud’autresformats.Ceprincipecomporte
´de nombreux avantagesquand il s’agitdechanger la mise en forme,oudelaproteger contre
ˆ ´ ´desauteurs de contenuprolifiques.Alors quelecontenupeut etre editepar lesauteurs sans
´ ´ ˆaucune influence surles details de l’affichage, la definition de la mise en forme peut etre
modifiee´ de fac¸on indep´ endante, permettantdoncdes changementseffectifsd’architecture,
memˆ eautravers de tres` grands sites Web.
1.2.2Cycle de vieducontenu
Lessystem` es de gestiondecontenuaccompagnentlecontenudanstoutes les eta´ pesdeson
cycledevie,depuissacrea´ tion avec les ed´ iteurs, en passant par l’organisationdes ressources,
jusqu’au dep´ loiement en ligne lors de la publication, et enfin al` ’archivage des el´ em´ ents de
contenu.
Figure 1.1:
Cycledevie du
contenu
Durantlaphase de crea´ tion,l’information estrassemblee´ et organisee´ globalement. Apres` la
´ ´planification,l’information pertinente estmisepar ecrit, structuree quandc’est possible,et
´ ´ ´ ´divisee en composants.Cettephase comprend egalementl’editionainsi quedes ameliorations
´didactiques ajoutees par lesauteurs.
L’eta´ pe d’organisation, ou de prep´ aration, organiseetsauvegarde le contenuselon un schem´ a
quiconvient al` afoisaux res´ ultats et auxsources d’information.Deplus, on defi´ niteton
attribueici lesdroitsd’utilisateurs.
La publicationa trait al` adistribution et al` apres´ entation du res´ ultatsouslaforme d’un site
Weboud’unproduit,imprimeo´ usousunautre format.
Lesarchivessauvegardent le contenudemanier` e as` epreterˆ au mieuxaux recherches,aux
statistiques et, au bout du compte,al` areu´ tilisation.
251 Introduction
1.2.3System` emodulaire
TYPO3est un system` emodulaireorganisee´ nplusieurs couches. Depuis la sauvegarde jusqu’au
dep´ loiement,ces couchesdivisentlesystem` eenmodules. Concernantlasauvegarde,vousdis-
posez d’une APIpourconnecter TYPO3aux differ´ entes basesdedonnees´ .Vouspouvezaussi
enregistrerl’information dansdes fichiersXML en utilisantles fonctions de la couche d’abstrac-
´ ´ ´tion de la base de donnees.Par ailleurs, TYPO3a defini une interfacepour etendrelenoyau du
´ `logiciel,nommepourcetteraisonlesysteme « d’extensions ».Ces extensionsseconnectent
aT` YPO3via le gestionnaired’extensions, quisertaussi d’environnement de dev´ eloppement
(IDE).
Lesextensionspeuvent ajouter desfonctionnalites´ at` ousles niveauxettoutes lesinterfaces
du logiciel,sansenchanger le noyau, et assurant doncdes mises aj` ouraisees´ et la stabi-
lited´ ucode source.Toutcomme lesvendeursser´ ieux de gestiondecontenudelogiciels, les
system` es Open Source et TYPO3enparticulier, ontadoptec´ etteapproche modulaire, memˆ e
s’ils recourent ad` es concepts techniques differ´ ents,selon l’APIdisponible.
1.2.4Groupecible
Surune per´ iode relativement courte, TYPO3apris, tres` rapidement,del’ampleur.Entermesde
quantite,´ le groupe d’utilisateurs le plus repres´ entatifest constitued´ ’entreprises de petite ou
moyenne taille.Eneffet, la courbe d’apprentissage et la puissancedeTYPO3constituent un
frein as` on utilisationdanslaspher` eprivee.´
Ref´ er´ ence 027059 Lesentreprises capablesdes’acquitter de leur droitd’entree´ danslemonde de TYPO3, par le
biaisdes servicesdespec´ ialistes dumeˆ nt qualifies´ ,peuvent,cependant, apprec´ ierles avantages
d’un logiciel libreengen´ er´ al,etdeTYPO3enparticulier. Lesraisons lesplussouvent invoquees´
comprennent la licence (GPL), la qualite,´ la documentationconsider´ able,lacommunauteq´ ui
s’accroˆıt rapidement,etles nombreuses recommandations de la part d’entreprisesetd’organi-
sationsrenommees´ .Une sel´ ection de cesdernier` es estpubliee´ sur TYPO3.com,al` aref´ er´ ence
ci-contre.
´Parmiles quelque200 000 installationsreprisesdanslerepertoired’extensionsdeTYPO3entre
´juillet2002 et le debut de 2005, on trouve un grandnombredenomsbienconnus et de
marquescel´ eb` resqui ontfaitconfianceaT` YPO3, prouvant la validited´ es system` es Open Source
d’entreprise en lesutilisantdansleurs intranets et dansd’autresapplications critiques.
1.2.5Ref´ er´ encesTYPO3
Ref´ er´ ence 589606 La liste desref´ er´ encesdans TYPO3.org pres´ ente une sel´ ection de projets typesbases´ surTYPO3.
Parmiles prestataires de services, il existe un grandnombredenomsrep´ utes´ venant d’Alle-
magneetdureste de l’Europe,mais eg´ alementbeaucoupd’entreprises de petite ou moyenne
taille,qui voient lau` ne opportunited´ ’entrerencompeti´ tion au` nniveau techniqueavecde
grands fournisseurs, proposantdes prix attractifsetdes del´ aiscourtspourlarea´ lisationde
projets.
261.3 La communaut ´e TYPO3
La licence GPL: « GNUGeneral Public License »
La licence publique gen´ er´ aleGNU estlalicence Open Source la plus largementutilisee.´ Ce-
pendant, soncontenu, apparemment simple,continue ap` rovoquer descontradictions dans
´ ´ ´ ´differents paysetdansdifferentes legislations. Uneopinion legaleensuitune autreet, parce
´quelelogiciel estdistribuegratuitement, descontroversesapparaissent en ce quiconcernela
sec´ urited´ uconsommateur, lesreg` lementsap` ropos desautorisations,etles inter´ etsˆ despro-
grammeurs, quipeuvent s’aver´ er significatifs,selon le champd’applicationetdanslamesure
oul’utilisationdulogiciel se rev´ el` ecritiquepourl’entreprise. Il estdoncconseilled´ eserensei-`
gnerap` ropos du contenudelaGPL et sesconseq´ uences leg´ ales,danslepaysoul` elogiciel est
utilise.´ Quandcelaserev´ el` eapproprie,´ lesgaranties offertes par une agenceouunprestataire
de servicestechniques,qui prennent la relev` eoutravaillent al` amiseenœuvre,doivent etrˆ e
reg´ lementees´ .
Lesextensionsrevetenˆ tunrolˆ eparticulier. Aussi longtempsqu’ellesnefonctionnent pas comme
desapplications indep´ endantes,ellessontsujettes,ellesaussi, al` aGPL.
Unefonctionprofondem´ entancree´ danslecode source de TYPO3, quiest normalementdev´ e-
loppee´ sous la forme d’une extension,etqui n’estpas justeune adaptation ou un script base´
surunprogramme existant,est Open Source,etest elle aussi soumise auxconditionsGPL.
La licence GPLspec´ ifieque l’auteurn’est pas obliged´ epublier, mais ne peut pas nonplus
empecˆ herlapublicationune foisqu’elle aura circulee´ tserapeut-etrˆ earrivee´ jusqu’au` nclient.
L’auteurnepeutpas nonplusopposer desrestrictionsaux modifications, ni ad` efutures mo-
dificationseffectuees´ par destiers, une foisqu’ils sont entres´ en possession du code.
En ce quiconcerneles inter´ etsˆ ec´ onomiques, desproblem` es peuventsurgirconcernantl’utili-
sation de TYPO3, pourcertains ed´ iteurs habitues´ ap` enserentermesdeproduitscommercia-
lement viables.
` ´ ´ ´ ´Mais,par analogie,ilfautgarder al’espritque TYPO3a etedeveloppesanslicence et sans coutˆ .
De fait, la communauted´ ansnotre cas rea´ gitdedeuxfac ¸ons differ´ entes.
De nombreuses extensionsnesontpas publiees´ ;sur lescles´ d’extension nec´ essairesal` ’ec´ hange
via TYPO3.org,uncinquiem` eseulement sont desextensionspubliees´ .Cecin’inclut pas lesnom-
breusesextensionsqui ne sont pas enregistrees´ ,maisinclutenrevanchebeaucoupd’autres
inachevees´ ,etd’autrestropspec´ ialisees´ pourjustifierleurpublication.
Il estcertainementtres` peuprobable quedes clientspublient eux-memˆ es lesextensionsqu’ils
auraient obtenuesd’unprestataire.
Beaucoupdespec´ ialistes se servent de plusieursprojets pourcreer´ et contribuerad` ev´ elopper
une extension,jusqu’ac` eque leur investissement en temps et en connaissances soit rem´ uner´ e,´
et alorsseulement ils publient leur travail, quandcelui-ciest susceptible d’accroˆıtre leur re-
nommee.´
1.3LacommunauteT´ YPO3
La communauteT´ YPO3, composee´ d’utilisateurs et d’enthousiastes,grandit rapidement et de-
vient de plus en plus internationale.
271 Introduction
Le noyaudelacommunautee´ st repres´ entep´ ar deslistes mail—laliste mail anglaise principale
´ ´ ` ´ ´ `estlaliste de reference,alaquelle on peut aussi s’abonnervia desnewsgroups. Referez-vous a
´ `TYPO3.org pourplusdedetails apropos deslistes mail.
´La communauteassure un support, comme danslaplupart desprojets Open Source,enof-
frantune aide rapide et pratique,memˆ epourles problem` es plus compliques´ techniquement
parlant, tant queles reg` leshabituellesduchoix de nomdes sujets ainsiqu’une formulation
prec´ isedes questionssontrespectees´ .Ilest important de lireles archives, lesFAQ, et lesdocu-
mentsd’aideaux deb´ utants,defac ¸on an` epas encombrerles listes avec desquestions ayant
dej´ ar` ec ¸u de nombreuses foisune rep´ onse,cequi peut ennuyer lesutilisateurs exper´ imentes´ .
Souvenez-vous quel’aideque vous recevezest volontaire et gratuite, et quevousn’y avez pas
automatiquementdroit.
Ref´ er´ ence 139514 Si quelqu’una besoin d’une plus grande disponibilite,´ de mater´ ielpours’exercer,oubiena des
questionspluscomplexes ap` oser,ilpeutentrerencontact avec l’undes nombreux presta-
taires de servicesqu’on trouve danslasection « Consultancies » al` ’adresse TYPO3.com.Ces
entreprisesont et´ es´ el´ ectionnees´ d’apres` la competen´ ce dontellesont faitpreuvedansleurs
projets.
Ref´ er´ ence 424461 Quelqu’unquiadej´ ac` onstruit un savoir-faire pertinentenmatier` edeTYPO3souhaiterapeut-
etrˆ eserendreutile en dev´ eloppantdavantage la documentationexistante, ou en contribuant
au projet d’une autrefac ¸on. Le projet vit graceˆ ad` etellescontributions at` ousles niveaux,
de sorteque l’aideetleretour d’information sont reel´ lement bienvenus,etfontl’objet de
longuesdiscussions. Si vous des´ irez faire cela,ilest important d’avoirune impression gen´ er´ ale
au prea´ lable:quels sujets ontdej´ a` et´ ed´ iscutes´ ,etavecquels res´ ultats.Danscebut,nousvous
conseillons de visiter lesarchivesdes listes mail surTYPO3.org, danslechamp Documentation
→ Mailing-Lists.Selon le sujet, vous devrez peut-etrˆ eregarderdansles listes « Developer »,
« Marketing »,ouune autreliste mail.
`Ensuite, vous devrez vous assurerqu’il n’existe pas de projetal’objectifsimilaire, ou quirecoupe
ˆle votre.
Dans TYPO3.org, danslasection D´ eveloppement→ Projets,voustrouverez une liste de tous
lesprojets en coursetdes secteurs de travail, avec lespartenairesac` ontacter .
L’une descaracter´ istiques de TYPO3etdelacommunautee´ st quebeaucoupdes partici-
pants ontdej´af` aitconnaissance, lors de la rencontreannuelle pourlaplupart d’entreeux,
le « TYPO3! SnowboardTour »,qui attire de plus en plus de participants chaque annee.´
En dehors desdiscussions, dessoirees´ de travailintensifetdes nombreuses questionsqui
trouvent une rep´ onse,ainsi quedes projets quiy sont lances´ ,l’objectifest aussi d’apprendre a`
connaˆıtre lespersonnesqui se trouvent derrier` eles adressesmail, et bienentendu eg´ alement
d’apprec´ ierles sports d’hiverensemble.Donc, quiconquesouhaitecombiner l’apprentissage
d’un savoir-faire intensifavecdes vacancestrouveradifficilement une meilleureopportunite´
quecet ev´ en´ ement.
De par l’utilisationconsider´ able de TYPO3dansdes organisations et la tres` largecommunaute´
d’utilisateurs, la premier` econfer´ ence internationaledevaitbienavoir lieu un jour :cefut Ty-
CON3,enseptembre2005, aK` arlsruhe,enAllemagne. Pour plus d’informations, vous pouvez
visiter le site Websuivant :
http://tycon3.typo3.org
281.4 L’association TYPO3
1.4L’associationTYPO3
En novembre 2004, un groupe issu de la communauteT´ YPO3, ycompris Kasper Skar˚ højet
d’autres personnesayant contribuea´ uprojetdepuislongtemps,ont prep´ aree´ tfondeu´ ne
association appelee´ l’Association TYPO3. Sonbut principal estdesoutenir le dev´ eloppement
du noyausur une base plus stable,etd’amel´ iorerlatransparence et l’efficacited´ edivers aspects
du projet TYPO3.
1.4.1Objectifs
L’organisationd’ev´ en´ ements au ben´ efi´ ce de l’information et de la formation de sesmembres
La communication avec lesmembres et avec le grandpublic,envue de promouvoir et
d’accroˆıtre la connaissanceetlacompeten´ ce relatives al` ’utilisationdulogiciel TYPO3, par-
ticulier` ementenvertu de sonprojetdesiteWeb
´La formation et la certification,assurant la qualiteduservice
Favoriserledev´ eloppement de TYPO3
Supporter l’adaptationdes logicielsinternationauxstandards au sein de TYPO3
La repres´ entation desmembres
Lesrelations publiquesetles activites´ quicontribuentad` ev´ elopperlaconnaissanceetl’uti-
lisationdulogiciel TYPO3.
ˆ1.4.2 Etre membre et s’inscrire
L’Association TYPO3comptedeuxtypes de membres:
Membresactifs
´ `Lesmembres actifssontdes personnesqui onttravailleenaccord avec TYPO3etsontalafois
´ ´ ´ ´desireuxetcapablesd’assister auxassemblees generales,oui` ls ontundroit exclusif de vote et
´ ´de decisionquant au futurdel’Association.Les membresactifssontnommes en fonctionde
leur mer´ ite, et doivent etrˆ erecommandes´ par deux membresactifs, ou par un cinquiem` ede
l’assemblee.´
Membresdesoutien
ˆEtre membre de soutienest possible pourtoutlemonde,maisrequiertune inscriptionformelle. Ref´ er´ ence 394945
L’Association proposeune fiche d’inscriptionenligne et un moyendepaiementdes droits
d’entree´ en tant quemembre al` ’adresse http://association.typo3.org.Les membressontsoit
despersonnes, soit desentreprises,etilleurest demanded´ esoutenir lesbutsetobjectifsde
l’Association, at` ravers leursactions.
Tous lesmembres auront le droitdeserec´ lamerdeleurqualited´ emembreexclusivement,et
doncdesoutenir TYPO3, uniquementsileuradmission en tant quemembres a et´ ea´ cceptee.´
291 Introduction
Organismes et travailpratique
L’Association se composedes organismessuivants:
Conseil(board)
Le conseilest l’organisme exec´ utif quiassure la gestionquotidienne,les questionsle-´
´gales et la comptabilite.
Assembl´ee g´ ener´ ale
L’AG estlaplushaute autoritee´ t el´ it le conseil, controlˆ eletravail de ce dernieret, d’une
fac ¸ongen´ er´ ale, dec´ idedetoutes lesquestions d’importancelorsdeson meeting annuel.
L’AG estouverteat` ousles membres, mais seulsles membresactifsont le droitdevote.
Comit´es
Lescomites´ sont lesgroupes quieffectuent le travailentantque tel quandils’agit
de discuter de l’utilisationdes fonds,delacommunication au sein de la communaute,´
desformations, des ev´ en´ ements,etainsi de suite. Leg´ alement, ils sont nommes´ par le
conseiletl’AG. Ilsfontdes recommandations,qui sont ensuiteexec´ utees´ par le conseil.
302
Installation
Dans ce chapitre,nousabordonsles differ´ ents typesd’installation de TYPO3etleurchamp
d’application. Nous dec´ rivons ensuiteles eta´ pesnec´ essaires al` eurmiseenœuvre.Sionsefie
au nombre d’installationsdej´ ae` xistantes,les obstacles al` ’installation de TYPO3nesemblent
pas infranchissables. Toutefois, lesauteurs de cetouvrage pourraientparlerdes heures durant
de leurspremierspas en ev´ oquantcertainsproblem` es susceptiblesdeder´ outer le deb´ utant.
Pour terminer, vous trouverezunaperc ¸u de quelques ressourcesmisesav` otre dispositionpour
res´ oudreles problem` es quevousrisquez de rencontrer .
2.1ChoixdupaquetageTYPO3 et de la configurationdu
serveur
TYPO3requiertsimplementune base de donnees´ et un serveur Webconfigurea´ vecPHP;sur
cette base,lemater´ ielutilise,´ le system` ed’exploitation, le system` edebasededonnees´ ainsique
le serveur Websontchoisis en fonctiond’ungrand nombre de criter` es,dontnousreprenons
iciles plus importants.
31
Chapitre2 Installation
Le choixdusystem` ed’exploitationest deter´ minant.TYPO3fonctionne surlaplupart des
` ´systemes de type UNIX,ainsi quesur Windows. Il n’ya pas de difference entreces deux versions
´ ˆen termesdefonctionnalites de base,memesicertaines extensionsexigent desprogrammes
´UNIX.Consultez la documentationsur lesextensionsconcernees afindetenir compte de leurs
1restrictions.
Un desavantagestechniques de l’utilisationd’unsystem` eUNIXest la rapidited´ es misesaj` our
2graceˆ aux « liens symboliques ».
Savoir quel system` ed’exploitationest majoritairementutilisea´ useindelacommunauted´ ’uti-
lisateurs de TYPO3est aussi un facteurimportant.Latendance,dumoins en termesdequan-
tite,´ estal` ’usage dessystem` es Linux.Des` lors, le supportet, pourcertaines extensions, lesnou-
veauxdev´ eloppementsqui dep´ endent d’un system` ed’exploitationsontplusfreq´ uentspour
Linux.S’il n’ya aucune contre-indication— telle qu’une infrastructure dej´ ae` xistante basee´ sur
Windowsouvotre (in-)exper´ ience—,Linux estlemeilleur choixpourl’exploitationdeTYPO3.
Leschapitres suivantsabordentdemanier` eplusapprofondielechoix de logicielsetdemater´ iel
informatiqueencequi concerne le serveur,lesystem` edebasededonnees´ ,d’autreslogiciels
utiles, et finalement, le choixdupaquetage de TYPO3.
2.1.1Materi´ el
Bases´ ur PHP, TYPO3requiertauminimum un mater´ ielinformatiquesupportant un serveur
Web.Memˆ esiunvieux 286 avec 32MB demem´ oire vive conviendraitac` et effet, il ne constitue
pas une plate-forme suffisamment puissantepourexploiter TYPO3. Le system` edoitavoir une
mem´ oire vive de 512 MB ou plus afindefournir lesperformances requises.
Si vous des´ irez utiliser votrepropreserveur,consider´ ez lesfacteurs suivantspourdimensionner
votremater´ iel:
Type d’utilisation
Le facteurdec´ isif estlamanier` edontl’information disponible survotre site Webserautilisee´ :
le site sera-t-ilstatique, en tout ou en partie?Des´ irez-vous ger´ er un site portail?Voulez-vous
creer´ du contenudynamique survotre serveur Web? Prev´ oyez-vous de mettreenligne une ap-
plicationtelle qu’une boutique,des cartes virtuellesoudes forums?Lareg` le suivanteprev´ aut:
au plus nombreuses sont lesfonctions effectuees´ par le serveur,auplus el´ eves´ sont lesbesoins
en mater´ ieletles dep´ ensespoursep´ arer le system` eenligne du system` edeproduction.
Chargeduserveur
Un certainnombredeparametr` es peuvent etrˆ equantifies´ :
Combiend’utilisateurs utiliserontlesystem` esimultanem´ ent?
`Aquelle vitesse (ensecondes) une page doit-elle etrˆ eservie par le serveur ?
1IndexedSearch,par exemple, estunpuissant moteur de rechercheutilised´ ansTYPO3nec´ essitant un logiciel
UNIX pourindexer lesdocuments. Il en estdememˆ epourplusieurs fonctionnalites´ de l’extensionDAM et pourles
extensions quimanipulentleformatPDF .
2Sous Windows, l’installation du progiciel complem´ entaire Junction permet d’utiliser lesliens symboliques. Voir
Ref´ er´ ence 394 945.
322.1 Choix du paquetageTYPO3 et de la configuration du serveur
Combiendepagespar heureetpar mois doivent etrˆ edel´ ivrees´ ?
Quel estlevolume mensueldetrafic prev´ u, en MB ou GB ?
Il sera difficile de prendreune dec´ isionfondee´ si cesgrandeurs ne sont pas connues. Si vous
avez desdoutes,essayezdevousinformeraupres` desprestatairesoffrantdes servicessem-
blablesaux votˆ resafin d’avoirune meilleureestimation. Il existe troisscen´ ariostypiques:
1. Chargefaibleam` oyenne
´ ` ´ ´Il s’agitici de sites n’ayantaucune raison economique justifiantlerecours aunserveur dedie.
Pour cessites,onneprev´ oitpas plus de 10 visiteurs al` afoisdanslebackendet50dansle
frontend, une gen´ er´ ationdepage en 1,5secondesmaximum, pas plus de 100 pagesdel´ ivrees´
par heureetmoins de 100 000 pagesserviespar mois.Entout, le traficmensuel ne dep´ asse
pas 5GBpar mois.Sivotre profil correspond ac` elui-cisur plusieurspoints, vous avez tout
inter´ etˆ as` el´ ectionnerunheb´ ergeur de qualite,´ quiidea´ lement proposedes solutionsouT` YPO3
estdej´ ap` re-´ installe.´
Si vous optez pourune solution ouT` YPO3n’est pas encore installe,´ assurez-vous d’abordque
lesconditionsd’installation suivantes sont remplies:
au moins100 MB d’espacedisque
une base de donnees´ MySQL
PHPap` artirdelaversion 4.3.xavecles bibliotheq` uesGDLib et Freetype
ImageMagick
acces` via SSH
`Acestade,unavertissement s’impose: depuis longtemps, la location d’une infrastructure
pourleWeb ne requiert plus desmontantsastronomiques.Via desoffres ab` as prix pourdes
serveursded´ ies´ ,n’importe quidisposantdequelqueseuros peut mettreenplace en moins
d’un mois une offredeservices en tant qu’heb´ ergeur ou de fournisseur d’acces` aI` nternet. La
connaissanceetlacompeten´ ce en la matier` enesontpas indispensables, ce quiaboutit parfois
ad` efachˆ eusesconseq´ uences.
Le secteurd’acces` aI` nternetest soumisaux memˆ econtraintes ec´ onomiquesque tout autre
secteurd’activite,´ et de trop basprixres´ ultentd’undes pointssuivants:
1. Unemauvaise connaissancedumater´ iel: quelqu’und’avertisaitqu’une courte per´ iode
´ ´d’indisponibilited’unserveur peut detruire le fruitd’unlongtravail ;
2. Peudefrais en personnel: votreprestataire sous-traiteson infrastructure chez un desgrands
´fournisseursdumarche(ce quiimplique peudemarge de manœuvre pourvotre prestataire) ;
3. Taille du prestataire(un grandprestataire pourraplusfacilement engagerdes experts).
Bien sur,ilest parfaitementjustified´ erechercherl’offrelaplusavantageuse.ˆ
Seulement, avec desprix ec´ rases´ ,vousnepouvezpas vous attendre au` nserviceoptimal et a`
une protection desdonnees´ respectant l’installation et le contenudevotre CMS.
Parprudence, pourgarantirunniveau de sec´ uritem´ inimal (ainsi qu’unfournisseur quiest
en bonne santefi´ nancier` e, redevablecontractuellement d’indemnites´ en cas de problem` e),
`vous devriezpayer un prix acceptable,c’est-a-` dire un minimum de 25 eurospar mois. Aces
332 Installation
conditions,vouspouvezfaire appel ad` es heb´ ergeursdepluspetite taille quivousoffrentun
´service fiable et personnalise.
´Independamment du budgetdevotre projet, exigez toujours une sauvegarde automatique,
´ ´faites-enunprealable lors de la selection d’un prestataire.
2. Chargemoyenne a` elev´ ee´ et Intranet
Il estjudicieux d’avoirvotre propreserveur si votreapplicationCMS en justifiel’installation
et l’exploitation. Dans ce cas,lecoutˆ de la location du serveur ou de la co-locationdevient
marginal par rapportaux autres coutˆ sduprojet.
´ ´ ´ ´ ´ `Plusieurs etudesont demontrequ’une proportion de 35% descoutˆ s etait consacree al’achat
ou la location d’un serveur contre 65% pourlamaintenance et lesautrescoutsassocies´ .ˆ
Pour l’intranet, vous n’avez pas d’autrechoix qued’avoir votrepropreserveur.Laquestion
centrale estici celle du dimensionnement.Avant toutedec´ ision, il estfortementconseilled´ e
proced´ er au` ne ev´ aluation desbesoins,entenantaussi compte de leur ev´ olution(la mainte-
nancededeuxserveursnerepres´ ente pas plus de 10% de travailsupplem´ entaireque pourun
seul serveur).
La formulelaplusrep´ anduepourlecalculdes coutˆ ssur la duree´ de vie d’un investissement,
appelec´ outˆ totaldepropriet´ eo´ uencore TotalCostofOwnership,enanglais (TCO), peut etrˆ e
par exemplepres´ entee´ comme suit :
L’ « iceberg » du TCO
Coutˆ sapparents
+investissement
+achat de logicielsetdemater´ iel
+installation
+miseenœuvre
Coutˆ scaches´
+adoptiondusytem` e
+support
+administration
+formation
+maintenance
+degred´ enon-utilisation
´ ´=coutˆ totaldepropriete
3Ce mode de calculs’est consider´ ablement affinea´ ucours du temps ,maispourunexemple
ou pourune premier` e ev´ aluation descoutˆ sd’une oper´ ation, la liste repriseci-dessussuffit.
3cf.Bensberg/Dewanto : « TCOVOFIfor eLearning Platforms » , http://www.campussource.de/org/opensource/
docs/bensbergVor.doc.pdf
342.1 Choix du paquetageTYPO3 et de la configuration du serveur
Si, en fonctiondevotre calcul, vous optez pourunserveur ded´ ie,´ il estessentieldeclarifierles
´ ´ `pointstechniques suivants: lesperformances du materiel, lespossibilites de le mettre ajour,
´ ` ´ ´ ´la disponibilitedepieces de rechange,lastrategie de sauvegarde ainsique la securite(droits
`d’acces,etc.).
3. Charge elev´ ee´
Pour une charge el´ evee,´ c.-a-` d. plus d’un milliondepagesserviespar mois,lasolutionstandard
estdecombiner plusieursserveursen cluster.Lamotivation de ce choixest de rep´ artirla
charge ainsique d’assurerune redondance du system` e. Suivant le rolˆ equ’on luiassigne, la
charge maximale al` aquelle faitface le serveur peut etrˆ edep´ assee´ memˆ eavecuntrafic peu
el´ eve.´ De plus,certaines conditions d’utilisationdel’application—par exempledansunsystem` e
informatiquedegestion—netoler` entaucune interruption. LesserveursWeb et lesserveursde
base de donnees´ peuventaussi etrˆ eadministres´ et dimensionnes´ sep´ arem´ ent, en fonctiondela
charge qu’ilsontas` upporter.Divers scen´ ariosexistent, allant de system` es de 10 serveursWeb
Apache, installes´ chacunavecleurpropremater´ ieletunserveur MySQL, jusqu’ad` es system` es
composes´ de3serveursApache et de5serveursMySQL.
Dans tous lescas,ilest iciquestiondesolutions spec´ ifiques quinec´ essitentune planification
et une implem´ entation prec´ ises,ainsi qu’unsuivi constant.
2.1.2ServeurWeb
En theo´ rie, TYPO3pourrait etrˆ eexploitea´ vecApache,IIS ou tout autreserveur utilisantPHP.La Ref´ er´ ence 504537
combinaisonlaplusutilisee,´ en termesdequantite,´ estlacombinaisonApache-PHP.Laversion
de PHPetsaconfiguration ontune influence surTYPO3; ce phen´ omen` eest dec´ rital` arubrique
« Server Compatibility » surlesiteTYPO3.org(cf.ref´ er´ ence).
2.1.3Basededonnees´
La base de donnees´ standardpourTYPO3est MySQL. Elle estrestee´ longtempslaseule base de
4donnees´ supportee.´ Depuis lors, une couche d’abstractiondebasededonnees´ (DBAL )a et´ e´
introduite. Comme cette couche utiliseunlangageSQL compatible avec MySQLaulieud’un
meta´ langage,MySQLreste la solution la plus performante, puisquedanscecas,les requetesˆ
vers la base de donnees´ ne doivent pas etrˆ etransformees´ .Deplus, plusieursextensionsutilisent
leurspropres requetesˆ .Des ver´ ificationssontdoncnec´ essaires au cas par cas si l’onveutfaire
fonctionnerune extension avec d’autres basesdedonnees´ pours’assurerque le code ger´ ant
lesrequetesˆ restecompatible.
Choisirunsystem` eSGBDR (System` edeGestion de Bases de Donnees´ Relationnelles) autre
queMySQLest une dec´ isionqui doit etrˆ eprise avec prec´ aution;auboutducompte, lescoutˆ s
d’installationsetdemisesaj` ourdeviendront,al` ongterme,super´ ieursac` euxd’une installation
standard.
Unevarianteinter´ essantedel’utilisationd’autresbases de donnees´ estdecombiner differ´ entes
basesdedonnees´ ,afin de conserverles donnees´ spec´ ifiques survotre propresystem` edebase
de donnees´ et de lesrendredisponiblespourune applicationspec´ ifiqueutilisee´ dansTYPO3.
4DBAL estl’abrev´ iation de DatabaseAbstraction Layer .
352 Installation
L’integ´ ration directededonnees´ ap` artird’autressystem` es de basesdedonnees´ estalors ren-
´ ˆ ´ ´duepossible, evitantdumemecouples desavantagesdelareplicationetdelasynchronisation
´ ´ ´ ´ `de donnees.L’abstractiondebasededonnees n’estpas reservee qu’aux systemes SGBDR: les
´ ˆ ´ ˆfichiersplats telsque lesdonnees XMLpeuvent aussi etreinterroges via desrequetes SQL.
Ref´ er´ ence 613803 Nous n’envisageonsici quelasituation standardavecMySQL, l’information surd’autressce-´
narios n’eta´ nt pas encore disponible.Toutefois, la documentationsur l’abstraction de basede
donnees´ (DBAL)fournit quelques indications(cf.ref´ er´ ence).
2.1.4Autreslogiciels
Deux bibliotheq` uessontnec´ essaires aT` YPO3pourlamanipulationd’images. Ceslogicielsuti-
litairessontentier` ementoptionnels;TYPO3fonctionne aussi sans traitementd’imagesetsans
cesbibliotheq` ues. La premier` ebibliotheq` ue est GDLibrary,une extension PHP, quipeut etrˆ e
´ ´ ´completee par Freetype,une extension offrantdes fonctions pourrepresenter despolices de
` ´ `caractere. PuisqueGDLibraryest dejacompris dansune installation PHPstandard, nous ne
nousyattarderonspas ici.
Ref´ er´ ence 353034 La secondebibliotheq` ue,utilisee´ principalementpourleredimensionnement et la crea´ tion
desfichiers image en pre-´ visualisation, est ImageMagick.L’utilisationd’une ancienne version
(version 4.2.9) estrecommandee´ pourTYPO3, cette dernier` epres´ entant desavantagespar
5rapportaux versions plus rec´ entes.
TYPO3peut etrˆ eutilisea´ vecles dernier` es versions de ImageMagick si lesinconven´ ientspour
lesfonctions de masquage,decontour et de lissage n’affectentpas votresiteWeb.
Ref´ er´ ence 436028 La versionrecommandee´ (4.2.9)est disponible surlesitedeTYPO3.orgsouslaref´ er´ ence in-
diquee´ ci-contre. Vous pouvezvousprocurerladernier` eversion d’ImageMagick soit par le
gestionnairedepaquetage de votredistribution Linux,soitenletel´ ec´ hargeantap` artirdusite
6d’ImageMagick.
Vous pouvezaussi utiliser GraphicsMagic,une bibliotheq` ue basee´ surleprojetImageMagick,
7quientendmaintenir le dev´ eloppement de l’APIdansune ligne plus stricte.
2.1.5ChoixdupaquetageTYPO3
TYPO3existeenplusieurs paquetages, selonl’usage auquel on le destine. Leur formatdep´ end
du system` ed’exploitation:
8Tous lespaquetagesUNIXsontdes archivesdetypetar et se terminent par l’extension .tar.gz.
LespaquetagesWindowssontdes archivesdetypezip,etseterminent par l’extension .zip.
Il n’ya aucune differ´ ence reel´ le entreles fichierscontenus dansles deux typesd’archive.La
seulediffer´ ence estlataille du paquetage.Lepaquetage tar.gz occupe moinsd’espace disque
5Nous n’avons pasrec ¸u de rep´ onse satisfaisantelorsque nous avonsinterrogel´ ’eq´ uipe de dev´ eloppement d’Ima-
geMagick, concernant la baisse de qualited´ anscertainsdomaines. L’ec´ hanged’emails reprenantles des´ avantagesde
chaque versiond’ImageMagick estdisponibleal` a ref´ er´ ence citee´ plus haut.
6http://www.imagemagick.com/
7http://www.graphicsmagick.org/ :l’ev´ olutioninconstantedudev´ eloppement de l’APId’ImageMagickapousse´
plusieursdev´ eloppeursas` epasserdecette bibliotheq` ue.TYPO3s’est adapte´ ac` ecomportement capricieux en ajoutant
desoptions de configuration pourtenir compte desparticularites´ de chaque versiond’ImageMagick.
8Unearchive tarest le nomdonnea´ ux archives cre´ees´ al` ’aideduprogramme tar (qui estengen´ er´ al aussi
comprimea´ vec gzip). Ce format accepteles liens symboliques.
362.1 Choix du paquetageTYPO3 et de la configuration du serveur
quelepaquetage .zip car lesliens symboliques ev´ itentdeded´ oublercertainsdossiers. Le pa-
´quetage .zip contient cesdossiersendouble exemplaire,comme le montre la capture d’ecran.
Figure 2.1:
`agauche: liens
symboliques et leur
relation versles
fichiersdurep´ ertoire
src;ad` roite: liens
symboliques versles
rep´ ertoires sources a`
l’inter´ ieur du
rep´ ertoiresrc
Desraisons historiquesexpliquent le double usage desrep´ ertoires (al` ’aidedeliens symbo-
liques).Notez queles liens symboliquesnepeuvent pas etrˆ ecre´es´ via un acces` FTP.Sivotre
acces` au serveur Webest limite´ aF` TP,sel´ ectionnezunpaquetage zip.
Depuis peu, al` ’aidedelogicielsutilitairestelsque Junction ,ilest aussi possible de creer´ des Ref´ er´ ence 394945
liensdanslesystem` edefichiers d’une partitionNTFS de Windows.
Lesdiffer´ ents paquetagescomprennent toujours la versionlaplusrec´ ente de TYPO3; ils ne
differ` entque par lesexemplesqu’ils contiennent.Engen´ er´ al,les paquetagestar.gznecon-
´tiennent pas le code source de TYPO3, repris danslefichiertypo3 srcsuivi du numerodela
ˆ ´ ´ ´ ´ ´version, quidoit etretelechargeseparement. Parcontre, tous lespaquetageszip contiennent
le code source.
LesprincipauxpaquetagesTYPO3sontles suivants:
QuickStart
Cette versionest prev´ ue pourles neo´ phytes et comprend le didacticiel du deb´ utant. Vous Ref´ er´ ence 995697
devriezsel´ ectionnercepaquetage si vous voulez suivreledidacticielcar il contient tout le
mater´ ieletles donnees´ pourles exemples.Ilest aussi disponible sous la ref´ er´ ence ci-contre.
Test Site
Le paquetage Test Sitecontientdes exemples de gabarits TypoScript, differ´ ents typesdemenus
et desextensionstellesqu’une boutique,unannuaireetdes actualites´ .Cepaquetage,bienqu’il
soit un peudep´ asse,´ estutile si vous souhaitez tester ou dec´ ouvrir le system` epar vous-memˆ e
al` ’aided’exemples.
372 Installation
Dummy
Le paquetage Dummy differ` edes paquetagesQuickstart et Test Sitepar sa base de donnees´
videetpar l’absence d’exemples.Ilsertdepaquetage standardpourles dev´ eloppeursqui com-
mencentunnouveau projet en partantderien.
La copiedelabasededonnees´ contient un compte d’administrateur, auquel on aacces` avec
le nomd’utilisateur admin et le login password.
TYPO3Source
´Le paquetage TYPO3sourceest une archive de type tarqui contient tous lesrepertoires
´ ` ´necessaires au fonctionnement du systemedebase. Lespaquetageszip contiennent par defaut
ce paquetage.
Lesliens symboliquespermettentd’oper´ er plusieursinstallationsTYPO3(sites Web) ap` artir
d’une source unique. Lesextensionspeuvent etrˆ estockees´ danslerep´ ertoireglobald’exten-
sions typo3/ext/ ou danslerep´ ertoire typo3conf/ext/ propre au` ne instance de site Web.
2.2Installationdetest et d’initiation
Ref´ er´ ence 056013 TYPO3.orgoffretoute une gamme de paquetagesadaptes´ auxdiffer´ ents system` es d’exploi-
tation.Nousapprofondissons iciles deux distributionsclassiques :leprogramme d’installa-
tion WAMP (WindowsApache MySQLPHP)conc¸upourWindowspar Ingmar Schlecht,etle
paquetage Quickstart pourLinux.Ilexisted’autrespaquetagesetguidesd’installation pour
BigApache, MacOSX,Debian, Gentoo, Mandrake, etc. En jetant un œilsur la section « down-
load » et surlamatrice de documentationdusiteTYPO3.org, vous trouverezdenouvelles idees´
pourl’utilisationdevotre installation.
2.2.1Installation WAMP sous Windows
Vous trouverezleprogramme d’installation WAMP parmiles paquetagessur la page de tel´ e-´
chargement de TYPO3.org. Il esttres` simple d’utilisation:
1. Tel´ ec´ hargez le programme survotre ordinateur.
2. Ouvrez le fichier par un double-clic.
`3. Apres un courtlaps de temps, une boˆıtededialogues’affichepourvousdemanderd’ac-
cepter la licence GPL. Elle constitueune licence relativement courte, quevouspouvez
liresivousdes´ irez connaıtre vosdroits. Si vous ne l’acceptez pas,vous etesˆ temporaire-ˆ
ment arrive´ al` afindevotre carrier` eTYPO3: il n’existe pas d’autrelicence pourTYPO3,
et vous devezabsolument adher´ er as` es conditions si vous ne voulez pas en perdre le
droitd’utilisation.
4. Un message apparaˆıtra ensuitepourvousinformerque le programme ec´ rira tous lesfi-
chiers danslerep´ ertoire C:\apache.Acceptez seulementsivousn’avezpas de rep´ ertoire
preex´ istant portant ce nom, ou si vous souhaitez effacer toutes lesdonnees´ qu’il con-
tient. En effet, toutes lesdonnees´ prec´ ed´ emment sauvegardees´ danscedossier seront
irrem´ ed´ iablement perdues.
5. L’installation estterminee.´
382.2 Installation de test et d’initiation
Unenouvelleentree´ TYPO3 se trouve maintenantdansvotre menu d´ emarrer avec lesoptions
suivantes :
StartApache
Lanceleserveur WebApache
StartMySQL
Lanceleserveur de base de donnees´ MySQL
Stop MySQL
Arreteˆ le serveur de base de donnees´ MySQL
TYPO3start Serversbefore
Appelle le frontenddeTYPO3dansune fenetrˆ edevotre navigateural` ’adresse http://lo-
calhost
TYPO3(AlternativeURL)
appelle TYPO3al` ’adresse http://127.0.0.1
Si vous lancez ApacheetMySQLetappelezlapage de dem´ arrage TYPO3, vous trouvereztoute
l’information au sujetdufrontendetdubackend. Le programme d’installation WAMP s’est
alorsdej´ ac` harged´ etoutes lesautresoper´ ations d’installation,etTYPO3est pretˆ pourles tests,
ainsique pourvos propres essais de programmation.
2.2.2Installation QuickInstallsousLinux
Si vous avez un serveur Webdisponible quisupporte MySQLetPHP,vousinstallereztres` fa-
cilement TYPO3sur Linux ou surd’autressystem` es d’exploitation de la famille UNIX telsque
BSD, OS X, etc.
` ´ ´ ´ ´Si vous avez un acces SSH au serveur,connectez-vous et telechargez l’archive de Quickinstall Reference 056012
ap` artirdusiteTYPO3.org al` ’aidede curl ou wget.Les adressessontreprisessur la page de
tel´ ec´ hargementdeTYPO3.org.
Si vous n’avez qu’unacces` FTP survotre serveur Web, utilisez le paquetage zip. Transfer´ ez tous
lesfichiers surleserveur danslerep´ ertoiresourcedevotre site Web(ils sont souventappeles´
.../htdocs/, .../html/ ou .../www/).
Vous donnezmaintenantdes droits d’acces` en ec´ riture surcertaines partiesdeTYPO3. Si vous
acced´ ez au serveur uniquementenFTP,vousdevrezproced´ er autrement. Plusieursserveurs
Webont desinterfaces pourl’ed´ itiondefichiers telsque Cpanel, Confixx ou Webmin.Encas
de doute, contactez votreadministrateurouvotre fournisseur .
Lesdroitsd’acces` desfichiers suivantsdoivent etrˆ emodifies´ comme indiquec´ i-apres` :
chmod 777 typo3/temp/ 777 typo3/ext/
chmod 777 typo3temp/ 777 typo3conf/
chmod 777 typo3conf/ext/ 777 uploads/
chmod 777 fileadmin/
Attention :en eten´ dantainsi lesdroitsd’ec´ riture al` ’ensemble desutilisateurs, la sec´ urited´ e
votresystem` epeut etrˆ emiseendangerpar quiconqueayant acces` av` otre serveur.Vouspouvez
392 Installation
consulter la section2.3.1 pourplusd’informationssur la manier` edesec´ uriser votreenviron-
nement.
`AppelezTYPO3al’adresse http ://www.votredomain.com/index.phpdevotre serveur Web.
´Si vous n’avez pas de fichier index.html dans le repertoiredevotre serveur Web, vous ne devez
pas entrer index.php al` afindel’URL.Sinon,nousvoussugger´ onsderenommer index.html
en index_alt.html.Vouspourrez biensur l’effacer ap` artirdumomentouvousn’enavezplusˆ `
besoin.
Avantdebasculerdanslemode « 1-2-3 » de l’outil d’installation,unmessage d’avertissement
s’affiche, vous demandantdemodifierimmed´ iatementlemot de passe de l’outil d’installation.
Entrez un nomd’utilisateuretunmot de passe pourlabasededonnees´ MySQLetsoumettez
le formulaire.Ensuite, vous pourrez creer´ une nouvelle base de donnees´ ,ouensel´ ectionner
une preex´ istante. Dans ce derniercas,n’oubliezpas quetoutes lesdonnees´ qu’ellecontient
seront ec´ rasees´ !
Chargezlefichier quickinstall.sql danslabasededonnees´ .Vouspouvezmaintenantvous
connecter au backend avec le nomd’utilisateur admin et le motdepasse password al` ’adresse
http://www.votredomaine.com/typo3.Vouspouvezacced´ eral` ’outil d’installation avec le log-
9in joh316. Veillez ac` hanger le motdepasse de l’outil d’installation des` votrepremier` e
connexion !
L’installation de base estmaintenantterminee.´
2.3L’installationenproduction
L’installation en productionsecaracter´ iseprincipalementpar l’utilisationd’unpaquetage ne
contenantque la source (sansexemples),etoccupantdecefaitunespace disque minimum.
´De plus,l’outil d’installation contient un grandnombred’options supplementaires quinesont
´pas incluses danslemode simplified’installation.C’est un point essentiel, nonseulement pour
`optimiser la configuration du systeme, mais aussi pouravoir un aperc ¸u de la structurede
TYPO3.
2.3.1Installation LAMP
ˆ ` ´En plus d’etrelesystemed’exploitationleplusutilisepourles serveursWeb,UNIX/Linux est
´ ` `idealpourl’utilisationdeTYPO3. La plate-forme Linux esttres avantageuse, particulierement
en ce quiconcerneles misesaj` our; par ailleurs, il existe plusieurslogicielsutilitaires, indispen-
sables ac` ertainsmodulesadditionnels de TYPO3, quinesontdisponiblesque sous Linux.C’est
pourquoiilest recommanded´ elireladocumentationenligne ap` ropos desextensionsavant
de lesinstaller. Parlasuite, nous envisageonsune installation standardavecMySQL.
9Pour lescurieux :KasperSkar˚ højfaitici ref´ er´ ence au verset de l’ev´ angel´ iste Jean : « CarDieua tant aimel´ e
mondequ’ila donnes´ on Fils unique: ainsitouthomme quicroit en luineper´ irapas,maisilobtiendra la vie et´ ernelle » .
402.3 L’installation en production
En fonction desdistributionsLinux,des differ´ encespourraientapparaˆıtre entrel’installation
´avec Apache/PHPetavecMySQL. ImageMagick estnecessaireautraitementetaudimen-
`sionnement desimages. Vous pouvezaussi utiliser GraphicsMagick,une autrebibliotheque de
´ ´manipulation d’imagesdeveloppee surlabased’ImageMagick (voirpage 36). Consultez la do-
cumentationdevotre system` eoulegestionnairedepaquetage approprie.´ Dans tous lescas,
PHPdoitavoir au moins16MBdemem´ oire (voirlefichier php.ini)etpermettrelechargement
de fichiers de grande taille (configured´ ans php.ini et Apache).
Pour installerTYPO3, vous avez d’abordbesoind’une base de donnees´ MySQLvideavecson
nomd’utilisateuretson motdepasse,ainsi qu’undes paquetagesdec´ rits plus haut,disponibles
surlesiteTYPO3.org.
Vous tel´ ec´ hargez ensuitelasourceetlepaquetage dummy,qui contient desliens symboliques
et un rep´ ertoiredeconfiguration,cequi vous ev´ iteradesaisirquelqueslignesdecommandes.
Votrenavigateurest la meilleurefac ¸ond’ouvrirlapage de tel´ ec´ hargementdupaquetage qui
vous inter´ esse.Ouvrezenmemˆ etemps une applicationdecommande(p.ex. Bash, Term,Putty )
et connectez-vous au serveur Webvia SSH :
˜$ ˜ssh user@domain.com
Passezaurep´ ertoiredevotre serveur Web, situeu´ nniveau au-dessusdurep´ ertoiredusite
Web:
user@domain:˜> cd /srv/www
Tel´ ec´ hargez la versionactuelle despaquetagesdummy et source.L’adresse correcte et le nom Ref´ er´ ence 056011
du dossier sont indiques´ al` apage de paquetagessur le site TYPO3.org(cf.ref´ er´ ence):
user@domain:/srv/www> wget \
> http://typo3.sunsite.dk/unix-archives/3.8.0/dummy/dummy-3.8.0.tar.gz
et
user@domain:/srv/www> wget \
>mmy/dummy-3.8.0.tar.gz
Ici, srv/www estlerep´ ertoiredanslequelsetrouvelaracine du serveur Web(dansnotre
exemple htdocs/). Consultez,sinec´ essaire, le fichier de configuration de votreserveur Web
afindetrouver le bonchemin.
Apres` avoirtel´ ec´ hargel´ ’archive danslerep´ ertoire /srv/www,des´ archivez-la al` ’aidedes com-
mandes :
user@domain:/srv/www> tar xzf typo3_src-3.8.0.tar.gz
et> tar xzf dummy-3.8.0.tar.gz
Ensuite, dep´ lacezles dossiersdanslerep´ ertoire dummy-3.8.0al` ’aidedelacommande:
user@domain:/srv/www> mv dummy-3.8.0/* htdocs/
412 Installation
vers le rep´ ertoire htdocs,oulerep´ ertoirequi contiendra votresiteWeb.
Vous pouvezmaintenanteffacer lesarchivesetledossier vide.
user@domain:/srv/www> rm -r dummy-3.8.0
user@domain:/srv/www> rm dummy-3.8.0.tar.gz
Ensuite, si vous listez le contenudurep´ ertoire htdocs avec la commande:
user@domain:/srv/www> ls -al htdocs/
vous devriezobtenir le res´ ultatsuivant :
total 38
drwxr-xr-x 6user group 512 May 23 02:42 .
drwxrwxr-x 14 user 512 Jul 24 17:51 ..
-rw-r--r-- 1user group 4987 May 23 02:42 INSTALL.txt 1user 608 May 23 Package.txt 1user group 8119 May 23 02:42 README.txt
-rw-r--r-- 1user 434 May 23 RELEASE_NOTES.txt 1user group 4509 May 23 02:41 _.htaccess 1user 46 May 23 clear.gif
drwxr-xr-x 4user group 512 May 23 02:41 fileadmin
lrwxr-xr-x 1user 18 Jul 24 17:51 index.php -> tslib/index_ts.php 1user group 11 Jul 24 media -> tslib/media 1user 17 Jul 24 17:51 showpic.php -> tslib/showpic.php
lrwxr-xr-x 1user group 15 Jul 24 t3lib -> typo3_src/t3lib 1user 15 Jul 24 17:51 tslib -> typo3_src/tslib 1user group 15 Jul 24 typo3 -> typo3_src/typo3
lrwxr-xr-x 1user 18 Jul 24 17:51 typo3_src -> ../typo3_src-3.8.0
drwxr-xr-x 3user group 512 May 23 02:41 typo3conf 2user 512 May 23 typo3temp 6user group 512 May 23 02:41 uploads
Exec´ utez lescommandes suivantes afindepermettreauserveur Webd’acced´ er en ec´ riture aux
rep´ ertoires suivants:
chmod 777 typo3/temp 777 typo3/ext
chmod 777 typo3temp 777 typo3conf
chmod 777 typo3conf/ext 777 uploads
chmod 777 fileadmin
Donner lespermissions 777 n’estpas sans risque, puisqueceladonne tous lesdroits al` ’en-
semble desutilisateurs du serveur.Ilseraitpref´ er´ able d’ajuster lespermissions a` 770,sile
proprieta´ iredes rep´ ertoires peut etrˆ eleWebmaster et si le groupe peut etrˆ ecelui sous lequel
le serveur Weboper` e. Mais cela dep´ enddes options d’administrationetdes permissionsqui
vous ont et´ ea´ ccordees´ ;danstousles cas,les permissions 777 fonctionnent.Ensuite, faites
sauter la sec´ urited´ el’outil d’installation en ouvrantlefichiersuivant dansun ed´ iteur(dans
notreexemple vi,qui estdisponible surlaplupart desplate-formesLinux).
422.3 L’installation en production
user@domain:/srv/www> vi typo3/install/index.php
Au deb´ ut,changez la ligne suivante:
die("In the main source distribution of TYPO3, the
install script is disabled by adie() function
call.<BR>Open the file typo3/install/index.php
and remove/out-comment the line that outputs this
message!");
Si vous utilisez vi (ou vim), tapez dd suivi de ZZ.Vousavezmaintenanteffacel´ aligne,sauve-
gardel´ efichieretquitte´ vi.Ilest aussi possible de commenter la ligne en ajoutant // si plus
tard vous souhaitez rea´ ctiverleverrouillage pourdes raisonsdesec´ urite.´ Il faut alorsentrer i
pouracced´ er au mode d’insertion. Tapez // au deb´ ut de la ligne,quittez le mode d’insertionen
✞ ☎
appuyantsur Esc ,etentrez :wq! afindesauvegardervos changementsetfermerl’ed´ iteur.✝ ✆
Dans un navigateur, vous pouvezmaintenantappelerl’outil d’installation,dec´ ritauchapitre
2.4al` ’adresse :
http://www.votredomaine.com/typo3/install/
2.3.2Installation WAMP
L’installation WindowsdeTYPO3nec´ essite un system` eWAMPoper´ ationneletunserveur
Apacheavecles distributionsles plus rec´ entes de PHPetMySQL. Desprogrammesd’installation
sont disponiblesaux adressesURL http://www.php.net/ ou http://www.bigapache.org/.
Apres` avoirinstalleA´ pache,MySQLetPHP,vouspouvezinstallerImageMagick. Il s’agitaussi Ref´ er´ ence 892286
d’un logiciel libre; vous trouverezal` aref´ er´ ence ci-contreune versioncorrespondante d’Image-
Magick adaptee´ al` ’utilisationdeTYPO3. L’installation nec´ essite desexec´ utablessivousvoulez
ev´ iter de compilerlelogiciel par vous-memˆ e.
InstallezImageMagick survotre ordinateuravant de reprendrel’installation de TYPO3.
Tel´ ec´ hargez le paquetage dummy se trouvant dansladistribution zipdelapage de tel´ ec´ harge-
ment de TYPO3.org. Des´ archivezlezip danslerep´ ertoiresourcedevotre site Web. Il s’agit
gen´ er´ alementdurep´ ertoiresuivant :
C:\ProgramFiles\apache\htdocs\
Au coursdelaprochaine eta´ pe,l’utilisateursouslequelApache oper` eaurabesoindes droits
de lectureetd’ec´ riture surles rep´ ertoires suivants:
typo3\temp\\ext\
typo3temp\
typo3conf\\ext\
uploads\
fileadmin\
Dans le dossier typo3\install\index.php,laligne :
die("In the main source distribution of TYPO3, the install script is dis
abled by adie() function call.<BR>Open the file typo3/install/index.php
and remove/out-comment the line that outputs this message!") ;
432 Installation
doit etrˆ eeffacee´ ou commentee´ par l’insertionde // en deb´ ut de ligne.
`Ensuite, passez alasection surl’outil d’installation.
2.3.3Installation WIIS
L’installation WIIS (WindowsInstallation Information Server)comporte sept eta´ pes:
1. Prep´ arationdusystem` e
Il estfortementrecommanded´ ecreer´ une partitionsep´ aree´ pourleserveur Web, afin
d’ev´ iter queles droits d’acces` quevousdevez configurern’influencent pas lesdroitssur
votrepartition du system` e, ce quimettrait votresystem` eendanger.
2. Installation de MySQL
Tel´ ec´ hargez la dernier` eversion de MySQLsur le site http://www.mysql.com,des´ archivez
le dossier d’installation et suivezles instructions.Lorsque l’installation estterminee,´ une
fenetrˆ eWindowss’ouvrira avec le programme WinMySQLadmin,danslaquelle vous
pouvezdefi´ nirles utilisateurs et lesbases de donnees´ .Creez´ une base de donnees´ vide
et un compte utilisateurpourcettebasededonnees´ .
3. Installation d’ImageMagick (optionnel)
Ref´ er´ ence 892286 ImageMagick estaussi un logiciel libre; vous trouverez al` aref´ er´ ence ci-contreune
versioncorrespondante d’ImageMagick adaptee´ al` ’utilisationdeTYPO3. L’installation
nec´ essite desexec´ utablessivousvoulez ev´ iter de compilerlelogiciel par vous-memˆ e.
4. Installation de PHP
Apres` l’installation de PHP, vous devezver´ ifier certains parametr` es danslefichier php.ini
et lesajuster si nec´ essaire. Le fichier php.ini contient lesparametr` es de configuration
PHP. Le parametr` eleplusimportant pourlefonctionnement de TYPO3est :
memory_limit=8M
Il devrait etrˆ eaugmente´ a1` 6M (16MB) minimum. L’outild’installation ver´ ifiequelques
autres parametr` es,maisils sont en gen´ er´ al dej´ ai` nitialises´ correctementdanslaconfi-
guration par def´ aut.
5. ConfigurationIIS
La configuration IIS ne contient pas de donnees´ spec´ ialesencequi concerne TYPO3; les
reg´ lagespeuvent etrˆ esoitprisenchargeautomatiquement par le programme d’instal-
lation PHP, soit ajustes´ manuellement,comme le dec´ ritleguide d’installation de PHP.
Pour desquestions de performance, il estconseilled´ ’oper´ er PHPenmode ISAPI.
6. Desa´ rchivez TYPO3
Des´ archivezlepaquetage ZIP sel´ ectionned´ anslerep´ ertoirecible,gen´ er´ alementappele´
F:\inetpub\wwwroot\.Lenom de disque peut biensurˆ varier .
7. Assignationdedroitsd’acces` NTFS
Finalement,des droits doivent etrˆ edonnes´ auxdeuxutilisateurs sous lesquels IIS est
exec´ ute.´ Cesutilisateurs sont den´ ommes´ IUSR et IWAM suivis du nomdeleurserveur .
L’utilisateur IUSR_NOMDEMACHINE abesoindedroitsdelecture surtoutlesystem` e
de fichiers, afind’exec´ uter lesfonctions PHP file_exists(), is_file(),etc., et pas seule-
ment pourles rep´ ertoires sous lesquels TYPO3est installe.´ Cetutilisateurdoitaussi
442.4 L’outild’installation
avoirdes droits de lectureetd’ec´ riture surleprogramme cmd.exe afind’utiliser Image-
` ´Magick laoui` lest necessaire, ainsique le droitdelecture surlefichier php.ini.Dansle
´ ˆ ´ `repertoireduserveur Web, lespermissionssuivantes doivent etrealloueesal’utilisateur
IUSR_NOMDEMACHINE :
Tableau2.1 :TYPO3Droit
Droits deRep´ ertoiredeserveur Web(gen´ er´ alement: Lire
IUSR_NOMDEMACHINEDrive:\inetpub\wwwroot\)
´ ´ ´fileadmin\ Ecrire(repertoireetsous-repertoires)
´typo3temp\ Ecrire(rep´ ertoireetsous-rep´ ertoires)
´uploads\ Ecrire(rep´ ertoireetsous-rep´ ertoires)
´typo3ext\ Ecrire(rep´ ertoireetsous-rep´ ertoires)
´typo3conf\ Ecrire(rep´ ertoireetsous-rep´ ertoires)
´C:\PHP\uploadtemp\ Ecrire
ImageMagick Lire et exec´ uter
C:\WINDOWS\system32\cmd.exe Lire et exec´ uter
2.4L’outil d’installation
L’outild’installation consiste essentiellement en une interfacegraphique quipermetd’ed´ iter la
configuration de TYPO3, sauvegardee´ danslefichier localconf.php du rep´ ertoire typo3conf/.
Le serveurWeb doitdoncavoir lesdroitsd’ec´ riture surcefichieretsur tout le rep´ ertoire
typo3conf.
`Essayons de comprendre le fonctionnement du system` edeconfiguration.Al’exec´ ution, TYPO3
cree´ desfichiers tampon danslerep´ ertoire typo3conf quireprennent lesparametr` es de confi-
guration.Ainsi,lorsque vous modifiezlaconfiguration,ces fichierstampondoivent etrˆ esup-
primes´ pourque leschangements deviennent effectifs. La suppression se faitnormalement
automatiquement, sauf en cas de changement de versiondecode source de TYPO3, princi-
´palementversune versioninferieure; vous devezalors supprimer manuellement lesfichiers
tampon.Ces fichiersont desnomstelsque temp_CACHED_ps2268_ext_localconf.php.
En ajoutant /typo3/install/ au nomdevotre domaine,vousappelezl’outil d’installation :
http://www.votredomaine.com/typo3/install/.
Pour utiliser l’outil d’installation,ilfautsupprimer une fonctiondeverrouillage du script
typo3/install/index.php,cequi adej´ a` et´ ed´ ec´ ritdanslasection surles installationsLAMP
et WAMP .
Le motdepasse par def´ autpourl’outil d’installation est joh316;vousdevriez le changer
immed´ iatementapres` votrepremier` eidentification.Ensuite, vous dem´ arrezl’installation en
saisissant lesinformationssuivantes :
452 Installation
1. nomd’utilisateur, motdepasse,nom d’hotˆ e(localhost)et, si nec´ essaire, le nomd’une
´ ´ ` ´ ´base de donnees dejacreee queTYPO3devrait utiliser ;
2. le chemin menant au rep´ ertoiredanslequelest installeI´ mageMagick;aveclacom-
mande
˜$ ˜locate identify
vous le dec´ ouvrirez rapidement surlaplupart desdistributionsLinux.
L’outild’installation estdivisee´ nplusieurs sections dontles troispremier` es doivent etrˆ emo-
difiees´ jusqu’au` ncertain point lors de l’installation.Les autres sections servent al` amainte-
nancedusystem` e.
2.4.1 BasicConfiguration
L’onglet de configuration de base ver´ ifieles droits d’acces` auxrep´ ertoires danslesquelsTYPO3
doitpouvoir ec´ rire,etver´ ifie eg´ alementlaconfiguration PHPdanslefichier php.ini.Tousles
problem` es pouvant empecˆ herl’installation sont indiques´ iciavecles avertissementscorres-
pondants.
Figure 2.2:
Configuration
correcte pourlaquelle
TYPO3a lesdroitsen
ec´ riture surles
rep´ ertoires de travail
Vous devezaussi spec´ ifier l’acces` av` otre base de donnees´ .Apres` avoirentrel´ enom d’utilisa-
teur, le motdepasse et le nomd’hotˆ e(gen´ er´ alement « localhost » si MySQLest installes´ ur
votreserveur), vous soumettez le formulaire en cliquant sur update configuration soit pour
sel´ ectionnerune base de donnees´ existante, soit pourencreer´ une nouvelle si vous en avez les
droits (create).
Figure 2.3:
Acces` al` abasede
donnees´
462.4 L’outild’installation
Nous poursuivons en passant en revuelaconfiguration pourlacrea´ tion d’images. Si vous avez
´ ´ `installeImageMagick, specifiez icilechemind’acces.TYPO3recherche automatiquementIma-
´ ´ ´ ´geMagick danslerepertoirepar defautetdetermine par ailleurssivousavezcompileGDLib
´avec Freetype lors de l’installation PHP. Dans lesversionsrecentes de Freetype,letexte dans
l’image de testpeut ev´ entuellement deb´ orderducadre. Si ce problem` epersiste, nous le corri-
gerons lors d’une eta´ pe ulter´ ieure(cf.section 2.4.4).
Figure 2.4:
Res´ ultatdutest
Freetypeavec
res´ olutioncorrecte
Lorsquevoussoumettez le formulaire,l’outil d’installation sauvegarde toutes lesvaleurs des
parametr` es de configuration danslefichier localconf.php.
2.4.2 DatabaseAnalyzer
Le script de l’analysedebasededonnees´ vous permet aussi biend’ed´ iter et de mettre aj` our
une base de donnees´ existanteque d’en creer´ une nouvelle en spec´ ifiantsastructure et son
contenu. Unedefi´ nition minimale de base de donnees´ estincluse danslepaquetage dummy.
Le fichier SQLcorrespondantest danslerep´ ertoire «» typo3conf/ et estaffichea´ utomati-
quementdansl’outil d’installation.
Figure 2.5:
Affichage du fichier
SQLpar def´ aut
spec´ ifiant la structure
et le contenu de la
´basededonnees
Avec l’option Import,vousimportez la base de donnees´ .Apres` avoircliques´ ur cette option, un
message s’affiche, vous demandantdeconfirmerl’importation de toutes lesdonnees´ .Cochez
l’optionetsoumettez le formulaire en cliquant sur Writetodatabase.
Figure 2.6:
Importdelabasede
donnees´
`Cette oper´ ationpeutprendre du tempsselon lesperformances de votreserveur Web.Al’eta´ pe
suivante, vous verrez une liste de toutes lestablesdebasededonnees´ accompagnees´ d’un
472 Installation
avertissement indiquantqu’ellesexistentdej´ a.` Si ce n’estpas le cas,c’est-a-` dire quecertaines
´ ´ ´tablessontindiquees comme inexistantes,celasignifie queleprocessusd’importa echoue;
´ ´ ` ´ ´vous devriezdoncreessayer. L’initialisationdelabasededonnees est apresentterminee. Un
`compte administrateurest des lors ouvert avec admin comme nomd’utilisateuret password
comme motdepasse.
Figure 2.7:
Le message du
DatabaseAnalyzer
apres` un import
reus´ si du fichier SQL
(attention: d’autres
tables peuvent
s’afficher en fonction
de votreinstallation !
Pour initialiser la base de donnees´ ,vouspouvezutiliser unemeth´ ode alternative quinerec´ lame
pas l’emploidufichier database.sql du paquetage dummy —choisissezdanscecas l’option
´ ´COMPARE.Une liste de toutes lestablesdebasededonnees requises estindiquee. Celles-ci
´ ´ ´ ´ ´ ´ont etepreselectionnees.Appuyezsur le bouton de confirmationdansleformulaire pourcreer
lestablesdebasededonnees´ .Choisissezensuite la fonction Create admin user et ouvrez un
compte administrateur.
482.4 L’outild’installation
2.4.3 ImageProcessing
Ce script teste l’installation desbibliotheq` uesdetraitementd’imagesImageMagick, de GDLib
et Freetype.Nousn’endiscutons pas en deta´ il icicar il n’apas d’influence surlaconfiguration
de votresystem` e.
2.4.4 AllConfiguration
Le script AllConfiguration contient deschampsdesaisiepourtoutes lesoptions de confi-
guration de TYPO3ainsi quequelquesbrev` es explications de cesoptions dontles noms sont
lescles´ du tableau PHP TYPO3_CONF_VARS.Engen´ er´ al,seulesquelquesentrees´ sont impor-
tantes.Siletexte du testFreetype introduit prec´ ed´ emment dep´ asse du cadre,augmentez la
res´ olutiondansFreetype de 72a9` 6dpi.
Entrez cette valeur danslechamp [GFX][TTFdpi];vousletrouverez danslapartiefinale de la
section [GFX],juste avantlasection [SYS].
Lesautresentrees´ sont normalementoptionnellesac` estade.
2.4.5 typo3temp/
Cette sectionvousdonne un ensemble de statistiques surles fichiersenregistres´ dansle
rep´ ertoire typo3temp,etvouspermetaussi de lessupprimer.Cettefonctionest importante
pourlamaintenance de l’installation.Lerep´ ertoireest utilisep´ ar TYPO3pourenregistrer les
fichiersd’imagesdufrontend. Cesimagessontreg´ en´ er´ ees´ chaque foisque le cachedelapage
estsupprime,´ tandis queles anciennesrestentdanscedossier.Pourles sites Webdegrande
envergurecontenantune grande quantited´ ’images, plusieursMBs peuventrapidement s’yac-
cumuler.Siles imagessontsupprimees´ de ce rep´ ertoire, bienque lespagespointenttoujours
vers lesfichiers, l’image estreg´ en´ er´ ee´ pourautantque vous vidiezlecachedelapage apres`
avoirsupprimel´ es fichiers. Vous pouvez eg´ alementallervoirdanslebackenddevotre installa-
tion TYPO3, danslemodule Outils → V´ erification BD sous Relations,poursavoircombien
de fichiers sans lienaveclabasededonnees´ se trouvent danscerep´ ertoire.
2.4.6 phpinfo()
Cette sectionappelle la fonctionPHP par def´ aut phpinfo() et affichetousles parametr` es
essentiels de l’installation PHP. Vous trouvereztoutau-dessusunres´ umed´ es parametr` es les
plus importantsdusystem` eTYPO3, res´ umeq´ ue vous devriezinser´ er dansvotre emailencas
de questional` aliste Install, de telle manier` equ’une information complete` soit fournie pourle
deb´ ogage .
2.4.7 Edit files in typo3conf/
Cette sectionreprend la liste desfichiers situes´ danslerep´ ertoire typo3conf/.Vouspouvez
ed´ iter chacundeces fichiers; cliquezsimplementsur le nomdufichierpourlancerleformu-
laired’ed´ ition. Cette optionpeuts’aver´ er tres` utile pourles utilisateurs de TYPO3exper´ imentes´ ,
car elle permet d’inser´ er manuellement lesvaleurs de configuration,par exemplesil’undes
scriptsd’installation a ec´ houe.´ Vous avez la possibilited´ econvertir tous lessautsal` aligne du
formatWindowsauformatLinux et de creer´ automatiquementune copiedesauvegarde du
49

Un pour Un
Permettre à tous d'accéder à la lecture
Pour chaque accès à la bibliothèque, YouScribe donne un accès à une personne dans le besoin