3.4 KiB
🌐 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