![MIT License](https://img.shields.io/github/license/AYDEV-FR/ISEN-API.svg?style=for-the-badge)
Table of Contents
-
About The Project
- Usage
- Roadmap
- Contributing
- License
- Contact
About The Project
![Product Name Screen Shot](https://github.com/AYDEV-FR/ISEN-Api/raw/v0.0.6/images/demo.gif)
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-toulon.isen.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!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
)
- Commit your Changes (
git commit -m 'Add some AmazingFeature'
)
- Push to the Branch (
git push origin feature/AmazingFeature
)
- Open a Pull Request
(back to top)
License
Distributed under the MIT License. See LICENSE
for more information.
(back to top)
@AydevFR - aymeric (dot) deliencourt (at) isen (dot) yncrea (dot) fr
(back to top)
(back to top)