@@ -17,7 +17,7 @@ L'application est reliée à une **base de données** qui est la source de l'aff
...
@@ -17,7 +17,7 @@ L'application est reliée à une **base de données** qui est la source de l'aff
-**Modèle Conceptuel de Données** :
-**Modèle Conceptuel de Données** :


-**Modèle Logique de données** :
-**Modèle Logique de données** :
...
@@ -151,60 +151,65 @@ Nous avons uniquement utilisé des servlets sur ce projet. Pour une meilleure li
...
@@ -151,60 +151,65 @@ Nous avons uniquement utilisé des servlets sur ce projet. Pour une meilleure li
*Le nom de la servlet représente son entrée, chacune vérifient si l'utilisateur est connecté et enregistré dans la session. Si ce n'est pas le cas (par exemple si la page a été bookmarkée et visitée a posteriori, une fois la session échue), les servlet redirigent toutes vers l'écran de connexion.*
*Le nom de la servlet représente son entrée, chacune vérifient si l'utilisateur est connecté et enregistré dans la session. Si ce n'est pas le cas (par exemple si la page a été bookmarkée et visitée a posteriori, une fois la session échue), les servlet redirigent toutes vers l'écran de connexion.*
- Affiche tous les fils de discussion, sans prendre en compte si l'utilisateur connecté les suit déjà ou non. Un bouton *Follow* ou *Followed* permet d'indiquer à l'utilisateur s'il suit le fil affiché.
- Affiche tous les fils de discussion, sans prendre en compte si l'utilisateur connecté les suit déjà ou non. Un bouton *Follow* ou *Followed* permet d'indiquer à l'utilisateur s'il suit le fil affiché.
- Affiche le fil d'actualité de l'utilisateur avec les messages des fils de discussion auxquels il est abonné. L'utilisateur peut réagir aux messages avec un bouton *Like* ou *Unlike*.
- Affiche le fil d'actualité de l'utilisateur avec les messages des fils de discussion auxquels il est abonné. L'utilisateur peut réagir aux messages avec un bouton *Like* ou *Unlike*.
- L'utilisateur peut poster un message dans un fil de dicussion en dessous de chaque message affiché sur son feed.
- L'utilisateur peut poster un message dans un fil de dicussion en dessous de chaque message affiché sur son feed.
- N'affiche rien et exécute seulement du code lorsqu'elle est appelée dans **Discover**.
- N'affiche rien et exécute seulement du code lorsqu'elle est appelée dans **Discover**.
- Avec les paramètres d'un formulaire envoyé en POST, une requête est exécutée pour enregistrer l'abonnement de l'utilisateur à un fil de discussion, puis la servlet redirige vers la page d'origine.
- Avec les paramètres d'un formulaire envoyé en POST, une requête est exécutée pour enregistrer l'abonnement de l'utilisateur à un fil de discussion, puis la servlet redirige vers la page d'origine.
- N'affiche rien et exécute seulement du code lorsqu'elle est appelée dans **Feed**.
- N'affiche rien et exécute seulement du code lorsqu'elle est appelée dans **Feed**.
- Comme pour **FollowThread**, avec les paramètres d'un formulaire envoyé en POST, une requête est exécutée pour enregistrer la réaction de l'utilisateur à un message d'un fil de discussion, puis la servlet redirige vers la page d'origine.
- Comme pour **FollowThread**, avec les paramètres d'un formulaire envoyé en POST, une requête est exécutée pour enregistrer la réaction de l'utilisateur à un message d'un fil de discussion, puis la servlet redirige vers la page d'origine.
- N'affiche rien et exécute du code lorsqu'elle reçoit les paramètres du formulaire de connexion de la page `index.html`.
- N'affiche rien et exécute du code lorsqu'elle reçoit les paramètres du formulaire de connexion de la page `index.html`.
- Vérifie si l'utilisateur existe bien dans la base de données et si oui, elle redirige vers la page **Welcome**. Si non, elle indique une erreur.
- Vérifie si l'utilisateur existe bien dans la base de données et si oui, elle redirige vers la page **Welcome**. Si non, elle indique une erreur.
- Si le login ou le mot de passe est vide, la page affiche un message d'erreur en indiquant qu'il est nécessaire, et permet de revenir sur le formulaire de connexion.
- Si le login ou le mot de passe est vide, la page affiche un message d'erreur en indiquant qu'il est nécessaire, et permet de revenir sur le formulaire de connexion.
- Affiche un formulaire de création de fil de discussion avec un premier message à poster dedans. Quand le formulaire est envoyé, la page s'appelle elle-même pour exécuter la requête de création et affiche un message de validation si tout a bien fonctionné.
- Affiche un formulaire de création de fil de discussion avec un premier message à poster dedans. Quand le formulaire est envoyé, la page s'appelle elle-même pour exécuter la requête de création et affiche un message de validation si tout a bien fonctionné.
- Ce contrôleur n'est pas une servlet, seulement une classe Java avec une seule méthode statique permettant de générer le menu de navigation pour éviter la redondance d'écriture HTML.
- Ce contrôleur n'est pas une servlet, seulement une classe Java avec une seule méthode statique permettant de générer le menu de navigation pour éviter la redondance d'écriture HTML.
- N'affiche rien et exécute le code nécessaire à l'exécution d'une requête d'envoi de message dans un fil de discussion.
- N'affiche rien et exécute le code nécessaire à l'exécution d'une requête d'envoi de message dans un fil de discussion.
- Elle peut être appelée par **Welcome** quand un utilisateur poste un message dans un fil qu'il suit, ou dans **NewThread** quand il crée un nouveau fil.
- Elle peut être appelée par **Welcome** quand un utilisateur poste un message dans un fil qu'il suit, ou dans **NewThread** quand il crée un nouveau fil.
- Similairement à **LogIn**, n'affiche rien mais vérifie que le nouveau compte envoyé dans le formulaire de `create.html` n'existe pas dans la base de donnée. S'il n'existe pas déjà, elle exécute la requête de création d'utilisateur. Sinon, elle affiche un message d'information et permet de revenir sur l'écran de connexion.
- Similairement à **LogIn**, n'affiche rien mais vérifie que le nouveau compte envoyé dans le formulaire de `create.html` n'existe pas dans la base de donnée. S'il n'existe pas déjà, elle exécute la requête de création d'utilisateur. Sinon, elle affiche un message d'information et permet de revenir sur l'écran de connexion.
### API Rest
`http://localhost:8080/s4a021-web-backend/CampusTalkDatas/x` (Où `x` est l'id d'un utilisateur)
- Permet un appel REST en GET renvoyant en JSON les Threads suivis par l'utilisateur ayant pour id : `x`
## Points techniques difficiles et comment ils ont été réglés
## Points techniques difficiles et comment ils ont été réglés