PHP reste en 2026 l'un des langages les plus demandés sur le marché français du développement web — et l'un des plus mal recrutés. La raison : la majorité des processus de recrutement PHP en France sont conçus pour filtrer des algorithmiciens, alors que le travail réel d'un développeur PHP senior dans une PME ou startup est radicalement différent. Ce guide vous donne les 7 critères qui distinguent vraiment un bon développeur PHP d'un candidat qui sait réciter de la documentation.
1. Maîtrise native de PHP 8.x — pas juste la connaissance du manuel
PHP 8.4 (novembre 2024) et PHP 8.3 ont introduit des fonctionnalités structurantes : Property Hooks, Asymmetric Visibility, readonly Properties, First-class Callable Syntax, Fibers (8.1), Enums (8.1) et match expressions (8.0). Un développeur PHP senior en 2026 qui ne connaît pas ces features n'est pas senior — il a juste maintenu du code legacy.
Comment le tester : demandez-lui de comparer match() et switch() — au-delà de la syntaxe. Un développeur solide expliquera que match est une expression (retourne une valeur), est strict-typed par défaut, et lève une UnhandledMatchError si aucun bras ne correspond. Il mentionnera aussi les limitations (pas de break implicite nécessaire, toujours exhaustif).
2. Tests automatisés — PHPUnit ou Pest, mais surtout une vraie pratique
Dans les PME et startups françaises, le critère "tests automatisés" est souvent évalué avec la question "vous écrivez des tests ?", à laquelle tout le monde répond "oui". La vraie question est : quel est votre process quand un bug de production arrive dans un module non testé ?
Un développeur PHP senior avec une vraie pratique des tests répondra : "J'écris d'abord un test de régression qui reproduit le bug, je le vois échouer, je corrige, je le vois passer." Ce réflexe — écrire un test avant de corriger un bug — est l'un des indicateurs les plus fiables d'un développeur mature. Vérifiez leur repo GitHub : les commits "add test for [feature]" ou "fix failing test" sont des signaux positifs. L'absence totale de tests dans les repos publics est un signal d'alarme.
3. Architecture SOLID et Dependency Injection
SOLID et DI ne sont pas des théories académiques en PHP — ce sont les fondements de Laravel (IoC Container) et Symfony (DI Container). Un développeur qui n'a pas intégré ces principes produit du code monolithique difficile à tester, difficile à étendre et difficile à maintenir.
Test concret : montrez-lui une classe contrôleur de 200 lignes qui fait de la logique métier, des requêtes SQL et du rendu de vue dans la même méthode. Demandez comment il refeactoriserait ça. Un développeur senior aura un plan clair : extraction de la logique dans un Service, repository pattern pour l'accès aux données, injection via le constructeur. Un développeur junior dira "je découperais en plusieurs méthodes" — ce n'est pas la même chose.
Vous cherchez un développeur PHP senior en France ?
D-Open.org vous propose des profils PHP vérifiés (Laravel, Symfony, Shopware) en 24–72 heures. Chaque développeur est évalué sur les 7 critères de ce guide avant d'être présenté. Devis gratuit sous 24h.
Trouver mon développeur PHP senior — devis gratuit sous 24h →4. Maîtrise du framework principal — Laravel ou Symfony, pas les deux à moitié
Un développeur PHP senior maîtrise profondément un des deux frameworks principaux — Laravel ou Symfony — plutôt que superficiellement les deux. La bonne question n'est pas "vous connaissez Laravel ?" mais "quelle est la différence entre un Queued Listener et un Job dans Laravel, et quand choisir l'un ou l'autre ?"
Pour Symfony : "Expliquez comment le Messenger Component gère les échecs de traitement asynchrone et comment vous configureriez un failure transport." Ces questions montrent si le développeur a travaillé sur des systèmes en production, pas seulement dans des tutoriels.
Note sur les spécialisations : les développeurs Shopware 6 (e-commerce B2B/B2C) sont particulièrement rares en France — moins de 800 profils actifs selon nos données. Si votre projet implique Shopware, prévoyez un délai de recrutement plus long ou une formation ciblée d'un développeur Symfony senior (migration possible en 4–8 semaines).
5. Sensibilité RGPD et sécurité applicative
Le RGPD n'est pas une obligation administrative — c'est une contrainte architecturale qui impacte la conception des bases de données, des logs, des exports, et des APIs. Un développeur PHP senior en France doit comprendre a minima : pseudonymisation des données personnelles dans les logs, droit à l'effacement (soft delete vs hard delete), minimisation des données (SELECT * est une mauvaise pratique RGPD autant que technique), et gestion des consentements.
Sur la sécurité applicative : SQL injection via prepared statements (PDO), XSS via l'échappement systématique, CSRF protection (natif dans Laravel et Symfony), et gestion des secrets via des variables d'environnement (jamais hardcodées). Ces éléments doivent être des réflexes, pas des connaissances théoriques.
6. Git workflow et pratiques de collaboration
Ce critère est systématiquement sous-évalué dans les recrutements PHP. Un développeur qui commit directement sur main, qui écrit des messages de commit "fix bug" ou "WIP", et qui ne sait pas utiliser git rebase ou git bisect n'est pas opérationnel dans une équipe de plus de 2 personnes.
Ce que vous devriez exiger d'un développeur PHP senior en 2026 : feature branches avec merge requests/pull requests, messages de commit descriptifs (Conventional Commits de préférence), capacité à faire une code review constructive, et gestion des conflits de merge sans panique. Vérifiez leur historique GitHub : la qualité des messages de commit est un excellent indicateur de leur niveau de professionnalisme.
7. Communication asynchrone et documentation
Avec l'essor du travail remote et hybride, la capacité d'un développeur à communiquer de façon asynchrone est devenue un critère de sélection à part entière. Un développeur PHP senior qui ne documente pas ses choix d'architecture, qui répond aux questions Slack par "OK" sans contexte, et qui ne peut pas écrire une RFC ou un ADR (Architecture Decision Record) clair sera un frein dans une équipe distribuée.
Comment tester ce critère : demandez au candidat de vous envoyer un email de 200 mots expliquant un choix technique qu'il a fait récemment — "Pourquoi avez-vous choisi Redis comme cache plutôt que Memcached pour ce projet ?" Sa réponse vous dira plus sur ses capacités réelles que n'importe quel test algorithmique.
Les 4 pièges à éviter dans votre processus de recrutement PHP
Piège 1 — Tests algorithmiques LeetCode : Trier un tableau en O(n log n) n'a rien à voir avec le travail réel d'un développeur PHP web. Ces tests éliminent des développeurs excellents qui n'ont pas passé le week-end à réviser des algorithmes, tout en laissant passer des candidats brillants à l'algorithme mais catastrophiques en architecture réelle.
Piège 2 — "Faites un projet complet en 4 heures" : Un test technique de 4 heures non rémunéré filtre les candidats qui n'ont pas les moyens de se le permettre, pas ceux qui manquent de compétences. Privilégiez des tests courts (45–90 minutes) sur un problème représentatif du travail réel, ou mieux, une session de code review d'un vrai code existant.
Piège 3 — Ignorer le contexte du portfolio : "Il a travaillé chez [grande entreprise]" ne dit rien sur son niveau réel. Dans une équipe de 50 développeurs, un développeur peut passer 3 ans à travailler sur un seul composant sans jamais avoir à architected un système complet. Posez des questions sur le périmètre exact de ses contributions.
Piège 4 — Traiter freelance et CDI avec le même processus : Un freelance PHP accepte une mission pour 2–3 mois — il n'a pas de temps à consacrer à 4 tours d'entretien. Si vous cherchez un freelance, condensez le processus en 2 étapes maximum : entretien technique de 60 minutes + vérification d'une référence.
TJM réels en France — vue par framework et spécialisation
| Profil | TJM freelance | Salaire CDI |
|---|---|---|
| PHP / Laravel Senior | 580–750 €/j | 72–90 K€ brut |
| PHP / Symfony Senior | 580–780 €/j | 75–95 K€ brut |
| Shopware 6 Senior | 680–900 €/j | 80–105 K€ brut |
| TYPO3 v12/v13 Senior | 700–950 €/j | 82–108 K€ brut |
| Lead Architect PHP | 850–1.000 €/j | 95–120 K€ brut |