Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
C
cours
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
programmation_sequentielle
cours
Compare revisions
78b25c0489050a92600bfad4a0f36fd7c32acc76 to 6e41e36bfb0af25c0121b742a7cdaa43a61a4ec5
Compare revisions
Changes are shown as if the
source
revision was being merged into the
target
revision.
Learn more about comparing revisions.
Source
programmation_sequentielle/cours
Select target project
No results found
6e41e36bfb0af25c0121b742a7cdaa43a61a4ec5
Select Git revision
Branches
high-order-functions
master
pk
Swap
Target
programmation_sequentielle/cours
Select target project
programmation_sequentielle/cours
yassin.elhakoun/cours-de-prog
2 results
78b25c0489050a92600bfad4a0f36fd7c32acc76
Select Git revision
Branches
high-order-functions
master
pk
Show changes
Only incoming changes from source
Include changes to target since source was created
Compare
Commits on Source (2)
added dojo stuff
· be5fc988
orestis.malaspin
authored
1 month ago
be5fc988
Merge branch 'master' of
ssh://ssh.hesge.ch:10572/programmation_sequentielle/cours
· 6e41e36b
orestis.malaspin
authored
1 month ago
6e41e36b
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
slides/les_exos_avec_le_dojo.md
+131
-0
131 additions, 0 deletions
slides/les_exos_avec_le_dojo.md
with
131 additions
and
0 deletions
slides/les_exos_avec_le_dojo.md
0 → 100644
View file @
6e41e36b
---
title
:
"
Dojo"
date
:
"
2024-02-21"
---
# Le Dojo
*
Plateforme d'exercices pour la programmation,
*
Outil à la ligne de commande basé sur
`gitedu`
,
*
Correction automatique des exercices,
*
Fait maison par Michël Minelli (aller en A403 pour le voir),
*
En cours de développement, n'hésitez pas à ouvrir des
[
\alert{Issues}
](
https://gitedu.hesge.ch/dojo_project/issues
)
.
# Prérequis
*
Installer
`docker`
!
*
Pour savoir s'il est installé faire
```console
docker --version
```
*
Voir
\a
lert{le lien suivant}:
<https://docs.docker.com/engine/install/>
.
*
\a
lert{Activez l'exécution}:
<https://docs.docker.com/engine/install/linux-postinstall/>
de docker sans les privilèges super utilisateur·trice
# Installation
*
Détails sur
\a
lert{ce lien}:
<https://dojo.isc-hesge.ch/>
.
*
Sur MacOS / linux-postinstall
```console
curl -L "https://dojo.isc-hesge.ch/installer.sh" | sh
```
# Authentification
*
Détails sur
\a
lert{ce lien}
<https://dojo.isc-hesge.ch/user-doc/cli/authentification/>
## Résumé
*
Authentification via
`gitedu`
```
console
dojo auth login
```
*
Ouverture de gitedu dans votre navigateur,
*
Cliquer sur
*autoriser*
,
*
Est-ce que ça a marché?
```
console
$
dojo auth
test
ℹ Checking Dojo session:
✔ The session is valid
✔ Student permissions
✔ Teaching staff permissions
✔ Admin permissions
ℹ Checking Gitlab token:
✔ Read access
✔ Write access
```
# Faire un exercice (1/3)
*
Détails sur
[
\alert{ce lien}
](
https://gitedu.hesge.ch/dojo_project/projects/ui/dojocli/-/wikis/UserDocumentation/3-Exercise-creation
)
.
## Création de l'exercice
*
Création de l'exercice (liste chaînée de strings)
```C
dojo exercise create -a c_game_of_life -c .
...
ℹ Checking Dojo session:
✔ The session is valid
✔ Student permissions
ℹ Checking assignment:
✔ Assignment "c_game_of_life" exists
✔ Assignment "c_game_of_life" is published
...
```
*
Cette commande clone également le repo de l'exercice créé dans le répertoire courant
# Faire un exercice (2/3)
## Récupération de l'énoncé
*
Quand vous avez créé l'exercice, vous pouvez clone le repo comme n'importe quel autre repo gitedu
```
console
git clone https://gitedu.hesge.ch/dojo/exercise/dojo-ex_c_game_of_life_e24b65b3-c0e5-4a10-a67a-72dad4ff5ea1 c_game_of_life
```
# Faire un exercice (3/3)
## Exécution des tests
*
Faire l'exercice
```console
$ cd c_game_of_life
```
*
\a
lert{LIRE L'ÉNONCÉ JUSQU'À LA FIN!}
*
Pour réussir le TP il faut passer tous les tests se trouvant dans:
```console
src/test_suite.cpp
```
*
Pour compiler localement deux choix
*
Utiliser make
```console
cd src
make
```
*
Ou
`dojo`
```console
dojo exercice run
```
*
Vous pouvez également commit/push chaque fois que nécessaire (et surtout à la fin).
# Fonctionnement
*
Éditez le code en fonction de l'énoncé.
*
`make`
lance tout un tas de tests unitaires.
*
\a
lert{Faites les fonctions les unes }
*
Il y a deux types d'erreurs: erreur algorithmique et erreur mémoire.
*
Des fois ces erreurs sont imbriquées
*
Il y a donc deux types d'erreurs dans les tests
*
Des erreurs dans les tests unitaires
*
Des erreurs de sanitizers mémoire
This diff is collapsed.
Click to expand it.