enquête annuelle · 42 187 développeurs · résultats non représentatifs
"PHP est mort" — les mêmes gens depuis 2002
/* réponses multiples — les regrets aussi */
// on a tous un projet Laravel qu'on ne touche plus depuis 2021
// techniquement oui. émotionnellement : non.
// "propre, solide, documenté" — choisissez 2
// "le client refuse qu'on touche au code"
// "c'est comme Laravel mais en mieux" (je suis l'auteur)
// index.php 4000 lignes. en prod. rapporte 40k€/mois. qui est le vrai sage ?
"Laravel c'est bien. Eloquent c'est magique. Jusqu'au N+1 en prod, 800 requêtes pour afficher une liste, timeout à 30s. La magie a un coût."
— L'AUTEUR. VÉCU. 2022. ENCORE DES CAUCHEMARS.
/* les erreurs que seul un dev PHP peut commettre */
// bien. les autres 39% vivent dangereusement.
// creds MySQL en clair. repo "privé de toute façon".
// "comme ça pas besoin de composer install en prod"
// commité, poussé, indexé GitHub depuis 2017.
// php artisan migrate --force en croisant les doigts.
/* workflow de déploiement PHP typique */
php -S localhost:8000100%"ça marche chez moi" — opcache off, pas de https, base vide
git add . && git commit -m "fix"94%inclut .env, vendor/ et un var_dump() oublié ligne 247
git push origin main sans PR58%la branche staging existe mais personne ne la merge jamais
git pull && php artisan migrate --force51%composer install sans --no-dev — PHPUnit déployé en prod
chmod -R 777 storage/44%"juste pour que ça écrive les logs". définitif depuis 2018.
APP_DEBUG=true en prod. les visiteurs lisent vos credentials.
le backup date de la semaine dernière. la migration BDD est irréversible.
.github/workflows/deploy.yml existe. commenté. depuis le sprint 3.
Le classique
fix / fix2 / fix final ok
même fichier. même jour. même auteur.
Le mystérieux
modif compta / wip / aaaa
aucun diff consultable sereinement.
Le traumatisant
patch injection SQL
sans issue. sans détail. push main. vendredi 17h58.
L'honnête
je sais pas pourquoi ça marche
rare mais respectable.
"Notre
.gitignoreignorevendor/mais pas.env. Repo public depuis 2017. Mot de passe MySQL :root. Le site tourne toujours."— ANONYMOUS. L'AUTEUR A LU ÇA ET A PLEURÉ.
/* ce que vous utilisez dit tout sur vous */
VS Code
52%
847 extensions, 12 actives. 4 Go de RAM "pour un éditeur".
PHPStorm
31%
Les pros. Boote en 45s. L'entreprise paie.
Vim/Neovim
8%
Mentionné partout. Dotfiles 3000 lignes.
Notepad++
6%
En prod. Via RDP. "c'est rapide." L'horreur a un visage.
Autres
3%
Sublime. nano SSH. Un répondant a dit "Word".
// installé par réflexe. configuré nulle part.
// pour voir l'étendue des dégâts en rouge.
"Notepad++ sur le serveur, 'petites modifications urgentes'. 3 fois cette semaine. Serveur de prod. L'auteur de ce site a vécu quelque chose de similaire. Il n'en parle pas."
— ANONYMOUS. SOLIDARITÉ FORCÉE.
/* fatal error: mental health not found — PHP leader incontesté toutes catégories */
83%
devs PHP
en burnout
52%
JavaScript
(comparatif)
31%
Python
(les chanceux)
28%
Go
(ils sourient)
19%
Rust
(masochisme ≠)
/* symptômes déclarés par les devs PHP */
Cauchemars T_PAAMAYIM_NEKUDOTAYIM
Vous voyez ce token en rêve. Vous ne savez plus ce que ça signifie. Votre cerveau, si.
Dissociation au ==
Vous avez expliqué que 0 == "php" vaut true en réunion client. Vous avez pleuré en rentrant.
Rage au signe $
La vue d'un dollar dans un autre contexte déclenche une réaction physique. Les soldes vous font mal.
Déni de langage
Vous dites "je fais du backend" en soirée. Jamais "je fais du PHP". Le mensonge protège.
Syndrome var_dump()
Vous débuggez encore avec var_dump() + die(). Xdebug est installé. Jamais configuré.
Flashbacks register_globals
Vous étiez là avant PHP 5.4. Vous vous souvenez. La thérapie EMDR n'a pas suffi.
/* burnout PHP selon les années de pratique — courbe clinique */
"J'ai fait 8 ans de PHP. Mon psy dit que c'est de l'ordre du stress post-traumatique. J'ai ri. Puis j'ai pleuré. Puis j'ai ouvert
composer.jsonet recommencé."— SENIOR DEV, 8 ANS DE PHP, 2 ANS DE THÉRAPIE. TOUJOURS EN PHP.
/* "mieux qu'avant" est une barre très, très basse */
// enfin. seulement 25 ans après Python.
// TypeScript l'avait depuis 2014. félicitations quand même.
// switch sans break oublié enfin. progrès réel. barre basse, mais progrès.
// Node.js avait ça en 2009. 13 ans d'écart. on applaudit quand même.
// "performances améliorées de 3% sur nos benchmarks WordPress"
"PHP 8 est objectivement meilleur que PHP 5. Mais dire qu'un café tiède est meilleur qu'un café froid, ça n'en fait pas un bon café. — L'auteur, lors de sa thérapie hebdomadaire."
— BILLET D'HUMEUR NON SOLLICITÉ MAIS ASSUMÉ
/* l'auteur a personnellement rencontré chacune de ces horreurs */
// supprimé en PHP 7.0. on est en 2026.
// injection de variables depuis le formulaire. aussi dangereux que ça en a l'air.
// "c'est pour la flexibilité". la flexibilité de se faire hacker.
// les erreurs disparaissent. les bugs, non.
// l'injection de dépendances c'était trop compliqué.
/* selon l'auteur, aucune n'est suffisante */
Le client paie
Principal moteur. Devant la passion. Devant la santé mentale.
Legacy impossible
500k lignes. 0 test. Commentaires en polonais. En prod depuis 2009.
Stockholm syndrome
10 ans de PHP. Trop tard pour partir. Le langage est devenu de la famille.
Hébergement mutualisé
OVH 3€/mois. Node.js indisponible. PHP, lui, tourne toujours.
/* 6 questions. 4 profils. aucun satisfaisant selon l'auteur. */
/* champs libres. on a tout gardé. même les plus douloureux. */