Créer un quickstart Joomla!

Merci à Simon qui, en me posant la question de savoir si je connaissais une méthode pour créer un quickstart à la manière des auteurs de templates, avec ses propres exemples, m'a amené à chercher et trouver une solution !

Bien sûr, la première idée a été de proposer Akeeba backup, mais déployer une telle sauvegarde conserve les infos d'accès des utilisateurs originels, dont le super utilisateur, ce qui n'est pas la meilleure idée à mon sens.

Sur le net, j'ai trouvé deux sites expliquant comment faire pour créer un quickstart, mais leurs explications, si elles m'ont mis sur la voie, ne m'ont pas totalement convaincu. Pour avoir péniblement créé de tels packs il y a quelques années, lorsque j'avais traduit les articles et les autres exemples de la version 1.6, je savais bien qu'il fallait générer un fichier SQL du même type que ceux d'exemples livrés avec les packs d'installation standard de Joomla! afin de compléter les données installées par défaut. Je me suis donc aussi inspiré du pack "brochure Joomla!" pour prévoir comment exporter les données dans un fichier d'exemples spécifique.

La procédure que j'ai suivie est donc celle-ci, procédure modifiée après tests complémentaires :

  • Installation d'une version neuve de Joomla! (avec GetJoomla FR pour accélérer la procédure), avec un super utilisateur qui ne devra plus l'être lors de l'installation du quickstart, et les exemples "brochure" dans cet essai ;
  • En fin d'installation, je n'ai pas supprimé mais seulement renommé le dossier "installation" afin de pouvoir lui redonner son nom d'origine dans le quickstart, sans devoir recopier le même dossier depuis le pack standard de même version ;
  • Installation des extensions souhaitées, en l'occurrence JCE 2.6.7.1, Akeeba backup5.2.5, Acymailing 5.6.1 et Kunena 5.0.5 (versions gratuites) ainsi que le template gratuit JoomSpirit 123 ;
  • Je n'ai fait aucun paramétrage de ces extensions ni utilisation d'Akeeba backup afin de ne pas embarquer de données inutiles lors de la création du fichier de données ;
  • Vérification de l'absence de fichiers dans les dossiers "cache" en dehors des index.html, sinon, supprimer ces fichiers de cache ;
  • Copie de l'ensemble des dossiers et fichiers du site d'origine vers un nouveau dossier, ou simplement conservation du dossier d'origine ; on redonne le nom "installation" au dossier d'installation précédemment renommé ;
  • Il restait alors à exporter les données et créer un ficher SQL d'exemples. La méthode a été celle-ci :
    • Ouverture de la base de données avec phpMyAdmin, sélection de la base pour affichage de ses tables ;
    • Clic sur le bouton "Export" et passage en mode personnalisé ;
    • Sélection de l'envoi du fichier non compressé pour pouvoir le modifier ensuite directement ;
    • Sélection de toutes les tables ; désactivation des "clés étrangères" (par habitude) ;
    • Coche des paramètres "CREATE TABLE" et "IF NOT EXISTS" afin de pouvoir ajouter les tables des extensions complémentaires, "Vider la table avant d'insérer" et "INSERT IGNORE" (probablement inutile) pour l'insertion des données ;
    • Export demandé de la structure et des données ;
    • Validation de l'export.
  • Une fois ce fichier obtenu, ouverture dans notepad++ pour modifications :
    • Remplacement de toutes les occurrences du préfixe des tables par "#_" afin que les noms comme "np6rb_nom-de-la-table" deviennent "#__nom-de-la-table" (double trait de soulignement) ;
    • Recherche de la table "#__usergroup_map" et dans la partie "INSERT IGNORE INTO", remplacement du "8" correspondant au groupe "super utilisateur" par "2" correspondant à celui d'enregistré, afin que le créateur du site de départ ne soit plus autorisé à gégrer ce nouveau site ; on peut à l'inverse lui conserver son statut si on doit ensuite intervenir sur le nouveau site pour aider son responsable ;
    • Enregistrement de ce fichier sous le nom de "sample_demo_fr.sql" dans le dossier "installation/sql/mysql" et suppression des autres fichiers exemples, pour simplifier le choix de l'utilisateur ;
    • Ajout dans le fichier "installation/language/fr-FR/fr-FR.ini" de la ligne suivante, pour que le texte "Données exemple" soit proposé dans la page d'ajout des exemples :
      • INSTL_SAMPLE_DEMO_FR_SET="Données exemples"
      • INSTL_SAMPLE_DEMO_FR_SET_DESC=""Données exemples du site de démonstration"_QQ_"RobertG démo"_QQ_"""
  • Dernière étape : on compresse l'ensemble des dossiers et fichiers du site (pas son propre dossier, et en excluant le fichier configuration.php) pour créer le quickstart, et on teste sur le même serveur ou un autre afin de s'assurer qu'on n'a pas fait d'erreur.

Un problème est apparu avec Kunena : cette extension a mémorisé le chemin d'accès au template défini par défaut lors de son installation, ce qui provoque une erreur lors de l'affichage du forum sur le nouveau site, nécessitant de changer de template dans les paramètres de Kunena, ce qui ne me paraît pas normal. Je n'ai pas trouvé comment, sauf aller dans la base de données, corriger ce lien vers ce template.

La cause en était en fait la présence d'un dossier "cache/kunena/" que je n'avais pas remarqué. Une fois celui-ci supprimé, l'accès à l'accueil du forum fonctionne. Il faut donc s'assurer que les dossiers "cache" ne comportent plus que le fichier index.html

N'hésitez pas à me contacter si vous relevez des erreurs dans ma procédure !