Skip to content
Gérits Aurélien edited this page Feb 21, 2026 · 27 revisions

Documentation de Magepattern à partir de la v3

Bienvenue dans la documentation Magepattern v3 Le toolkit PHP moderne pour les développeurs exigeants. Magepattern est un framework modulaire conçu pour la performance, la sécurité et la simplicité. Cette documentation détaille chaque composant du dossier src/Component.

HTTP Component

  • RequestGestion des superglobales.
  • SessionGestion sécurisée des jetons et fingerprints.
  • CURLClient HTTP, Upload/Download, JSON.
  • IPMatcherFiltrage, Blacklist, CIDR.
  • HeaderCodes HTTP, Cache, Content-Type.
  • JSON - Encodage/Décodage robuste avec gestion d'exceptions.
  • UrlGestion des URLs courantes, résolution de chemins et génération de Slugs SEO.

Tool Component

  • StringTool - Manipulation de chaînes, validation UTF-8 et slugs SEO.
  • HTMLTool - Protection XSS, échappement JS et gestion des entités HTML.
  • ArrayTool – Gestion avancée des itérateurs, tri de collections et conversion récursive de données.
  • FileTool – Gestion complète du système de fichiers : CRUD, récursivité, droits, cache et compression.
  • FormTool – Interface unifiée de nettoyage, filtrage et sanitization des données de formulaires.
  • LocalizationTool – Service hybride de gestion multilingue des pays, langues et devises, avec support d'injection (Smarty/JSON) et fallback de sécurité.
  • MailTool – Interface d'envoi d'emails (SMTP/DSN) basée sur Symfony Mailer, supportant les messages MIME complexes et les pièces jointes.
  • SmartyTool – Multiton de gestion Smarty v5 permettant l'isolation des environnements (Frontend/Admin) et le chargement de plugins personnalisés.
  • MobileTool – Wrapper optimisé autour de Mobile_Detect v4 pour la détection des terminaux (Mobile/Tablette) avec intégration native dans Smarty.
  • PdfTool – Moteur de génération PDF basé sur dompdf, permettant de convertir n'importe quel flux HTML (brut ou Smarty) en document PDF.SmartyTool – Multiton de gestion Smarty v5 permettant l'isolation des environnements (Frontend/Admin) et le chargement de plugins personnalisés.
  • MobileTool – Wrapper optimisé autour de Mobile_Detect v4 pour la détection des terminaux (Mobile/Tablette) avec intégration native dans Smarty.
  • PdfTool – Moteur de génération PDF basé sur dompdf v3, permettant de convertir n'importe quel flux HTML (brut ou Smarty) en document PDF.
  • DateTool - Manipulation de dates, formats SQL et gestion des fuseaux horaires.
  • DateIntervalTool – Factory et convertisseur ISO 8601 pour la gestion sécurisée des durées.
  • TimerTool – Profiler de performance (Temps & Mémoire) avec accès global Multiton et alertes de lenteur.
  • PaginationTool : Découpage des résultats SQL et métadonnées de navigation.
  • GeoTool : Outils de géolocalisation et calculs de distance (Bounding Box & Haversine).Indispensable pour les fonctionnalités de Store Locator et recherches de proximité.

Security

Gestion de la protection des données et de l'authentification.

  • PasswordTool : Hachage (BCrypt/Argon2), vérification de robustesse, génération de mots de passe aléatoires et tokens de réinitialisation.
  • RSATool : Chiffrement asymétrique pour l'échange de données sensibles.Security Gestion de la protection des données et de l'authentification.

Flux & XML

  • Sitemap - Génération de Sitemaps XML (Index, Pages et Images).
  • XMLReader – Lecture et conversion de flux XML complexes vers PHP Array.

Debug & Système

  • Logger - Journalisation multi-niveaux, archivage et profiling de performance.

Database (Persistance)

L'interface de gestion des données multi-pilotes.

  • Layer : Façade PDO avec transactions, typage automatique et support MySQL/SQLite/PostgreSQL.
  • QueryBuilder : Construction fluide et sécurisée des requêtes SQL (SELECT, INSERT, UPDATE, DELETE).
  • QueryHelper : Adaptateur d'architecture. Permet d'injecter dynamiquement des configurations (tableaux) dans un QueryBuilder. Indispensable pour l'extensibilité et les systèmes de plugins.

Points clés : Clause IN automatique, orderByField, sécurisation des paramètres.

Philosophie du Framework

Le framework repose sur trois piliers fondamentaux :

Immuabilité & Sécurité : Utilisation de DateTimeImmutable, protection systématique contre les injections (XSS, CSRF) et typage strict (PHP 8.2+).

Modularité : Chaque composant est indépendant. Vous pouvez utiliser le Logger sans forcément charger le système de Sitemap.

Performance : Utilisation de Singleton pour les ressources lourdes et de méthodes statiques pour les utilitaires légers.

Conventions de nommage

Namespaces : Toujours calqués sur la structure des dossiers (Magepattern\Component...). Classes : PascalCase (ex: StringTool). Méthodes : camelCase (ex: isAlphaNumeric). Constantes : UPPER_SNAKE_CASE (ex: SQL_DATETIME).

Initialisation (Sans Composer)

Puisque Magepattern v3 utilise son propre système de chargement, l'intégration dans un projet se fait en une seule ligne.

// Inclure le point d'entrée du framework
require_once 'path/to/Magepattern/bootstrap.php';

// Les classes sont maintenant disponibles via leurs Namespaces
use Magepattern\Component\HTTP\Request;
use Magepattern\Component\Debug\Logger;

Clone this wiki locally