PHP, Symfony, Laravel, et la suite

Ici, on apprend à coder en codant.

PHP, Symfony et Laravel tournent dans votre navigateur. Vous écrivez le code, la page se recharge, puis les tests vous disent si c'est bon. Rien à installer, aucune vidéo à regarder.

Essayer un exercice sans compte, promis

Le premier chapitre de chaque parcours est gratuit avec un compte.

MenuController.php index.html.twig
// Bruna veut une carte visible à l'adresse /menu
#[Route('/menu', name: 'app_menu')]
public function index(): Response
{
    return $this->render('menu/index.html.twig', [
        'taverne'    => 'La Taverne du Dragon Ivre',
        'platDuJour' => 'Ragoût de sanglier',
    ]);
}▌
localhost/menu La Taverne du Dragon Ivre Plat du jour Ragoût de sanglier Hydromel de la maison3 po
Objectifs La carte est accessible Le plat du jour est affiché Les prix sont en pièces d'or 2 / 3 validés+ 100 XP

Le code à gauche, la page à droite. Vous changez une ligne, l'aperçu se recharge. Un clic lance les tests.

On code dès la première minute

Chaque notion s'apprend en l'écrivant, dans un éditeur avec complétion, face à un aperçu qui réagit à chaque ligne.

Tout tourne dans l'onglet

PHP, Symfony et Laravel s'exécutent dans le navigateur. Il n'y a ni Docker ni environnement à réparer avant d'écrire la première ligne.

Un projet qui grandit

Chaque parcours suit le même projet du premier au dernier chapitre. Le code écrit au début sert encore à la fin.

Comment ça marche

Un exercice, en quatre temps

  1. Lisez la consigne

    Un besoin concret, posé par un personnage du parcours : une carte des plats, une réservation, un registre des employés.

  2. Écrivez le code

    Dans un éditeur avec complétion et coloration, sur les fichiers d'un vrai projet. La documentation officielle est à un clic.

  3. Regardez l'aperçu

    Votre page se recharge à chaque modification. Une erreur s'affiche ; avec un compte, le mentor vous l'explique en français.

  4. Validez les objectifs

    Des tests automatisés vérifient chaque objectif. Bloqué ? Un indice gradué, jamais la solution d'entrée de jeu.

Le fil rouge

Chaque parcours raconte l'histoire d'un projet

Dans le parcours Symfony, Bruna vient de reprendre la Taverne du Dragon Ivre et n'a jamais eu de site. Dans le parcours PHP, Madame Lou, la factrice de Saint-Glinglin, veut mettre la gazette du village en ligne. Chaque exercice part d'une de leurs demandes.

Le code du premier exercice sert encore au dernier chapitre. Vous apprenez comme on développe pour de vrai, sur un projet qui grandit, qu'on relit et qu'on fait évoluer.

Les parcours

Les parcours disponibles. D'autres suivent.

Vous débutez en PHP ? Apprenez les bases du langage, les objets, l'autoload de Composer et un routeur, sans framework, en mettant en ligne la gazette d'un petit village.

6 chapitres · 39 exercices · environ 13 h 29,00 € 19,00 € TTC, accès à vie Prix fondateur encore 100 places Acheter Premier chapitre gratuit
  1. 01 La une du jour gratuit · 6 ex. · ≈ 1 h 45
    echoVariableChaîne de caractèresNombreConcaténation
  2. 02 La rédaction s'organise 9 ex. · ≈ 3 h 15
    ClasseObjetConstructeurArguments nommésreadonly
  3. 03 Trop de require 4 ex. · ≈ 1 h 30
    require_once__DIR__Organisation du codeDébogageMessage d'erreur
  4. 04 Composer prend le relais 4 ex. · ≈ 1 h
  5. 05 Chaque article a son adresse 9 ex. · ≈ 3 h
    composer requireDépendancevendor/ComposerRouteur
  6. 06 La Gazette est en ligne 7 ex. · ≈ 3 h
    Gabarit<?= ?>ob_start()extract()require

Vous maîtrisez PHP et la POO ? Apprenez Symfony en construisant, chapitre après chapitre, le site de la Taverne du Dragon Ivre.

12 chapitres · 74 exercices · environ 47 h 79,00 € 49,00 € TTC, accès à vie Prix fondateur encore 99 places Acheter Premier chapitre gratuit
  1. 01 Premiers pas à la taverne gratuit · 8 ex. · ≈ 3 h
  2. 02 La cave et le garde-manger 6 ex. · ≈ 2 h 45
    EntitéMappingDoctrineRepositoryInjection de dépendances
  3. 03 Les parchemins de la taverne 6 ex. · ≈ 2 h 45
    FormulaireFormTypeEntityTypeCSRFValidator
  4. 04 Les clés de la taverne 6 ex. · ≈ 3 h 30
    Pare-feuform_loginaccess_controlUserInterfaceProvider entity
  5. 05 Les parchemins magiques 6 ex. · ≈ 4 h 30
    API JSON$this->json()Serializer#[Groups]#[Groups] sur une méthode
  6. 06 Plus jamais ça ! 6 ex. · ≈ 4 h
    WebTestCasecreateClient()submitFormAssertionsBase de test
  7. 07 Le corbeau messager 6 ex. · ≈ 3 h 30
    MessengerMessage#[AsMessageHandler]MessageBusInterfaceTransport
  8. 08 Retour à la cave 6 ex. · ≈ 4 h 45
    Migrationsdoctrine:migrations:diffdoctrine:migrations:migrateup() et down()Migration de données
  9. 09 Les rouages de la taverne 6 ex. · ≈ 3 h 30
    Événements du noyaukernel.request#[AsEventListener]RequestEventClockInterface
  10. 10 La vie d'une réservation 6 ex. · ≈ 4 h 30
    MailerMailerInterfaceEmailMAILER_DSNassertEmailCount
  11. 11 Les ordres du patron 6 ex. · ≈ 4 h
  12. 12 Le grand service 6 ex. · ≈ 6 h 15
    ModélisationEntités et relationsValidationMigrationsContrôleur et templates

Go côté serveur, à la façon de Laravel : routes, contrôleurs, vues, validation, middleware et base de données, en écrivant l'API d'une coopérative de coursiers à vélo. Gratuit, dans le navigateur, sans rien installer.

4 chapitres · 13 exercices · environ 4 h 30 Premier chapitre gratuit
  1. 01 Premier coup de pédale gratuit · 4 ex. · ≈ 1 h 15
  2. 02 La tournée 4 ex. · ≈ 1 h 30
    StructTag JSONQuery stringfor rangeappend
  3. 03 Le local ferme à clé 2 ex. · ≈ 40 min
    Groupe de routesPréfixeFonction anonymeMiddlewareEn-tête HTTP
  4. 04 Le carnet 3 ex. · ≈ 1 h

En préparation

  • Sécuriser une application Symfony Bientôt

    Vous avez fait le parcours Symfony ? Apprenez à sécuriser une application réelle en réparant, faille après faille, la boutique en ligne de la Brasserie Lacombe, piratée la veille de votre arrivée.

  • Laravel pour les devs PHP Bientôt

    Vous maîtrisez PHP et la POO ? Apprenez Laravel en construisant, chapitre après chapitre, le site qui ramènera Plok, extraterrestre égaré, sur sa planète.

  • Symfony et l'IA Bientôt

    Vous connaissez Symfony ? Branchez un modèle d'IA dans une vraie application avec Symfony AI : agent, sortie structurée, outils, RAG et serveur MCP, en construisant l'assistant du service client du Comptoir.

  • Apprendre le TDD en PHP Bientôt

    Écrivez le test d'abord : rouge, vert, refacto. Apprenez le TDD avec PHP 8.5 et PHPUnit 12, des premiers tests aux doublures et au code hérité, en remplaçant le vieux tableur de paie d'une fruitière à comté.

  • Docker pour les devs PHP Bientôt

    Votre application PHP marche sur votre machine ? Apprenez Docker en l'embarquant, conteneur après conteneur, du premier docker run jusqu'à la mise en production, sur les quais de la criée de Port-Bigorneau.

  • Nuxt pour les devs Vue Bientôt

    Vous connaissez Vue ? Apprenez ce que Nuxt y ajoute (pages, rendu serveur, partie serveur) en passant sur Nuxt le site du refuge du Pic Tordu, à 2 350 mètres, où le réseau passe mal.

