WP Manifestindependent plugin directory
manifest / events / plugin-wordpress-custom

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

0stars
0forks

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

Gestion 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

  1. Téléverse le dossier du plugin dans /wp-content/plugins/
  2. Active le plugin via Extensions → Extensions installées
  3. 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

  1. Va dans Gestion des formations → Métiers
  2. Ajoute les métiers concernés (ex: Chauffeur VTC, Taxi, etc.)

Étape 2 : Créer les formations

  1. Va dans Gestion des formations → Formations
  2. Ajoute les formations disponibles
  3. Définis l'ordre d'affichage dans le sélecteur
  4. Coche les options : Sur site, Distanciel, Calendrier

Étape 3 : Créer les sites

  1. Va dans Gestion des formations → Sites
  2. Ajoute les différents sites de formation (adresse, ville, code postal)

Étape 4 : Créer les calendriers

  1. Va dans Gestion des formations → Calendriers
  2. Crée un calendrier (ex: "Taxi initial 2025")
  3. 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

  1. Va dans Gestion des formations → Relations Formations
  2. Sélectionne un métier
  3. Sélectionne une formation associée
  4. Sélectionne un ou plusieurs sites (si formation sur site)
  5. Sélectionne un calendrier (si formation avec dates)
  6. 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.phpgestion-calendrier-formation.php
  • Renommage des fichiers admin : page-sessions.phppage-calendriers.php, page-edit-session.phppage-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_affichage dans la table formations
    • Tri automatique par ordre croissant dans [ftc_form_selector]
  • 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.php servant 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_metiers et 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_relation pour 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 session dans la table ftc_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 pages d’administration :
    • page-sessions.php (anciennement page-table.php)
    • page-edit-session.php (anciennement page-edit-table.php)
    • page-formations.php et page-edit-formation.php
    • page-sites.php et page-edit-site.php
    • page-metiers.php et page-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_formation et ftc_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_shortcodes pour 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 url dans 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