FTC- Gestion des Formations
Gère les formations, les sites, les métiers et les calendriers (VTC, Taxi, etc.) dans un environnement administrateur complet.
by Julien Hardy · github.com/jhgit-hub/plugin-wordpress-custom
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/jhgit-hub/plugin-wordpress-custom/archive/refs/heads/main.zipGestion des Formations
Version: 3.5 Auteur: Julien Hardy
Permet de créer, gérer et afficher facilement des tableaux de calendriers de formation (dates de début, fin et examen) par site et par formation.
Description
Formation Tables Creator (FTC) est un plugin WordPress destiné aux organismes de formation.
Il permet de :
- Gérer les formations et les lieux dans l’administration
- Créer des tableaux de sessions (avec dates de début, fin et examen)
- Afficher ces tableaux sur le site grâce à un shortcode
Chaque tableau est stocké dans la base de données et peut être inséré dans une page WordPress, un widget Elementor, ou un formulaire WPForms.
Installation
- Téléverse le dossier du plugin dans
/wp-content/plugins/ - Active le plugin via Extensions → Extensions installées
- Un nouveau menu Gestion des formations apparaîtra dans le tableau de bord
Utilisation
📋 Configuration initiale (ordre recommandé)
Étape 1 : Créer les métiers
- Va dans Gestion des formations → Métiers
- Ajoute les métiers concernés (ex: Chauffeur VTC, Taxi, etc.)
Étape 2 : Créer les formations
- Va dans Gestion des formations → Formations
- Ajoute les formations disponibles
- Définis l'ordre d'affichage dans le sélecteur
- Coche les options : Sur site, Distanciel, Calendrier
Étape 3 : Créer les sites
- Va dans Gestion des formations → Sites
- Ajoute les différents sites de formation (adresse, ville, code postal)
Étape 4 : Créer les calendriers
- Va dans Gestion des formations → Calendriers
- Crée un calendrier (ex: "Taxi initial 2025")
- Ajoute une ou plusieurs sessions avec :
- Date de début de formation
- Date de fin de formation
- Date d'examen
Étape 5 : Établir les relations
- Va dans Gestion des formations → Relations Formations
- Sélectionne un métier
- Sélectionne une formation associée
- Sélectionne un ou plusieurs sites (si formation sur site)
- Sélectionne un calendrier (si formation avec dates)
- Clique sur Associer
💡 Utiliser le shortcode dans les tableaux
Chaque tableau possède son shortcode unique :
[ftc_table id="1"]
➡️ À placer dans une page, un article, ou un formulaire WPForms.
--- ⚙️ Options du shortcode ---
-> Le shortcode [ftc_table] accepte plusieurs attributs facultatifs pour personnaliser l’affichage :
| Attribut | Exemple | Description |
|---|---|---|
id |
[ftc_table id="1"] |
Identifiant du tableau à afficher (obligatoire) |
formation |
[ftc_table id="1" formation="TAXI"] |
Affiche le nom de la formation dans le titre en gras, |
| sousligné et en Uppercase | ||
site |
[ftc_table id="1" site="Meaux"] |
Affiche le nom du site dans le titre entre parenthése |
url |
[ftc_table id="1" url="inscription"] |
Rend chaque ligne cliquable vers la page correspondant |
| au slug renseigné |
💡 Exemple complet :
[ftc_table id="3" formation="TAXI" site="Meaux" url="inscription"]
⚠️ CSS pour la mise en page des tableaux
A ajouter dans le CSS additionnel
.ftc-table-wrap { margin: 20px 0 !important; border: 1px solid #ddd !important; background: #fafafa !important; }
.ftc-table-front { width: 100% !important; border-collapse: collapse !important; margin-block-end: 0 !important; }
.ftc-table-front th, .ftc-table-front td { padding: 10px !important; border: 1px solid #ccc !important; text-align: center !important; }
.ftc-row-link { display: block !important; width: 100% !important; height: 100% !important; text-decoration: none !important; color: inherit !important; }
.ftc-row-link:hover { background-color: #2D3568 !important; color: #ffffff !important; transition: background-color 0.2s ease; }
Changelog
3.5
- Renommage de la terminologie :
- "Sessions" → "Calendriers" (anciens tableaux de sessions)
- "Périodes" → "Sessions" (dates de formation individuelles)
- Renommage du fichier principal :
gestion-session-formation.php→gestion-calendrier-formation.php - Renommage des fichiers admin :
page-sessions.php→page-calendriers.php,page-edit-session.php→page-edit-calendrier.php - Mise à jour complète des fonctions AJAX :
ftc_ajouter_calendrier,ftc_update_calendrier,ftc_supprimer_calendrier - Restructuration complète de la base de données :
- Suppression des booléens "Samedi", "Soir" et "Prendre contact"
- Suppression des filtres "Samedi" et "Soir" dans le shortcode
[ftc_form_selector] - Nouvelle fonctionnalité - Ordre d'affichage des formations :
- Ajout du champ
ordre_affichagedans la table formations - Tri automatique par ordre croissant dans
[ftc_form_selector]
- Ajout du champ
- Nouvelle fonctionnalité - Nettoyage automatique des sessions passées :
- Suppression automatique des sessions dont la date de début est dépassée
- Suppression du calendrier entier si toutes ses sessions sont passées
- Renommage "Générateur de shortcode" → "Intégration dans formulaire"
3.4
- Ajout complet du générateur de formulaire
[ftc_form_selector]compatible avec WPForms. - Nouvelle page
page-shortcode-form-generator.phpservant de tutoriel d’installation et de configuration - Le shortcode
[ftc_form_selector]génère dynamiquement un formulaire de sélection hiérarchique :- Métier → Formations liées → Sites liés → Sessions (avec dates formatées).
- Gestion automatique des filtres exclusifs “Cours du soir” et “Cours le samedi”.
- Affichage conditionnel : les sélecteurs Site et Session ne s’affichent que si la formation le requiert.
- Message clair “Aucune formation ne correspond à vos critères” si le filtre ne donne aucun résultat.
- Suppression de l’ancienne table
ftc_shortcodes(obsolète). - Intégration complète avec WPForms
- Mise à jour du readme
3.3
- Mise à jour de la génération automatique des shortcodes
[ftc_table] - Réécriture complète de la requête SQL principale
- Correction du bug d’autorisation empêchant l’accès à la page “Modifier une relation”.
- Sécurisation renforcée des appels AJAX avec
wp_create_nonce('ftc_nonce_action'). - Stabilisation du CRUD complet pour les tables :
ftc_sites,ftc_formations,ftc_sessions,ftc_metierset les relations associées.
3.2.3
- Ajout de page-edit-gestion-formation.php permettant la modification des relations entre métiers, formations, sites et sessions.
- Mise à jour du tableau principal pour rediriger le bouton Modifier vers la page d’édition correspondante.
- Création de la fonction AJAX
ftc_update_relationpour enregistrer les modifications d’une association.
3.2.2
- Amélioration de l’affichage des relations dans le tableau (prise en charge des sites et sessions multiples)
- Ajout de la suppression en cascade des relations (suppression automatique dans les tables associées)
3.2.1
- Ajout de la sélection du métier dans la création des relations entre formations, sites, sessions et Métiers
3.2
- Finalisation du CRUD complet pour les pages Formations, Sites, Sessions et Métiers
- Refonte complète de page-sessions.php et page-edit-session.php pour inclure gestion multi-périodes
- Création, édition et suppression dynamiques en AJAX
- Mise à jour de la logique AJAX (ftc_ajouter_session, ftc_update_session, ftc_supprimer_session)
3.1.1
- Ajustement du style général des pages pour cohésion de design et uniformité des composants
3.1
- Ajout d’une nouvelle page principale : page-gestion-formations.php (Relations Formations)
- Création complète du code et de la structure de cette page
- Réorganisation du menu admin et ajustement des fonctions d’affichage (
ftc_afficher_page_*) - Nettoyage et harmonisation de l’arborescence du plugin
3.0.3
- Refonte complète de page-sessions.php
- Simplification du CRUD des sessions (suppression du choix du site et de la formation)
- Correction de l’enregistrement et validation complète du fonctionnement CRUD
3.0.2
- Débogage complet de la fonction AJAX d’enregistrement des formations.
- Ajout de la colonne
sessiondans la tableftc_formations. - Mise à jour du code AJAX et du script JS pour la prise en charge du nouveau champ booléen.
- Vérification et tests réussis du CRUD sur page-formations.php et page-edit-foramtion.php
3.0.1
- Début de la phase de test sur page-metiers.php, page-edit-metier.php, page-sites.php et page-edit-site.php
- Correction du script JS d’ajout de sites (gestion correcte de l’appel AJAX).
- Vérification et tests réussis du CRUD sur les pages concernées aprés correctif.
3.0.0
- Refonte complète du plugin : renommé en Gestion des Formations
- Nouveau fichier principal :
gestion-session-formation.php. - Recréation de la base de données :
- Nouvelles tables :
ftc_metiers,ftc_formations,ftc_sites,ftc_sessions,ftc_shortcodes. - Tables de relations :
ftc_rel_metier_formations,ftc_rel_site_formations,ftc_rel_session_formations. - Suppression des anciennes tables :
ftc_dates,ftc_dates_relations,ftc_lieux.
- Nouvelles tables :
- Nouvelles pages d’administration :
page-sessions.php(anciennementpage-table.php)page-edit-session.php(anciennementpage-edit-table.php)page-formations.phpetpage-edit-formation.phppage-sites.phpetpage-edit-site.phppage-metiers.phpetpage-edit-metier.php(nouvelle section)
- Amélioration de la gestion des formations :
- Ajout de 5 champs booléens : sur site, distanciel, prendre contact, samedi, soir.
- Refonte du menu d’administration :
- Nouveaux sous-menus : Formations, Sites, Métiers, Sessions, Générateur de shortcode, Détails du plugin.
- Ajustement du code AJAX
2.6.2
- Ajout d'une note explicative pour la synchronisation avec WPForms
2.6.1
- Correction de la compatibilité avec WPForms
- Les pages de remerciement conditionnelles fonctionnent désormais correctement selon la formation choisie.
2.6
- Version stable de l’intégration entre le sélecteur FTC et WPForms.
- Réécriture complète et nettoyage du code du shortcode.
- Amélioration de la synchronisation FTC → WPForms (utilisation des champs cachés
name="wpforms[fields][X]").
2.5.2
- Réécriture complète du code du shortcode pour corriger l’incompatibilité jQuery avec WPForms en front-end.
- Passage à un script plus robuste et compatible avec le mode noConflict de WordPress.
- Amélioration de la synchronisation automatique des sélections FTC avec les champs cachés WPForms.
2.5.1
- Ajout de champs cachés dans le formulaire WPForms pour stocker les valeurs sélectionnées (formation, site, session).
- Correctif du code de transfert des données sélectionnées vers WPForms.
2.5
- Intégration du shortcode FTC directement dans les formulaires WPForms.
- Début des tests de compatibilité entre FTC et WPForms.
2.4.6
- Ajout d'une note explicative du fonctionnement du shortcode pour els formulaires
2.4.5
- Correctif du format d’enregistrement des shortcodes dans la base de données (Suppression automatique des antislashs)
2.4.4
- Ajout du filtrage dynamique des sites selon le shortcode (compatibilité formations/sites)
- Correction du bug affichant les formations non concernées (ex : VTC affichés dans un shortcode TAXI)
- Suppression des doublons dans la liste des sessions (mêmes dates)
- Amélioration du traitement AJAX
ftc_get_sites_for_formationetftc_get_dates_for_combo
2.4.3
- Débogage des doublons dans l'affichage du formulaire du shortcode (front)
- Ajustement du code de génération du shortcode
2.4.2
- Correctif de l'affichage du formulaire du shortcode (front)
2.4.1
- Création de la table relationnelle entre les tables dates, formations et lieux
- Ajustements du code principal et des pages associées
- Mise à jour du readme
2.4
- Ajout d’un générateur de shortcodes pour les formulaires WPForms
- Intégration complète dans la page
page-shortcode-form-generator.php - Ajout de la table
ftc_shortcodespour la gestion des shortcodes enregistrés - Implémentation AJAX pour l’enregistrement et la suppression dynamique
- Harmonisation visuelle et fonctionnelle avec la gestion des tableaux de dates
2.3.1
- Modification du slug par un lien url dans l'option du shortcode
- Optimisation du code principal
- Ajustement CSS
2.3
- Ajout de l’option
urldans le shortcode[ftc_table]pour rendre chaque ligne cliquable vers une page du site (slug) - Optimisation du code principal
2.2.2
- Ajustement de l'affichage du readme dans la page “Afficher les détails”
- Modification du readme
2.2.1
- Ajout de la page “Afficher les détails” en local
- Mise en avant du correctif CSS pour WPForms
- Version stable
2.2
- Débug du readme pour compatibilité WP 6.7
- Version stable
2.1.5
- Mise à jour du readme pour compatibilité WP 6.7
- Optimisation du code principal
2.1.3
- Ajout du support WPForms pour
[ftc_table] - Amélioration du CSS et compatibilité Elementor
- Documentation utilisateur intégrée
2.1.2
- Sécurisation des appels AJAX
- Nettoyage du code PHP
2.1.0
- Première version stable du plugin
Auteur
Auteur : Julien Hardy
Version : 2.2.2