ISEN-Api

command module
v0.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 25, 2024 License: MIT Imports: 2 Imported by: 0

README

Contributors Forks Stargazers Issues MIT License


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-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/planning -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)

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
pkg
api

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL