Notes
Comment éviter de passer 2 minutes pour aller checker tes notes sur GAPS, c'est à dire heures répartie sur 3 ans ? Tu préfères une option à 2-5 secondes ?
La solution c'est une commande notes, avec un affichage minimaliste.
Setup
Loïc Herman made a really nice CLI called gaps-cli to fetch information from GAPS from the command line! notes is just a thin wrapper on top of it, to have a minimalist output.
Fedora
lxup play gaps-cli
Others distributions
See details
The fastest way to install it once you have Golang installed
go install lutonite.dev/gaps-cli@latest
If your want the additionnal wrapper
lxup get notes
Login
Warning: Your credentials will be saved in clear-text in $HOME/.config/gaps-cli/credentials.yaml !
Just type notes, it will prompt you to login at the first time...
> notes
It seems you're not logged in, let's run 'gaps-cli login' for you
Enter your HEIG-VD einet AAI username: samuel.roland
Enter your HEIG-VD einet AAI password: ok
Printing grades from GAPS
...
Or call the login action yourself
> gaps-cli login
Enter your HEIG-VD einet AAI username: samuel.roland
Enter your HEIG-VD einet AAI password: ok
Note: if you get this error, this is probably because your password has changed. Try login again gaps-cli login.
> notes
Printing grades from GAPS
FATA[0000] Error: could not find student id in javascript
Features
Showing the help
> gaps-cli
CLI for GAPS (Gaps is an Academical Planification System)
Usage:
gaps-cli [command]
Available Commands:
absences Allows to consult your absences
classes Print the current class list
completion Generate the autocompletion script for the specified shell
grades Allows to consult your grades
help Help about any command
login Allows to login to GAPS for future commands
report-card Allows to consult your report card
scraper Runs a scraper for grades for the distributed Discord notifications API
version Print the current build version
Flags:
--config string auth config file (default is $HOME/.config/gaps-cli/gaps.yaml)
--credentials string credentials config file (default is $HOME/.config/gaps-cli/credentials.yaml)
-h, --help help for gaps-cli
--log-level string logging level (default "error")
--url string GAPS URL (default is https://gaps.heig-vd.ch/)
Use "gaps-cli [command] --help" for more information about a command.
Examples of gaps-cli
If you don't like the minimalist view of notes, that's fine. Here are examples of the underlying gaps-cli.
Showing the grades of the current semester
gaps-cli grades
+------------------+-------------+------------+-----------------+------------+--------+---------------+
| CLASS | GROUP | DATE | DESCRIPTION | CLASS MEAN | WEIGHT | GRADE |
+------------------+-------------+------------+-----------------+------------+--------+---------------+
| ADS - mean 5.65 | Cours | 07.04.2025 | TE 1 | 5.0 | 100.0% | 5.8 |
| | +------------+-----------------+------------+--------+---------------+
| | | 5.8 (W: 50%) |
| +-------------+------------+-----------------+------------+--------+---------------+
| | Laboratoire | 17.03.2025 | Labo 3 | 5.5 | 100.0% | 5.3 |
| | +------------+-----------------+------------+--------+---------------+
| | | 07.04.2025 | Labo 4 | 5.5 | 100.0% | 5.7 |
| | +------------+-----------------+------------+--------+---------------+
| | | 5.5 (W: 50%) |
+------------------+-------------+------------+-----------------+------------+--------+---------------+
...
If you want to see other classes, years or format, use -h to see the sub help
> gaps-cli grades -h
Allows to consult your grades
Usage:
gaps-cli grades [flags]
Flags:
--class string Get grades for specific class
-o, --format string Output format (table, json) (default "table")
-h, --help help for grades
-s, --semester Semester Academic semester (S1, S2, all) (default S2)
-y, --year string Academic year (year at the start of the academic year, e.g. 2020 for 2020-2021 academic year) (default "2024")
Global Flags:
--config string auth config file (default is $HOME/.config/gaps-cli/gaps.yaml)
--credentials string credentials config file (default is $HOME/.config/gaps-cli/credentials.yaml)
--log-level string logging level (default "error")
--url string GAPS URL (default is https://gaps.heig-vd.ch/)
You can also get them as JSON with gaps-cli grades --format json
See JSON snippet
[
{
"name": "ADS",
"globalMean": "5.65",
"hasExam": false,
"gradeGroups": [
{
"name": "Cours",
"mean": "5.8",
"weight": 50,
"grades": [
{
"description": "TE 1",
"date": "2025-04-07T00:00:00Z",
"weight": 100,
"grade": "5.8",
"classMean": "5.0"
}
]
},
{
"name": "Laboratoire",
"mean": "5.5",
"weight": 50,
"grades": [
{
"description": "Labo 3",
"date": "2025-03-17T00:00:00Z",
"weight": 100,
"grade": "5.3",
"classMean": "5.5"
},
{
"description": "Labo 4",
"date": "2025-04-07T00:00:00Z",
"weight": 100,
"grade": "5.7",
"classMean": "5.5"
}
]
}
]
},
...
]
Other GAPS related tools
Maybe this free rooms fetcher in gaps-cli might interest you !
https://github.com/heig-lherman/gaps-cli/pull/5
Numerous apps around the slow and old GAPS interface have been developed. I have not personally tested them but I'm happy to accept contribution showing them their utility !