0% ont trouvé ce document utile (0 vote)
23 vues9 pages

Cahier des charges pour application web

Transféré par

Meher Guesmi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
23 vues9 pages

Cahier des charges pour application web

Transféré par

Meher Guesmi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Cahier de charges

I. Diagramme de classes :
II. Description des tâches :

But Authentification

Acteur Utilisateur

Pré-condition L'utilisateur doit avoir un compte.

Post-condition L'utilisateur est authentifié.

Scénario nominal - L’utilisateur entre son login et mot de passe et il en


valide en cliquant sur le bouton LOGIN.
- Le serveur vérifie l’existence du compte dans la base
de données.
- Le serveur génère le Token et il l’envoie à
l’application.
- L’application renvoie l’utilisateur à la page d’accueil

Exceptions Le compte n’existe pas ou le mot de passe est incorrect.

But Gérer les offres.

Acteur Entreprise

Pré-condition L’entreprise est authentifiée.

Post-condition Offre ajoutée, Offre modifiée, Offre supprimée, Offre


affichée.

Scénario nominal - L’entreprise remplit les champs du formulaire


- Ajouter Offre contenant les informations nécessaires d’une
offre, et il en valide en cliquant sur le bouton
enregistrer.
- Le serveur enregistre la nouvelle offre dans la
base de données.

Scénario alternatif A1 - L’entreprise choisit l’offre a modifié et remplit


- Modifier Offre les champs du formulaire, et il en valide en
cliquant sur le bouton enregistrer.
- Le serveur enregistre les modifications de l’offre
dans la base de données.

Scénario alternatif A2 - L’entreprise choisit l’offre a supprimée, et il la


- Supprimer valide en cliquant sur le bouton enregistrer.
Offre - Le serveur enregistre les modifications de l’offre
dans la base de données.

Scénario alternatif A3 - Le serveur renvoie toutes les informations d’une


- Consulter Offre offre.
Exceptions Le serveur renvoie l’erreur s’il existe.

But Consulter la liste des étudiants avec filtrage.

Acteur Utilisateur.

Pré-condition L'utilisateur est authentifié.

Post-condition Étudiants affichés.

Scénario nominal - L’utilisateur cherche les étudiants avec filtrage.


- Le serveur renvoie la liste des étudiants.

Exceptions Le serveur renvoie l’erreur s’il existe.

But Consulter la liste des entreprises avec filtrage.

Acteur Utilisateur

Pré-condition L'utilisateur est authentifié.

Post-condition Entreprises affichées.

Scénario nominal - L’utilisateur cherche les entreprises avec filtrage.


- Le serveur renvoie la liste des entreprises.

Exceptions Le serveur renvoie l’erreur s’il existe.

But Consulter la liste des offres avec filtrage.

Acteur Utilisateur.

Pré-condition L'utilisateur est authentifié.

Post-condition Offres affichées.

Scénario nominal - L’utilisateur cherche les offres avec filtrage.


- Le serveur renvoie la liste des offres.

Exceptions Le serveur renvoie l’erreur s’il existe.


But Modifier les données d’un étudiant.

Acteur Etudiant.

Pré-condition L'étudiant est authentifié.

Post-condition Données modifiées.

Scénario nominal - L'étudiant remplit les champs de données à


modifiées.
- Le serveur sauvegarde les modifications dans la base
de données.

Exceptions Le serveur renvoie l’erreur s’il existe.

But Supprimer un étudiant.

Acteur Etudiant.

Pré-condition L'étudiant est authentifié.

Post-condition Étudiant supprimé.

Scénario nominal - L'étudiant confirme la suppression de son profil.


- Le serveur supprime les données de l'étudiant de la
base de données.

Exceptions Le serveur renvoie l’erreur s’il existe.

But Modifier les données d’une entreprise.

Acteur Entreprise.

Pré-condition L’entreprise est authentifiée.

Post-condition Données modifiées.

Scénario nominal - L’entreprise remplit les champs de données à


modifiées.
- Le serveur sauvegarde les modifications dans la base
de données.

Exceptions Le serveur renvoie l’erreur s’il existe.


But Supprimer une entreprise.

Acteur Entreprise.

Pré-condition L’entreprise est authentifiée.

Post-condition Entreprise supprimée.

