From eb097d1c40ee238e923b52ecba77afc77bcd0aaa Mon Sep 17 00:00:00 2001
From: "jeremy.gobet" <jeremy.gobet@hesge.ch>
Date: Tue, 23 Feb 2021 10:34:03 +0100
Subject: [PATCH] frontend and backend initial files

---
 README.md            | 47 +++++++++++++++++++++++++++++---------------
 STUDENTS.md          | 24 +++++++++++-----------
 backend/.gitignore   |  1 +
 backend/package.json | 20 +++++++++++++++++++
 backend/server.js    |  6 ++++++
 frontend/index.html  | 11 +++++++++++
 6 files changed, 81 insertions(+), 28 deletions(-)
 create mode 100644 backend/.gitignore
 create mode 100644 backend/package.json
 create mode 100644 backend/server.js
 create mode 100644 frontend/index.html

diff --git a/README.md b/README.md
index d0fdc86..a3b8e84 100644
--- a/README.md
+++ b/README.md
@@ -1,22 +1,26 @@
 # Travail Pratique
 
-**Ceci est le projet exemple** pour la réalisation du travail partique (TP) et le repository de référence pour les étudiants. Il sera développé au fur et à mesure des notions enseignées pendant le cours
+**Ceci est le projet exemple** pour la réalisation du travail pratique (TP) et le dépôt Git de référence pour les étudiants. Il sera complété au fur et à mesure des notions enseignées pendant le cours.
 
 ## Informations pour les étudiants
 
-**Le fork de ce repository devra contenir le projet du cours qui sera évalué à la fin du semestre. Pour la marche à suivre et les critère d'évaluations veuillez vour référer au document nommé STUDENTS.md**
+**Le fork de ce repository doit contenir votre projet pour les cours qui sera évalué sur la partie frontend pour le cours Applications Web et la partie backend pour le cours Architectures Web. Pour la marche à suivre veuillez vour référer au document nommé STUDENTS.md**
 
-La suite contient la documentation du projet exemple tel qu'il devrait l'être pour le votre.
+les critère d'évaluations sont explicités ici: https://gitedu.hesge.ch/jeremy.gobet/app-et-archi-web
+
+La suite contient la documentation du projet exemple que vous devez adapter et compléter pour le votre.
 
 ---
 
 ## Description du projet
 
-Ce projet est une application Web permettant à l'utilisateur de consulter les meilleures blagues de Chuck Norris.
+Ce projet est une application Web permettant à l'utilisateur de consulter les blagues de Chuck Norris, de voter pour ses blagues préférées et de consulter les blagues les plus appréciées par la communauté.
 
 ### Réccupérer le projet
 
-Le projet est disponible sur l'hébergement Git (gitedu.hesge.ch):
+Le projet est disponible sur l'hébergement Git (gitedu.hesge.ch).
+
+Cloner le projet localement avec la commande git suivante:
 
 `git clone ssh://git@ssh.hesge.ch:10572/jeremy.gobet/app-et-archi-web-tp-2020.git`
 
@@ -25,7 +29,7 @@ Le projet est disponible sur l'hébergement Git (gitedu.hesge.ch):
 Le projet contiens deux dossiers:
 
 - **frontend**: Contient le site public
-- **backend**: Contient le serveur NodeJS
+- **backend**: Contient le serveur Node
 
 ### Démarrer le serveur
 
@@ -53,18 +57,29 @@ Vous pouvez ensuite visualisez le site en local sur un navigateur: **localhost:8
 
 Voici la liste des fonctionnalités de l'Application Web:
 
-- Réccupération des blagues sur l'API [api.icndb.com]
-- Réccupération des dernières blagues publiées
-- Like/Unlike des blagues
-- Réccupération des blagues les plus appréciées par la communautée
-- Réccupération des blagues appréciées par un utilisateur
+- Réccupération des blagues sur l'API [api.icndb.com] (non-implémenté)
+- Réccupération des dernières blagues publiées (non-implémenté)
+- Like/Unlike des blagues (non-implémenté)
+- Réccupération des blagues les plus appréciées par la communautée (non-implémenté)
+- Réccupération des blagues appréciées par un utilisateur (non-implémenté)
 
-L'application ne dispose actuellement pas d'une persistance de données. Une fois le serveur stoppé, toutes les données sont perdues.
+L'application ne dispose pas d'une persistance de données. Une fois le serveur stoppé, toutes les données sont perdues.
 
-Une authentification sans mot de passe a été mise en place par l'identification de l'e-mail spécifiée par l'utilisateur.
+Une authentification sans mot de passe permet l'identification de l'utilisateur via l'utilisation de son adresse e-mail.
 
 ### Contact
 
-Auteur: Jeremy Gobet
-Identifiant: @jeremy.gobet
-Mail: jeremy.gobet@hesge.ch
+#### Assistant
+
+- Identifiant: @michael.minelli
+- Mail: michael.minelli@hesge.ch
+
+#### Applications Web
+
+- Identifiant: @jeremy.gobet
+- Mail: jeremy.gobet@hesge.ch
+
+#### Architectures Web
+
+- Identifiant: @stephane.malandai
+- Mail: stephane.malandain@hesge.ch
diff --git a/STUDENTS.md b/STUDENTS.md
index 3db9355..a8c509f 100644
--- a/STUDENTS.md
+++ b/STUDENTS.md
@@ -2,15 +2,15 @@
 
 Voici les démarches obligatoires à entreprendre :
 
