Skip to main content

2. Environnement & Architecture

2.1 Versions (WordPress, PHP, plugins majeurs)

2.1.1 Versions

  • WordPress : Version 6.8.3
  • PHP : Version 8.4.10
  • Base de données : 11.4.9-MariaDB

2.1.2 Plugins majeurs

  • Elementor : Construction du formulaire et des pages utilisateurs.
  • MaLocEAD : Plugin custom contenant la logique métier, les shortcodes et les intégrations Stripe.
  • WooCommerce : Utilisé pour créer une trace interne des commandes (journalisation).
  • Advanced Custom Fields (ACF) : Gestion des champs du Custom Post Type (CPT).
  • Stripe : Bibliothèque de connexion à l’API Stripe.

2.1.3 Serveur

  • Cron WordPress : Actif pour l’automatisation interne (nettoyage des formulaires, envoi des SMS, rapports périodiques).
  • Sessions PHP : Les fonctions utilisent fortement les sessions PHP.
  • APIs : Stripe, Brevo.
  • Bibliothèques : Dompdf (PDF), libphonenumber (formatage des téléphones).

2.1.4 Environnement attendu

  • PHP >= 8.1
  • Modules PHP : curl, json, mbstring, gd, intl
  • Support HTTPS obligatoire (redirections Stripe, API externes).

2.2 Description de l’architecture WordPress

2.2.1 Frontend

Le formulaire utilisateur est réalisé avec le plugin Elementor, dans lequel sont appelés des shortcodes personnalisés provenant du plugin custom “MaLocEAD”.

Ces shortcodes (centralisés dans shortcode.php) sont utilisés dans les pages :

  • Confirmation
  • Récapitulatif
  • Compte utilisateur

La redirection vers Stripe est déclenchée à la soumission du formulaire Elementor et dépend de la durée sélectionnée (3, 6, 9 mois).

2.2.2 Backend

Le backend s'appuie sur :

  • CPT "Formulaire" : Contient l’ensemble des champs custom liés aux demandes.
  • Rôle "Garage" : Permet aux garages d’accéder à un back-office dédié affichant uniquement les formulaires assignés.
  • Logique Métier (Plugin custom) :
    • Gestion des redirections Stripe.
    • Mise à jour des formulaires après paiement.
    • Génération de certificats PDF.
    • Notifications SMS/Email.
    • Gestion des abonnements Stripe.

2.3 Dépendances externes

2.3.1 APIs externes

  • Stripe : Paiements via Checkout, factures, abonnements.
  • Google Maps : Affichage de la position du garage via ACF google_map.
  • Brevo : API SMS pour les rappels de désinstallation.

2.3.2 Librairies tierces

  • DOMPdf : Génération des documents PDF.
  • libphonenumber : Formatage international des numéros (E.164).