Scénario nominal - L’entreprise confirme la suppression de son profil.


- Le serveur supprime les données de l’entreprise de
la base de données.

Exceptions Le serveur renvoie l’erreur s’il existe.

III. Description des méthodes http (services web) :

URI Méthode Attributs Description


HTTP

student/signup POST { Inscrire un étudiant.


firstname: ” ”
lastname: ” ”
email: ” ”
password: ” ”
country: ” ”
city: ” ”
address: ” ”
phone: ” ”
type: ” ”
workAt: ” ”
class: ” ”
linkedin: ” ”
picture: ” ”
aboutme: ” ”
}

student/login POST { Identifier un étudiant.


email: ” ”
password: ” ”
}

student/confirm/:co GET Confirmer l’Email.


de

student/all GET Lister les informations de tous les


étudiants.

student/location GET property: Lister les coordonnées géographiques


?property=&key= key: des étudiants dont “property” = “key”.

student/search GET property: Lister les informations des étudiants


?property=&key= key: dont “property” = “key”.

student/find?q= GET q: Trouver l'étudiant dont le nom est “q”.

student/:userid GET Afficher les informations de l’étudiant


dont l’id est “userid”.

student:/userid PATCH { Modifier les informations de l’étudiant


country: ” ” dont l’id est “userid”.
city: ” ”
address: ” ”
phone: ” ”
type: ” ”
workAt: ” ”
class: ” ”
linkedin: ” ”
picture: ” ”
aboutme: ” ”
}

student/:userid DELETE Supprimer l’étudiant dont l’id est


“userid”.

URI Méthod Attributs Description


e HTTP

company/signup POST { Inscrire une entreprise.


name: “ “
email: “ “
password: “ “
website: “ “
address: “ “
city: “ “
country: “ “
phone: “ “
about: “ “
logo: “ “
}
company/login POST { Identifier une entreprise.
email: ” ”
password: ” ”
}

company/confirm/:code GET Confirmer l’Email.

company/location GET property: Lister les coordonnées géographiques


?property=&key= key: des entreprises dont “property” = “key”.

company/search GET property: Lister les informations des entreprises


?property=&key= key: dont “property” = “key”.

company/find?q= GET q: Trouver l’entreprise dont le nom est “q”.

company/:id/offers GET Trouver tous les offres de l’entreprise


dont l’id est “id”

company/:companyid GET Afficher les informations de l’entreprise


dont l’id est “companyid”.

company/:companyid PATCH { Modifier les informations de l’entreprise


name: “ “ dont l’id est “companyid”.
email: “ “
password: “ “
website: “ “
address: “ “
city: “ “
country: “ “
phone: “ “
about: “ “
logo: “ “
}

company/:companyid DELETE Supprimer l’entreprise dont l’id est


“companyid”.

URI Méthode Attributs Description


HTTP

offers/ POST { Ajouter une offre à l'entreprise identifiée.


title: “ “
type: “ “
duration: “ “
content: “ “
}

offers/ GET Lister toutes les offres.


offers/search/ GET property: Lister les informations des offres dont
?property=&key= key: “property” = “key”.

offers/:offerid GET Afficher les informations de l’offre dont


l’id est “offerid”.

offers/:offerid PATCH { Modifier les informations de l’offre dont


title: “ “ l’id est “offerid”.
type: “ “
duration: “ “
content: “ “
}

offers/:offerid DELETE Supprimer l’offre dont l’id est “offerid”.

IV. Structure de l’application :

├───config
├───controllers
├───emails
│ └───confirmation
├───middlewares
├───models
└───routes

/models : Dans ce dossier, sont stockés tous les modules de base de


données.

/controllers : Dans ce dossier, sont stockés tous les contrôleurs utilisés


pour traiter les données.

/routes : Dans ce dossier, sont stockées toutes les routes des


requêtes.
/emails : Dans ce dossier, sont stockés tous les templates PUG des
emails de confirmations.

/middlewares : Dans ce dossier, sont stockés tous les middlewares


Express. Le but d'un middleware est d'extraire un code de contrôleur
commun .

/config : Dans ce dossier, sont stockés tous le code utilitaire, qui est
utilisé sur plusieurs modèles, middlewares ou contrôleurs.

Vous aimerez peut-être aussi