No Branch/Tag Specified
master
el-odf
el
celer
iziram-remove-bs
revamp
annotations_confidentielles
evalconf
iziram-main96b
RGPD
edt
assi_ev
prod
revamp-jquery
bul_but
sco96
sco95
jury_but
hotfix_auto
bac_a_sable_prod
table
upgrading_pip
cas
iziram-rev
xp
hotfix
entreprises
orebut
PNBUT
ScoDoc7
ScoDoc8
nosex
9.7.49
9.7.48
9.7.47
9.7.46
9.7.45
9.7.44
9.7.43
9.7.42
9.7.41
9.7.40
9.7.39
9.7.38
9.7.37
9.7.36
9.7.35
9.7.34
9.7.33
9.7.32
9.7.31
9.7.30
9.7.29
9.7.28
9.7.27
9.7.26
9.7.25
9.7.24
9.7.23
9.7.22
9.7.21
9.7.20
9.7.19
9.7.18
9.7.17
9.7.16
9.7.15
9.7.14
9.7.13
9.7.12
9.7.11
9.7.10
9.7.9
9.7.8
9.7.7
9.7.6
9.7.5
9.7.4
9.7.3
9.7.2
9.7.1
9.7.0
9.6.991
9.6.990
9.6.989
9.6.988
9.6.987
9.6.986
9.6.985
9.6.984
9.6.983
9.6.982
9.6.981
9.6.980
9.6.979
9.6.978
9.6.977
9.6.976
9.6.975
9.6.974
9.6.973
9.6.972
9.6.971
9.6.970
9.6.969
9.6.968
9.6.967
9.6.966
9.6.965
9.6.964
9.6.963
9.6.962
9.6.961
9.6.960
9.6.959
9.6.958
9.6.957
9.6.956
9.6.955
9.6.954
9.6.953
9.6.952
9.6.951
9.6.950
9.6.949
9.6.948
9.6.947
9.6.946
9.6.945
9.6.943
9.6.942
9.6.941
9.6.940
9.6.939
9.6.938
9.6.937
9.6.936
9.6.935
9.6.934
9.6.933
9.6.932
9.6.931
9.6.93
9.6.92
9.6.91
9.6.90
9.6.89
9.6.88
9.6.87
9.6.86
9.6.85
9.6.84
9.6.83
9.6.82
9.6.81
9.6.80
9.6.79
9.6.78
9.6.77
9.6.76
9.6.75
9.6.74
9.6.73
9.6.72
9.6.71
9.6.70
9.6.69
9.6.68
9.6.67
9.6.66
9.6.65
9.6.64
9.6.63
9.6.62
9.6.61
9.6.60
9.6.59
9.6.58
9.6.57
9.6.56
9.6.55
9.6.54
9.6.53
9.6.52
9.6.51
9.6.50
9.6.49
9.6.48
9.6.47
9.6.46
9.6.45
9.6.44
9.6.43
9.6.42
9.6.41
9.6.40
9.6.39
9.6.38
9.6.37
9.6.36
9.6.35
9.6.34
9.6.33
9.6.32
9.6.31
9.6.30
9.6.29
9.6.28
9.6.27
9.6.26
9.6.25
9.6.24
9.6.23
9.6.21
9.6.20
9.6.19
9.6.18
9.6.17
9.6.16
9.6.15
9.6.14
9.6.13
9.6.12
9.6.11
9.6.10
9.6.9
9.6.8
9.5.8
9.6.6
9.6.5
9.5.7
9.6.4
9.6.2
9.5.6
9.6.0
9.5.5
9.5.4
9.5.3
9.5.2
9.5.1
9.5.0
9.4.99
9.4.98
9.4.97
9.4.96
9.4.95
9.4.94
9.4.93
9.4.92
9.4.91
9.4.90
9.4.89
9.4.88
9.4.87
9.4.86
9.4.85
9.4.84
9.4.83
9.4.82
9.4.81
9.4.80
9.4.79
9.4.78
9.4.77
9.4.76
9.4.75
9.4.74
9.4.73
9.4.72
9.4.71
9.4.70
9.4.69
9.4.68
9.4.67
9.4.66
9.4.65
9.4.64
9.4.63
9.4.62
9.4.61
9.4.60
9.4.59
9.4.58
9.4.57
9.4.56
9.4.55
9.4.54
9.4.53
9.4.52
9.4.51b
9.4.51
9.4.50
9.4.49
9.4.48
9.4.47
9.4.46
9.4.45
9.4.44
9.4.43
9.4.42
9.4.41
9.4.40
9.4.39
9.4.38
9.4.37
9.4.36
9.4.35
9.4.34
9.4.33
9.4.32
9.4.31
9.4.30
9.4.29
9.4.28
9.4.27
9.4.26
9.4.25
9.4.24
9.4.23
9.4.22
9.4.21
9.4.20
9.4.19
9.4.18
9.4.17
9.4.16
9.4.15
9.4.14
9.4.13
9.4.12
9.4.11
9.4.10
9.4.9
9.4.8
9.4.7
9.4.6
9.4.5
9.4.4
9.4.3
9.4.2
9.4.1
9.4.0
9.3.61
9.3.60
9.3.59
9.3.58
9.3.57
9.3.56
9.3.55
9.3.54
9.3.53
9.3.52
9.3.51
9.3.50
9.3.49
9.3.48
9.3.47
9.3.46
9.3.45
9.3.44
9.3.43
9.3.42
9.3.41
9.3.40
9.3.39
9.3.38
9.3.37
9.3.36
9.3.35
9.3.34
9.3.33
9.3.32
9.3.31
9.3.30
9.3.29
9.3.28
9.3.27
9.3.26
9.3.25
9.3.23
9.3.22
9.3.21
9.3.20
9.3.19
9.3.18
9.3.17
9.3.16
9.3.15
9.3.14
9.3.13
9.3.12
9.3.11
9.3.10
9.3.9
9.3.8
9.3.7
9.3.6
9.3.5
9.3.4
9.3.3
9.3.2
9.3.1
9.3.0b
9.2.25
9.2.24
9.2.23
9.2.22
9.2.21
9.2.20
9.2.19
9.2.18
9.2.17
9.2.16
9.2.15
9.2.14
9.2.13
9.2.12
9.2.11
9.2.10
9.2.9
9.2.8
9.2.7
9.2.6
9.2.5
9.2.4
9.2.3
9.2.2
9.2.1
9.2.0
9.1.91
9.1.90
9.1.89
9.1.88
9.1.87
9.1.86
9.1.85
9.1.84
9.1.83
9.1.82
9.1.81
9.1.80
9.1.79
9.1.78
9.1.77
9.1.76
9.1.75
9.1.72
9.1.71
9.1.70
9.1.69
9.1.68
9.1.67
9.1.66
9.1.65
9.1.64
9.1.63
9.1.62
9.1.61
9.1.60
9.1.59
9.1.58
9.1.57
9.1.56
9.1.55
9.1.54
9.1.53
9.1.52
9.1.51
9.1.50
9.1.36
9.1.35
9.1.34
9.1.33
9.1.32
9.1.31
9.1.30
9.1.29
9.1.28
9.1.27
9.1.26
9.1.25
9.1.24
9.1.23
9.1.22
9.1.21
9.1.20
9.1.19
9.1.18
9.1.17
9.1.16
9.1.15
9.1.13
9.1.12
9.1.11
9.1.10
9.1.9
9.1.8
9.1.7
9.1.6
9.1.5
9.1.4
9.1.3
9.1.2
9.1.0
9.0.68
9.0.67
9.0.66
9.0.65
9.0.64
9.0.63
9.0.62
9.0.61
9.0.60
9.0.59
9.0.58
9.0.57
9.0.56
9.0.55
9.0.54
9.0.53
9.0.52
9.0.51
9.0.50
9.0.48
9.0.47
9.0.46
9.0.45
9.0.44
9.0.43
9.0.42
9.0.41
9.0.40
9.0.39
9.0.38
9.0.37
9.0.36
9.0.35
9.0.34
9.0.33
9.0.32
9.0.31
9.0.30
9.0.29
9.0.28
9.0.27
9.0.26
9.0.25
9.0.24
9.0.22
9.0.21
9.0.20
9.0.19
9.0.18
9.0.17
9.0.16
9.0.15
9.0.14
9.0.13
9.0.12
9.0.11
9.0.10
9.0.9
9.0.8
9.0.7
9.0.6
9.0.5
9.0.4
9.0.3
9.0.2
9.0.1
9.0.0-e
9.0.0-d
9.0.0-c
9.0.0-b
9.0.0
8.0.3
8.0.2
8.0.1
8.0.0
v7.23.1987
v7.21.1979
v7.20.1975
7.19.1961
9.6.944
Labels
Clear labels
Gestion des absences
API json
Interfaces Apogée
Something is not working
Bachelor IUT
Enhance code/refactoring/tools
This issue or pull request already exists
Emplois du temps
New feature
App Relations Entreprises
HTML/CSS/JS
Need some help
Something is wrong
Gestion des jurys
Poursuites études
prioritaire
More information is needed
Gestion utilisateurs
This won't be fixed
ABS
Gestion des absences
à confirmer
API
API json
Apogée
Interfaces Apogée
bug
Something is not working
BUT
Bachelor IUT
Dev
Enhance code/refactoring/tools
duplicate
This issue or pull request already exists
EDT
Emplois du temps
enhancement
New feature
Entreprises
App Relations Entreprises
frontend
HTML/CSS/JS
help wanted
Need some help
invalid
Something is wrong
Jury
Gestion des jurys
PE
Poursuites études
prio
prioritaire
question
More information is needed
RGPD
Users
Gestion utilisateurs
wontfix
This won't be fixed
No Label
ABS
à confirmer
API
Apogée
bug
BUT
Dev
duplicate
EDT
enhancement
Entreprises
frontend
help wanted
invalid
Jury
PE
prio
question
RGPD
Users
wontfix
Milestone
Clear milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
Clear assignees
No Assignees
5 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.
No due date set.
Dependencies
No dependencies set.
Reference: ScoDoc/ScoDoc#149
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
WIP : définition des points d'accés à l'API REST. Elle sera accessible à l'adresse https://scodoc.monsite.tld/ScoDoc/api/fonction
le transfert d'informations se fera au format JSON
liste des étudiants avec le code NIP donné triée par ordre d'inscription décroisant
"nom": "Mutis",
"sexe": "M.",
"email": "alvaro.mutis@example.com",
"prenom": "ALVARO",
"nomprenom": "M. Alvaro MUTIS",
"insemestre": [
{
"etat": "I",
"formsemestre_id": "SEM12781",
"date_fin": "2010-07-30",
"date_debut": "2010-01-25"
},
{
"etat": "I",
"formsemestre_id": "SEM8396",
"date_fin": "2009-01-16",
"date_debut": "2008-09-01"
}
],
"etudid": "EID8768",
"domicile": "2 Rue Madame",
"villedomicile": "Paris",
"telephonemobile": ""
}
sem_id
"titre": "DUT Génie Electrique et Informatique Industrielle",
"date_debut": "01/09/2021",
"date_fin": "02/02/2022",
"modalite": "FI",
"sem_id_txt": "S3",
"titre_num": "DUT Génie Electrique et Informatique Industrielle semestre 3",
"anneescolaire": "2021 - 2022",
"periode": 1,
"titreannee": "DUT Génie Electrique et Informatique Industrielle semestre 3 FI 2021-2022"
} ]
/api/photo/123/small
(en cours de modification)
acronyme
titre
...
/api/formation_list?dept=GEII
{ "id": 1,"dept_id": 1,"acronyme": "BUT GEII", "titre": "BUT G\u00e9nie Electrique et Informatique Industrielle", "titre_officiel": "BUT G\u00e9nie Electrique et Informatique Industrielle","version": 1,"formation_code": "FCOD1","type_parcours": 600,"code_specialite": "","formation_id": 1 }
titre
etat
annee
date_debut
partition_name
group_id
group_name
partition_name
group_id
group_name
module_name
eval_description
groupsLists
groupsToDelete
groupsToCreate
groupsLists est une liste d'etudid à inscrire dans le groupe
etudid
note
Merci à vous deux !
J'ai l'impression qu'on peut s'épargner la colonne "champs résultat", l'exemple (commenté au besoin) est suffisant.
Dans certains cas, on va essayer d'éviter les paramètres query_string, et s'orienter vers des URL, comme
/api/formsemestre_partition_list/1
(quand il y a plusieurs paramètres, quelles conventions on adopte ?)Pour en savoir plus sur le sujet, la 1ere réponse sur SO est pas mal je trouve https://stackoverflow.com/questions/4024271/rest-api-best-practices-where-to-put-parameters
etud_dept, etud_info Attention dans la version actuelle, un étudiant qui a changé de départment existe dans chacun des deux départements. il faudrait, soit donner la possibilité de retourner plusieurs étudiants (même pour un seul code_nip) ou décréter qu'on retourne celui qui a l'inscrition la plus tardive par exemple
sem_info il est spécifié un paramètre code_nip qui ne figure pas dans l'exemple. je suppose qu'on cherche les informations sur le semestre actuel d'un étudiant ?
+1 sur la remarque d'Emmanuel, par exemple pour les partitions, je serait plutôt partisan de
POST /api/partitions/partitionid/groups avec le nom du groupe à créer en données
DELETE /api/partitions/partitionid/groups/groupid pour supprimer un group
GET /api/partitions/partitionid/groups pour avoir la liste des groupes
J'ai vu passer des exemple ou on ajoutait dans le chemin le no de version de l api pour popuvoir changer de version d'API en conservant la compatibilité avec les clients existants
Très intéressant d'ajouter les paramètres (obligatoire) dans l'URL.
Pour fixer l'ordre, on a normalement un seul paramètre parmi :
dept_id / formation_id / semestre_id / module_id / evaluation_id
=> il n'y a donc pas vraiment d'ordre à fixer entre eux.
Cela me semble logique qu'il soit en premier.
En second obligatoire, il y a soit nip, soit etud_id, mais jamais les deux.
(D'ailleurs, est ce logique d'utiliser le etud_id en paramètre ?)
/api/etud_bul/12/12398712
pour/api/etud_bul?code_nip=12398712&id_sem=12
/api/eval_list/1
pour/api/eval_list?module_id=1
/api/etud_info/12398712
pour/api/etud_info?code_nip=12398712
Pour les autres paramètres (même obligatoire), difficile de faire une convention intuitive, non ?
/api/setNote/1312/213?note=ABS
pour/api/setNote?evaluation_id=1312&etudid=213¬e=ABS
Si on part sur des URL sans query string, ca veut dire qu'on ne peut appeler un étudiant QUE par son nip. On s'interdit de l'appeler par son INE ou son etud_id.
On ne peut appeler un semestre QUE par son id, pas par son étape apogée.
Je ne suis pas contre, je n'utilise pas les autres méthodes.
J'ai pris en compte vos remarques et mis les résultats escomptés. J'ai aussi rajouté le paramètre dept_id partout
Je n'ai pas encore intégré les autres requêtes de Pascal.
Comme tous les objets manipulés par l'application, un étudiant a toujours un id, nommé à l'extérieur etudid. Mais il n'a pas toujours un NIP ou un INE.
Sauf indication contraire, les id à utiliser sont donc ceux de scodoc (etudid, etc), pas le NIP ni l'INE.
La démarche devrait probablement être:
récupérer l'etudid, via une liste d'étudiant d'un groupe ou via une interrogation directe genre get_etud_dept (qui pourrait fournir les départements et ids). Cette (ou ces) requêtes pourraient effectuer des recherches par NIP, INE, nom, étape, ...
Utiliser l'etudid obtenu pour récupérer d'autres éléments (bulletins, absences, ....) ou manipuler l'étudiant (incriptions, ajout absences, ...).
+1 (et ça évite de se trimballer un departement en plus - car l etudid lui est unique sur tous les depts)
J'ai mis à jour. Mais comment etud_dept peut-il recevoir soit un NIP soit un INE soit un nom ? Il cherchera ce qu'on a mis dans code_nip dans tous les champs de la BDD ?
Ca complique peut être , mais pour etud_dept, peut-on envisager :
/api/etud_dept/123 : recherche par nip
/api/etud_dept/ine/123456789 : recherche par ine
/api/etud_dept/nom/dupont : recherche par nom ( plusieurs réponses possibles)
Et pour récupérer la photo d'un étudiant ce serait:
ou pour la version réduite:
Ok j'ai mis à jour, j'ai donc supprimé photo_url de etud_info
Bonjour à tous,
Suite à la réunion, voici les fonctions que j'utilise et qui ne sont pas prévus dans l'API (à moins qu'ils soient prévus avec un autre nom que je n'ai pas saisi) :
A bientôt,
Seb
est actuellement acessible à tous
groups_view n'est pas actuellement accessible en mode "scodoc7" dans ScoDoc9. Sera dans l'API, probablement sous un autre nom.
idem
idem
(si besoin urgent de ces fonctions en ScoDoc 9.0, me dire, on peut les rebrancher en attendant l'API)
#d2f41b6a21 avance un peu sur le sujet.
Oui tu m'avais déjà dit pour ces fonctions non accessibles, mais j'ai tout de même trouvé un moyen d'y accéder sur Scodoc 9 en utilisant une petite faille non critique du système :
Du coup j'ai accès à tout ce qu'il me faut.
Code exemple : https://github.com/SebL68/Scodoc_Notes/blob/main/includes/serverIO.php
Le problème risque de venir avec la nouvelle API, c'est pourquoi je parle tout de suite des besoins qui ne sont pas encore listé, pour ne pas les oublier.
Voir https://docs.google.com/spreadsheets/d/1k6VtENWuZRLyssjvmzE7_FZpB_VpJ4xrNdN_M_fWCXU/edit?usp=sharing