Ajouter README.md
This commit is contained in:
125
README.md
Normal file
125
README.md
Normal file
@@ -0,0 +1,125 @@
|
||||
# 🏠 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
|
||||
Reference in New Issue
Block a user