Nouveau développeur
Vérifié contre le produit le .
D’un dépôt cloné à une contribution qui passe le pipeline. Sept journées, chacune finissant sur quelque chose qui tourne, et chacune portant le piège d’environnement qui aurait pu vous coûter la journée.
À qui ce parcours s’adresse
Section intitulée « À qui ce parcours s’adresse »À un développeur qui rejoint le projet. Il suppose que vous savez lire du TypeScript et vous servir de Docker ; il ne suppose rien du produit, du monorepo, ni des conventions maison.
Il répond à « comment je fais », pas à « pourquoi c’est comme ça ». Les décisions
d’architecture vivent dans docs/, au format d’une note par sujet, et ce parcours vous apprend
surtout à vous en servir.
Les sept jours
Section intitulée « Les sept jours »| Jour | Ce que vous obtenez | Durée |
|---|---|---|
| J1 — Le dépôt tourne | l’application répond en local | 2 h |
| J2 — Les données existent | un établissement peuplé à explorer | ½ j |
| J3 — La carte du monorepo | savoir où va un changement donné | 2 h |
| J4 — Le modèle et le RLS | comprendre pourquoi une requête ne renvoie rien | ½ j |
| J5 — Les contrats | ajouter un champ de bout en bout | ½ j |
| J6 — Le solveur | lancer un solve et lire son résultat | ½ j |
| J7 — Contribuer | une première PR qui passe le pipeline | 1 j |
Trois journées environ de travail effectif, étalées sur une semaine d’arrivée — le reste du temps part en installation, en lecture et en questions.
Se servir de docs/
Section intitulée « Se servir de docs/ »Le dossier docs/ du dépôt porte trente et une notes de conception : contrats, décisions,
spécifications. Elles ne sont pas rangées par ordre de lecture — elles répondent à des questions.
Voici lesquelles.
| Votre question | La note |
|---|---|
| Comment fonctionnent les permissions et leur portée ? | rbac.md |
| Comment sont modélisés années, périodes, semaines et créneaux ? | calendar.md |
| Comment sont modélisés formations, groupes, enseignants, matières et cours ? | pedagogy.md |
| Qu’est-ce qui empêche deux occupations de se superposer ? | occupancy.md |
| Comment un cours est-il placé, et comment les créneaux sont-ils proposés ? | course-placement.md, planning-grid.md |
| D’où vient le score d’un créneau ? | scoring.md, constraints.md, constraints-spec.md |
| Comment fonctionne le solveur, et son orchestration ? | solver.md, solve-orchestration.md, constraints-contract.md |
| Que veut dire « publier » un planning ? | planning-publication.md |
| Comment marchent les imports CSV ? | imports.md |
| Quels patterns le front applique-t-il ? | frontend.md |
| Comment fonctionne le temps réel ? | realtime.md |
| Comment sont envoyées les notifications ? | notifications.md |
Deux règles pour ne pas s’y perdre :
docs/décrit la conception, ce site décrit l’usage. Les deux ne se recopient pas : une page d’ici cite les notes dont elle dérive, en pied de page.- Certaines notes ont vieilli.
demo-script.mdannonce des ports faux, leREADME.mdracine liste cinq applications sur sept et un JDK 17 au lieu de 21. Chaque jour de ce parcours signale l’écart quand il en rencontre un — c’est le dépôt qui fait foi, pas sa description.
Ce que ce parcours ne couvre pas
Section intitulée « Ce que ce parcours ne couvre pas »- Le produit du point de vue de l’utilisateur : c’est le chemin de 2 heures, et les guides par rôle.
- La documentation exhaustive de l’API : l’OpenAPI émis fait référence, servi sur
http://localhost:3001/docs. - Les conventions de revue au-delà de ce qu’il faut pour une première contribution.
Commencez par J1 — Le dépôt tourne.