Skip to content
Snippets Groups Projects
Verified Commit ef619340 authored by orestis.malaspin's avatar orestis.malaspin
Browse files

added dojo tuto

parent 4c546d93
No related branches found
No related tags found
No related merge requests found
---
title: "Dojo"
date: "2024-01-11"
---
# 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).
# Installation
* Détails sur [\alert{ce lien}](https://gitedu.hesge.ch/dojo_project/projects/ui/dojocli/-/wikis/UserDocumentation/0-Installation).
## Résumé
\footnotesize
* Naviguer sur la [\alert{page release}](https://gitedu.hesge.ch/dojo_project/projects/ui/dojocli/-/releases),
* Choisir le package pour l'architecture de son choix [\alert{Ubuntu/Debian}](https://gitedu.hesge.ch/api/v4/projects/12972/packages/generic/dojo_debian-pkg-x64/3.2.0/dojo.deb),
* A la CLI (toujours Debian/Ubuntu)
```console
wget https://gitedu.hesge.ch/api/v4/projects/12972/packages/generic/dojo_debian-pkg-x64/3.2.0/dojo.deb
sudo dpkg -i dojo.deb
```
* Est-ce que ça a marché?
```console
$ dojo
Usage: dojo [options] [command]
CLI of the Dojo application
Options:
-h, --help display help for command
-H, --host <string> override the Dojo API endpoint (default: "https://rdps.hesge.ch/dojo/api")
-V, --version output the version number
```
# Authentification
* Détails sur [\alert{ce lien}](https://gitedu.hesge.ch/dojo_project/projects/ui/dojocli/-/wikis/UserDocumentation/1-Authentification).
## Résumé
* Authentification via `gitedu`
```console
dojo session login
```
* Ouverture de gitedu dans votre navigateur,
* Cliquer sur *autoriser*,
* Est-ce que ça a marché?
```console
$ dojo session 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 --assignment linked_list_string_stack
...
✔ Exercise successfully created
ℹ Id: 9016b1ae-77d6-454d-b795-d8bc2770ea05
ℹ Name: DojoEx - linked_list_string_stack - orestis.malaspin - 2
ℹ Web URL: https://gitedu.hesge.ch/dojo/exercise/dojo-ex_linked_list_string_stack_9016b1ae-77d6-454d-b795-d8bc2770ea05
ℹ HTTP Repo: https://gitedu.hesge.ch/dojo/exercise/dojo-ex_linked_list_string_stack_9016b1ae-77d6-454d-b795-d8bc2770ea05.git
ℹ SSH Repo: ssh://git@ssh.hesge.ch:10572/dojo/exercise/dojo-ex_linked_list_string_stack_9016b1ae-77d6-454d-b795-d8bc2770ea05.git
```
# Faire un exercice (2/3)
## Récupération de l'énoncé
* Clonage de l'exercice
```console
$ git clone ssh://git@ssh.hesge.ch:10572/dojo/exercise/dojo-ex_linked_list_string_stack_9016b1ae-77d6-454d-b795-d8bc2770ea05.git
```
* Astuce on peut aussi faire les 2 en une fois:
```C
$ dojo exercise create --assignment linked_list_string_stack -c .
```
# Faire un exercice (3/3)
## Exécution des tests
* Faire l'exercice
```console
$ cd dojo-ex_linked_list_string_stack_9016b1ae-77d6-454d-b795-d8bc2770ea05
$ dojo exercise run --verbose
```
* Yaka faire l'exercice, commit, et push!
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment