Introduction : Pourquoi PHP n'est pas un langage démodé, mais un outil de travail
\nDe nombreux débutants entendent : « PHP, c'est dépassé ». Mais la réalité est la suivante : plus de 78 % de tous les sites web dans le monde (y compris WordPress, Laravel et Bitrix) fonctionnent avec PHP. La demande de développeurs PHP reste stable, en particulier dans le segment de la maintenance de projets legacy et des solutions d'entreprise. Cependant, il est difficile d'obtenir un poste Junior ou Middle sans un plan clair. Dans cet article, nous allons voir comment rédiger un CV, quelles compétences développer et comment se comporter lors d'un entretien. Le tout avec des exemples de code réels et des modèles.
\n\n1. Quelles compétences un développeur PHP doit-il vraiment avoir en 2025 ?
\nPour que votre CV ne finisse pas à la poubelle, vous devez montrer non pas une connaissance de la syntaxe, mais une compréhension de l'architecture. Voici le minimum requis pour un Junior :
\n- \n
- POO en PHP — héritage, polymorphisme, encapsulation, interfaces et traits. \n
- Travail avec les bases de données — MySQL, PDO, rédaction de requêtes propres et compréhension des index. \n
- Frameworks — au moins un : Laravel (top 1), Symfony ou Yii2. \n
- Système de contrôle de version — Git (branches, merge, rebase). \n
- Bases de la sécurité — injections SQL, XSS, CSRF. \n
Exemple de code simple mais correct pour travailler avec une base de données via PDO :
\n<?php\nclass UserRepository {\n private PDO $pdo;\n\n public function __construct(PDO $pdo) {\n $this->pdo = $pdo;\n }\n\n public function findById(int $id): ?array {\n $stmt = $this->pdo->prepare('SELECT * FROM users WHERE id = :id');\n $stmt->execute(['id' => $id]);\n $result = $stmt->fetch(PDO::FETCH_ASSOC);\n return $result ?: null;\n }\n}\n?>\nCe code montre une connaissance du typage, de l'injection de dépendances (DI) et du travail sécurisé avec les requêtes.
\n\n2. Comment rédiger un CV de développeur PHP : modèle étape par étape
\nLes recruteurs passent en moyenne 7 secondes à lire un CV. Votre objectif est que ces 7 secondes les incitent à vous appeler. Utilisez la structure suivante :
\n2.1. Titre et coordonnées
\nÉcrivez clairement : « PHP Developer (Junior/Middle) » — sans créativité du genre « Gourou du code ». Indiquez Telegram, email, GitHub et un lien vers votre portfolio.
\n2.2. Compétences clés
\nUtilisez des listes, pas du texte. Exemple :
\n- \n
- Langages : PHP 8.x, JavaScript (de base), SQL \n
- Frameworks : Laravel 10, Livewire \n
- Bases de données : MySQL, PostgreSQL, Redis \n
- Outils : Git, Docker, Composer, PHPUnit \n
2.3. Expérience professionnelle (même si vous n'en avez pas)
\nSi vous n'avez pas d'expérience professionnelle, décrivez vos projets personnels. Exemple : « J'ai développé un service de raccourcissement de liens avec Laravel : authentification, panneau d'administration, tests (PHPUnit) ». Ajoutez un lien vers le dépôt.
\n2.4. Exemple de code dans le CV
\nDans la section « À propos de moi », vous pouvez ajouter un petit extrait qui montre votre style. Par exemple :
\n<?php\n// Exemple d'implémentation du pattern Strategy\ninterface PaymentGateway {\n public function pay(float $amount): bool;\n}\n\nclass StripePayment implements PaymentGateway {\n public function pay(float $amount): bool {\n // ... logique\n return true;\n }\n}\n?>\nCela vous démarquera immédiatement des candidats qui écrivent « sociable, responsable ».
\n\n3. Préparation à l'entretien : questions et exercices pratiques
\nLors de l'entretien, on testera non seulement votre théorie, mais aussi votre capacité à résoudre des problèmes. Voici les 5 sujets principaux à réviser :
\n- \n
- Méthodes magiques (
__get,__call,__invoke) — où et pourquoi les utiliser. \n - Patrons de conception — Singleton, Factory, Repository, Dependency Injection. \n
- Différences