Comment installer et utiliser la ressource Aide dans Easy2Do ?
Easy2Do propose une ressource Aide clé en main permettant de construire un centre d'aide au sein d'une application : chapitres, pages et paragraphes réutilisables, recherche plein texte et consultation en modale directement depuis n'importe quel module.
L'objectif de ce cookbook est d'installer la ressource Aide et de découvrir son utilisation, côté administration comme côté consultation.
Prérequis
| Élément | Version / Remarque |
|---|---|
| PHP | 8.4 |
| E2D - Core | 2.18 |
| E2D - Bdd | 3.0 |
| E2D - Auth | 1.8 |
| E2D - Aide | 0.1 |
Installer la ressource
Comme les autres ressources d'Easy2Do (authentification, utilisateur, menu...), Aide est livrée sous forme de sous-module Git. Depuis la racine du projet :
git submodule add -b release-0.1 git@bitbucket.org:doingfr/easy2do-aide.git ressources/aide
git submodule update --init --recursive
S'ils ne sont pas déjà sur la bonne branche (clone d'un projet existant, par exemple), il faut faire un git submodule update --init --recursive dans le répertoire du projet.
Puis :
git submodule sync
git submodule update --recursive
git submodule foreach -q --recursive 'git checkout $(git config -f $toplevel/.gitmodules submodule.$name.branch || echo master)'
Base de données
La ressource embarque son propre script installation/installation.sql, qui crée les 4 tables nécessaires (aide_chapitre, aide_page, aide_page_paragraphe, aide_paragraphe).
Comme pour n'importe quel module Easy2Do, on l'exécute via le mécanisme natif d'installation :
http://localhost:8080/?bModeInstallModule=1&szModulesPourInstall=aide
Menu
Déclarer les entrées de menu de la ressource dans config/menu.yml du projet, en s'appuyant sur les routes fournies par la ressource :
aide:
html_accueil_aide:
titre: 'Aide - Aide'
html_centre_aide:
titre: 'Centre d''aide'
Comme pour chaque modification d'un fichier YAML, il est nécessaire de faire un appel avec le paramètre bResetCache pour régénérer le cache (et au passage les règles de réécriture du .htaccess associées aux routes de la ressource : admin/aide/aide/accueil.html, admin/aide/aide/centre_aide.html, admin/aide/aide/edition.html, admin/aide/aide/consultation.html, etc.).
Utilisation
Administration du contenu
Une fois la ressource installée, l'accueil de gestion de l'aide est disponible à l'adresse :
http://localhost:8080/admin/aide/aide/accueil.html
Depuis cette interface, il est possible de :
- créer des chapitres, qui regroupent des pages ;
- créer des paragraphes réutilisables, associés à des tags, et de les rattacher à une ou plusieurs pages via
json_ajoute_paragraphe; - éditer le contenu d'un paragraphe avec l'éditeur riche embarqué (TinyMCE) ;
- rechercher un chapitre, une page ou un paragraphe existant.
Centre d'aide
Le centre d'aide, destiné à l'utilisateur final, est accessible via :
http://localhost:8080/admin/aide/aide/centre_aide.html
Il permet de parcourir les chapitres/pages publiés et d'y effectuer une recherche (json_recherche_centre_aide).
Consultation en modale depuis un autre module
La ressource expose un calque de consultation (calque_consultation_aide) disponible dans les zones admin, application et site. Il permet d'afficher le contenu d'une page d'aide en modale, sans quitter l'écran courant, via l'action btn_consultation_aide (route json_recherche_consultation_aide).
Pour afficher l'aide d'une page depuis un autre module/ressource, on s'appuie sur le middleware d'E2D (voir le cookbook dédié Comment afficher une modale appartenant à un autre module dans Easy2Do ?) en ciblant la route btn_consultation_aide de la ressource aide.
Le code complet (structure de répertoires, configuration) est disponible dans le repo d'exemples Doing.
➡ Easy2Do : https://bitbucket.org/doingfr/doing-cookbooks-examples/src/main/e2d-aide/
TL;DR
- Installer la ressource Aide via sous-module Git (
ressources/aide) et son scriptinstallation.sql. - Déclarer ses entrées dans
menu.yml, puisbResetCachepour régénérer les routes. - Gérer chapitres/pages/paragraphes depuis
admin/aide/aide/accueil.html. - Exposer un centre d'aide consultable (
centre_aide.html) et une consultation en modale réutilisable depuis n'importe quel module.