-1. Vous abonner aux notifications (watch) du repo original (celui-ci), pour ne pas manquer des éventuels changements dans l'énoncé ou des annonces.
-2. "Forker" ce repository dans votre namespace, le passer en **privé**.
-3. Ajouter **les droits de Maintainer** à l'autre membre de votre équipe.
-4. Cloner le repository forké en local (la configuration local va automatiquement définir votre repository comme remote par défaut nommé `origin`)
-5. Ajouter ce repository comme deuxième remote (différent de `origin`, nommé `base`)
-`git remote add base ssh://git@ssh.hesge.ch:10572/jeremy.gobet/lecture-applications-web-tp.git`).
-6. vérifiez que les deux repositories sont enregistré dans le configuration local:
+1. Vous abonner aux notifications 🔔 avec l'option **Watch/Surveiller** du dépôt original (celui-ci), pour ne pas manquer des éventuels changements dans l'énoncé ou des annonces sur le projet.
+2. Créez un.e **Fork/Divergence** de ce dépôt dans votre namespace. Cette action va créer une copie du projet surlaquel vous êtes propriétaire et avez les droits admin. Passez le dépôt copié en **privé** (Settings/Paramètres -> General/Général -> Visibility/Visibilité). Seuls les membres de votre équipe pourront accéder au projet.
+3. Ajoutez **les droits de Maintainer/Mainteneur** à l'autre membre de votre équipe (Settings/Paramètres -> Members/Membres).
+4. Ajoutez Michael Minelli (@michael.minelli), Stephane Malandain (@stephane.malandai) et Jeremy Gobet (@jeremy.gobet) en tant que **Reporter** de votre dépôt.
+5. **Clonez votre dépôt privé** en local sur votre machine (la configuration local va automatiquement définir votre dépôt comme remote par défaut nommé `origin`)
+6. Ajoutez le dépot de base (le projet exemple) comme deuxième remote (différent de `origin`, nommé `base`)
+`git remote add base ssh://git@ssh.hesge.ch:10572/jeremy.gobet/app-et-archi-web-tp-2020.git`).
+7. Vérifiez que les deux dépôts sont enregistré dans le configuration local:
 `git remote -v`
-7. Ajouter Michael Minelli (@michael.minelli), Stephane Malandain (@Stephane.malandain) et Jeremy Gobet (@jeremy.gobet) en tant que **Reporter** de votre repository.
 
 **En cas de non-respect de ces consignes, des pénalités seront encourues !**
 
@@ -19,14 +19,14 @@ Pensez bien à effectuez des commits réguliers de votre projet.
 
 ## Si vous avez déjà un projet existant
 
-Plutot que de clone le projet vous pouvez initialiser git en local et pousser votre projet sur le repository forké:
+Au lieu de cloner le projet, vous pouvez initialiser le projet git en local et pousser votre projet sur le dépôt copié:
 
 ```
-cd dossier_de_mon_projet
+cd chemin/vers/mon/projet
 git init
-git remote add origin ssh://git@ssh.hesge.ch:chemin-vers-votre-repository-forked.git
+git remote add origin ssh://git@ssh.hesge.ch:00000/chemin-vers-votre-dépôt-privé.git
 git add .
-git commit -m "Premier commit"
+git commit -m "First commit"
 git pull origin master
 git push -u origin master
 ```
diff --git a/backend/.gitignore b/backend/.gitignore
new file mode 100644
index 0000000..c2658d7
--- /dev/null
+++ b/backend/.gitignore
@@ -0,0 +1 @@
+node_modules/
diff --git a/backend/package.json b/backend/package.json
new file mode 100644
index 0000000..232adf3
--- /dev/null
+++ b/backend/package.json
@@ -0,0 +1,20 @@
+{
+  "name": "server",
+  "version": "1.0.0",
+  "description": "Server for Check Norris' jokes",
+  "main": "server.js",
+  "dependencies": {
+    "express": "^4.17.1"
+  },
+  "devDependencies": {},
+  "scripts": {
+    "test": "echo \"Error: no test specified\" && exit 1",
+    "start": "node server.js"
+  },
+  "repository": {
+    "type": "git",
+    "url": "https://gitedu.hesge.ch/jeremy.gobet/app-et-archi-web-tp-2020"
+  },
+  "author": "Jeremy Gobet",
+  "license": "ISC"
+}
diff --git a/backend/server.js b/backend/server.js
new file mode 100644
index 0000000..17f8460
--- /dev/null
+++ b/backend/server.js
@@ -0,0 +1,6 @@
+const express = require('express');
+
+let app = express()
+app.use(express.static('../public'))
+
+app.listen(8080);
diff --git a/frontend/index.html b/frontend/index.html
new file mode 100644
index 0000000..2041ae7
--- /dev/null
+++ b/frontend/index.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+
+<html lang="fr">
+  <head>
+    <meta charset="utf-8">
+    <title>Blagues de Chuck Norris</title>
+  </head>
+  <body>
+    <h1>Blagues de Chuck Norris</h1>
+  </body>
+</html>
-- 
GitLab