41 lines
1.8 KiB
Markdown
41 lines
1.8 KiB
Markdown
# Exercice 1.3 "API REST" - Gauvain BOICHÉ
|
|
|
|
### Modèle(s) utilisés
|
|
|
|
- [MiniMax M3](https://www.minimax.io/blog/minimax-m3) (version 2026-06-12) avec étendue "Entire Web" activée.
|
|
|
|
### Usage de l'IA
|
|
|
|
Je déclare avoir usé de l'IA pour :
|
|
|
|
- Redéfinir les demandes (pourquoi l'absence de PUT ou DELETE dans une API REST ?) et les contours
|
|
=> "Sans toutes les méthodes, l'API sera dite REST-incomplète"
|
|
- Etablir des co-dépendances non mentionnées (comment lire deux listes sans threading ?)
|
|
=> `import threading`
|
|
=> `import urlparse`
|
|
- Quels garde-fous mettre sans connaissance de base ?
|
|
=> Valider le format de l'adresse IP
|
|
=> Rejet des doublons
|
|
=> Gérer un ID non fourni lors d'un POST
|
|
- Quelle gestion des états ?
|
|
=> 405 "Method not allowed"
|
|
=> 415 "Unsupported media type"
|
|
=> 500 "Internal Server Error"
|
|
- Sécurité ?
|
|
=> Appels anonymes, pas de limites ?
|
|
=> `_next_id = 1`
|
|
=> `MAX_BODY = 1_048_576 # 1 Mo`
|
|
|
|
Alors, ce n'est pas pour autant que j'ai TOUT implémenté. J'ai corrigé un ou deux trucs, mais faire des méthodes PUT et DELETE aurait prit trop de temps. Rédiger ex nihilo des fonctions sur une stack que je ne connais pas, c'est déjà bien assez comme ça.
|
|
|
|
### Non-usage de l'IA
|
|
|
|
Je déclare n'avoir pas usé de l'IA au profit des documentations officielles pour établir les fonctions.
|
|
|
|
Les documentations utilisées :
|
|
|
|
- [Exemple de fonctions déjà rédigées](https://gist.github.com/scimad/ae0196afc0bade2ae39d604225084507)
|
|
- [Doc http.server pour Python 3.12](https://docs.python.org/3.12/library/http.server.html)
|
|
- [Doc urllib.parse pour Python 3.12](https://docs.python.org/3.12/library/urllib.parse.html)
|
|
- [Threading](https://docs.python.org/3/library/threading.html#threading.Lock)
|
|
- [Architecture REST](https://ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm) |