# Documentation du projet ## Plugin - CASS Ce plugin a été développé dans le cadre d'un projet de formation HES-SO Valais/Wallis en Informatique de Gestion - Filière Digital Team Academy pour le Club Alpin Suisse de Sion. ## Fonctionnalités Ce plugin rajoute un module de gestion de course dans WordPress dont les fonctionnalités principales sont : - La gestion des courses et de ses participants - La gestion des niveaux, des saisons, du matériel de course, des groupes - Le processus et suivi d'inscription - Gestion des mails automatisées - ... ## Procédure d'installation du plugin ### Pré-requis Le plugin a été développé et testé sur **WordPress 6.4.1** sur **PHP 7.4.33**. Le plugin également fonctionnel sur **PHP 8.X**. ### Dépendances Les plugins suivants doivent être installés préallablement : - **Advanced Custom Fields** de **WP Engine** - **User Role Editor** de **Vladimir Garagulya** *Il n'y pas de spécificité de versions requises* ## Roles Les différents rôles suivants sont créés à l'installation du plugin. L'utilisation du plugin **User Role Editor** permet la configuration des permissions des utilisateurs pour ces différents rôles. **CASS - Membres** Aucunes permissions spécifiques, ce rôle est utiliser pour catégorisier les membres dans WordPress. - Ils peuvent afficher et modifier leur profil. - Aucun accès au plugin CASS. **CASS - Chef de course** Permissions du chef de course du plugin CASS. - Ils peuvent afficher et modifier leur profil. - Ils peuvent afficher et modifier les profils des autres utilisateurs. - Ils ont accès au plugin CASS avec les permissions du même compte. **CASS - Admin** Permissions d'administration du plugin CASS. - Ils peuvent afficher et modifier leur profil. - Ils peuvent afficher et modifier les profils des autres utilisateurs. - Ils ont accès au plugin CASS avec les permissions du même compte. - Ils peuvent importer des courses - Ils peuvent voir les statistiques du plugin. *Le plugin est conçu pour monter progressivement les permissions, soit : - Un chef de course est également un membre - Un admin est un également un chef de course et un membre. *Un CASS - admin n'est pas forcément un administrateur WordPress alors qu'un administrateur WordPress est forcément un CASS - Admin.* ## Shortcodes Le plugin autorise l'utilisation frontend des shortcodes suivants : ### cass_calendar_global Ce shortcode permet l'ajout du calendrier global permettant la vision et l'inscription aux courses. **[cass_calendar_global initialview="dayGridMonth" viewchangevisible="true" idgroup=2 viewgroupvisible="false"]** Il propose les paramètres suivants : #### Paramère : initialview Définit le type d'affiche du calendrier >*"dayGridMonth","dayGridWeek", "timeGridDay", "listWeek",... * >*Se référer au site de fullcalendar.js pour concevoir toutes les options.* #### Paramètre : viewchangevisible Définit la possibilité d'afficher le changement de vue du calendrier. >*"true" = affiché, "false" = masqué* #### Paramètre : idgroup Définit le groupe de filtrage initial. >*cass_group.IDGroup : [1,2,3,n]* >*Si le paramètre vaut 0 ou n'est pas spécifié, tous les groupes sont affichés par défaut.* #### Paramètre : viewgroupvisible Définit si le filtrage par groupe est visible. >*"true" = affiché, "false" = masqué* ### cass_member_register Ce shortcode permet l'inscription des membres. ### cass_member_courses_list_subscribed Ce shortcode permet la vision des courses du membres inscrit. ### cass_member_course_info Ce shortcode permet la vision détaillée des informations de la course avec option d'inscription. Ce shortcode doit être placé sur une page avec le lien /infocourse. #### Captcha Ce shortcode utilise un compte lié google pour l'utilisation du captcha Google, Recaptcha. Clé secrèrte : 6LdHGBApAAAAACFW4530C1yhqA-ZZnb5uHkuNiJw Clé du site : 6LdHGBApAAAAAEkA_y9kSP1u28r2nriDVAXs8Nzo *Actuellement, le compte guillaumedavid620@gmail.com est utilisé.*