esup-multi

Arborescence des pages

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

Connecteur appelé par le module cards. Il doit retourner la liste des cartes dématérialisées à afficher pour un utilisateur donné.

Paramètres d'appels

URL en méthode GET :

Bloc de code
<host>/<uri>/<username>
  • host : adresse du serveur
  • uri : chemin éventuel vers le service
  • username : identifiant (login) de l'utilisateur pour lequel on souhaite les informations et les rôles, c'est à dire l'utilisateur qui se connecte. Le login sera celui retourné par le serveur CAS après authentification.

...

Bloc de code
{
	"lastname": "<Nom>"String,
	"firstname": "<Prénom>"String,
	"birthdate": "<Date de naissance>"String,
	"gender": "<Genre>"String,
	"affiliation": "<affiliation>"String,
	"photo": "data:image/jpeg;base64,xxxxxx",String,
	"ine": nullString,
	"errors": [String],
	"cards": {
		"studentCard": {
			"title": "<Titre1>"String,
            "subtitle": "<SubTitle>"String,
            "endDate": <YYYY>Number,
            "idNumber": "<number>"String,
            "csn": "<number>"String,
            "qrCode": {
            	"type": "<type>"String,
            	"value": "<value>"String
                  }
		},
		"euStudentCard": {
            "title": "<Titre2>"String,
            "subtitle": "<SubTitle>"String,
                  "endDate": <YYYY>Number,
            "idNumber": "<number>"String, 
                   "ecsn": "<number>"Number,
            "euid": "<number>"Number,
            "qrCode": {
            	"type": "<type>"String,
            	"value": "<value>"String
                  }
        },
        "studentCardstaffCard": {
			            "title": "<Titre3>"String,
            "subtitle": "<SubTitle>"String,
            "endDate": <YYYY>Number,
            "idNumber": "<number>"String,
            "csn": "<number>"String,
            "qrCode": {
            	"type": "<type>"String,
            	"value": "<value>"String
            }
        }
    	}
	}	
}

Les données à la racine seront les données communes à chaque carte :

  • lastname : prénom nom de l’utilisateur

  • firstname : nom prénom de l’utilisateur

  • birthdate (nullable) : date de naissance de l’utilisateur

  • gender (nullable) : genre de l’utilisateur

  • affiliation : type d’utilisateur (student | staff)

  • photo : photo de l’utilisateur encodée en base64

  • ine (nullable) : code INE de l’utilisateur (dans le cas où l’utilisateur est un étudiant)

...

Enfin, à chaque type de carte devra correspondre un template SVG. Par exemple : Pour l’Université de Lorraine, nous avons identifié 3 types de carte différents (soit 3 templates SVG) : studentCard, euStudentCard et staffCard.

Avertissement
titleLimite

On ne peut pas ajouter de données a afficher dans le SVG.

Cas d'erreur

Codes erreurs

...

Info

L’application catche donc 2 types d’erreur :

  • celles dont le code HTTP n’est pas 200

  • celles pour lesquelles l’attribut errors est renseigné dans la réponse

Exemple

Bloc de code
{
    "lastname": "Didier",
    "firstname": "Céline",
    "gender": null,
    "affiliation": "staff",
    "ine": null,
    "errors": [],
    "photo": "data:image/jpeg;base64,/9j/4pleindecaracteres"
	"cards": {
        "staffCard": {
            "title": "Carte Professionnelle",
            "subtitle": null,
            "endDate": "2024",
            "idNumber": "UL0000123456",
            "csn": "0A0A0A0A0A0A",
            "qrCode": {
                "type": "text",
                "value": "00000@ul"
            }
        }
    }
}