🌐 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