PHP, le langage qui fait tourner 77 % du web
PHP (PHP Hypertext Preprocessor) est un langage de programmation open source né en 1994. Aujourd'hui, c'est le langage serveur le plus utilisé au monde pour le développement web.
Derrière sa réputation d'accessibilité se cache un outil professionnel moderne : typage fort, programmation orientée objet, écosystème d'outils qualité. PHP 8 n'a plus rien à envier aux autres langages.
PRÉSENTATION
Qu'est-ce que PHP ?
PHP est un langage de programmation open source principalement utilisé dans le développement web. Il peut être utilisé pour automatiser de simples scripts, créer des pages dynamiques ou réaliser des applications à très fort trafic.
Contrairement à ce que sa réputation d'origine pourrait laisser croire, PHP moderne est un langage professionnel intégrant la programmation orientée objet, un typage fort depuis PHP 7, et un écosystème d'outils qualité (Composer, PHPStan, PHPUnit, PHP CS Fixer) comparable aux langages les plus stricts.
Depuis PHP 7 (2015) puis PHP 8 (2020), le langage a fait un bond spectaculaire en termes de performances (jusqu'à 3× plus rapide que PHP 5) et de fonctionnalités modernes. PHP est aujourd'hui un langage à part entière, loin des scripts rudimentaires de ses débuts.
ORIGINES
De 1994 à aujourd'hui
Créé en 1994 par Rasmus Lerdorf pour ses besoins personnels, PHP a été réécrit quelques années plus tard par Andi Gutmans et Zeev Suraski, donnant naissance au Zend Engine.
Le langage a connu une ascension fulgurante dans les années 2000 grâce à l'essor du web et à sa facilité de déploiement sur n'importe quel hébergeur mutualisé.
Avec l'arrivée de Composer (le gestionnaire de dépendances) et de Packagist, PHP a acquis la maturité nécessaire pour s'imposer dans des projets d'entreprise complexes. Les frameworks comme Symfony et Laravel ont achevé sa transformation en outil professionnel.
ADOPTION
PHP est partout dans le web
PHP propulse près de 77 % des sites web dans le monde selon W3Techs →une domination stable depuis plus de 20 ans, bien au-delà de tous ses concurrents réunis.
77 % des sites web dans le monde
Selon W3Techs, PHP est utilisé par 77 % des sites dont le langage serveur est identifié →soit 7 fois plus que son premier concurrent. Une domination stable depuis plus de 20 ans malgré l'essor de Node.js, Python et Ruby.
Top 10 des langages sur GitHub
PHP figure régulièrement dans les 10 langages les plus utilisés sur GitHub. Des millions de projets open source des CMS aux frameworks en passant par les outils d'automatisation sont développés et maintenus en PHP chaque jour.
WordPress propulse 43 % du web
WordPress, développé en PHP, est utilisé par plus de 43 % de l'ensemble des sites web dans le monde. Ajoutez Drupal, Joomla, TYPO3 et PrestaShop : la quasi-totalité des CMS et plateformes e-commerce leaders du marché reposent sur PHP.
Au-delà des CMS et des plateformes grand public, PHP est aussi le choix de milliers d'entreprises pour leurs logiciels métier sur mesure. Sa maturité, ses performances et sa capacité d'intégration avec n'importe quelle base de données ou API en font un socle fiable pour des outils internes, des backoffices et des automatisations métier sur le long terme. C'est précisément pourquoi SmartBooster développe l'intégralité de ses projets backends en PHP avec le framework Symfony.
ÉCOSYSTÈME
Les grands frameworks PHP
PHP doit une grande partie de sa professionnalisation à ses frameworks. Chacun répond à un besoin différent, du prototype rapide à l'application d'entreprise complexe.
-
Symfony - Depuis 2005
Créé par SensioLabs en France, Symfony est le framework de référence pour les applications d'entreprise. Modulaire, rigoureusement testé et soutenu par un cycle LTS strict, c'est le choix de SmartBooster pour tous ses projets. Il est également à la base de Laravel.
-
Laravel - Depuis 2011
Le framework PHP le plus populaire aujourd'hui, apprécié pour son élégance et sa productivité. Construit sur des composants Symfony, Laravel offre un écosystème riche (Eloquent ORM, Livewire, Filament) très prisé pour le développement rapide d'applications web.
-
CodeIgniter - Depuis 2006
Framework léger et simple à prendre en main, CodeIgniter a été l'un des premiers à populariser le développement PHP structuré. Il reste utilisé pour les projets nécessitant une empreinte minimale ou une intégration dans des environnements d'hébergement contraints.
-
Zend Framework → Laminas - Depuis 2005
Lancé par Zend Technologies en 2005, ce framework enterprise a posé les bases des standards PHP modernes. Renommé Laminas Project depuis 2019 sous l'égide de la Linux Foundation, il continue d'évoluer en open source pour les projets à haute exigence d'architecture.
PERFORMANCE
PHP 8 : un moteur haute performance
PHP 8 a introduit le compilateur JIT (Just-In-Time) qui transforme le bytecode PHP en code machine natif à l'exécution. Sur les traitements intensifs (calculs, génération de rapports, transformations de données volumineuses) les gains sont sensibles par rapport à PHP 5.
Combiné à OPcache (pré-compilation du bytecode) et au preloading PHP 7.4 (chargement du code applicatif au démarrage du worker PHP-FPM), PHP offre des temps de réponse comparables aux autres langages compilés sur des applications web standards.
Gains de performance par saut de version
| Saut de version | Gain typique | Explication |
|---|---|---|
| PHP 5.6 → 7.0 | +70 à +100 % req/s | Le saut le plus significatif de l'histoire de PHP. Zend Engine 3 réduit le temps CPU de 44 à 48 % et la consommation mémoire de 37 à 48 % sur des applications réelles. Un serveur existant peut servir deux fois plus de requêtes sans changement d'infrastructure. |
| PHP 7.0 → 7.4 | +15 à +25 % req/s | Progression régulière sur toute la branche 7.x grâce aux optimisations du moteur, des structures internes et de la gestion des chaînes. Le preloading OPcache (7.4) réduit significativement le temps de bootstrap sur les applications volumineuses. |
| PHP 7.4 → 8.0 |
+5 à +15 % (web standard)
+20 à +50 % (calcul intensif) | L'introduction du JIT bénéficie surtout au code de calcul pur (algorithmes, transformations de données). Pour les applications web classiques type CMS ou backoffice, les gains restent modestes car le goulot d'étranglement est souvent la base de données, pas le CPU. |
| PHP 8.0 → 8.3 | +3 à +8 % req/s | Micro-optimisations progressives à chaque version mineure. Sur WordPress par exemple, le gain de 7.4 à 8.3 est d'environ 5 % en req/s (139 → 146 req/s en conditions réelles). L'intérêt de migrer sur cette période est avant tout la sécurité, pas la performance. |
| PHP 8.3 → 8.5 | Marginal | Les benchmarks Kinsta sur WordPress montrent un écart inférieur à 1 % entre 8.3, 8.4 et 8.5 (148,22 vs 148,30 req/s). Les gains de ces versions sont fonctionnels (Pipe, URI, property hooks), pas mesurables en performance brute. |
Les gains indiqués sont des ordres de grandeur issus de benchmarks synthétiques et de mesures en conditions réelles. Ils varient selon la nature du code, la configuration serveur (OPcache, PHP-FPM, nombre de workers) et l'infrastructure sous-jacente. Ces chiffres ne se substituent pas à un profiling sur votre propre application. Sources : Journal du Net : PHP 7 benchmark, Kinsta : PHP benchmarks (8.2–8.5), phpbenchmarks.com.
HISTORIQUE
Versions de PHP
PHP publie une nouvelle version mineure chaque année en novembre. Chaque version bénéficie de 2 ans de support actif puis 1 an de correctifs de sécurité. Voir les versions supportées officiellement →
-
PHP 8.5
RecommandéeNov. 2025
Dernière version stable. Support actif jusqu'en déc. 2027, correctifs de sécurité jusqu'en déc. 2029.
- Extension URI
Parsing natif des URLs selon RFC 3986 et WHATWG URL →plus besoin de parse_url() et ses incohérences. Normalisation, comparaison et manipulation d'URI en objet. - Opérateur Pipe (|>)
Chaîne les appels de fonctions sans variables intermédiaires : $slug = $title |> trim(...) |> strtolower(...). Lisibilité améliorée sur les pipelines de transformation. - Clone with
Clonage d'objet avec modification de propriétés en une expression : clone($this, ['status' => 'active']). Simplifie les objets valeur immutables. - array_first() / array_last()
Fonctions natives pour récupérer le premier ou le dernier élément d'un tableau — évite les idiomes reset()/end() ou array_slice(). - #[\NoDiscard]
Attribut qui avertit si la valeur de retour d'une fonction n'est pas utilisée →utile pour les méthodes dont ignorer le retour serait un bug silencieux.
- Extension URI
-
PHP 8.4
Support actif déc. 2026Nov. 2024
Dernière version majeure en date. Support actif jusqu'en déc. 2026, correctifs de sécurité jusqu'en déc. 2027.
- Property hooks
Logique get/set directement dans la déclaration de propriété →plus besoin de getter/setter séparés pour les cas simples. - Asymmetric visibility
public private(set) : une propriété lisible publiquement mais modifiable uniquement en interne →immutabilité contrôlée sans readonly total. - array_find()
Nouvelle fonction native pour trouver le premier élément correspondant à un callback →évite les array_filter() + reset() idiomatiques. - Lazy objects
Objets instanciés à la demande, nativement dans le moteur PHP. Symfony 7 et d'autres frameworks en tirent profit pour des services vraiment paresseux.
- Property hooks
-
PHP 8.3
Support sécurité déc. 2027Nov. 2023
Support actif terminé en déc. 2025. Correctifs de sécurité jusqu'en déc. 2027.
- Typed class constants
Les constantes de classe peuvent désormais être déclarées avec un type explicite (int, string, array…) →plus de constante implicitement typée string. - json_validate()
Valide un JSON sans le décoder →utile pour vérifier la structure d'un payload entrant sans consommer de mémoire inutile. - #[Override]
L'attribut signale qu'une méthode redéfinit une méthode parente →PHP lève une erreur si ce n'est pas le cas.
- Typed class constants
-
PHP 8.2
Support sécurité déc. 2026Déc. 2022
Support actif terminé en déc. 2024. La migration vers 8.4 ou 8.5 est recommandée.
- Readonly classes
Le mot-clé readonly s'applique à la classe entière →toutes les propriétés deviennent readonly sans les déclarer individuellement. - DNF types
Disjunctive Normal Form : types composés comme (A&B)|null pour exprimer des contraintes de type complexes. - true / false / null standalone
Ces valeurs peuvent être utilisées comme types de retour autonomes plutôt que via bool|null.
- Readonly classes
-
PHP 8.1
Obsolète depuis déc. 2024Nov. 2021
En fin de support depuis décembre 2024. Les projets sur PHP 8.1 doivent migrer dès que possible.
- Enums
Types énumérés natifs (backed ou pure) →fini les constantes de classe pour représenter des états finis. - Fibers
Primitives de concurrence légère : exécution interruptible et reprise, base des frameworks asynchrones PHP modernes (ReactPHP, Swoole, Symfony Messenger). - Readonly properties
Propriétés assignables une seule fois, vérifiées par le moteur →les objets valeur deviennent triviaux à écrire. - Intersection types
Type A&B : une valeur doit satisfaire plusieurs interfaces simultanément.
- Enums
-
PHP 8.0
Obsolète depuis nov. 2023Nov. 2020
Version majeure marquée par le JIT et la refonte de la gestion des erreurs. Fin de support en novembre 2023.
- JIT (Just-In-Time compiler)
Compilation à la volée : gain notable sur les calculs intensifs (jusqu'à ×3 sur certains benchmarks). - Union types
int|string|null : les fonctions expriment des signatures multi-types nativement, sans PHPDoc. - Match expression
Alternative au switch avec retour de valeur, comparaison stricte et erreur si aucun bras ne correspond. - Named arguments
Passage des arguments par nom plutôt que par position →lisibilité des appels à fonctions à nombreux paramètres. - Nullsafe operator (?->)
Chaîne d'accès sans vérification null à chaque étape →code réduit de 30 à 50 %.
- JIT (Just-In-Time compiler)
-
PHP 7.4
Obsolète depuis nov. 2022Nov. 2019
Dernière branche 7.x. Fin de support en novembre 2022.
- Typed properties
Déclaration de type directement sur les propriétés de classe, enforced par le moteur. - Arrow functions
Syntaxe fn() => expr pour les fonctions courtes qui capturent automatiquement les variables du scope parent. - Preloading (OPcache)
Pré-chargement du code applicatif au démarrage du worker PHP-FPM pour des temps de réponse réduits.
- Typed properties
-
PHP 7.0
Obsolète depuis déc. 2018Déc. 2015
Refonte majeure avec le moteur Zend Engine 3 : jusqu'à 2× plus rapide que PHP 5.6, 2× moins de mémoire consommée. Marque la rupture avec l'ère PHP 5.
- Scalar type declarations
Typage strict des paramètres (int, float, string, bool) et des types de retour →le premier grand pas vers un PHP typé. - Null coalescing operator (??)
$a ?? $b pour remplacer le triple isset/ternaire →standard dans tout code PHP moderne. - Zend Engine 3 → ×2 perf
Réécriture complète du moteur : 2 fois moins de mémoire, 2 fois plus rapide que PHP 5.6 sur des benchmarks réels.
- Scalar type declarations
-
PHP 5.6
Obsolète depuis déc. 2018Août 2014
Dernière version de la branche PHP 5, porte d'entrée recommandée vers PHP 7. Introduction des fonctions variadiques (...$args) et de l'opérateur d'exponentiation (**). Plus aucun correctif de sécurité depuis décembre 2018.
-
PHP 5.5
ObsolèteJuin 2013
Introduction des générateurs (yield) et du bloc finally. Première version avec password_hash() natif pour le hachage sécurisé des mots de passe.
-
PHP 5.4
ObsolèteMars 2012
Introduction des traits pour la réutilisabilité de code, syntaxe courte des tableaux ([ ]), serveur web de développement intégré. Suppression de register_globals et magic_quotes.
-
PHP 5
Obsolète2004
Introduction du Zend Engine 2, refonte complète de la POO (interfaces, classes abstraites, exceptions, SPL). Naissance de PDO pour l'accès aux bases de données. Versions majeures : 5.0 → 5.6 sur dix ans.
-
PHP 4
Obsolète2000
Première version avec le Zend Engine 1.0. Introduction des sessions, du buffering de sortie et d'une meilleure gestion des objets. PHP 4 a propulsé l'explosion du web dynamique dans les années 2000.
-
PHP 3
Obsolète1997
Réécriture complète par Andi Gutmans et Zeev Suraski (futurs fondateurs de Zend Technologies). C'est PHP 3 qui a donné son nom au langage tel qu'on le connaît : PHP Hypertext Preprocessor. Base de la popularisation du web dynamique.
Rester sur une version active de PHP, c'est bénéficier des correctifs de sécurité, des gains de performance et des nouvelles fonctionnalités du langage. Une version obsolète expose votre application à des vulnérabilités non corrigées, complique le recrutement et bloque les mises à jour de vos frameworks (Symfony 7 requiert PHP 8.2 minimum).
NOTRE USAGE
PHP chez SmartBooster
Nous développons l'intégralité de nos backends en PHP avec le framework Symfony. Notre stack qualité : PHPStan pour l'analyse statique, PHPUnit pour les tests, PHP CS Fixer pour le formatage →garantit que le code livré est robuste, lisible et maintenable sur le long terme.
Pour le développement PHP au quotidien, nous recommandons l'IDE PHPStorm : le meilleur environnement pour PHP et Symfony, avec une intégration native de tous nos outils qualité.
Tous nos environnements de développement et de tests tournent sous Docker, ce qui nous permet de changer de version PHP en une commande et de garantir une stricte équivalence entre nos postes de développement et la production.
« Nous collaborons avec l'équipe Smartbooster depuis 3 ans sur un projet stratégique pour notre activité.
Nous avons largement dépassé la relation « client/prestataire », l'équipe Smartbooster nous accompagne au quotidien dans le développement de nos outils digitaux.
Une équipe experte, réactive et à l'écoute… Je recommande évidemment ! »
« Notre collaboration avec Nicolas, sur un projet à la fois managérial et technique, a été une vraie réussite.
Nicolas a su comprendre nos problématiques, définir des objectifs atteignables et mettre en place une organisation cohérente et efficace au sein de notre "petite" équipe (de 6 personnes).
Je recommande Nicolas pour son écoute, son professionnalisme et ses compétences à la fois techniques et humaines.
Il est rare (et je le dis très sincèrement après 3 ans d'entrepreneuriat dans le digital) de rencontrer un profil de consultant en informatique aussi complet. »
Pour aller plus loin
Approfondir votre réflexion
PHP et Symfony au service de votre projet métier de la conception à la livraison, avec une équipe dédiée et une méthodologie éprouvée.
Vous avez un projet PHP existant à reprendre, moderniser ou faire évoluer ? Nous analysons l'existant et proposons une stratégie adaptée.
Montées de version PHP, correctifs de sécurité, évolutions fonctionnelles →la TMA garantit que votre application reste à jour et opérationnelle.
FAQ
Les réponses à vos questions
Et si vous ne trouvez pas ce que vous cherchez, nous serons ravis de vous répondre en direct lors d'un rendez-vous entre humains !
PHP est le langage de programmation : l'outil de base. Symfony est un framework PHP, c'est-à-dire un ensemble de bibliothèques et de conventions qui structurent le développement d'applications web en PHP. Écrire du PHP sans framework est possible pour des scripts simples, mais sur un projet d'entreprise, Symfony apporte la structure, la sécurité, les outils de test et le cycle LTS qui garantissent la maintenabilité sur le long terme. C'est la même relation qu'entre JavaScript et Vue.js ou React.
PHP est conçu nativement pour le web. Chaque requête HTTP démarre un processus isolé, ce qui simplifie la gestion de la mémoire et des erreurs sans configuration particulière. Node.js est pertinent pour les applications temps réel (WebSocket, streaming), mais son modèle asynchrone complexifie le code sur les applications de gestion classiques. Java est robuste pour les très grosses infrastructures mais son écosystème est plus lourd à maintenir et le recrutement plus difficile et coûteux sur le marché français. PHP 8 avec Symfony offre un équilibre optimal pour les applications métier : performances suffisantes, coût de développement maîtrisé, large vivier de développeurs, et écosystème open source très actif.
Vous avez un projet ?
Contactez-nous pour savoir comment nous pouvons vous aider.