94 lines
3.4 KiB
Markdown
94 lines
3.4 KiB
Markdown
🌐 Projet Web - Smart Building (Maison Connectée)
|
||
|
||
Bienvenue dans le projet web de gestion d'une maison connectée réalisé dans le cadre de notre formation.
|
||
|
||
|
||
Ce projet permet de gérer différents objets connectés d’un
|
||
bâtiment (lumières, climatiseurs, thermostats, etc.) avec des rôles
|
||
utilisateurs, une interface de connexion, de gestion et de visualisation.
|
||
|
||
|
||
📦 Prérequis
|
||
Assurez-vous d’avoir les outils suivants installés :
|
||
Node.js (version 18 ou + recommandée)
|
||
npm
|
||
un serveur local avec phpMyAdmin et MySQL
|
||
|
||
|
||
⚙️ Installation du projet
|
||
Si vous arrivez à lire ce README vous avez donc réussi à cloner le lien github.
|
||
|
||
Ouvrir un terminal dans le dossier du projet :
|
||
cd projetWEB
|
||
|
||
|
||
⚙️ Installer les dépendances Node.js :
|
||
npm install
|
||
|
||
Cela installera notamment : - express - ejs - bcrypt / bcryptjs - multer - mysql - nodemon - express-session - path
|
||
|
||
|
||
📁 Configuration de la base de données
|
||
Démarrer MySQL et phpMyAdmin (avec les pc de cy tech sur ubuntu normalement l'identifiant est root et le mot de passe est cytech0001)
|
||
|
||
Créer une base de données nommée user dans phpMyAdmin
|
||
Importer le fichier SQL :
|
||
Aller dans phpMyAdmin > Base user > Importer
|
||
Sélectionner le fichier SQL fourni (user.sql)
|
||
Valider
|
||
|
||
⚠️ Vérifiez que toutes les tables ont bien été créées (utilisateur, objet, etc.)
|
||
|
||
|
||
🚀 Lancement du serveur
|
||
Lancer le serveur local avec nodemon :
|
||
npm run dev
|
||
|
||
Le serveur démarrera sur :
|
||
👉 http://localhost:3000
|
||
Structure de navigation du site :
|
||
/ → Accueil
|
||
/connexion → Connexion utilisateur
|
||
/inscription → Formulaire d’inscription/objets → Liste des objets connectés (accès selon statut)
|
||
/admin → Dashboard administrateur (vous n'y avez accès que si vous êtes connecté en tant qu'admin)
|
||
/admin → Dashboard administrateur (vous n'y avez accès que si vous êtes connecté en tant que complexe)
|
||
/profil → Modification du profil
|
||
/membres → Liste des utilisateurs (selon rôle)
|
||
|
||
|
||
👤 Rôles utilisateurs :
|
||
|
||
visiteur → accès limité, simple visite et visualisation des objets et des membres et aucune modification possible
|
||
|
||
simple → peut consulter et modifier les objets en cliquant sur l'engrenage dans la page objets connectés (si vous voulez vous connecter à un compte utilisateur simple vous pouvez utiliser comme identifiant garricastres et comme mot de passe 1234)
|
||
|
||
complexe → accès complet à la gestion d’objets à l'aide d'un petit dashboard (si vous voulez vous connecter à un compte utilisateur simple vous pouvez utiliser comme identifiant clement_cx et comme mot de passe 1234)
|
||
|
||
administrateur → contrôle total à l'aide d'un dashboard (ajout/suppression utilisateurs et objets) (si vous voulez vous connecter à un compte utilisateur simple vous pouvez utiliser comme identifiant admin et comme mot de passe 1234)
|
||
|
||
|
||
📸 Upload des photos
|
||
Les photos de profil sont stockées dans le dossier /img
|
||
|
||
|
||
🧪 Scripts utiles
|
||
Dans un terminal se mettre au niveau du dossier projetWEB
|
||
démarrer avec nodemon : npm run dev
|
||
démarrer sans nodemon : node index.js
|
||
|
||
|
||
💡 Développement
|
||
Technos utilisées :
|
||
|
||
Node.js + Express pour le backend
|
||
EJS comme moteur de vues
|
||
MySQL comme base de données
|
||
Multer pour le téléchargement de fichiers
|
||
bcrypt pour sécuriser les mots de passe
|
||
|
||
🧑🏫 Projet réalisé par :
|
||
Guillaume Arricastres, Zoe Artigas, Augustin Contal, Lucas Coquet, Thomas Kluczny
|
||
|
||
Cytech – GI Groupe 2 – Année 2025
|
||
|
||
Merci pour votre attention |