Skip to content

A set of programs to connect to "La Vie Scolaire" and "pronote" websites. Allow teachers to work on local spreadsheets and sync with the website or automate other tasks.

License

AGoyet/LVSconnect

Repository files navigation

LVSconnect

This project aims to automate some tasks when using either the "La Vie Scolaire" websites made by AXESS, or the "pronote" websites made by INDEX ÉDUCATION. The project is not affiliated with AXESS or INDEX ÉDUCATION.

A valid username and password for the website is necessary.

Installation

You will need to have Python 3 and the packages in requirements.txt installed. This can be done in a console with:

python -m pip install --upgrade pip
python -m pip install -r requirements.txt

The packages tkcalendar and pronotepy are optional. Without tkcalendar, the programs will automatically select the "no graphical interface" option. Without pronotepy, connection will only be possible to La Vie Scolaire.

Usage

All programs have command line options (launch any with "-h" to see those options), but all can be run without any options, and will ask interactively for any needed parameter.

lvs_send_grades

This program does the reverse of the "export" function on the website. The user should first use that function to get a .csv (the export option is hidden in a "three dots" menu button in the "appreciation" tab of the "evaluation" section). The user can then modify this .csv file in a spreadsheet, save it, then run the program (which will ask for the file). The program will then upload all new grades an tests, as well as any modified test parameters (max grade and coefficient). If the upload would result in any deletion or overwriting of grades, the program will give a warning (with the name of affected students) and ask for confirmation.

The format of the .csv file (as generated by the website) includes test names on the first line, with the cell below each name describing the maximum grade and coefficient, such as "/10 - Coef : 0.5".

Limitations

Each test present on the website has a creation date and a "published" flag (on by default). Since those are not included in the exported .csv file, the program cannot guess them accurately (the current date is used when creating tests). The user will thus need to use the website to set those correctly, for example when uploading multiple tests at once.

lvs_send_appreciations

This program does essentially the same as lvs_send_grades, but for appreciations. The user can download the .csv file from the website, edit column with the student's appreciations, then use the program to upload those to the website. If the upload would result in any deletion or overwriting, the program will give a warning with the name of affected students and ask for confirmation.

Known issue (pronote only)

The program can modify an existing appreciation, but not create a new one. This seems to be due to an inconsistency in the internal pronote API. The only fix currently is to create dummy appreciations first, then overwrite with the program. Note that empty appreciations (including white spaces) are not saved on pronote. The dummy appreciations should therefore contain at least one character, for example ".".

lvs_attendance (La Vie Scolaire only for now)

This program will show all students that were absent for a given test, with the motive as registered by the school administration. This is slightly better than using the calendar view for attendance on the website, which checks for a "class" of students whereas this program checks for a "class". Groups can mix students from multiple classes, and tests are given to a group, not a class. On top of that the program filters out the students who have a numeric non zero grade for the test.

The user can also choose to check the attendance for a whole group for a given date, irrespective of tests (this is useful for a test which is not uploaded to the website yet).

lvs_find_free_room (La Vie Scolaire only for now)

This program downloads the time schedule for each room then displays the ones which are free at a given date and time. Without any arguments, it asks for date and time.

Configuration file

By default, all programs look for a config file in the platform appropriate locations, using module appdir, and also in the executable's folder. This is a json file named LVSconnect_config.json. It can contain any of the command-line parameters, for example the "user" parameter to save time at login. The values from the config file are overridden by those passed on the command line.

A specific case is the base-url parameter. If this is not provided, the program will ask interactively for the url, then create a configuration file to save it for future use. This url is used to detect if the La Vie Scolaire or pronote back end should be used.

Distribution / customization

To distribute this program to staff at your school, you might want to add your own LVSconnect_config.json file with your own school's base url as explained in the "configuration file" section. This can be done easily by simply including the file generated on first launch.

To distribute it as a Windows executable, the provided pyinstaller scripts can be used (the .bat script can be run on Linux with bash -c pyinstaller_script.bat). This generates a "dist" folder with one .exe file for each program.

FAQ

If this is all for a french website, why is this program speaking English to me?

Because English is the lingua franca of programming. This would allow part of the code (including dialogs) to be reused in other projects not aimed at a french audience. A localization PR would of course be welcome.

Then why is this program sometimes speaking French to me?

Some of the text comes directly from the website and is thus possibly in French.

Does the program store my password?

No. The password stays in memory only. This is also true for the user name. You can add your password to the configuration json file to save time, but this is not recommended and not done automatically.

About

A set of programs to connect to "La Vie Scolaire" and "pronote" websites. Allow teachers to work on local spreadsheets and sync with the website or automate other tasks.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages