Livre Joomla Pret

Embed Size (px)

Citation preview

  • 7/27/2019 Livre Joomla Pret

    1/320

    1

  • 7/27/2019 Livre Joomla Pret

    2/320

    2

    Introduction

    Joomla!, cest comme la vie !

    Ce projet Open Source est sans cesse en mouvement. Il est surprenant, il fait parfois lobjet de rudesdbats, et son rythme de dveloppement est variable. Quoi quil en soit, voil plus de deux ans queson succs ne se dment pas auprs de ses millions dutilisateurs tout autour de la plante.

    Au dpart, il y avait la version stable et apprcie 1.0.x. Mais depuis deux ans, les dveloppeurstravaillent la nouvelle version Joomla! 1.5, la peaufi nant, lissant, rabotant, revenant en arrire,enrichissant et amliorant encore.

    Deux annes passionnantes se sont coules depuis la cration de Joomla! en 2005.Lquipe Joomla! sest structure et renforce. La ligne Joomla! 1.0.0 est alle jusqu la version 1.0.14.Dornavant, tous les efforts sont concentrs sur la version 1.5.

    Et les utilisateurs ont accompagn le mouvement. La plupart dentre eux avait dj fait migrer versJoomla! un ou plusieurs sites Web conus lorigine avec Mambo. De nombreux utilisateurs sontvenus les rejoindre au cours des deux ans passs, sans compter tous ceux qui ne connaissent pas

    encore ce systme.

    Joomla! est le systme de gestion de contenu (SGC) Web Open Source le plus rpandu au monde. lautomne 2006, soit un an aprs le dbut du projet, les dveloppeurs pouvaient se targuer denviron5 millions dinstallations sur des serveurs accs public, tous niveaux de frquentation confondus.On pouvait compter 45 000 dveloppeurs inscrits travaillant sur 1 100 projets pour enrichir Joomla!.Le forum de discussions de joomla.org comptait 450 000 interventions par 50 000 utilisateurs.

    Un an plus tard, soit en dcembre 2007, voici les chiffres :

    plus de 20 millions dinstallations ; 28 membres dont 16 dans l'quipe centrale ;

    plus de 2 000 projets dextension et denrichissement pour Joomla! ; les forums de discussion Joomla! contiennent plus de 1 millions dinterventions par plus de 100

    000 utilisateurs.

    Cela reprsente plus de 100 % daugmentation en un an !

    Les sites Web pouvant tre crs avec cet outil vont de la page personnelle au site de commercelectronique professionnel. Dans ce livre, je vais vous montrer comment sexplique la russite deJoomla! et comment vous pouvez lexploiter avec succs votre tour.

    La premire dition, qui concernait Joomla! 1.0, avait t crite dans le petit village de Ausleben enSaxe (Allemagne orientale). Il ny avait pas de connexion ADSL (toujours pas dailleurs), encoremoins de points daccs WiFi public, pas de UMTS et aucune multinationale. Bref, le calme absolu.Le livre que vous tenez entre les mains a t crit Fitou dans le Roussillon. Plus aucun problmepour avoir un accs ADSL et un point daccs public WiFi. Il est devenu indispensable de pouvoirtre connect au Web en permanence. Cela acclre la vie quotidienne (mme si ce nest pas toujoursun gage de srnit). En tout cas, de nombreuses choses deviennent plus simples, surtout la gestiondes donnes personnelles dun individu sans cesse en dplacement. Il fallait continuellement synchroniserles donnes dun ordinateur lautre, ce qui prenait du temps et provoquait des erreurs.

  • 7/27/2019 Livre Joomla Pret

    3/320

    3

    Qui suis-je ?

    Je me nomme Hagen Graf, jai 43 ans, et jhabite Fitou. Jai une femme adorable et quatre fi lles.Janime un blog personnel depuis aot 2004.

    Mes activits se rpartissent entre lenseignement, le conseil, lcoute, les tests, la programmation,ltude de structures, la cration dapplications, les questionnements et encore les tests.

    Je suis perptuellement la recherche de la meilleure description de mon travail. Les deux termesqui me semblent les plus appropris dornavant sont Exploitant de connaissances et Consultanten dveloppement .

    La plupart de ces activits peuvent tre effectues en ligne, distance. Mais il marrive aussi dtre endplacement : visite de clients dans diffrents pays, autres langues, autres cultures, longs trajets envoiture,en car ou en train. Des temps de raction admis trs courts pour rpondre aux messages des clients.Cette manire de travailler a dimportantes rpercussions sur ce que lon appelle traditionnellementle bureau.

    Voil encore cinq ans, toutes les donnes critiques taient rassembles sur votre PC localement. Denos jours, une foule de fournisseurs daccs et de services vous proposent un espace disque quasiinfi ni sur Internet. Les fournisseurs daccs Internet (FAI) investissent en quipements et la bandepassante ne cesse de crotre. Les particuliers achtent dornavant plus dordinateurs portables quedordinateurs de bureau. La mme tendance se constate dans le monde de lentreprise et la pntrationdu march par les quipements mobiles relis Internet ne cesse de se confi rmer.

    Il marrive souvent de travailler en plusieurs endroits sur des machines diffrentes. Un jour chezmoi, le lendemain ailleurs. Le poste de travail depuis lequel jaccde mes donnes devient de plusen plus interchangeable. Il me suffi t de disposer dune connexion stable et bon march Internet viaun rseau WiFi, un tlphone UMTS ou une parabole, un navigateur, un cran confortable, un bonclavier, une souris et, videmment, de llectricit. Toutes ces possibilits vous obligent plus que

    jamais avoir une ide prcise de votre projet !

    De nimporte o sur Terre, vous accdez votre capital de messages, dimages et autres documents.Dornavant, votre bureau se situe l o vous vous trouvez en ce moment.

    Comment travaillez-vous ?

    Je ne peux videmment pas deviner comment vous travaillez, mais la plupart des personnes que jai purencontrer fonctionnent un peu comme dcrit plus haut. Certains salaris en entreprise aimeraient adopter

    une autre faon de faire, mais les rgles en vigueur dans lentre prise le leur interdisent. Le niveaudexprienceen informatique est lui aussi assez constant. La plupart ont utilis un vieux PC sous Windows lcole ou luniversit. Puis sur le terrain ils ont appris les dures ralits des applications bureautiques,les pertes de donnes, le manque de place sur le disque, les problmes de confi guration et dimpressionqui sen suivent. Les merveilleuses imbrications de toutes ces choses sont rendues plus complexes aveclarrive de la nouvelle approche oriente utilisateur du Web 2.0. Si vous ntes pas passionn au point devous rveiller la nuit pour modifi er une option du systme dexploitation ou pour trier avec soin vosphotos et vos fi chiers de musique, vous tes sans doute comme moi, juste trs satisfait de constater quevos appareils et vos programmes fonctionnent comme prvu. Ce qui vous intresse est de pouvoir accder Internet et vos donnes personnelles en toute srnit. La possibilit de rester en permanence

    oprationnelest encore plus importante si vous utilisez un ordinateur depuis votre domicile. Votre employeur

  • 7/27/2019 Livre Joomla Pret

    4/320

    4

    conomise de la surface de location de bureau, mais vous gagnez de la souplesse dorganisation. Quunlogiciel ou quun matriel se mette en dfaut, et cette idylle devient vite un cauchemar.

    Quelles sont les volutions logicielles et matrielles ?

    Pour permettre daccder cette nouvelle manire de travailler, il faut bien sr que les logicielsappropris soient disponibles : des applications fonctionnant via un navigateur comme la messagerie,

    le commerce lectronique, lagenda de groupe, la gestion documentaire, les forums, les sites derencontres et de vente aux enchres, et bien sr les nouvelles plates-formes de mise en rseau duWeb 2.0, sont de plus en plus performantes, fi ables et simples utiliser.

    Le terme la mode de nos jours est Web 2.0 . Quand on songe la monte en puissance des mondesvirtuels et des nouvelles manires de naviguer dans les informations, on pourrait songer passerdirectement la version 3.0. Pensez simplement aux cartes Google Maps, aux systmes de navigation,aux passerelles entre monde rel et mondes virtuels, au stockage de photos sur des sites commefl ickr.com ou aux annuaires de liens du type del.ico.us. Vous trouvez tout ce qui peut intresser unhomme sur digg.com et accrotre votre rseau damis et de connaissances, comme tout hommemoderne qui se respecte, sur des rseaux sociaux comme facebook.com ou copainsdavant.com. Vous

    pouvez mme faire savoir si vous tes connect ou non grce des sites tels que twitter.com.Voil plus de dix ans, un chanteur trs clbre en Allemagne, Udo Lindenberg, que lon ne peutsouponner davoir t infl uenc par Internet, avait crit une chanson intitule Je jure dont unpassage disait peu prs ceci :

    ... parfois je suis clochard, et parfois un grand homme. Je ctoie des prsidents et des vagabonds, maisqui donc est vraiment proche de moi ? La vrit ne se montre que quand nous sommes ensemble... .

    Tous les rles que lon endosse, tous les contacts que lon noue, cette capacit d tre ensemble etmme cette vrit pntrent de plus en plus le monde virtuel et simbriquent dans les rseaux.

    En effet, les services cits plus haut peuvent entrer en interaction via des interfaces et tre intgrs votre site Web. Vous pouvez par exemple imaginer des annonces immobilires avec une indicationcartographique. Sur un site tel que Twitter, les possibilits daccs des interfaces multiples ontencore plus dimportance que le site Web.

    De nos jours, les tlphones portables se combinent aux assistants personnels, lecteurs MP3 et appareilsphotos. Et le march sest encore acclr avec lapparition du iPhone. Dornavant, vous pouvezsurfer sur le Web depuis votre mobile, remplir un formulaire puis le valider, envoyer et recevoir descourriels, prendre des photos et les transmettre, couter de la musique et bien dautres choses.

    Les PC de bureau se miniaturisent et les ordinateurs portables deviennent de plus en plus courants.Les nouvelles tendances concernent les communications sans fi l, la poursuite de miniaturisation descomposants, le stockage sans partie mcanique (mmoire fl ash) et enfi n laugmentation de dure de vieet dautonomie des batteries.

    Quelles consquences pour votre site Web ?

    Dans le monde actuel, toute socit, institution ou association se doit doffrir un site Web agrableet polyvalent. Un site moderne, administrable via un simple navigateur, capable de remplacer votrearmoire darchives et votre carnet dadresses, un site accessible depuis les nombreux types de terminauxet qui soit facile enrichir.

    Votre site Web est votre vitrine. Vous y indiquez aux autres ce que vous ou votre socit peut proposer.Cest le lieu disponible 24 heures sur 24, tous les jours de lanne pour rpondre aux besoins de

  • 7/27/2019 Livre Joomla Pret

    5/320

    5

    vos clients. Pendant son dveloppement, votre site Web peut se comparer un port dans lequel aborderles applications et les donnes les plus diverses, vous concernant ou concernant votre socit. Votresite Web devra donc prvoir des interfaces pour quil puisse tre exploit partir dautres applications.

    Jusqu rcemment, construire un tel site supposait un travail considrable. Mme sil ntait pasobligatoire dtre un spcialiste, un minimum de tnacit combin un intrt pour ce domaine taitindispensable pour obtenir un rsultat probant. Vous deviez rdiger des pages HTML statiques dans

    un diteur HTML puis les transfrer par FTP sur le serveur. La moindre possibilit dinteraction(livre dor, forum, etc.) supposait dapprendre un langage de programmation. Beaucoup de candidatsont de ce fait et pour des raisons tout fait valables prfr ne pas se lancer dans pareille aventureet ont fait appel une agence de communication ou bien ont relgu le projet aux oubliettes.

    Mais la solution existe dornavant, puisque le livre que vous tenez entre vos mains va tre votre guide devoyage dans le monde dun des meilleurs logiciels de gestion de contenus du monde : Joomla!

    De quoi parle ce livre ?

    Ce livre est bien sr consacr Joomla! et la manire de lexploiter. Cest un outil trs polyvalent,

    et vous pourrez lexploiter dans des contextes trs divers pour ladapter vos attentes. Pour vousoffrir une entre en matire agrable, jai mis en place la structure suivante pour ce livre :

    Le Chapitre 1 rappelle les concepts et conventions qui vous seront utiles dans votre dcouvertede Joomla!.

    Le Chapitre 2 prsente linstallation de Joomla! dans diffrents environnements dexploi tation. Le Chapitre 3 passe en revue les donnes dexemples installes en mme temps que Joomla!. Les Chapitres 4 11 se consacrent lexploitation de la partie administration, la confi guration

    et la gestion des contenus. Le Chapitre 12 prsente quelques possibilits dextension de Joomla!. Le Chapitre 13 montre comment concevoir un site Web et crer ses propres modles (templates). Le Chapitre 14 a t crit par ma collgue Angie Radtke, une experte dans le domaine de

    laccessibilitde Joomla!. Elle a cr avec Robert Deutz le modle daccessibilit nomm Beez.

    Au Chapitre 15 vous apprenez comment crer vos propres extensions. Le Chapitre 16 propose un exemple concret de cration dun site Web avec Joomla!, de lide

    initiale la mise en service. Le Chapitre 17 prsente deux templates (modles) qui sont fournis sur le CD-ROM livr avec

    louvrage et que vous pourrez utiliser pour votre site Web. L'Annexe donne des dtails intressants au sujet des mises jour, de la scurit et dautres points

    ne pas ngliger.

    Que signifi e Joomla! ?

    Joomla! est tir du mot swahili Jumla qui signifi e tous ensemble . En septembre 2007, jai reu uncourriel dun lecteur qui ma prcis que le terme provenait en fait de larabe et a t repris en swahili.

    Joomla! est le logiciel qui est issu dune querelle de fond entre la fondation Mambo cre en aot 2005 etses dveloppeurs dalors.

    Joomla! est un descendant du trs rput logiciel Mambo et offre les mmes fonctions : crer etadministrer en toute simplicit un site Internet via un navigateur Web.

    Joomla! se prsente comme un logiciel sophistiqu de gestion de contenus CMS (Content ManagementSystem). Cest effectivement un des plus performants logiciels CMS du monde du logiciel libre Open

  • 7/27/2019 Livre Joomla Pret

    6/320

    6

    Source. Il a t adopt par des milliers de gens pour construire leur site personnel, tout autant que par detrs grandes entreprises. Il est simple installer, administrer et son fonctionnement est trs fi able.

    Ce que vous saurez aprs avoir lu ce livre

    Mme si vous tes dbutant en informatique, vous saurez mettre en place votre site Web et le grervia un navigateur.

    Si vous connaissez un peu le HTML, CSS et la retouche dimages, vous pourrez galement concevoirvos propres modles.

    Si vous tes rompu aux principes du langage PHP et en avez un minimum dexprience, vous pourrezcrer vos propres composants, modules et plugins (alias mambots).

    Des questions ?

    Si vous avez la moindre question aprs avoir lu ce livre, commencez par visiter le site Web de rfrencede Joomla! en France :www.joomla.fr

    Vous pouvez aussi me faire part de vos remarques en mcrivant [email protected] ! Mme sila rponse tardera sans doute venir. :-)

    Le site Web du livre

    Vous trouverez galement quelques complments (en allemand bien sr, mais aussi en anglais et certaine-ment bientt en franais) sur le site compagnon du livre ladresse http://joomla.addison-wesley.de.

  • 7/27/2019 Livre Joomla Pret

    7/320

    7

    CHAPITRE 1 : CONCEPTS FONDAMENTAUX

    1.1 Les systmes de gestion de contenus (CMS) 1.2 Un peu dhistoire 1.3 Structure fonctionnelle dun CMS 1.4 Joomla! en tant que btiment ? 1.5 Versions de Joomla! 1.6 Exemples de sites grs par Joomla!

    1.1 Les systmes de gestion de contenus (CMS)

    Lexpression Systme de Gestion de Contenus est la traduction de CMS, acronyme dans lequel ontrouve Content(contenu) etManagement(administration ou gestion). Elle dsigne de faon vagueun systme (logiciel) pour grer des contenus dinformation. Une ardoise et une craie forment unCMS ; lencyclopdie libre Wikipedia ou le site de vente aux enchres eBay sont aussi des CMS.Dans ces trois exemples, ce sont des contenus quil faut grer. Dans les deux derniers cas, le nombrede membres participants est phnomnal.

    Ces membres ont un rle majeur dans un CMS soit en tant quadministrateurs, soit en tantquutilisateurs (users) ou rdacteurs.

    Nous nen avons pas fi ni avec les acronymes. ct des CMS, il existe des systmes de gestion dedonnes dentreprise ERP (Enterprise Resource Planning Systems), des systmes de gestion de larelation client CRM (Customer Relationship Management Systems), des systmes de gestion

    documentaireDMS (Document Management Systems), des systmes de gestion des ressources humainesHRM (Human Resource Management Systems), etc. Mme les systmes dexploitation tels queWindows ou Linux grent des contenus.

    Cette infl ation demploi de la notion de contenu rend ardue la dfi nition du concept de CMS. Jetrouve la dfi nition suivante tire de Wikipdia comme trs explicite :

    Les systmes de gestion de contenu ou SGC (de langlais Content Management System ou CMS),sont une famille de logiciels de conception et de mise jour dynamique de site Web ou dapplicationmultimdia.

    Ces derniers temps, cest lacronyme ECMS (Enterprise Content Management System) qui a le venten poupe en tant que concept gnral englobant tous les autres cits ci-dessus.Joomla! entre dans la catgorie des systmes de gestion de contenus Web WCMS (Web Content

    Management System), puisquil nest destin qu grer des contenus qui seront consults via unnavigateur Web.

    Dans le langage courant, le terme gestion de contenus sans autre prcision est le plus souventassoci des pages Web pouvant tre gres via un navigateur. Ce qui ne simplifi e pas ncessairementles choses.

  • 7/27/2019 Livre Joomla Pret

    8/320

    8

    1.2 Un peu dhistoire

    Pendant que le constructeur informatique Sun dclarait au cours des annes 1990 : Le rseau estlordinateur , lditeur Microsoft maintenait son cap : Un ordinateur personnel sous Windows surchaque bureau. Le dsir de Microsoft a t satisfait : il y a quasiment neuf PC sur dix sous Windows.

    Lordinateur auquel Microsoft faisait rfrence hbergeait un mlange de donnes binaires (programmes)

    et de donnes utilisateurs (informations). Les programmes devaient tre achets et installs parles clients, afi n de permettre daccder aux donnes utilisateurs. La suite Microsoft Offi ce a cettepoque envahi quasiment tous les bureaux du monde.

    Lordinateur auquel Sun faisait rfrence tait un terminal non autonome : un quipement bonmarch runissant un clavier, un cran, une souris et un accs rseau. Les programmes et les donnestaient stocks non pas sur cette machine, mais quelque part sur le rseau.

    La philosophie de Microsoft tait plutt oriente vers lindividuel alors que celle de Sun ltait versle collectif.

    Les motivations de part et dautre taient non pas philanthropiques, mais commerciales. Microsoftgagnait de largent en vendant des logiciels pour PC aux particuliers et aux PME, Sun vendait auxgrandes et moyennes entreprises des serveurs et calculateurs avec les logiciels appropris.

    Au milieu des annes 1990 se produisit lirruption (on pourrait presque parler druption) du rseauInternet pourtant dj utilis depuis les annes 1960 par les chercheurs et les militaires, notammentgrce au standard HTML (HyperText Markup Language, le langage de codage des formatsdans les pages Web), la multiplication des serveurs Web et la cration des logiciels navigateurs(clients Web).

    Internet nest rien dautre quun ensemble de rgles du jeu et de conventions auxquelles se plienttous les quipements qui sy connectent. Lensemble est si bien conu quil na fallu que quelquesannes pour constituer un rseau plantaire.

    Lindividu nest plus accessible sil ne dispose pas dune adresse de messagerie. Une entreprise sanssite Web semble dpasse, et certains clients ignorent mme son existence. Le monde entier sest rusur le nouveau rseau, pour faire partie de laventure. Des fi lms tels que Matrix sont devenus des hitset le cauchemar du livre 1984 de George Orwell ne sest apparemment pas ralis.

    Ceux qui avaient lhabitude dacheter leurs programmes ont achet des diteurs HTML et ont construitleurs pages Internet. Les autres ont rdig leurs pages HTML sans outil particulier sauf lditeur de

    texte que possde toute machine. Les agences de cration Web fi rent leur apparition pour faire letravail la place de leurs clients.

    Les deux camps souffraient du mme problme : les pages HTML taient statiques. Modifi er une pagesupposait de charger la page localement dans son diteur de texte, de la tester puis de la retransfrersur le serveur pour la mettre jour.

    Ctait non seulement inconfortable, mais des sites complexes tels que eBay ou Amazon nauraientpas pu voir le jour.

    Dans chaque groupe furent trouves des solutions plus ou moins satisfaisantes.

  • 7/27/2019 Livre Joomla Pret

    9/320

    9

    Dans le camp des individuels apparurent des programmes performants pour crer et modifi er sespages HTML, puis les faire renvoyer automatiquement sur le serveur. Ces pages contenaient deslments interactifs (compteur de visites, liens publicitaires, etc.).

    Le camp des collectifs sappropria les applets Java qui rendaient possible lcriture dun programmefonctionnant sur le serveur tout en tant pilot depuis un navigateur. Cette technique a permislappa rition des premiers sites de commerce lectronique (ventes aux enchres, rservation de billets

    davion).

    Chaque groupe tenta de conqurir des parts de march. Il en a rsult un march assez stable pourchacun, le tout anim par une incessante guerre de chapelles pour savoir quel tait le meilleur systmedexploitation (Windows ? Linux ? Mac OS X ?), ce qui poussait les diteurs acclrer la frquencede parution des nouvelles versions. Les clients sy habiturent en se disant que les choses ntaientdcidment pas simples.

    Mais dans un tel contexte, il existe toujours une troisime voie. Dans notre cas, lautre approche apris forme dans les langages de script Open Source tels que PHP. Lauteur de PHP, Rasmus Lerdorf,cherchait enrichir sa page personnelle avec des lments interactifs, et ses efforts ont donn naissance

    au langage PHP. Ds le dpart, ce langage tait optimis pour fonctionner en parfaite harmonieavec la base de donnes relationnelle libre MySQL (rgie comme PHP par la licence GNU/GPL).

    Par bonheur sont apparus la mme poque le systme dexploitation libre Linux et le serveur WebApache. Toute linfrastructure logicielle dun serveur tait ainsi disponible. Le poste client utilisait unnavigateur (le pionnier tant Netscape). Lacronyme LAMP (Linux, Apache, MySQL, PHP) devintle synonyme de la prsence interactive sur Internet associe la puissance dune base de donnes.

    Une vritable frnsie de cration vit apparatre les logiciels les plus divers pour crer des sites Webdepuis un navigateur : forums de discussion, communauts, cyberboutiques, pages de sondage, etc.Aprs la partie technique incarne par Linux et Apache pouvait enfi n surgir la partie utilisateur.

    la fi n des annes 1990, la bulle spculative Internet clata. Soudain, on se remit penser en termesde commerce classique et revenir aux bonnes vieilles mthodes.

    En priode de restriction conomique, il en va toujours ainsi : la chasse aux conomies est ouverte.Il y avait, et il y a toujours, quantit de solutions !

    Les applications PHP en activit cette poque se comptaient par millions. Citons par exemple lesdeux outils phpBB et phpMyAdmin. Le premier est devenu le standard de fait pour crer des forumsInternet ; le second est linterface standard pour exploiter une base de donnes MySQL via une

    interface Web.Et le code source du langage PHP comme celui des outils environnants tant librement disponible,il samliorait de plus en plus vite, grce aux contributions de la foule dutilisateurs et de programmeursqui sen souciaient. Plus un point fonctionnel tait conu de faon ouverte, communautaire,plus il avait de succs.

    Un expert pouvait lui seul faire conomiser des sommes normes une entreprise en trs peu detemps.

    Les pages HTML statiques taient relgues au panthon de lhistoire. Tout devait dornavant tre

    dynamique ! Voil o nous en sommes maintenant depuis plusieurs annes. Linux, Apache, MySQLet PHP sont devenus des standards reconnus faisant lobjet de cursus de formation offi ciels. Larecherche dapplications PHP utilisables en milieu professionnel a alors commenc.

  • 7/27/2019 Livre Joomla Pret

    10/320

    10

    Voici les critres pris en compte dans une telle recherche :

    installation simple ; facilit de maintenance du code source ; scurit du code source ; ergonomie (facilit demploi pour lutilisateur) ; facilit dextension ;

    facilit de prise en mains pour les nouveaux programmeurs ; interfaces de programmation standardises ; cot acceptable ; indpendance des fournisseurs. L'norme avantage des applications bases sur PHP est lindpendance du matriel et du systme

    dexploitation. Lenvironnement LAMP existe aussi pour Windows (WAMP) et pour Mac OS(MAMP). Le nom gnrique est XAMPP.

    Et c'est alors qu'est arriv le fameux Joomla! qui nous intresse ici.1.2.1 Joomla! do vient-il ?

    Une socit australienne nommeMiro avait conu en 2001 un systme de gestion de contenusquelle avait baptisMambo. Elle avait dcid de diffuser ce logiciel dans les conditions OpenSource, pour que le plus grand nombre ladopte et aide le tester. En 2002, la socit dcida descinder Mambo en deux variantes : une commerciale et une Open Source. La variante payante a trebaptiseMambo CMS; lautre a t rebaptiseMambo Open Source (abrge en MOS). la fi nde 2004, tous les participants au projet estimrent dun commun accord que MOS pouvait dornavantsappelerMambo tout court et dcidrent quil fallait cooprer pour assurer lvolution de ceCMS qui tait alors celui qui progressait le plus.

    Les avantages de la variante payante pour les entreprises (Mambo CMS) taient une plus grandescurit ainsi que la disponibilit de la socit Miro comme interlocuteur et fournisseur dextensions

    et de prestations spcifiques

    La variante Open Source (Mambo) a comme avantages sa gratuit et le libre accs au code source.De cette manire, on tait sr quun nombre important dutilisateurs et de dveloppeurs participait lvolution du logiciel. Cela nempchait nullement une entreprise dopter pour la variante Mambocomme point de dpart puis partir delle de concevoir une solution spcifi que.

    Au cours de lanne 2005, toutes les parties concernes ont rfl chi lopportunit de crer unefondation afi n de garantir la prennit et lvolution de Mambo (la variante Open Source).

    Durant lautomne 2005, tout a alors dmarr : la page Web offi cielle de Mambo annonait la naissancede la fondation Mambo. Pass les premires heures denthousiasme, il apparut assez vitevident que cette fondation avait t cre par la socit Miro en Australie sans la participation effectivede lquipe de dveloppement au titre de membres fondateurs. Il sensuivit des discussionsenfl ammes sur les forums de la communaut. Lquipe de dveloppement senferma quelques longs

    jours dans un mutisme complet.

    Peu de temps aprs, les dveloppeurs se manifestrent enfi n par une prise de position sur le siteopensourcematters.org pour annoncer quils allaient prendre un conseil impartial auprs du centreSoftware Freedom Law Centeret quils prvoyaient toujours de poursuivre le dveloppement deMambo. Dj cette poque avait t mise lide de refondre le code source dans une version

    amliore de Mambo.

  • 7/27/2019 Livre Joomla Pret

    11/320

    11

    Comme dans un mnage en droute, lanimosit ne fi t que crotre de plus en plus vite entre la donationMambo pilote par Miro (qui venait de perdre son indispensable quipe de dveloppeurs), cettequipe de dveloppeurs, qui avait dcid de partir crer une nouvelle branche du logiciel et devaitbien sr lui trouver un nouveau nom, et une communaut mondiale compose de centaines demilliers dutilisateurs fort nervs qui sinvectivaient en mots peu tendres dans les blogs, les forumset les pages respectives des deux projets.

    Les deux projets se sont poursuivis en parallle. La nouvelle ligne Open Source a adopt le nomJoomla!.

    Lquipe de Joomla! a pris soin dinstituer des rgles dmocratiques. Lorsquil a t question dechoisir le logo du projet, un concours a t lanc parmi la communaut naissante. En quelques jours,plus de 8 000 utilisateurs staient inscrits sur le forum. Les projets et les rsultats sont toujoursdisponibles sur le site offi ciel.

    Pendant ce temps, la fondation Mambo a rapidement mis en place une nouvelle quipe de dveloppeurs.Le 17 septembre 2005 a t lance la version 1.0 de Joomla!.

    Au niveau des dveloppeurs tiers, cest--dire des groupes de programmeurs qui craient des composantscomplmentaires pour Mambo, plusieurs projets importants ont vite bascul vers Joomla!, etnotamment Simpleboard (qui sappelle maintenant FireBoard), DOCman et dautres. Cela na faitque renforcer la lgitimit de la nouvelle ligne. Les trois lettres mos qui servaient de prfi xe dans denombreux noms de variables et didentifi ants dans le code source de Mambo ont t vite remplacespar jos.

    Vous trouverez sur Internet une description dtaille du droulement de ces oprations, mais enlangue anglaise.

    Deux ans aprs sa fondation, Joomla! est lun des projets Open Source les plus rputs du monde.

    Au cours de ces deux annes, la mise sur pied dune nouvelle organisation a entran bien des dbatsanims et bien des incomprhensions dues aux diffrences culturelles.

    Pendant ce temps, le Web 2.0 apparaissait. Le contenu gnr par les utilisateurs ne cessait de crotre.Le monde entier a dcouvert lunivers virtuel de Second Life. Le langage de programmationRuby et sa dclinaison Ruby on Rails ont t de plus en plus adopts pour crer des sites Web. Lesinterfaces de programmation ont pris une importance particulire.

    Dans un domaine lvolution si rapide, la version 1.0.x de Joomla! a commenc paratre un peu

    dpasse. cette poque il ntait pas question den abandonner le dveloppement. Mais les utilisateurscommenaient lorgner dun oeil triste les nouvelles capacits de systmes comme Plone,TYPO3, Drupal et plusieurs autres. Tous ces projets navaient pas grer lhritage de Mambo etpouvaient prendre en compte les nouvelles techniques directement.

    Il est vrai que la version 1.0.x ntait depuis deux ans plus vraiment enrichie. Elle recevait pourlessentiel des correctifs de scurit et quelques petites retouches de code. Mais faire attendre deuxans la nouvelle version dun logiciel nest pas sans risque. Des mauvaises langues ont alors prtenduque Joomla! tait un projet mort. La presse spcialise na pas manqu darticles incendiaires prtendantque lon tenait l un bel exemple de la ruine un projet logiciel prometteur.

    Mais la nouvelle version Joomla! 1.5 est vraiment un bon produit. voir les nombreuses discussionssur les forums et listes de diffusion, les multiples changes de courriels et rencontres physiques, ilme semble que lavenir de Joomla! est devenu plus brillant que jamais.

  • 7/27/2019 Livre Joomla Pret

    12/320

    12

    Sous un certain angle, la migration de la version 1.0.x la version 1.5.x rclamera des efforts. Eneffet les profonds remaniements du code source ne permettent pas de garantir une compatibilitdescendante complte. Dun autre ct, cette nouvelle version permet Joomla! de faire partie dessystmes de gestion de contenu de niveau entreprise. Le choix stratgique qui consiste faire deJoomla! une bote de construction (Joomla! Framework) simplifi ant lajout de fonctions par lesprogrammeurs est une dcision intelligente qui montrera sa justesse.

    Il est dornavant enfi n possible de choisir parmi plusieurs mthodes dauthentifi cation et de construiredes sites Web multilingues avec une accessibilit amliore. La cration de sites Web composites(mashup) rutilisant les donnes de plusieurs autres sites devient accessible Joomla! tout commela cration de composants partir dun environnement de cration riche du style Eclipse.

    Quant on songe au nombre de membres de la communaut, de dveloppeurs et la quantit dinstallationsactuelles, Joomla! saura sans aucun doute rpondre aux attentes dans ces diffrents domaines.De nombreux fournisseurs daccs et hbergeurs proposent dj Joomla! prinstall leur client.La nouvelle version 1.5 est suffisamment compatible avec la version 1.0.x pour quil ny ait aucunproblme srieux lors de la migration dun site pas trop complexe.

    1.3 Structure fonctionnelle dun CMS

    Je vais me baser sur Joomla! pour illustrer la structure dun systme de gestion de contenu Web.

    1.3.1 Frontend (Frontal) et Backend

    Un systme CMS se base sur le couple Frontend et Backend. Le Frontend(partie vitrine) consiste enla page daccueil et toutes les autres pages du site telles que les voient les visiteurs et les utilisateursidentifis.

    LeBackend(partie arrire-boutique) contient linterface de gestion des pages par ladministrateur.Les activits de Backend comprennent la confi guration, la maintenance, la cration des statistiqueset des nouveaux contenus. Le Backend est situ une adresse Web diffrente de la page daccueil dusite (donc du Frontend).

    1.3.2 Droits daccs

    Ds que lon parle dadministration, il faut introduire des rgles pour garantir lutilisation organisedes ressources disponibles : ce sont les droits daccs. Dans un CMS, toutes les personnes concernesse voient attribuer un identifi ant (nom dutilisateur) et un profi l daccs y est associ. Cohabitentainsi des utilisateurs simplement reconnus, des crateurs et correcteurs de contenus qui ont plus dedroits et un ou plusieurs administrateurs, qui ont accs tout. Selon le profi l de droits daccs, lapage daccueil du site se prsente diffremment ou bien lutilisateur bnficie dune interfacedadministration distincte de la page daccueil.

    1.3.3 Contenus

    Les contenus peuvent prendre des formes trs diverses : fi chiers textes, images, liens, fi chiers audio,donnes extraites dune application comme Google Maps ou une combinaison de ces lments.Pour que la gestion de tous ces contenus soit simplifi e, ils sont systmatiquement intgrs desstructures daccueil. Les textes sont ainsi rpartis dans des catgories. Ces catgories consistent elles

    aussi en des contenus qui doivent tre administrables. Les fl ux dinformations RSS (RSS feeds) sontdevenus trs populaires, dautant que la version 7 dInternet Explorer permet enfi n de les exploiter.

  • 7/27/2019 Livre Joomla Pret

    13/320

    13

    Au dbut 2008, plus de 75 % des internautes se servent encore de ce navigateur. Les fl ux RSS permettentdintgrer des donnes provenant de sources diverses. Lintgration, le classement, la valorisation,lhybridation et la mise jour de ce genre de contenus externes vont jouer un rle de plus en plusimportant et fi niront par constituer un liant pour fondre ensemble des sites Web distincts au dpart.

    1.3.4 Extensions

    Les composants, modules, templates et plugins sont runis sous le terme collectif extensions .Ils apportent des enrichissements fonctionnels par rapport ce que propose le noyau de Joomla!.

    1.3.5 Templates (modles ou gabarits)

    Un template est une sorte de gabarit visuel prt recevoir des contenus. Il dtermine les couleurs, lespolices, les tailles de caractre, limage darrire-plan, les espacements et la distribution des souslmentsdune page. Il constitue donc une mise en page. Un template runit au moins un fi chierHTML dcrivant la structure de la page et un fi chier CSS dcrivant les styles daffi chage. Un templatepeut tre beaucoup plus complexe et rendre (affi cher) des donnes de Joomla! accessibles de multiples

    manires ou en autoriser le recyclage.

    1.3.6 Plugins

    Un plugin est un bloc de code qui vient se brancher en un point prcis de linfrastructure de Joomla!pour en modifi er le fonctionnement. Vous pouvez par exemple utiliser un plugin dans un contenupour charger le contenu dun module dans un texte. Pour pouvoir tendre la fonction de recherchedun site Web un composant supplmentaire, il faut lui associer un plugin. Les plugins peuventparfois tre vus comme une langage de macros pour Joomla!.

    1.3.7 Modules

    Un module est une extension du domaine des contenus de la partie utilisateur. Il permet de disposerde nouvelles donnes provenant dun composant. Les modules peuvent tre mis en place des positionsprdfi nies dans le template. Un module li un composant permet de visualiser le contenusous un format prcis ailleurs que dans le domaine des contenus du template. Par exemple, le moduledes dernires infos permet dextraire les titres des cinq derniers articles produits par les composantsde contenu et de les transmettre au template. Il existe un autre module pour dterminer le nombredutilisateurs actuellement connects et affi cher le rsultat.

    1.3.8 Composants

    Joomla! doit tre extensible pour sadapter lvolution des besoins. Le terme composant dsignedans Joomla! des extensions qui ajoutent de nouvelles fonctions et sont en gnral gres par undomaine ddi de la partie administrative de Joomla!. Les principaux composants apparus cesderniers temps sont une boutique en ligne, une galerie de photos, une gestion de news et un forum dediscussion. Les attentes actuelles en ce domaine sont notamment loptimisation des moteurs derecherche, la gestion des droits daccs, les formulaires multipages et les structures de contenusvariables.

    Les composants incarnent la logique de traitement de votre site. Ils affi chent les donnes du domainede contenu de votre site Web (Main Body).

  • 7/27/2019 Livre Joomla Pret

    14/320

    14

    1.3.9 Chanes de production (workflows)

    Une chane de production (workfl ow, souvent non traduit ou bien traduit en flux de travaux) est unemanire dorganiser formellement les interactions entre les processus et les personnes dans un objectifcommun. Le service Expdition dune entreprise incarne une chane de production ; une recettede gteau en constitue une autre. Du fait quen gnral plusieurs personnes participent la gestiondes contenus dun systme CMS, il est capital de dfinir de bonnes chanes de production.

    Un concept frquemment utilis dans ce contexte est celui de rservoir de tches dun utilisateur. Parexemple, un rviseur voit saffi cher en permanence la liste des nouveaux articles quil doit relire.Aprs lecture, il valide (ou non) chaque article, qui apparat alors dans la liste dentre du chef derubrique qui dcide (ou non) de le placer en premire page.

    1.3.10 Configuration gnrale et charte graphique

    Ce paramtrage concerne toutes les pages du site : texte du titre dans la fentre du navigateur, motscls pour les moteurs de recherche, options pour autoriser ou non lenregistrement du visiteur sur lapage, pour rendre une page temporairement inaccessible, etc.

    1.3.11 API

    API est un acronyme (Application Programming Interface) anglais qui dsigne une interface deprogrammation. Il sagit dune convention stricte permettant deux programmes dentrer en interactionet de dialoguer. Il est devenu indispensable de pouvoir faire interagir Joomla! avec dautresprogrammes voire mme de le tlcommander. Cela ouvre de tous nouveaux horizons. Linterface APIconstitue la passerelle entre les crations des dveloppeurs tiers et le noyau Joomla!.

    1.4 Joomla! en tant que btiment ?

    Joomla! est une sorte de bote de construction, qui vous permet, aprs mise en place sur un serveur, decrer puis de faire voluer votre site personnel. Joomla! ressemble une maison que vous dcidez deconstruire sur le terrain de votre choix et que vous agrandissez ensuite votre rythme. La mtaphoreimmobilire est donc pertinente.

    Stop ! Jai encens la mobilit et voil que je parle de choses immobiles ?

    Ne prenez pas peur. Limmeuble que vous allez btir va rsider physiquement quelque part (sur votreserveur), mais le monde entier pourra venir vous rendre visite quasiment la vitesse de la lumire. Pourrendre un immeuble habitable, il faut ajouter les quipements indispensables que sont le chauffage,

    llectricit et leau courante. Voil dailleurs une raison pour faire hberger votre site Joomla! sur unserveur qui ne souffrira jamais de pannes secteur puisquil sengage une disponibilit 24h/24 7j/7 .

    Comme dans une maison, Joomla! distribue lespace en pices : une pice pour accueillir les visiteurs,une pour prparer les repas, une autre pour discuter, un bureau et une pice intime que vous ne montrezquaux vrais amis. Certains prfrent les espaces ouverts, de style loft, qui combinent toutes les fonctions.

    Quelle que soit votre prfrence en matire de distribution des espaces, il faut ensuite amnager le tout(revtements de sol et de murs, meubles et dcoration) puis faire priodiquement le mnage. Tous vosvisiteurs laissent des traces pas toujours dsirables.

    Pour que vos visiteurs puissent trouver votre maison, il vous faut une adresse que vous ferez connatre auplus grand nombre. Mais il ny a pas de rpertoire gnral sur Internet ; vous devrez donc vous soucier decomment mieux faire rfrencer votre site.

  • 7/27/2019 Livre Joomla Pret

    15/320

    15

    Vous jouissez peut-tre dun jardin avec plusieurs portes daccs : un portail principal, une entre par uneautre rue voire une porte drobe dans un coin du jardin, rserve aux bons amis.

    Ou bien vous ntes pas du style construire en dur, et prfrez les camping-cars, les tentes, les htels ouencore les rsidences communautaires. Ou alors vous choisissez de louer et de ne pas vous soucier de tousces problmes.

    Si vous reliez les phrases prcdentes votre site Web, vous devinez quil est essentiel de dterminer ceque vous voulez faire, qui vous tes et comment vous dsirez paratre aux yeux du monde.

    On ne peut pas ne pas communiquer ! En revanche, on peut trop aisment mal communiquer et tre malcompris.

    Vous planifi erez donc votre site Internet avec grand soin. Rfl chissez aux textes, mais aussi auxcouleurs, aux lments interactifs (calendrier, forum) et prvoyez toujours une zone rserve auxmembres.

    Noubliez pas de guider vos visiteurs, sans pour autant les contraindre. Visitez de nombreux autres sites et

    voyez ce quil en ressort.

    Prenez le temps de rencontrer des personnes reprsentatives de vos futurs visiteurs. Vous vous fliciterezplus tard davoir enqut pralablement et davoir recueilli leurs avis. Vous serez tonn du nombre dechoses auxquelles vous naviez pas pens. Cest une tactique rentable et effi cace pour trouver denouvelles ides et viter les plus grossires erreurs. Consacrez beaucoup defforts sur ces points, car ilssont dterminants pour le succs de votre prsence sur le Web.

    1.5 Versions de Joomla!

    Comme pour tout logiciel, Joomla! volue par tapes. Lquipe Joomla! a rendu publique le 1

    er

    septembre2005 une feuille de route (roadmap). La premire version publie est la 1.0.

    Cette nouvelle numrotation visait viter toute confusion avec le logiciel Mambo dont Joomla! estissu. La version 1.0 est une version retouche de la version 4.5.2.3 de Mambo. Les retouches concernaientle changement de nom, quelques erreurs en attente et des correctifs de scurit. lheure onous mettons sous presse, Mambo est arriv la Version 4.6.2.

    Dans les deux annes qui viennent de scouler, il y a eu treize versions de Joomla! 1.0.x. Elles ontpermis damliorer une foule de petits dtails dans le code. Si vous en avez suivi lvolution, vousaurez remarqu avec joie que Joomla! est devenu de plus en plus fi able.

    1.4.2 Convention de versionnage de Joomla!

    Les versions de Joomla! obissent la convention X.Y.Z :

    X = Numro majeur. Ce chiffre progresse lors de modifi cations radicales du code source. Unenouvelle version majeure nest en gnral pas compatible avec les versions prcdentes.

    Y = Numro mineur. Ce chiffre progresse, en cas de modifi cations importantes au niveau fonctionnel.En gnral, la compatibilit est maintenue (moyennant quelques amnagements).

    Z = Numro de maintenance. Ce chiffre augmente de 1 ds quune nouvelle version est diffusesuite des corrections et suppressions de failles de scurit. La quantit de modifi cations est

    limite et les nouveauts fonctionnelles sont trs rares. La compatibilit est assure avec lesversions prcdentes de mmes numros majeur et mineur (mmes valeurs X et Y).

  • 7/27/2019 Livre Joomla Pret

    16/320

    16

    Toute volution au niveau majeur (X) ou mineur (Y) correspond unefull release. Dans ce cas prennentplace des priodes probatoires en tat Alpha puis Bta. La dure de ces priodes de test nestpas fi ge et dpend de lquipe de dveloppement. Les versions Bta sont normalement mises disposition pendant trois semaines, ce qui permet aux concepteurs de composants de les adapter lanouvelle version.

    En revanche, une release de maintenance est immdiatement oprationnelle.

    La version 1.5.0 correspond la premire version majeure au bout de deux ans. Elle a dabord donnlieu des versions Alpha, puis Bta puis des versions candidates diffusion RC. Les crateurs decomposants tiers ont eu le temps dadapter leurs produits la nouvelle version. La communaut aeffectu des tests intensifs et les incompatibilits par rapport lancienne version ont t rpertories.

    Vous pouvez lire les dclarations et les rsolutions de problmes sur le site Web de Joomla! (dans leBug-Tracker). Nhsitez pas apporter votre contribution si vous dcouvrez une erreur non encoredclare. Vous y trouverez galement la liste des amliorations les plus attendues.

    Le dveloppement de Joomla! 1.5 a commenc lautomne 2005, sans faire trop de bruit au dpart. Les

    ides taient dj trs claires cette poque, et la premire version Alpha est sortie en fvrier 2006.

    1.4.3 Feuille de route (prvisions dvolution)

    Cette feuille de route (roadmap) est bien sr sujette modifi cation ventuelle, mais elle donne uneide de la tendance gnrale.

    Version Date prvue Remarques

    Mambo 4.5.2 17 fvrier 2005 Dernire version stable de Mambo

    Joomla! 1.0.x Septembre 2005 Reprise de la version Mambo 4.5.2.3, correction derreurs et de failles de scurit, dernire

    version stable de Joomla!Joomla! 1.5 Bta 1 Oct 2006 Internationalisation (support complet de UTF8)

    Localisation de linterface dadministration dans toutes les languesPlugins utilisateursBase de donnes : support de MySQL et de MySQLiSystme de transfert FTP permettant de contourner le problme du mode scuris Safe Modede PHP chez les fournisseurs daccsRvision profonde de la structure en vue de permettre de crer des sites Web accessibles avecJoomla! (au niveau infrastructure)Sparation de la logique de programmation de celle de prsentationOptimisation de lexploitation par les moteurs de recherche (SEF)Mcanisme de mise en cache amlior

    Joomla! 1.5 Bta 2 Mai 2007 Documentation des programmeurs (API, Howto)Optimisation de linterface API

    Amlioration du cacheMeilleur support des URL pour les moteurs de rechercheIntroduction de linfrastructure JavaScript MootoolsIntgration du Template accessible Beez dans le noyau

    Joomla! 1.5 RC1-4 Juillet-Dcembre2007

    Documentation utilisateurTexte d'aideSuppression d'erreursOptimisation de scurit et de performancesTests multi-plates-formes et multinavigateurs

    Joomla! 1.5 stable Janvier 2008 La vraie version stable

    Version suivante Pas de date Nouveau systme de contrle des accs utilisateursVersionnage des contenusInstallation multisites (plusieurs pages Joomla! avec la mme installation)

    Mcanisme de mise jourSystme de fi chiers virtuelSupport de plusieurs bases de donnes

  • 7/27/2019 Livre Joomla Pret

    17/320

    17

    Tableau 1.1 : Feuille de route de Joomla! (dcembre 2007)

    1.4.4 Quelques dtails des volutions

    Comme le Tableau 1.1 le laisse deviner, la version 1.5 est la premire version vraiment complte deJoomla!. Dans un premier temps, lquipe de Joomla! a dabord pris en compte lhritage provenant deMambo avant de trouver sa propre voie. Les enrichissements incorpors dans Joomla! 1.5 montrent

    clairement dans quelle direction soriente le logiciel.

    Internationalisation

    Tous les textes statiques peuvent dornavant tre traduits dans des fi chiers en plusieurs langues. Celaconcerne notamment la partie administrative qui ntait au dpart disponible quen anglais ;

    Support de l'criture de droite gauche (RTL, par exemple pour larabe, lhbreu, le farsi et lurdu) ; Conversion intgrale vers le jeu de caractres UTF-8 pour coder et affi cher tous les caractres au format

    Unicode 16.

    Plugins utilisateurs

    Ce qui sappelait auparavant Mambot sappelle dornavant un plugin. Aux premiers plugins decontenu (content), ddition et de recherche sont venus se joindre des plugins utilisateur (User),dauthentifi cation, xmlrpc et systme.

    Ces nouveaux plugins permettent de mettre en place des mcanismes didentifi cation daccs partir de programmes externes.

    Support de XML-RPC

    Le mcanisme XML Remote Procedure Call constitue une spcifi cation permettant des logicielssitus sur des plates-formes diffrentes et des environnements diffrents de communiquer. Cettespcifi cation supporte tous les langages courants de programmation. Vous trouverez des librairiespour convertir le code vers XML-RPC. Joomla! est dot dune telle interface de programmation. Ellepermet par exemple un utilisateur de transmettre une image depuis Flickr ou bien de rdiger unarticle avec OpenOffi ce pour le diffuser ensuite dans Joomla!. Les dveloppeurs ne sont pas en reste ;ils peuvent dornavant dialoguer avec Joomla! via cette interface depuis un programme Java.

    Support de plusieurs bases de donnes

    Joomla! 1.5 est dot dune couche logicielle de sparation grce laquelle il est possible dexploiterplusieurs versions de bases de donnes. Pour chaque installation Joomla!, il nest possible dutiliserquune seule base la fois. lheure actuelle, les deux versions MySQL 4.x et 5.x sont supportesmais dautres SGBD le seront ultrieurement.

    Systme FTP pour grer le problme du mode scuris de PHP

    Pour viter les problmes frquents de droit daccs aux donnes, il a t ajout une couche FTP.Elle permet dinstaller de nouveaux composants et deffectuer des transferts par tlchargementPHP et par FTP. Les paramtrages contraignants (mais justifi s) imposs par les FAI au niveau du

    langage PHP rendaient souvent diffi cile linstallation dextensions et le tlchargement des fi chiers.

  • 7/27/2019 Livre Joomla Pret

    18/320

    18

    Mise jour de linfrastructure Joomla!

    Dans les premires versions, il ny avait pas dinfrastructure au sens strict, cest--dire une bote outils aux limites bien dfi nies pouvant servir dinterface de programmation API. Peu aprs larupture avec Mambo, il est devenu vident quil fallait modifi er quasiment partout lancien codesource. Il fallait reformuler et reprogrammer proprement les fonctions de Joomla!. Une infrastructuredigne de ce nom (framework) doit tre souple, volutive, totalement spare de la partie affi chage

    et surtout, aise prendre en main. Il faut que les dveloppeurs tiers puissent crer en peu de tempsdes composants de bonne qualit. Une interface API est donc devenue incontournable. Joomla!1.5en possde une.

    Accessibilit

    Laccessibilit pour les personnes handicapes est un sujet important, puisque depuis dbut 2006tous les sites gouvernementaux dAllemagne doivent tre conformes aux standards dicts parlorganisation W3C. Joomla!1.5 est livre avec un template offrant une accessibilit complte (il sappelleBeez). La conformit aux standards est ainsi assure.

    Pour garantir cette accessibilit, il faut se conformer des standards du Web (du code HTML/XHTML validable) Il faut aussi sparer rigoureusement les contenus (les textes et les images) de lamanire de les prsenter, en utilisant des feuilles de styles en cascade CSS. Actuellement, seule lapartie visible par les visiteurs est conforme. La partie administrative le sera dans une version ultrieure.Elle est dj pilotable par un non-voyant.

    Adaptation aux moteurs de recherche

    Le support des adresses URL exploitables par les moteurs de recherche a t extirp du noyau de

    Joomla! pour constituer dornavant un plugin. Il devient ainsi den utiliser les possibilits partir decomposants dautres programmeurs, ce qui tait trs diffi cile auparavant.

    Les projets Google Summer of Code

    Depuis lanne 2005, la socit Google parraine les programmeurs talentueux dans leurs projetsOpen Source. Elle attribue chacun 4 500 $ US dans le cadre dun projet appel Summer of Code(programmation dt). Cela vite des tudiants de chercher un job dt et leur permet de se consacrertotalement leur passion, au profi t de la communaut mondiale, et bien sr celui de Google.Chaque anne, Summer of Code donne Google loccasion de se faire connatre, de recueillir debonnes ides et de reprer de bons programmeurs. Les projets Open Source y trouvent leur compteaussi grce ce brassage dides, aux contacts nous et aux rsultats concrets. Chaque tudiant estsuivi par un membre issu de la communaut de chaque projet qui est dsign comme mentor.

    Les rsultats des projets ont t et sont toujours intgrs peu aprs dans Joomla!. Au cours de lanne2007, plusieurs nouveaux projets concernant Joomla! ont t ainsi fi nancs par Google.

    Voici les projets concerns :

    Extension du modle des ensembles imbriqus grce des ensembles imbriqus liaisonsfi ges. Enno Klasing (mentor Louis Benton Landry). Un projet permettant dimbriquer des catgoriessans limite de niveaux.

    Interface de messagerie pour diffusion. Aini Rakhmawati (mentor Mateusz Krzeszowiec).Permet de crer des contenus Joomla! en envoyant des courriels.

  • 7/27/2019 Livre Joomla Pret

    19/320

    19

    Intgration smantique du Web. Charl van Niekerk (mentor Robert Schley). Production ducode gnr par Joomla! dans un format XHTML valide afi n de servir de base pour constituerdes sites Web accessibles et avancer dans la voie du Web smantique.

    Go-composant pour Joomla!. Mickael Maison (mentor Andrew Eddie). Intgration des standardsgographiques tels que KML et GeoRSS pour exploiter ces donnes dans Joomla!, parexemple pour affi cher le domicile de lutilisateur sur une carte.

    Plugin Eclipse pour modules et composants Joomla!. Muhammad Fuad Dwi Rizki (mentorLaurens Vandeput). Consiste produire un plugin Joomla! appropri lenvironnement dedveloppement Eclipse, ce qui permet de construire des composants Joomla! de faon trs confortable.

    Composant de recommandation gnrale pour les contenus Joomla!. Faolan Cheslack-Postava (mentor Samuel Alexander Moffatt). Permet de proposer automatiquement des contenuspar analyse du contexte et du moment.

    1.4.5 Caractristiques actuelles de Joomla!

    Voici la liste rsume des caractristiques actuelles de Joomla! :

    code source disponible ; grande base installe dutilisateurs et de dveloppeurs ; systme de gestion de workfl ow simple ; systme de diffusion des contenus ; gestionnaire de tlchargement et la gestion des fi chiers distants ; exploitation des contenus dans le format RSS ; corbeille pour les contenus effacs ; adresses URL compatibles avec les moteurs de recherche ; gestion de bannires publicitaires ; frontal et administration disponibles en de nombreuses langues ; interface d'administration spare de laccs Web normal ; langage de macros pour traiter les contenus (Mambots) ; mcanisme de cache pour assurer une gnration rapide des pages choisies ; installation facile des modles et composants complmentaires ; systme de modles simple mais complet (HTML, CSS, PHP) ; groupes d'utilisateurs hirarchiss ; statistiques de frquentation simples ; diteur de contenus visuel (WYSIWYG) ; gestion de sondages ; mcanisme dvaluation des contenus.

    Vous trouverez de nombreuses extensions sur le site http://extensions.joomla.org. Citons notamment :

    gestion de forums ; gestion de galeries de photos ; systme de gestion documentaire ; calendriers.

    Et presque 2 000 autres.

    1.6 Exemples de sites grs par Joomla!

    Pour vous faire une ide de ce que lon peut obtenir en utilisant Joomla!, nous vous proposons une courteliste de sites rels.

  • 7/27/2019 Livre Joomla Pret

    20/320

    20

    joomla.fr, France

    Cest le site de rfrence officiel en langue franaise (voyez aussi joomla.fr).

    Figure 1.1 http://www.joomla.fr

    Travel Shop, Irlande

    Un site touristique exploitant un systme de menu original provenant de joomlart.com.

    Figure 1.2 http://www.travelshopireland.com

  • 7/27/2019 Livre Joomla Pret

    21/320

    21

    Mrio Moraes, Brsil

    Le site Web officiel dun coureur automobile. Le template accueille de nombreux objets anims au formatFlash.

    Figure 1.3 http://www.mmoraes.com

    Frank Ldtke, Allemagne

    Un bel exemple de combinaison de Joomla! avec la galerie de photos Coppermine.

    Figure 1.4 http://www.livinggallery.de/

  • 7/27/2019 Livre Joomla Pret

    22/320

    22

    Feuille blanche, France

    Le site de deux crateurs graphiques.

    Figure 1.5 http://www.feuilleblanche.com

    Urth.tv, USA

    Un site citoyen sadressant au monde entier !

    Figure 1.6 http://www.urth.tv

  • 7/27/2019 Livre Joomla Pret

    23/320

    23

    unric.org, Europe

    Les Nations Unies ont adopt Joomla!. Dans ce cas prcis, il fallait grer treize langues, et certainesdevaient saffi cher en mme temps sur la mme page.

    Figure 1.7 http://www.unric.org

    porsche.com.br, Brsil

    Pour fi nir en beaut, voici le site de limportateur brsilien des voitures Porsche. Il a accompagn toutelhistoire de Joomla! depuis lpoque de Mambo et vient de basculer vers la version Joomla!1.5.

    Figure 1.8 http://www.porsche.com.br

    Vous trouverez dautres sites propulss par Joomla! en vous rendant dans la section Forum du sitewww.joomla.org. Cherchez le terme Showcase .

  • 7/27/2019 Livre Joomla Pret

    24/320

    24

    CHAPITRE 2 : INSTALLATION

    Installer Joomla! ne prend que cinq minutes la premire fois et mme moins ensuite. Mais pourrussir cette installation, il faut dabord mettre en place localement une sorte dInternet priv runissantun serveur Web, avec support du langage PHP, et un systme de gestion de base de donnes (SGBD)exploitable par Joomla!.

    Les fi chiers de Joomla! seront ensuite installs dans cette structure de dossiers puis confi gurs via uninstallateur interface Web. Il sagit dun exemple typique denvironnement client-serveur.

    2.1 Les systmes client-serveur 2.2 Prrequis techniques pour Joomla! 2.3 lments requis pour installer un systme Joomla! 2.4 Dabord localement 2.5 Prparation locale de linfrastructure dexploitation 2.6 Sur un serveur virtuel en rseau 2.7 Installation de Joomla!

    2.1 Les systmes client-serveur

    Pour vous faire une ide gnrale de ce qui se passe en coulisses, parcourons les tapes successives delaccs dun ordinateur client un site Web propuls par Joomla! :

    1. tablissement dune connexion Internet via un fournisseur daccs.2. Saisie de ladresse Web (URL) dans le navigateur client.3. Entre en contact du navigateur avec le serveur Web.4. Le serveur Web retransmet une requte son interprteur de langage PHP qui excute les

    commandes PHP appropries Joomla!.

    5.

    Linterprteur PHP transmet les donnes dentre la base de donnes.6. Linterprteur PHP gnre du code dhabillage HTML ou XHTML (selon le modle/templateutilis) et retransmet les donnes de la base avec lhabillage au serveur Web.

    7. Le serveur Web envoie la page complte au navigateur du client.8. Le navigateur interprte les balises de style HTML et CSS et intgre les donnes externes

    (images, lments Flash, etc.) en allant les chercher un un auprs du serveur Web.9. Pendant le chargement des diffrentes ressources, le navigateur ralise le plus fi dlement possible

    le rendu de la page, cest--dire son affichage.

    Vous comprenez que laffi chage dune page dun site Web Joomla! suit de nombreuses tapes. Plusieursdentre elles ne concernent dailleurs pas Joomla! lui-mme.

    2.2 Prrequis techniques pour Joomla!

    Joomla! ncessite la configuration suivante :

    Un serveur Web oprationnel, par exemple Apache partir de la version 1.13.19 ou Microsoft IIS. Le langage de script PHP partir de la version PHP 4.3. Le support de MySQL et de Zlib intgr

    PHP. Zlib est une librairie de fonctions qui permet PHP de lire des paquets de donnescompresses au format ZIP.

    Le systme de gestion de bases de donnes MySQL partir de la version 3.23.x. Dans le cadre delutilisation du jeu de caractres Unicode, il faut utiliser MySQL partir de la version 4.1.x.

  • 7/27/2019 Livre Joomla Pret

    25/320

    25

    2.3 lments requis pour installer un systme Joomla!

    Il vous faut dabord runir tous les lments indiqus ci-dessus pour mettre en place un systmeJoomla!.

    Vous disposez normalement dau moins un PC avec un navigateur Web et une connexion Internet.Au niveau du serveur Web, du langage PHP et de la base de donnes, de nombreux choix sont possibles.

    Vous pouvez en effet :

    installer la totalit du systme localement sur votre PC ; implanter le systme sur un intranet dentreprise ou un serveur de lentreprise ; louer un serveur virtuel (partag) un fournisseur daccs ; louer ou acheter un serveur ddi un fournisseur daccs (avec accs la racine).

    Mieux encore, vous pouvez :

    installer le serveur Web et le gestionnaire de bases de donnes sur des machines distinctes.Vous pouvez enfi n exploiter :

    diffrentes marques de serveurs Web ; diffrentes versions de linterprteur PHP ; diffrentes versions du gestionnaire de bases de donnes MySQL.

    De plus, tous ces composants sont utilisables sur plusieurs systmes dexploitation.

    Cette grande libert dans le choix des ressources techniques peut effrayer au premier contact. Passonsdonc en revue quelques situations typiques.

    2.3.1 Environnement de test local

    Vous tes chez vous ou votre bureau et vous voulez construire un site Joomla!.

    Systme dexploitation Windows

    Variante 1

    Dans Windows XP Professionnel et Vista Ultimate, vous disposez en standard dun serveur Web appelInternet Information Server (IIS). Il ne reste plus qu y ajouter le langage PHP et un gestionnaire debases de donnes.

    Variante 2

    Vous installez un paquetage prconfi gur de type XAMPP et vous pouvez immdiatement travailler.

    Systme dexploitation Linux

    Dans ce cas, tout dpend de la distribution. Toutes permettent dinstaller facilement via la souris lespaquets logiciels de Apache, PHP et MySQL. Dans certaines distributions, ces diffrents composants sontinstalls ds le dpart.

  • 7/27/2019 Livre Joomla Pret

    26/320

    26

    Variante 1

    Vous vous servez des programmes qui ont t installs avec la distribution.

    Variante 2

    Vous installez un paquetage prconfi gur de type XAMPP (LAMPP dans ce cas) et vous pouvezimmdiatement travailler.

    Systme dexploitation Mac OS X

    Vous disposez en standard dun serveur Web (Apache), mais il faut encore lactiver. En revanche, lelangage PHP nest pas install. Il nexiste aucune version de PHP offi cielle pour Mac OS X. Vouspouvez en revanche mettre en place un module Apache-PHP. Il existe galement des versions de MySQLpour Mac OS X, que vous devrez tlcharger.

    Variante 1

    Vous utilisez le serveur Web Apache dj install et vous ajoutez les composants manquants.

    Variante 2

    Comme dans les deux autres systmes, vous vous procurez le paquetage prconfi gur XAMPP dans saversion Mac OS X. Vous linstallez et cest prt. Dans lenvironnement Mac OS X, vous pouvez prfrerla version ddie qui sappelle MAMPP.

    2.3.2 Environnement de production

    Vous avez ici aussi plusieurs possibilits.

    Serveur virtuel en location

    Vous signez un contrat de location de serveur Web auprs dun fournisseur daccs avec une fonction degestion de bases de donnes, le support du langage PHP et souvent aussi votre propre nom de domaine.Vous disposez alors dun environnement permettant dinstaller Joomla!. Vous devez vrifi er avec votrefournisseur quelles versions de PHP et de MySQL il peut mettre en place. Il arrive que le fournisseurpropose Joomla! prinstall avec plusieurs templates. Il ne vous reste plus alors qu activer Joomla! la

    souris pour en profiter.

    Serveur ddi

    Vous louez auprs dun fournisseur un serveur ddi et vous y installez un systme dexploitation votre convenance. Vous tes ladministrateur du systme et vous pouvez vous en servir comme si lamachine tait pose chez vous ou dans votre bureau.

    2.4 Dabord localement

    Avant de plonger dans le monde sauvage dInternet, nous vous conseillons de vous entraner lamaison sur votre PC. Cela vous offre lavantage de ne pas subir les ventuels ralentissements devotre connexion Internet.

  • 7/27/2019 Livre Joomla Pret

    27/320

    27

    Mais vous avez dj peut-tre chez vous un petit rseau reliant plusieurs PC. Vous pouvez alorsinstaller Joomla! sur un PC (qui devient le serveur) et y accder depuis un autre PC (le client).

    Pour vous pargner de nombreux tlchargements, nous fournissons tous les programmes dont vous avezbesoin sur le CD-ROM. Les diffrents paquetages logiciels sont indiqus dans lAnnexe. Ces programmesconviennent une installation locale et vous permettent de raliser tous les exercices prsents dans lelivre.

    Rappelons nanmoins que ces logiciels sont en volution continuelle. Vous pourrez sans doute rcuprerdes versions plus rcentes sur les sites Web offi ciels des diffrents composants.

    Attention:Lorsque vous dploierez Joomla! sur un serveur Web rel (public), vrifi ez que vous installez la versionstable la plus rcente et compatible avec vos donnes afi n de profi ter des derniers correctifs de scurit.Ninstallez pas dans ce cas de version prliminaire.

    2.5 Prparation locale de linfrastructure dexploitation

    Pour installer Joomla! localement sur un PC, vous devez avant tout mettre en place linfrastructurelogicielle dont le logiciel a besoin : Apache-MySQL-PHP.

    2.5.1 Sous Windows

    Windows (XP et Vista) est rput pour sa convivialit et son norme diffusion, dans la mesure oplus de 90 % des PC au monde en sont dots. Les trois applications Apache, MySQL et PHP ne sont pasfournies par Microsoft, puisquelles manent du monde du logiciel libre.

    Figure 2.1 Gestion des utilisateurs sous Windows.

    Vous pouvez installer chacun des trois logiciels lun aprs lautre, mais il existe des paquetsprconfigurs qui vous simplifi ent la vie.

    Sous XP comme sous Vista, vous devez avoir ouvert la session de travail en tant quadministrateur. Encas de doute, ouvrez le module de gestion des utilisateurs par DMARRER > PARAMTRES > PANNEAU DECONFIGURATION > COMPTES DUTILISATEURS et modifiez vos droits (voir Figure 2.1). Sous Vista,

    choisissez DMARRER > PANNEAU DE CONFIGURATION > COMPTES DUTILISATEURS ET PROTECTIONDES UTILISATEURS.

  • 7/27/2019 Livre Joomla Pret

    28/320

    28

    XAMPP pour Windows

    XAMPP est un projet de Kai Seidler et Kay Vogelgesang. Ces deux collgues produisent depuisplusieurs annes dj un environnement de dveloppement complet partir des ingrdients Apache,MySQL, PHP, Perl et plusieurs autres extensions appropries puis mettent le fruit de cette synthse disposition sur leur site Web au format ZIP pour plusieurs systmes dexploitation. Cela constitue unnorme avantage pour vous comme pour moi, puisque cest Joomla! qui nous intresse ici, et quil nous

    importe de ne pas perdre de temps avec linfrastructure quil lui faut. Le programme peut mme tredsinstall par simple clic sur votre PC sous Windows.

    Passons maintenant aux choses concrtes : linstallation.

    Commencez par rcuprer le fi chier nomm xampplite-win32-1.6.5depuis le CD-ROM ou depuis lesite Web (http://www.apachefriends.org).

    Vous dcompressez larchive par double-clic sur le nom de fi chier (voir Figure 2.2). Vous pouvezdsigner directement une autre unit de disque. Le rsultat est une arborescence de dossiers dont la racine

    se nomme xampplite (voir Figure 2.3).

    Figure 2.2 Extraction vers le disque C:

    Figure 2.3 Lexplorateur Windows dans Vista.

    Double-cliquez sur le programme appel xampp-control.exe situ dans le dossier xampplite. Utilisezensuite les boutons START pour dmarrer Apache, puis MySQL. PHP sera dmarr en mme temps quele serveur en tant que module Apache (voir Figure 2.4). Sachez que XAMPP ne cre aucune entre dans

  • 7/27/2019 Livre Joomla Pret

    29/320

    29

    la base de registre de Windows et nutilise aucune variable systme. Il peut arriver que le pare-feuWindows vienne bloquer votre enthousiasme. Il peut par exemple vous avertir que vous essayez de lancerdeux serveurs et vous demande de confirmer. Confi rmez que vous ne voulez plus que votre programmesoit bloqu par le pare-feu (voir Figure 2.5). Sous Vista, vous devez confirmer dans une seconde bote.

    Figure 2.4 Le panneau de commande de xampp-control.exe.

    Figure 2.5 Bote davertissement du pare-feu de Windows Vista.

    Il faut maintenant tester laccessibilit du serveur. Dans votre navigateur Web, saisissez ladresse localedans lun des deux formats suivants :

    http://127.0.0.1/http://localhost/

    Vous devez voir saffi cher la page daccueil de XAMPP. Cliquez sur le lien intitul FRANAISpouraccder la page suivante :

  • 7/27/2019 Livre Joomla Pret

    30/320

    30

    Figure 2.6 Page daccueil de XAMPP sous Windows.

    Le rpertoire racine des documents de votre page daccueil est :

    [disque]\xampplite\htdocs

    Ce rpertoire contiendra toutes les pages qui devront tre accessibles depuis dautres machines surInternet. Parcourez le fi chier readme_fr.txt pour connatre les dtails au sujet des mots de passe

    requis et dcouvrir dventuelles remarques relatives la scurit.La dsinstallation est fort simple. Aprs avoir arrt les deux serveurs, vous effacez le contenu durpertoire de xampplite.

    Attention:Si le serveur Web Apache ne russit pas dmarrer depuis XAMPP lite, il est possible quun autreservice utilise dj le port 80. Cest par exemple le cas de loutil de tlphonie Skype. Dans les anciennesversions, il occupait le port 80 et empchait ainsi un autre service dy accder. Affi chez les options deSkype pour modifi er le numro de port utilis. Vous pouvez aussi dmarrer XAMPP lite avantSkype.2007

    2.5.2 Linux

    Sous Linux, les choses sont souvent trs simples. Plusieurs distributions sont dj dotes de configurationsstandardises. Le trio Apache-MySQL-PHP est en gnral dj install et nattend que dtre dmarr.

    Vous pouvez aussi installer la version Linux de XAMPP. Daprs moi, il est plus logique dinstallerles programmes dorigine un un. Ces installations sont trs simples puisquelles se droulentdans le gestionnaire de paquets.

  • 7/27/2019 Livre Joomla Pret

    31/320

    31

    SuSE (10.x), OpenSuSE

    Sous SuSE et OpenSuSE, le programme YaST permet de sassurer que Apache, MySQL et PHP sontdj en place. Si ce nest pas le cas, il suffi t de slectionner les paquets correspondants pour installationet de laisser faire YaST.

    Les paquets logiciels concerns sont les suivants :

    apache2, apache2-devel, apache2-mod_php5mysql,php5-mysql

    Reprez ces paquets dans linterface de YaST (voir Figure 2.7) sur les supports de la distribution ousur des pages Web ddis.

    Figure 2.7 Le Gestionnaire de paquets YaST.

    Dmarrez le serveur Web Apache ainsi :

    /etc/init.d/apache2 start

    Dmarrez ensuite le SGBD MySQL ainsi :

    /etc/init.d/mysql start

    Vous arrtez les deux programmes en remplaant dans la commande la mention start par stop. La mentionhelp rappelle les paramtres autoriss.

    Debian/Ubuntu

    Dans le cas de Debian (et de ses drivs, tels que Ubuntu), loutil de gestion dinstallation est apt.

    apt-get install [nompaquet]

    Les paquets installer sont les suivants :

    apache-common. Fichiers de support pour tous les serveurs Apache. php5. Langage de script du ct serveur imbriqu dans le HTML. mysql-common. Fichiers principaux de MySQL (par exemple /etc/mysql/my.cnf).

  • 7/27/2019 Livre Joomla Pret

    32/320

    32

    mysql-server. Excutables du serveur de base de donnes.Vous trouverez ces paquets via apt sur Internet ou sur les CD/DVD de la distribution.

    Dmarrez ensuite Apache puis MySQL par les deux commandes indiques plus haut pour SuSE.

    Mise en place dun serveur chez un fournisseur daccs

    Lorsque vous avez dcid de louer linfrastructure dun site Web chez un fournisseur, vous aveznormalement le choix entre plusieurs distributions Linux et un accs en mode Commande au systme.Le systme est normalement prconfigur avec tous les paquets logiciels et fi chiers de confi gurationncessaires. Le paramtrage se base en gnral sur un outil ddi interface Web comme Confixx ouPlesk qui permet notamment de dmarrer, darrter et de configurer les services Apache et MySQL.

    2.6 Sur un serveur virtuel en rseau

    Ce thme est rendu plus complexe, en raison de la grande disparit des confi gurations proposes par lesnombreux hbergeurs de sites Web, mme si la plupart utilisent le trio gagnant Apache-PHP-MySQL.Tous nutilisent pas la mme version et les outils dadministration de lespace Web sont trs divers(Confixx, Visas, etc.).

    Voici les principaux points surveiller :

    l'tat actif ventuel dun mode PHP scuris (Safe Mode) dans le fi chier php.ini (PHP-Safe) ; l'ventualit dune non-conversion des adresses URL par Apache cause de la dsactivation de

    sa fonction Rewrite Engine ; les droits d'accs aux sous-dossiers (permissions) qui sont dfi nis autrement sous Linux et sous

    Windows.

    Lapproche qui est en gnral la plus susceptible de vous mener au succs est la suivante :

    1. Rcuprez le fi chier Joomla_1.5.x-Stable-fr.zip (la plus rcente version stable) sur votre PClocalet dsarchivez le contenu dans un dossier temporaire.

    2. Transfrez les fi chiers de larchive par FTP sur le serveur Web dans un dossier accs nonrestreint. Le nom du dossier est souvent htdocs, public_html ou encore html. Vous pouvez crezun sous-dossier pour Joomla!. La plupart des hbergeurs autorisent le renvoi vers un sous-dossier partir du nom de domaine. Ce nom est capital, car cest celui que devront indiquer les visiteursde votre site.

    3. Vous devez dcouvrir le nom de votre base de donnes. La plupart des hbergeurs mettent une ouplusieurs bases de donnes disposition dans le cadre du forfait. Parfois les identifi antsdadministrateur et de base et les mots de passe sont fi gs, parfois ils doivent tre crs, et parfoisilsexistent dj, mais sont personnalisables. Vous intervenez ce niveau via un outil interfaceWeb. La figure suivante donne un exemple dun tel outil. Notez ces informations qui vous serontncessaires pour installer Joomla!.

  • 7/27/2019 Livre Joomla Pret

    33/320

    33

    Figure 2.8 Exemple doutil deconfiguration Web.

    Une fois que vous avez transfr les donnes sur le serveur et disposez des informations daccs ( labase notamment), vous pouvez vous engager dans linstallation de Joomla!.

    2.7 Installation de Joomla!

    Pour installer Joomla!, procurez-vous la plus rcente version stable, par exemple Joomla_1.5.x-Stable.tar.gz. Stockez le fichier dans un dossier spcifi que de votre systme.

    2.7.1 Choix du dossier dinstallation

    Vous devez choisir entre implanter le programme Joomla! directement dans le dossier racine desdocuments du serveur (/xampplite/htdocs) ou dans un sous-dossier. Le choix infl ue sur ladressepublique que devront saisir les visiteurs pour accder votre page daccueil.

    Exemple

    Si vous installez Joomla! directement dans le sous-dossier /htdocs, vous accdez votre paged accueil en indiquant le nom de votre domaine du style http://www.monsite.fr(ou http://localhost/pour les essais locaux). Si vous crez un sous-dossier dans /htdocs/ du type /htdocs/Joomla150/ , puisy implantez les fi chiers de larchive, il faut ensuite indiquer http://localhost/Joomla150/pour accderau site. Pour les essais locaux, cela ne pose pas de problme, mais ladresse est moins facile mmoriser

    pour les visiteurs.

    Votre environnement dexploitation local xampplite sous Windows installe quelques fichiers HTMLet quelques sous-dossiers dans/htdocs, par exemple pour la page daccueil de xampplite (voirFigure 2.6). Il en va de mme sous Linux, avec dinfi mes variations selon la distribution et les rglagesdu serveur.

    Rpertoire racine

    Nous vous proposons dopter pour lapproche du sous-dossier. Crez dans /xampplite/htdocs, un

    sous-dossier nomm joomla150. Sous Windows, utilisez lExplorateur et, sous Linux, la ligne decommandes ou votre navigateur de fi chiers prfr (Konqueror, Nautilus, Midnight Commander) :

  • 7/27/2019 Livre Joomla Pret

    34/320

    34

    [Installation de XAMPP]/htdocs/joomla150/

    Aprs cette opration, la structure arborescente devrait se prsenter ainsi (exemple sous Windows enFigure 2.9).

    Figure 2.9 Le dossier devant recevoir Joomla!.

    Si vous tentez maintenant daccder ladresse locale http://localhost/joomla150/, vous voyez avecXampplite une page vide (voir Figure 2.10).

    Figure 2.10 Affichage du sous-dossier vide par Apache.

    Sous Linux ou si la confi guration est diffrente, vous recevrez peut-tre un message vous indiquantque vous navez pas accs en criture ce dossier. Cette situation dpend de la configuration duserveur Web qui empche, pour des raisons de scurit, laffi chage du contenu des dossiers. En effet,un attaquant potentiel pourrait se servir de ces informations pour prparer un mauvais coup.

    Souvent, vous ne pouvez mme pas au dpart aller modifi er le paramtre dans le serveur Web Apachecar le fi chier est protg. Si vous avez supprim cette interdiction, laissez malgr tout la protectionprcdente en vigueur (masquage des contenus des dossiers).

    Dsarchivage

    Vous pouvez maintenant extraire les fi chiers de larchive (paquet) Joomla! et les placer dans lesousdossier

    que vous venez de crer (y compris tous les sous-dossiers, tels quels). Le fichier darchive estau format Tarball compress. Sous Windows XP ou Vista, vous avez doffi ce accs au contenu dans

  • 7/27/2019 Livre Joomla Pret

    35/320

    35

    lexplorateur. Dans les anciennes versions de Windows, vous devez disposer dun utilitaire du styleTUGZip (www.tugzip.de).

    Cette structure est la mme quelle que soit la plate-forme, seul laffi chage pouvant varier. La fi guresuivante montre la fentre dun logiciel client FTP. Le volet gauche est le disque local et le volet estle serveur Web.

    Installateur Web de Joomla!

    partir de maintenant, tout va aller trs vite, car Joomla! est dot dun installateur fonctionnant dansvotre navigateur. Allez ladresse http://localhost/Joomla150/.

    Figure 2.11 Les fichiers de Joomla! installs.

    Figure 2.12 Transfert de Joomla! via FTP sur un serveur.

  • 7/27/2019 Livre Joomla Pret

    36/320

    36

    tape 1 Choix de la langue

    Linstallateur vous demande en franais de choisir votre langue. Vous tes face la premire des septtapes de linstallation. Une fois votre choix fait, cliquez sur le bouton SUIVANT en haut droite (voirFigure 2.13).

    Figure 2.13 Installateur Choix de la langue.

    tape 2 Vrification de prinstallation

    Vous passez alors ltape de vrifi cation (voir Figure 2.14). Cette prcaution permet de vrifi er quelenvironnement logiciel convient linstallation de Joomla!.

    Figure 2.14 Installateur Vrification de prinstallation.

    Si vous voyez une grande majorit de tmoins verts, cest bon signe. Les dtails varieront selon votreconfi guration. Linstallateur de Joomla! tient comptes des options de confi guration du serveur WebApache, de PHP et du systme dexploitation. Vous devez notamment vous souciez des droits daccs encriture si vous utilisez un systme de type Unix (Linux, Mac OS X). Intressez-vous particulirementau fichier nomm configuration.php qui est gnr en fin dinstallation avec des valeurs

    spcifiques. Si linstallateur na pas le droit dcrire dans le dossier concern, Joomla! ne peut pasgnrer ce fichier et linstallation choue. Prenez donc le temps de confi gurer correctement les droitsdaccs. Vous pouvez alors cliquer sur le bouton VRIFIER NOUVEAU.

  • 7/27/2019 Livre Joomla Pret

    37/320

    37

    Attention:Tous les systmes dexploitation actuels (Windows, Linux, Mac OS X) sont multi-utilisateurs et tousdisposent dun mcanisme de contrle des accs aux fi chiers et aux dossiers utilisant plusieurs niveaux :lecture, criture, lecture/excution, modifi cation et accs complet. Les dtails des droits daccs varientdun systme lautre.Dans la ligne des systmes Windows, une ligne de dmarcation peut tre trace entre les systmesantrieurs Windows NT (dont Windows 98 et Me) et les systmes postrieurs NT (XP et Vista).

    partir de NT, les dossiers, les fi chiers et les processus sont grs par des listes de contrle daccs ACL.Si ces listes ACL ne sont pas dfinies, tous les utilisateurs ont un accs complet tous les objets. Voilpourquoi vous naurez au dpart aucun problme pour exploiter XAMPP et Joomla! sur un tel systme.En revanche, dans Vista, la scurit a t renforce pour lexcution des processus. Cest pourquoi vousdevez en gnral autoriser explicitement lexcution dun serveur Web et dun gestionnaire de bases dedonnes.Dans les systmes de style Unix (Linux, Mac OS X) les droits daccs sont grs pour trois groupesdutilisateurs (le propritaire, son groupe et les autres) avec les niveaux lecture, criture et excution.Vous modifi ez les attributs de droits daccs des utilisateurs au moyen de la commande chown et lesdroits daccs aux fi chiers au moyen de la commande chmod. Votre outil de transfert FTP dispose de cesdeux commandes (il suffit en gnral de faire un clic droit sur le nom du fi chier dont vous voulez

    modifier les droits). Pour une explication complte, voyez par exemple la page suivante :http://fr.wikipedia.org/wiki/Permissions_UnixDans le cas dun serveur partag chez un fournisseur daccs, il peut arriver que le serveur Web soit configur avec des droits et des permissions diffrents de ceux dont dispose lutilisateur de FTP. Lorsque voustransfrez un fi chier, il hrite des droits daccs du serveur Web (par exemple avec lutilisateurwwwrun). Il peut arriver que vous ne puissiez plus ensuite supprimer le fichier partir de votre comptedutilisateur FTP (par exemple, Bertrand). La raison en est que lutilisateur FTP nest pas dans le mmegroupe dutilisateurs que le serveur Web.

    Si vous optez pour la solution rapide XAMPP lite sous Windows, vous devriez obtenir le mmersultat que dans les fi gures de ce livre. Cliquez sur le bouton SUIVANT pour passer ltape de lalicence.

    tape 3 Licence

    Tout logiciel est diffus avec une licence. Dans le cas de Joomla!, il sagit de la licence de logiciellibre GNU/GPL dans sa version 2.0 (voir Figure 2.15).

    Attention:Vous trouverez une traduction franaise non offi cielle de la licence ladresse suivante :http://www.linux-france.org/article/ these/gpl.html

    Prenez le temps de parcourir ce texte. Il sagit dun des textes les plus connus dans le monde du logiciel.

    Figure 2.15 Installateur Licence.

  • 7/27/2019 Livre Joomla Pret

    38/320

    38

    tape 4 Base de donnes

    Ltape suivante propose un formulaire concernant les paramtres daccs la base de donnes (voirFigure 2.14). Dans lenvironnement xampplite, vous pouvez exploiter autant de bases que ncessaire.Un utilisateur existe avec le nom root sans mot de passe. Dans le SGBD MySQL, lutilisateurnomm root est ladministrateur. Il a plein accs ce systme. Linstallation sans dfi nir de mot depasse est une brche de scurit qui nest acceptable que lors dune installation locale, en vue de

    prendre en main le systme rapidement. Une fois votre site prt tre publi, vous devez absolumentle protger au moyen dun mot de passe (http://localhost/security/).

    Uniquement dans le cadre dune installation locale, vous pouvez spcifi er les valeurs suivantes :

    nom du serveur : localhost ; nom d'utilisateur : root ; mot de passe : [laisser vide mais attention la scurit !].

    Il vous reste encore choisir le nom de la base de donnes. Dans une installation locale XAMPP,vous pouvez dfi nir plusieurs bases auxquelles lutilisateurroot aura accs. Dans un environnementde production sur un serveur distant, une limite au nombre de bases de donnes vous sera sans douteimpose. De plus, les paramtres daccs vos bases sont prdfi nies par le fournisseur daccs.

    Nous pouvons dans notre situation indiquer le nom dune base qui nexiste pas encore (joomla150).

    Cliquez ensuite dans le triangle vert des paramtres avancs.

    Figure 2.16 Installateur Configuration de la base de donnes.

    Vous pouvez alors choisir de supprimer ou de sauvegarder les tables de donnes dune installationJoomla! antrieure en remplaant le prfi xe actuel par le prfixe bak_.

    Le prfixe de table MySQL est un paramtre trs pratique. Il est ajout en dbut de nom de toutes lestables gnres par linstallateur ; il est ainsi possible de distinguer les tables des diffrentes bases.Par dfaut, linstallateur propose jos_.

  • 7/27/2019 Livre Joomla Pret

    39/320

    39

    Ce prfixe sert notamment lorsque lhbergeur ne fournit quune seule base de donnes. Dans ce cas,le prfixe est le seul moyen de distinguer les tables lorsque vous crez deux sites Web avec Joomla!.Vous pouvez ainsi jongler avec les tables, comme dans jos_dubois_ou jos_dupont_. Conservez leprfixe propos, jos_. Ce prfixe permet ensuite de distinguer les donnes sauvegardes (bak_).

    tape 5 Configuration FTP

    partir de la version 1.5, Joomla! permet dviter les problmes de droits daccs provoqus par unventuel mode scuris PHP (Safe Mode). Vous pouvez dornavant exploiter les fonctions FTP dePHP pour transfrer et grer les donnes distantes. Cela ne vous concerne pas dans le cas duneinstallation locale de XAMPP lite. En revanche, si vous comptez installer Joomla! sur un serveurWeb partag, spcifi ez les paramtres FTP ici, tels que vous les a transmis votre fournisseur. Silautorise cette fonction, vous avez galement pour des raisons de scurit tout intrt crer descomptes FTP diffrents pour vous en tant quutilisateur et pour Joomla!. Nautorisez le compte FTPJoomla! que pour le dossier Joomla! correspondant (voir Figure 2.17).

    Figure 2.17 Installateur Configuration FTP.

    tape 6 Configuration du site

    Cette importante tape de confi guration de Joomla! compte trois parties.

    Dans la premire partie, vous devez fournir le nom de votre site Web. Il apparatra par exemple dansla barre de titre du navigateur de vos visiteurs. Il est galement utilis en diffrents autres endroits,par exemple dans les courriels de confi rmation dinscription. Dans notre exemple, nous choisissonsle nom Joomla! 1.5.0 (voir Figure 2.18).

  • 7/27/2019 Livre Joomla Pret

    40/320

    40

    Figure 2.18 Installateur Configuration du site (mot de passe).

    Dans la deuxime phase, vous devez dfi nir les chemins daccs au site Web, ladresse de messageriede ladministrateur et son mot de passe. Notez bien ce mot de passe et placez votre note dans unendroit sr (ne la collez pas sur lcran ni sous le clavier).

    Dans la dernire phase, vous pouvez dcider quelles donnes doivent tre disponibles ds le dpart

    dans Joomla! (voir Figure 2.19).

    Figure 2.19 Installateur Configuration du site (donnes dexemples).

    Installation des donnes dexemples

    Linstallateur de Joomla! vous invite fortement installer les donnes dexemples pour peupler votresite Web initial. Cela vous permettra dexplorer le programme sans crainte.

    Charger le script SQL local

    Lorsque vous avez construit un site Web Joomla! local, vous aurez besoin de transfrer les donnesvers votre site sur Internet. Cette option permet dindiquer les fi chiers .sql de la version locale quicontiennent vos donnes Joomla!. Le contenu des fi chiers doit concider parfaitement avec le schmade base de donnes de Joomla! 1.5 et utiliser le codage de caractres UTF8. Nous donnons dautresdtails ce sujet dans lAnnexe.

    Charger le script de migration

    Cette option permet de convertir une ancienne installation Joomla! 1.0.x vers la version 1.5. Nousdcrivons la migration dans lAnnexe.

    Vous constatez que linstallateur propose par dfaut dinstaller les donnes dexemples. Acceptezcette option car nous dcouvrirons Joomla! en nous servant de ces exemples.

    Cliquez donc sur le bouton INSTALLER LES DONNES DEXEMPLES. Linstallateur sexcute puis modifielaffichage (voir Figure 2.20). Observez bien car il nest pas trs vident de sassurer que lopration

    a russi. Le bouton disparat au profit d