YoanDev/Créer son premier Bundle Symfony, de l’idée à la publication sur Packagist

  • 119 € ou 3 paiements mensuels de 40 €

Créer son premier Bundle Symfony, de l’idée à la publication sur Packagist

  • Cours
  • 30 Leçons

Découvrez comment transformer un service fonctionnel en un bundle réutilisable et publié sur Packagist, prêt à être partagé dans vos projets et à valoriser sur votre portfolio GitHub. Cette formation vous guide pas à pas pour structurer, tester et documenter votre code comme le font les dévs open source expérimentés. Rejoignez les 50 premiers étudiants et étudiantes !

Découvrez le programme de la formation en vidéo

A l'occasion de la sortie de la formation, j'ai produit cette vidéo de présentation pour youtube, elle vous permet de découvrir le contenu de la formation !

🎯 Objectif de la formation

À l’issue de cette formation, vous serez en mesure de créer et publier un bundle Symfony complet, prêt à être utilisé dans n’importe quel projet.

Vous apprendrez à appliquer un workflow professionnel :

  • concevoir un service clair et maintenable ;

  • l’extraire dans un bundle configurable et réutilisable ;

  • le tester localement avec Composer ;

  • le documenter et le publier sur GitHub et Packagist.

L’objectif : permettre à chaque dev Symfony de maîtriser les bonnes pratiques de conception et de diffusion de code open source, un savoir-faire essentiel pour évoluer vers des projets plus ambitieux et collaboratifs.

🧩 Approche pédagogique

La formation suit une progression claire en quatre étapes, directement inspirée du workflow utilisé par les devs Symfony dans des projets réels.

Chaque module combine théorie, pratique et démonstration de code pour ancrer les concepts dans des situations concrètes.

1. Créer un service fonctionnel

Construire un service Symfony connecté à une API externe, en appliquant les principes de conception modernes (DTO, autowiring, injection de dépendances).

2. Extraire le service dans un bundle

Découvrir la structure d’un bundle moderne : interface, AbstractBundle, configuration et architecture réutilisable.

3. Tester localement le bundle

Apprendre à utiliser Composer en mode path repository, à déboguer efficacement et à itérer rapidement comme dans un vrai projet.

4. Publier et professionnaliser

Préparer la publication : tests unitaires, documentation, versioning Git, CI/CD GitHub Actions et mise en ligne sur Packagist.

💡 Concepts abordés et expliqués en détail

Chaque chapitre introduit des notions essentielles à la conception de bundles modernes, avec une mise en pratique immédiate dans le code.

L’objectif : vous permettre de comprendre comment et pourquoi les devs Symfony professionnels structurent leurs projets de cette manière.

🧱 Symfony & Architecture

  • Services et Injection de dépendances (DI)

  • Autowiring et configuration automatique

  • Contrôleurs et commandes console

  • Structure MVC dans Symfony 7+

  • Bundles modernes basés sur AbstractBundle

⚙️ PHP Moderne

  • Propriétés readonly et typage strict

  • Arguments nommés et opérateur ?->

  • Objets immuables et code plus sûr

🧩 Design & Bonnes pratiques

  • DTO (Data Transfer Object)

  • Factory Method

  • Principes SOLID et injection d’interfaces

  • Architecture orientée réutilisabilité

🧪 Tests & Qualité

  • Tests unitaires avec PHPUnit

  • Mocks (MockHttpClient, NullLogger)

  • Structure AAA : Arrange / Act / Assert

  • CI/CD automatisé avec GitHub Actions

🚀 Outils & Publication

  • Composer, autoloading PSR-4

  • Git, versioning sémantique (SemVer)

  • Documentation, badges et publication sur Packagist

🚀 De la théorie à la pratique : un projet complet autour d’une API réelle

Tout au long de la formation, vous réalisez un projet complet basé sur l’API Recherche d’entreprises du gouvernement français.
Ce cas concret vous permet de mettre en œuvre toutes les étapes du workflow professionnel :

  • appel à une API réelle avec HttpClientInterface,

  • gestion des erreurs et journalisation,

  • typage fort des données JSON grâce à des DTO (Entreprise, Siege, SearchResult),

  • intégration du service dans un contrôleur et une commande console.

Ce n’est pas une simple démonstration : c’est un projet réel et fonctionnel, que vous transformerez pas à pas en un bundle Symfony publiable et réutilisable.

🧰 Ressources incluses

📄 Fichiers téléchargeables

  • Code source du bundle Symfony prêts à l’emploi

  • Guide de formation au format PDF et ePub (lecture hors ligne)

  • Exemples d’implémentation commentés et reproductibles

  • Templates prêts à l’usage : composer.json, phpunit.xml, workflows GitHub Actions

  • Documentation complète : README, LICENSE, CONTRIBUTING

📽️ Vidéos pédagogiques

  • 20 vidéos claires, structurées et progressives

  • Démonstrations de code en conditions réelles

  • Suivi du workflow complet d’un·e dev Symfony professionnel·le

