1 Le projet Joomla Dans ce chapitre, vous trouverez un peu de passé, un peu de futur et beaucoup de présent sur le projet Joomla, notamment sur son organisation et la manière de parcourir la "Joomla sphère". Depuis le début du projet en 2005, l expansion de la base du code et de la communauté qui le soutient a été extrêmement importante. À l instar de nombreux autres projets open-source, Joomla ne se limite pas à des lignes de code, mais implique des personnes et une culture. Info L orthographe officielle du nom du projet intègre le point d exclamation (Joomla!) mais, pour des raisons de lisibilité dans cet ouvrage, nous écrirons plus simplement Joomla. Dans le monde entier, des millions de sites web ont été créés avec Joomla. Ces sites vont des blogs personnels aux larges infrastructures d entreprise, en passant par les vitrines web. Joomla est simple d emploi et facile à administrer, même par des webmasters novices. Il est suffisamment souple pour être utilisé dans des solutions web complexes. Histoire de Joomla Le 17 août 2005, Andrew Eddie, développeur principal du projet open-source Mambo, a envoyé la lettre suivante à la communauté.
2 Joomla! Beaucoup a été dit sur le projet open-source Mambo et sur la création de la fondation Mambo en charge de son avenir. Nous, les équipes de développement principales, partageons les avis suivants : Les projets open-source impliquent des personnes qui produisent des logiciels libres et ouverts, et qui, en tant qu équipes, contribuent à un objectif dans l intérêt des autres. Les projets open-source reflètent un esprit de collaboration et de plaisir, tout en recueillant les remarques d une communauté et en mettant en place la gouvernance qui permet aux entreprises d investir en toute confiance dans son développement. Les projets open-source sont ouverts à la participation de quiconque souhaite apporter une valeur et est prêt à travailler avec la communauté. Nous, l équipe de développement, sommes très préoccupés par la relation que la fondation Mambo entretient avec la communauté. Nous croyons que l avenir de Mambo doit être guidé par les demandes de ses utilisateurs et les capacités de ses développeurs. La fondation Mambo a décidé de confier l avenir du projet à Miro et cette organisation empêche toute coopération entre la fondation et la communauté. La fondation Mambo a été constituée sans tenir compte des préoccupations des équipes de développement principales. Nous, la communauté, n avons aucun droit sur la gouvernance ou l orientation future de Mambo. Le comité directeur de Mambo (MSC, Mambo Steering Comitee), composé de l équipe de développement et des représentants de Miro, a autorisé l incorporation de la fondation et doit former le premier conseil. Peter Lamont, PDG de Miro, a décidé d intégrer la fondation et de nommer le conseil sans consulter les deux représentants de l équipe de développement, Andrew Eddie et Brian Teeman. Bien que M. Lamont, à travers le MSC, ait promis de transférer le copyright Mambo à la fondation, Miro refuse à présent de le faire. Voici notre décision : nous poursuivons le développement et allons continuer à améliorer la version de ce projet logiciel reconnu actuellement distribuée sous la licence GNU General Public License. Nous souhaitons tout le bien à Miro et à la fondation Mambo, mais regrettons de ne plus être en mesure de travailler avec eux. Nous avons pris conseil auprès du Software Freedom Law Center sur ce point et reviendrons sur nos plans à court terme dans un proche avenir. Pour de plus amples informations, merci de nous rendre visite sur Open Source Matters. Le 17 août 2005, l équipe de développement de Mambo : Andrew Eddie Emir Sakic, Andy Miller, Rey Gigataras, Mitch Pirtle, Tim Broeker, Alex Kempkens, Arno Zijlstra, Jean-Marie Simonet, Levis Bisson, Andy Stewart, Peter Russell, Brad Baker, Brian Teeman, Michelle Bisson, Trijnie Wanders, Shayne Bartlett, Nick Annies, Johan Janssens Andrew Eddie <>< Développeur principal de Mambo, de février 2003 à août 2005
Chapitre 1 Le projet Joomla 3 Cette lettre a également été publiée sur les forums d Open Source Matters. Elle a été à l origine de l un des plus grands projets open-source jamais lancé. Dans les 24 heures, environ six cents partisans de la communauté avaient rejoint le forum sur Open Source Matters, et un appel a été lancé afin de trouver un nom pour ce nouveau projet. En attendant, la base de code initiale subissait une transformation afin de la préparer à un changement de structure et de nom, sans oublier la correction de quelques bogues. Des centaines de noms ont été suggérés. La Core Team avait également fait appel à un consultant en marketing et en stratégie de marque pour l aider à prendre cette décision importante. Deux facteurs étaient essentiels : le nom devait être nouveau et encore jamais utilisé, et il devait représenter la philosophie communautaire du projet. Le 1 er septembre 2005, le nom choisi a été annoncé : Joomla!. Il dérive de l orthographe anglaise du mot swahili jumla, qui signifie "tous ensemble". Le 7 septembre 2005, une nouvelle demande a été faite à la communauté Joomla naissante. L objectif était de créer un logo avec le nouveau nom du projet. Environ cinq cents membres de la communauté ont soumis leurs propositions, et, le 14 septembre, la Core Team a présenté les cinq logos retenus. Le 16 septembre, Joomla 1.0 a été livré à la communauté et le site consacré aux développeurs a été ouvert (http://developer.joomla.org). Le 18 septembre, le site de démonstration de Joomla a été annoncé comme opérationnel. Le 19 septembre, à la fin de la période de vote pour le choix du logo, la communauté avait réuni 2 761 voix, dont 31 % étaient allées à la proposition "Joomla 01", d Alan Urquhart, membre de la communauté, photographe et graphiste. La Figure 1.1 illustre sa proposition gagnante. Figure 1.1 Logos proposés par Alan Urquhart. Joomla 1.0 a été rapidement suivi de la version 1.0.1, qui comprenait quelques corrections de bogues et dans laquelle une partie du changement de marque était terminée. Dans la version 1.0.2, sortie le 2 octobre 2005, le changement de marque était achevé. Après quarante-sept jours, avec l aide de quelque 7 100 utilisateurs du forum, de la Core Team et d une large base d utilisateurs, le projet open-source Joomla entreprenait son voyage officiel, qui devait l amener à devenir l un des systèmes de gestion de contenu les plus utilisés au monde.
4 Joomla! Le 6 octobre, la communauté apprenait que le projet Joomla avait reçu le prix de meilleur projet Linux/open-source pour 2005 et que Brian Teeman, l un des membres fondateurs du projet, avait reçu le prix de la contribution individuelle au logiciel open-source pour 2005, tous deux décernés lors de l événement Linux & Open Source Awards à Londres. Le CMS Joomla Un système de gestion de contenu (CMS, Content Management System) est un logiciel qui permet de créer et de gérer facilement des pages web grâce à une séparation entre la création du contenu et le mécanisme nécessaire à sa présentation sur le Web. Dans un site web, le contenu est stocké dans une base de données. Son apparence est définie par un modèle (template). Joomla réunit le modèle et le contenu pour créer les pages web. Le CMS Joomla permet de partager et de créer le contenu et les données de manière collaborative. Il permet à toute personne, quelles que soient ses connaissances techniques en programmation pour le Web, de mettre en place un site web dynamique facile à administrer. Une façon de décrire Joomla à des gens qui débutent avec les CMS serait de le comparer à un bureau normal. Joomla dans son ensemble correspond à la pièce. Le classeur dans le bureau sert de gestionnaire des articles, avec des catégories (les tiroirs du classeur), des sous-catégories (les dossiers), et des articles et des éléments de contenu (feuilles de papier, photos, vidéos, sons et autres données dans les dossiers). Vous pouvez ajouter des appareils dans votre bureau, comme un téléphone (extension Joomla pour les discussions en direct), un télécopieur ou un scanner (extension Joomla pour l envoi d un formulaire) et un ordinateur (extension Joomla pour la modification du contenu), afin que votre travail soit plus facile. Le grand avantage de Joomla est qu il s occupe de toute l organisation à votre place. (Nous reviendrons sur les extensions à la section "Annuaire des extensions Joomla".) La gestion du site se fait également au travers d un autre outil puissant, le gestionnaire des utilisateurs. Il permet de contrôler la façon dont les utilisateurs interagissent avec le site grâce à la définition de groupes d utilisateurs simples ; cela équivaut à la possibilité de verrouiller la porte du bureau ou le classeur. Nous pouvons ainsi accorder l autorisation de consulter et d effectuer des opérations spécifiques aux visiteurs du site web et donner d autres autorisations à ceux qui contribuent à son contenu ou à sa gestion. Le gestionnaire des médias facilite la prise en charge des fichiers multimédias, comme les images, les vidéos ou les documents. Il permet de créer des dossiers pour les organiser et il s intègre à l éditeur de contenu. L ajout de ces éléments multimédias dans le contenu n en est que plus facile et ressemble à la manière dont notre ordinateur nous aide à enregistrer et à rechercher des fichiers pour les utiliser efficacement. Dans sa version de base, Joomla dispose des fonctionnalités nécessaires à la mise en place d un site web d information facile à gérer. Ses possibilités d extension sont également très élevées, ce qui permet de créer des sites web et des systèmes d information complexes. La plateforme Joomla La plateforme Joomla apporte le framework logiciel et l architecture nécessaires au CMS Joomla, ainsi qu aux autres applications. Les frameworks logiciels se situent au niveau de l architecture d un programme. Ils sont efficaces car ils permettent de réutiliser du code dans
Chapitre 1 Le projet Joomla 5 la conception. La plateforme Joomla va au-delà d un framework de base car elle définit un ensemble de conventions qui rendent possible le développement rapide d applications. Elle est automatiquement installée en même temps que le CMS Joomla. Tous les utilisateurs du CMS n auront pas nécessairement besoin de comprendre la plateforme Joomla, mais c est elle qui permet son bon fonctionnement. Elle est constituée d un ensemble de bibliothèques logicielles et de modèles de conception de base, au-dessus duquel s exécute le CMS. La facilité d extension de Joomla est en grande partie due à cette plateforme. Joomla 1.5 a introduit le framework Joomla en tant que première étape dans la séparation des éléments du logiciel et le CMS. Cette approche a été choisie afin que le framework, appelé à présent plateforme, puisse prendre en charge de multiples applications et pas seulement le CMS. La Figure 1.2 montre comment la plateforme prend en charge le CMS et comment celui-ci peut être complété par des extensions. Extensions Composants Modules Templates Plugins Applications Applications web, CMS Joomla Applications en ligne de commande, système de mise à jour, index pour la recherche Plugins Plateforme Joomla Bibliothèques créées et suivies par le projet Joomla : CMS et Joomla Bibliothèques créées et suivies par d autres projets : PHPmailer et SimplePie Figure 1.2 Collaboration des trois couches (la plateforme, l application CMS et les extensions). Des bibliothèques et des plugins externes à la plateforme apportent les fondations. Les bibliothèques sont des "collections" de code chargé d une fonction précise et réutilisable par les différentes applications indépendantes (la plateforme est en réalité une bibliothèque volumineuse et complexe). Les bibliothèques permettent d utiliser et de partager des données de manière modulaire. Les plugins servent à étendre les fonctionnalités et interviennent dans toutes les parties du logiciel pour relier les différents morceaux et apporter une certaine souplesse. Les applications sont des programmes qui exploitent les fonctionnalités de la plateforme. Le CMS Joomla est une application qui s exécute sur la plateforme Joomla. Il est en réalité composé de deux applications, l une qui affiche le site web, l autre qui sert à son administration. La séparation de la couche applicative et de la couche de la plateforme permet aux développeurs de créer des applications qui profitent des fonctionnalités de la plateforme. L installation de Joomla comprend également des applications de l interface en ligne de commande (CLI, Command Line Interface). En juillet 2011, la plateforme Joomla est devenue un projet indépendant de manière à encourager le développement de nouvelles applications.
6 Joomla! Les modules, les composants et les templates permettent d étendre les applications. Par exemple, des modules servent à présenter les données, des composants permettent d organiser et de stocker des données, et les templates sont un moyen d organiser visuellement la présentation des données. La Joomlasphère La communauté derrière le projet Joomla est très vaste et diversifiée. Elle est composée d utilisateurs et de développeurs de tous niveaux d expérience. Pour la soutenir, le projet fournit plusieurs ressources qui facilitent l utilisation de Joomla, son extension et les développements. La première étape dans la Joomlasphère passe par le forum Joomla. Le forum Joomla Les forums Internet sont utilisés pour des discussions en ligne entre des groupes de personnes, qu ils soient petits ou grands. Au moment de l écriture de ces lignes, plus de 590 000 utilisateurs sont enregistrés sur le forum Joomla anglophone (http://forum.joomla.org), 650 000 sujets font ou ont fait l objet d une discussion, et 2,7 millions de messages ont été postés, ce qui en fait l un des plus grands forums Internet. Le forum francophone (http://forum.joomla. fr) est plus modeste mais n en reste pas moins très fréquenté, avec plus de 75 000 membres, 175 000 sujets et 900 000 messages. La popularité des forums Joomla signifie que beaucoup de personnes ont posé des questions et ont obtenu des réponses sur la façon de démarrer avec Joomla, de l installer, de l utiliser et de l étendre. Ils permettent également aux utilisateurs de se tenir informés des annonces, notamment sur l état courant des différents aspects du projet, et de laisser des avis. La plupart des forums Internet possèdent la même organisation hiérarchique de base : Forum : la page d accueil présente en général une vue d ensemble de l organisation du forum, en donnant accès aux différentes catégories. Catégorie : un sujet de discussion général. Sujet : un sujet de discussion précis. Un sujet est créé par une personne qui publie un nouveau message afin de poser une question ou d initier une discussion. Message : publication individuelle d un utilisateur. Nous vous proposons d utiliser le forum francophone. Il se compose de plusieurs catégories principales, grâce auxquelles les utilisateurs disposeront d autant de lieux appropriés pour trouver une réponse, poser une question ou initier une discussion. Certaines catégories comprennent des sous-catégories qui décomposent un thème général en thèmes plus précis. La première étape consiste à s inscrire sur le forum. En partie supérieure de la page, vous trouvez le lien Inscription. En cliquant dessus, vous arrivez sur la page d inscription où vous devez commencer par indiquer un pseudo, un mot de passe et une adresse de messagerie. Saisissez également les six caractères indiqués dans le CAPTCHA et la réponse à la question aléatoire. Donnez votre date de naissance et sélectionnez les options supplémentaires qui vous conviennent. Cochez la case d acceptation des règles du forum puis cliquez sur Terminer l inscription. Après avoir envoyé le formulaire d inscription, vous allez recevoir un message de vérification à l adresse électronique indiquée. Il vous demande de valider votre adresse e-mail en cliquant sur
Chapitre 1 Le projet Joomla 7 un lien de retour au forum. Si vous n effectuez pas cette étape de vérification, votre compte ne sera pas activé. Si vous ne recevez pas le message rapidement, regardez s il n a pas été déplacé dans la boîte de réception des courriers non sollicités. Si vous ne l avez toujours pas reçu, retournez sur le forum et reprenez votre inscription. La première catégorie se nomme Les news. Ses sous-catégories vous permettent d accéder aux annonces publiées sur le site central de Joomla et sur le site francophone. Les annonces concernent des événements importants, comme la sortie d une nouvelle version, des bulletins de sécurité et d autres messages précieux pour la communauté. En suivant une catégorie, vous serez averti par courrier électronique lorsque de nouveaux messages seront publiés. Par exemple, pour suivre la catégorie Annonces Joomla.fr, vous devez commencer par y entrer. Pour cela, cliquez sur son intitulé dans la page d accueil du forum. Ensuite, ouvrez la liste déroulante Outils et choisissez Suivre ce forum. Sélectionnez le type de notification souhaitée (aucune, journalière ou hebdomadaire) et cliquez sur Suivre. Nous vous conseillons fortement de vous abonner à ce forum. Si vous venez sur le forum pour trouver une solution à un problème, la fonction de recherche peut vous faire gagner énormément de temps. Le champ de recherche se trouve dans l angle supérieur droit de l écran. La recherche se fait sur l ensemble du site Joomla.fr, avec les mots ou les phrases que vous avez saisis. Les questions et les problèmes récurrents ont probablement déjà tous fait l objet de messages, avec leurs réponses. Lors d une recherche sur le forum, il est important de choisir des termes adaptés au problème mais pas trop généraux pour obtenir des résultats pertinents. Par exemple, si vous rencontrez une difficulté dans l installation de Joomla qui vous empêche de passer à l étape suivante, vous pouvez effectuer une requête sur "l installation se bloque". Vous arrivez à une page qui présente les résultats trouvés dans les différents forums. Si vous cliquez sur le lien d un forum, seuls les messages issus de celui-ci sont affichés. Vous pouvez ensuite consulter les discussions et déterminer si l une d elles vous aide à résoudre le problème. Dans le cas contraire, renouvelez votre recherche avec des termes différents ou commencez une nouvelle discussion pour demander de l aide à la communauté. Astuce Si votre problème a fait l objet d un message d erreur, essayez d inclure celui-ci dans le champ de recherche. Avant de poster un nouveau message sur le forum, il est préférable d examiner les différentes catégories disponibles et de sélectionner celle qui correspond le mieux à la question ou au problème. Cela vous permettra d obtenir une réponse plus rapidement, car les membres de la communauté ont plutôt tendance à consulter les catégories pour lesquelles ils possèdent la plus grande expérience et où ils peuvent donc apporter leur aide. Dans le cas d un problème d installation, les meilleures catégories seront celles qui concernent l installation et la mise à jour des versions de Joomla. En entrant dans ces catégories, vous pouvez parcourir les sujets publiés pour savoir si l une des discussions ne s appliquerait pas à votre cas. Chaque catégorie comprend des discussions importantes qui sont toujours affichées en premier. En général, elles proposent des réponses à la plupart des questions les plus fréquentes, des ressources pour une aide complémentaire et des messages importants pour la catégorie.