Files
smart-house---final-/README.md
2026-05-28 11:57:16 +00:00

126 lines
3.6 KiB
Markdown

# 🏠 Smart House
Application web de tableau de bord domotique développée en PHP, permettant de surveiller et gérer une maison intelligente.
---
## 📋 Présentation
Smart House est un dashboard web qui permet de visualiser en temps réel les données de capteurs (climat, sécurité, énergie, lumière) et de gérer les utilisateurs avec un système de rôles Admin/User.
---
## ✨ Fonctionnalités
### Authentification
- Connexion / Inscription sécurisée
- Blocage après 3 tentatives échouées (5 minutes)
- Déconnexion automatique après 15 minutes d'inactivité
- Régénération de session après connexion
### Gestion des utilisateurs
- Inscription avec validation obligatoire par l'admin
- Système de rôles : Admin / User
- Profil utilisateur (changement de mot de passe)
- Promotion / Rétrogradation des utilisateurs
### Dashboard
- Widget Climat (Température, Humidité, Pression, Altitude)
- Widget Sécurité (Mouvement, Distance)
- Widget Énergie (Puissance, Consommation)
- Widget Lumière (Lux)
- Graphiques Chart.js
- Widget Alertes
### Administration
- Gestion des utilisateurs (accepter, refuser, supprimer, changer le rôle)
- Paramètres du site (nom, tentatives max, durée session, message d'accueil)
- Logs du dashboard
### Interface
- Mode sombre / clair
- Design responsive (mobile, tablette, desktop)
- Page 404 personnalisée
---
## 📁 Structure des fichiers
smart-house---final-/
include/
header.php # En-tête HTML commun
footer.php # Pied de page commun
nav.php # Barre de navigation
session_check.php # Vérification de session
js/
chart.min.js # Chart.js local
index.php # Page d'accueil
login.php # Page de connexion
register.php # Page d'inscription
logout.php # Déconnexion
dashboard.php # Tableau de bord
profil.php # Profil utilisateur
admin_users.php # Gestion des utilisateurs (Admin)
admin_settings.php # Paramètres du site (Admin)
admin_logs.php # Logs (Admin)
404.php # Page d'erreur 404
dashboard.js # Scripts du dashboard
style.css # Styles CSS
users.json.php # Base de données utilisateurs
settings.json.php # Paramètres du site
---
## 🚀 Installation
### Prérequis
- PHP 7.4 ou supérieur
- Serveur web (Apache, Nginx, ou serveur PHP intégré)
### Lancement avec le serveur PHP intégré
php -S localhost:8000
Puis ouvrir dans le navigateur :
http://localhost:8000/
---
## 🔐 Comptes et accès
### Compte Admin
- Nom d'utilisateur : Kari
- Mot de passe : Levasseur
- Rôle : Admin
### Compte Utilisateur
Les utilisateurs s'inscrivent via la page /register.php et doivent être validés par l'admin avant de pouvoir se connecter.
---
## 🛡️ Sécurité
- Mots de passe hashés avec password_hash() (bcrypt)
- Protection contre les attaques par force brute (blocage 5 min après 3 échecs)
- Régénération de l'ID de session après connexion
- Vérification du rôle à chaque chargement de page
- Déconnexion automatique après inactivité
- Protection des pages admin (redirection si non Admin)
- Échappement des données avec htmlspecialchars()
---
## 🛠️ Technologies utilisées
- PHP — Backend et gestion des sessions
- HTML / CSS — Interface utilisateur
- JavaScript — Interactions dynamiques
- Chart.js — Graphiques
- JSON — Stockage des données utilisateurs et paramètres
---
## 📅 Année
2026