Aller au contenu principal

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émentVersion / Remarque
PHP8.4
E2D - Core2.18
E2D - Bdd3.0
E2D - Auth1.8
E2D - Aide0.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
Mettre les sous-modules sur les bonnes branches

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

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).

Aide contextuelle depuis un autre module

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.

Code source complet

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/

Easy2Do : 45min Total : 45min

TL;DR​

  • Installer la ressource Aide via sous-module Git (ressources/aide) et son script installation.sql.
  • Déclarer ses entrées dans menu.yml, puis bResetCache pour 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.