Un parcours se compose de nombreuses parties différentes.
La configuration et les métadonnées du parcours sont spécifiées dans le fichier config.json. Il répertorie les exercices du parcours, ses concepts, les paramètres de l'éditeur et bien d'autres choses encore. Consulte la documentation de config.json.
Tous les exercices d'apprentissage et d'entraînement d'un parcours font intervenir des concepts. Ces concepts sont des entités à part entière. Consulte la documentation pour plus d'informations.
Les concepts enseignés dans les exercices d'apprentissage d'un parcours forment un programme. Le programme est présenté aux apprenants sous la forme d'une carte conceptuelle. Consulte la documentation de la carte conceptuelle pour apprendre à construire la carte conceptuelle d'un programme.
Pour plus d'informations sur la façon de concevoir un programme, consulte la documentation du programme.
Les parcours proposent deux types d'exercices :
Chaque exercice possède une section Creuse plus loin facultative, qui peut contenir :
Certains fichiers ne sont pas propres à un exercice en particulier, mais s'appliquent à tous les exercices. Consulte la documentation pour plus d'informations.
Chaque parcours possède quelques fichiers de documentation obligatoires. Consulte la documentation pour plus d'informations.
Certaines parties du parcours peuvent être affichées dans des widgets.
Tous les documents doivent respecter le guide de style. Les documents Markdown doivent également respecter nos normes Markdown.
csharp ├── config | ├── exercise_readme.go.tmpl | └── maintainers.json ├── docs | ├── ABOUT.md | ├── INSTALLATION.md | ├── LEARNING.md | ├── RESOURCES.md | └── TESTS.md ├── concepts | └── numbers | ├── about.md | ├── introduction.md | └── links.json └── exercises | ├── concept | | └── cars-assemble | | ├── .docs | | | ├── hints.md | | | ├── introduction.md | | | └── instructions.md | | ├── .meta | | | ├── config.json | | | ├── design.md | | | └── Exemplar.cs (track-specific) | | ├── CarsAssemble.cs (track-specific) | | ├── CarsAssemble.csproj (track-specific) | | └── CarsAssembleTests.cs (track-specific) | ├── practice | | └── leap | | └── .docs | | | └── instructions.md | | └── .meta | | | ├── config.json | | | └── Example.cs (track-specific) | | ├── Leap.cs (track-specific) | | ├── Leap.csproj (track-specific) | | └── LeapTests.cs (track-specific) | └── shared | └── .docs | ├── debug.md | ├── help.md | └── tests.md └── config.json
Chaque parcours se voit attribuer (automatiquement) une catégorie de maintenance, qui détermine les permissions GitHub du dépôt du mainteneur du parcours.
Quand tu fusionnes une PR de parcours qui touche à un exercice, cela déclenche le re-test de toutes les dernières itérations publiées des solutions des apprenants. Pour les exercices populaires, c'est une opération très coûteuse (70 000 exécutions de tests pour le Hello World de Python, dans le cas extrême !).
On t'encourage à essayer d'éviter de le faire sans nécessité.
Les solutions ne seront pas re-testées si le commit fusionné fait l'une des choses suivantes :
.docs ou .meta, ou à d'autres fichiers avec lesquels les utilisateurs n'interagissent pas[no important files changed] dans le corps du commit.Les solutions seront re-testées si le commit fusionné à la fois :
[no important files changed] dans le corps du commit.meta/config.json) :
Quelques exemples :
[no important files changed] ajouté, donc aucun test n'a été exécuté