🎓 Accessibilité & Prérequis

Cette formation est accessible à tout·e dev Symfony disposant des bases du framework, sans besoin d’expérience avancée.
Chaque module introduit d’abord les concepts fondamentaux, avant d’aborder progressivement les notions plus techniques (injection de dépendances, autowiring, création d’interfaces, tests, publication…).

En suivant le parcours complet, vous serez accompagné·e pas à pas pour comprendre la logique d’un workflow professionnel et la reproduire dans vos propres projets.

⚙️ Pré-requis techniques

  • PHP 8.1+

  • Symfony 7+

  • Composer installé et fonctionnel

  • Un éditeur de code (VS Code, PHPStorm, ou équivalent)

  • Notions de base en Git (recommandées mais non indispensables)

🎯 En résumé : si vous savez créer une application Symfony simple, vous avez tout ce qu’il faut pour réussir cette formation.

🧭 Pourquoi cette formation est différente

Cette formation va au-delà du “comment faire”. Elle vous montre pourquoi et comment concevoir du code structuré, réutilisable et publiable — comme dans un véritable projet professionnel.

Chaque module a été conçu pour reproduire les conditions réelles du développement Symfony moderne :

  • 🧱 Progression structurée — chaque étape consolide la précédente pour ancrer les notions durablement ;

  • ⚙️ Cas concret réel — intégration d’une API publique utilisée tout au long du parcours ;

  • 💬 Pédagogie appliquée — chaque concept est expliqué dans son contexte et démontré en code ;

  • 🧪 Bonnes pratiques professionnelles — code propre, testé et documenté selon les standards open source ;

  • 🚀 Résultat concret — un bundle complet, fonctionnel et publiable sur GitHub et Packagist.

🎓 Vous ne suivez pas une simple démonstration : vous construisez un véritable projet Symfony professionnel, du service au bundle distribué.

Contents

Introduction

Introduction et Objectifs
  • 11 min
  • 154 Mo
Aperçu

Partie 1 : Créer un service dans une application Symfony

Découverte de l'API Recherche d'entreprises
  • 12 min
  • 130 Mo
Aperçu
Initialiser l'Application Symfony
  • 14 min
  • 153 Mo
Les Data Transfer Objects (DTO)
  • 19 min
  • 191 Mo
Les Services dans Symfony
  • 18 min
  • 183 Mo
Les Contrôleurs dans Symfony
  • 19 min
  • 201 Mo
Les Commandes Console
  • 17 min
  • 175 Mo
Test de l'Application / Récapitulatif
  • 9 min
  • 117 Mo

Partie 2 : Extraire le service dans un bundle

Qu'est-ce qu'un Bundle Symfony ?
  • 11 min
  • 101 Mo
Initialiser le Projet Bundle
  • 16 min
  • 143 Mo
Migrer les Modèles et Créer une Interface
  • 16 min
  • 148 Mo
Migrer la Commande et Créer la Classe Bundle
  • 19 min
  • 189 Mo

Partie 3 : Tester localement le bundle

Le Path Repository et Utilisation du Bundle
  • 22 min
  • 129 Mo
Les Tests Unitaires
  • 19 min
  • 190 Mo

Partie 4 : Publier sur GitHub et Packagist

Documentation du Bundle
  • 17 min
  • 187 Mo
Git, Releases GitHub et Versioning Sémantique
  • 18 min
  • 159 Mo
Publication sur Packagist
  • 11 min
  • 98,9 Mo
Aller plus loin (CI/CD avec GitHub Actions)
  • 13 min
  • 108 Mo
Récapitulatif et Conclusion
  • 13 min
  • 102 Mo
Remerciements
  • 5 min
  • 37,2 Mo

Fichiers et ressources

Le guide complet au format ePub (Pour une utilisation sur Kindle, Kobo etc) (Plus de 100 pages)
  • 174 ko
Le guide complet au format PDF (84 pages)
  • 2,21 Mo
Les diapositives utilisées pendant la formation (181 pages)
  • 820 ko
composer.json
  • 986 octets
phpunit.xml.dist
  • 509 octets
CODE_OF_CONDUCT.md
  • 2,81 ko
LICENSE
  • 1,04 ko
CONTRIBUTING.md
  • 2,12 ko
README.md
  • 1,47 ko

Bonus

Bonus : A vous de coder, à moi de review !
  • 7 min
  • 184 Mo

Qui suis-je ?

Professionnel de l'informatique depuis 20 ans (Infrastructure, Administration système, Gestion de la demande, Gestion de parc ou encore déploiements) j'ai développé une expertise en gestion de projets informatique. Pour élargir mon domaine de compétences, je me suis également spécialisé dans le développement (essentiellement Backend) PHP et en particulier avec le framework Symfony.

J'anime une chaîne youtube spécialisée dans Symfony et le DevOps depuis 5 ans, avec plus de 23000 followers, plus de 300 vidéos et plus d'un million et demie de vues !

Mes autres formations ont déjà séduit et former près de 1000 étudiants et étudiantes.