
# Avancé

TailwindPHP est un portage 1:1 de TailwindCSS 4.x en PHP pur. Le principe directeur est la fidélité : la base de code reproduit le projet TypeScript d’origine fichier par fichier, avec les mêmes noms de fichiers et la même organisation. Ainsi, chaque comportement de TailwindCSS a un équivalent évident dans PHP, et les changements en amont peuvent être suivis sans conjecture.

Tout ce qui ne fait pas partie du port TailwindCSS se trouve à un seul endroit clairement identifié : `src/_tailwindphp/`. Ce répertoire contient les utilitaires spécifiques à PHP — une réimplémentation des transformations Rust `lightningcss` (`LightningCss.php`), le minificateur CSS (`CssMinifier.php`) et les ports des bibliothèques associées (`lib/` : clsx, tailwind-merge, CVA), sous l'espace de noms `TailwindPHP\Lib\*`. Tout le reste dans `src/` correspond à un fichier dans TailwindCSS.

La conformité est vérifiée à l'aide de la suite de tests de Tailwind. Les cas de test sont extraits directement des fichiers `.test.ts` de TailwindCSS et exécutés sur la sortie de PHP ; tout écart par rapport au comportement d'origine entraîne donc immédiatement un échec. Résultat : 4,427 tests réussis (version 1.7.0, avec la référence TailwindCSS v4.3.3), couvrant les utilitaires, les variantes, les directives, les plugins, le CLI et les bibliothèques associées.

## Pages

- **[Architecture](https://tailwindphp.inline0.dev/fr/docs/advanced/architecture)** — le pipeline de compilation (analyse → balayage → compilation → optimisation → minification), l'organisation des sources, l'équivalent de `lightningcss` et la convention des marqueurs `@port-deviation`.
- **[Mise en cache et minification](https://tailwindphp.inline0.dev/fr/docs/advanced/caching)** — le cache de sortie basé sur les fichiers (`cache`, `cacheTtl`, `clearCache()`), le cache d'état du compilateur (`stateCacheFile`) et le rôle du minificateur CSS.
- **[Performances et tests](https://tailwindphp.inline0.dev/fr/docs/advanced/performance)** — les optimisations propres à PHP, la vérification de la parité avec TailwindCSS et le contrôle de qualité du code.
- **[Compatibilité et mises à niveau](https://tailwindphp.inline0.dev/fr/docs/advanced/compatibility)** — les prérequis, la version de TailwindCSS suivie, les différences connues par rapport à TailwindCSS et les notes de mise à niveau pour chaque version.
