Skip to content

AYDEV-FR/ISEN-API

Repository files navigation

Contributors Forks Stargazers Issues MIT License GitHub Release OpenSSF Scorecard


Logo

ISEN REST API

A simple scrapping API to get all information from Aurion ENT.
Play with demo »

· Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Usage
  3. Roadmap
  4. Contributing
  5. License
  6. Contact

About The Project

Product Name Screen Shot

The goal of this project is to provide a REST API for the Aurion note manager. Although the Aurion software is an available API, it is an option.

This project was born from the Android ISEN application made by @AydevFR during a N3 project (Making an android app). It uses the same operation. The application scrapes the web interface of Aurion and then converts it and renders it on the android application.

Security

The idea of creating a REST API poses a problem of security and confidentiality because it means that your credentials or your authentication TOKEN are sent to the server hosting the REST API. The server retrieves the pages, parses them and sends your data back to you. The server has therefore knowledge of your data.

2 solutions:

  • You make your requests on api.isen-cyber.ovh, but it is a server owned by a student.
  • You can self-host the API on one of your server.

(back to top)

Built With

(back to top)

Usage

Get your token

There are two ways to get your token:

  • Use the dedicated API point, in this case you trust the server and you send your credentials to it
TOKEN=$(curl -s -X POST https://api.isen-cyber.ovh/v1/token --data '{"username":"firstname.lastname","password":"<REDACTED-PASSWORD>"}')
  • You get your token directly from ISEN's Aurion website like this
TOKEN=$(curl -sD - -X POST https://ent.isen-mediterranee.fr/login --data-raw 'username=firstname.lastname&password=<REDACTED-PASSWORD>' | grep -oP "JSESSIONID=\K([A-Z0-9]*)")

Get your notations

curl -X GET https://api.isen-cyber.ovh/v1/notations -H "Token: $TOKEN" | jq

Get your absences

curl -X GET https://api.isen-cyber.ovh/v1/absences -H "Token: $TOKEN" | jq

Get your courses

curl -X GET https://api.isen-cyber.ovh/v1/agenda -H "Token: $TOKEN" | jq

For more examples, please refer to the Swagger Documentation

(back to top)

Roadmap

  • Add unit test
  • Add planning route
  • Add informations route
  • Add teachers scrapping capabilities
  • Add possibility to automaticly calculate notation average

Please feel free to contribute :)

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

Contact

@AydevFR - aymeric (dot) deliencourt (at) isen (dot) yncrea (dot) fr

(back to top)

(back to top)

About

A simple scrapping API to get all information from Aurion ENT.

Resources

License

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors 5