Une fiche de cours à la fin de chaque chapitre, en page web et en PDF. À la fin du parcours, le livret complet : votre mémo, écrit à mesure que vous l'avez appris.

L'IA à sa juste place

Un mentor qui donne des pistes, jamais la solution

Un modèle qui écrit la solution ne vous apprend rien. Ici, l'IA intervient seulement là où un bon mentor interviendrait, quel que soit le parcours. Les indices sont ouverts à tous ; la revue et les explications accompagnent les apprenants connectés.

Des indices gradués.Une piste, puis une direction, puis un extrait. Vous décidez jusqu'où aller.

Une revue de code.Quand les tests passent, un regard sur ce qui pourrait être plus idiomatique.

Des erreurs expliquées.Une exception traduite en cause probable, sans vous donner la correction.

Pour qui

Que vous codiez déjà ou pas encore

Développeur en poste

Vous ajoutez une corde à votre arc, avec les bonnes pratiques d'emblée plutôt qu'en revue de code. Aujourd'hui PHP 8 et Symfony, bientôt Laravel, Nuxt et Docker.

Étudiant en informatique

Vous avez vu la théorie en cours. Il vous manque la pratique sur un vrai projet, celle qu'on attend en stage ou en alternance.

Équipe ou école

Vous formez plusieurs personnes et voulez suivre leur progression : un lien d'invitation, les parcours de votre choix, un tableau de suivi. L'offre écoles et entreprises.

Qui est derrière

Derrière Forelse, il y a Arnaud

Conçu par Arnaud Pointet, développeur indépendant (Forelse, Bordeaux), qui écrit chaque exercice comme il aurait voulu apprendre. Le moteur de la plateforme est sous licence open source (AGPL) : son code est publié, pour le lire ou le faire tourner chez vous.

Découvrir mon parcours et mes expertises

Prêt à commencer ?

Le premier chapitre de chaque parcours est gratuit. Créez votre compte : votre progression vous suit.

Questions fréquentes

Ça tourne vraiment dans le navigateur ?

Oui. Le langage et le framework du parcours s'exécutent en WebAssembly, dans un onglet. Rien ne part sur un serveur pour exécuter votre code.

Quels parcours ?

Aujourd'hui : Apprendre PHP 8, Symfony pour les devs PHP et Découvrir Goravel. En préparation : Sécuriser une application Symfony, Laravel pour les devs PHP, Symfony et l'IA, Apprendre le TDD en PHP, Docker pour les devs PHP et Nuxt pour les devs Vue.

Combien ça coûte ?

Le premier chapitre de chaque parcours est gratuit : il suffit de créer un compte. Le parcours complet s'achète une fois, prix TTC affiché, pour un accès à vie et à ses mises à jour : pas d'abonnement. Une école ou une entreprise peut aussi ouvrir l'accès à tout un groupe, sur devis.

Je bloque sur un exercice, que se passe-t-il ?

Vous demandez un indice, puis un deuxième, plus précis. Avec un compte, la solution complète est consultable, mais elle ne rapporte pas l'XP de l'exercice.

Quelle différence avec les tutoriels vidéo ?

Vous ne regardez rien : vous écrivez tout le code vous-même, sur un projet qui grandit exercice après exercice. Le temps passé est du temps de pratique.

Est-ce à jour ?

Chaque parcours cible les versions actuelles (Symfony 8 et PHP 8.5 pour le premier), et les exercices sont vérifiés automatiquement à chaque mise à jour du moteur.

Puis-je l'héberger moi-même ?

Oui, à terme : le moteur est sous licence AGPL et son code sera publié à l'ouverture. Les parcours, eux, sont le contenu payant : c'est ce que vous achetez.