liveen directLe code à gauche, la pièce à droite
Chaque touche compte : les objets glissent vers leur nouvelle place pendant qu’on tape. On voit immédiatement ce que change space-between par rapport à space-around.
Décore la maison. Maîtrise flexbox.
Six pièces à décorer, du salon au grenier. Tu écris du vrai CSS dans le carnet du designer, et les cadres, assiettes, post-it et jardinières glissent en direct vers les gabarits en papier kraft scotchés au mur. Quand tout tombe pile, le tampon claque : Parfait !
Le concept
Accrocher trois cadres sur un mur, c’est exactement le problème que résout flexbox : répartir des objets dans une boîte. Alors plutôt que des rectangles gris, Maison Flex donne au joueur une vraie maison à décorer. À gauche, le carnet du designer et son éditeur de code. À droite, la pièce, qui obéit au CSS en direct.
liveen directChaque touche compte : les objets glissent vers leur nouvelle place pendant qu’on tape. On voit immédiatement ce que change space-between par rapport à space-around.
kraftgabaritsComme pour un vrai mur de cadres, des gabarits scotchés montrent où va chaque objet. Un ✓ s’épingle dès qu’un objet est en place. Toute solution correcte marche, pas seulement celle du corrigé.
helpPompon« centre » au lieu de center, une unité oubliée, un « ; » manquant : le jeu explique l’erreur en français, sur la bonne ligne. Et Pompon, le chat décorateur, glisse un mot quand il le faut.
Essaie tout de suite
Quatre vraies missions du jeu. Écris ton CSS dans le carnet (ou touche les pastilles de valeurs), et fais coïncider chaque objet avec son gabarit en papier kraft.
·
Tu viens de faire tes premiers pas en flexbox. Dans le jeu, il reste 37 niveaux : des bocaux à l’envers, un mur de polaroids, un tableau de post-it, une clôture de jardin… et le grenier.
Le plan de la maison
Chaque pièce apprend une famille de propriétés et se termine par un défi ★ qui mélange tout. Clique sur une pièce de la maison pour voir son programme.
Premier chantier : le mur au-dessus du canapé. On y accroche des cadres, un miroir et deux appliques, en découvrant les six valeurs de justify-content (jusqu’aux subtiles space-around et space-evenly), puis align-items pour descendre les cadres au ras du canapé.
On fait tourner l’axe principal avec flex-direction et on tombe sur le piège classique : en row-reverse, flex-start et flex-end échangent leur place. Puis order, le premier code qui ne vise qu’un seul objet : la théière passe après les tasses.
align-self descend la lune sans bouger les étoiles. Puis le mur de souvenirs : dix photos sur une seule ligne s’écrasent… jusqu’à ce qu’on les laisse passer à la ligne avec flex-wrap. On finit en constellation, en une seule ligne de flex-flow.
Des dizaines de post-it à épingler. gap pour aérer, row-gap et column-gap pour doser, puis align-content, qui répartit des lignes entières… et ne fait rien du tout quand il n’y en a qu’une.
Le chapitre le plus fin. Une jardinière qui grandit (flex-grow), trois jardinières sur mesure (flex-basis), un banc qui refuse de rétrécir (flex-shrink), un portillon poussé par une marge auto, et le raccourci flex pour tout résumer.
Quatre défis, aucun nouvel outil : tout ce qui précède, mélangé. Le dernier, « La touche finale », demande des lignes centrées et aérées, le globe en premier et une étagère qui s’étire pour remplir sa ligne : trois blocs de code à écrire.
Le nuancier
Chaque propriété apprise devient une carte du nuancier, comme un échantillon de peinture, avec sa petite démo vivante. À la fin de la maison, c’est l’antisèche flexbox complète. Touche une valeur pour la voir en action :
justify-contentRépartit les objets sur l’axe principal (horizontal par défaut).
align-itemsAligne les objets sur l’axe secondaire (vertical par défaut).
flex-directionChoisit le sens de l’axe principal : en ligne ou en colonne, à l’endroit ou à l’envers.
ordersur un objetChange la place d’un objet. Tout le monde commence à 0 : un nombre plus grand l’envoie plus loin, un négatif le fait passer devant.
align-selfsur un objetComme align-items, mais pour un seul objet.
flex-wrapAutorise les objets à passer à la ligne quand il n’y a plus de place.
flex-flowRaccourci : flex-direction puis flex-wrap, sur une seule ligne.
gapL’espace entre les objets. Une valeur pour tout, ou deux : lignes puis colonnes.
align-contentRépartit les lignes d’objets. Ne fait rien s’il n’y a qu’une seule ligne !
flex-growsur un objetCombien un objet grandit pour remplir la place libre. 0 = il ne grandit pas.
flex-basissur un objetLa taille de départ d’un objet sur l’axe principal, avant de grandir ou de rétrécir.
flex-shrinksur un objetCombien un objet rétrécit quand la place manque. 0 = il garde sa taille.
margin-leftsur un objetL’astuce : une marge auto avale toute la place libre et pousse l’objet tout au bout.
flexsur un objetRaccourci : flex-grow, flex-shrink et flex-basis d’un coup.
Dans le jeu
Papier découpé, traits d’encre qui tremblent comme un dessin animé, scotch washi et lettrage au marqueur : la même patte que Git Quest et Neon Query, dans une maison de poupée. Cliquez sur une image pour l’agrandir.
À gauche, le carnet à spirale : la mission, Pompon, l’aide-mémoire et l’éditeur « plan d’architecte ». À droite, la pièce. On tape justify-content: space-between;, les appliques filent contre les bords, le paysage reste pile entre les deux.
Chaque nouvelle propriété arrive sur une carte nuancier : ce qu’elle fait en une phrase, et des pastilles qui écrivent la valeur dans le code (pratique au début, et sur téléphone).
Après une courte pause, le jeu souligne la ligne fautive et dit pourquoi, en français. Une faute de frappe, un mot français, une unité oubliée, un « ; » manquant : chaque erreur de débutant a son message.
D’abord un coup de pouce gratuit (quelle propriété, quel bloc), puis un squelette à trous qui coûte une étoile, enfin la solution. On cherche d’abord, on n’est jamais bloqué longtemps.
Le vrai déclic de flexbox, c’est de comprendre l’axe principal et l’axe secondaire. Le bouton « Axes » les dessine sur le mur et suit flex-direction et wrap-reverse : en column, on voit justify-content devenir vertical.
Le tableau en liège
Un formateur les corrige cent fois par session. Maison Flex les explique à la seconde, avec les mots du débutant. Voici six vrais messages du jeu :
justify-content: centre;
« centre » n’est pas une valeur possible pour justify-content. Tu voulais dire center ?
gap: 30;
Il manque l’unité : écris 30px.
justfy-content: center;
« justfy-content » n’existe pas. Tu voulais dire justify-content ?
justify-content: center
align-items: center;
Il manque un « ; » à la fin de cette ligne : la ligne suivante ne marche pas non plus.
Exactement comme un vrai navigateur : une ligne cassée casse la suivante.position: absolute;
« position » existe, mais ici on déplace les objets uniquement avec flexbox.
Pas de raccourci : on apprend flexbox, pas à tricher.display: block;
Sans display: flex, flexbox ne fonctionne plus !
Du salon à ton vrai site
Le CSS du jeu est du vrai CSS. Chaque niveau cache une situation qu’on rencontre dès qu’on intègre une page web : les voici, rendues ici avec exactement le même code.
justify-content: space-between;
align-items: center;
devient Une barre de navigation
justify-content: center;
align-items: center;
devient Centrer une fenêtre (enfin !)
flex-wrap: wrap;
gap: 8px;
devient Une grille de cartes produits
.champ {
flex-grow: 1;
}
devient Une barre de recherche
.sortie {
margin-left: auto;
}
devient Le bouton « Déconnexion » à droite
.avatar {
flex-shrink: 0;
}
devient Un avatar qui ne s’écrase pas
Formateurs, écoles, entreprises
Questions
propriété: valeur;, et le premier niveau le montre. Chaque nouvelle propriété arrive sur une carte « Nouvel outil », avec des pastilles de valeurs qui écrivent la ligne à votre place au début.Pompon a sorti le mètre ruban, les cadres attendent dans les cartons. Première mission : le mur du canapé.
Autres jeux Reverb Games
On n'utilise que des cookies indispensables pour vous garder connecté. Pas de pub, pas de pistage.