2026-05-28 11:54:47 +00:00
2026-04-13 12:00:05 +00:00
2026-04-13 12:32:45 +00:00
2026-04-09 13:34:58 +00:00
2026-05-27 07:37:34 +00:00
2026-03-24 10:04:24 +01:00
2026-04-09 13:35:17 +00:00
2026-05-22 11:59:46 +00:00
2026-04-08 07:50:10 +00:00
2026-05-27 07:37:10 +00:00
2026-03-19 14:59:55 +00:00
2026-03-23 15:20:13 +00:00
2026-03-23 15:20:39 +00:00
2026-05-22 12:12:43 +00:00
2026-05-28 11:54:47 +00:00
2026-05-27 07:37:51 +00:00
2026-05-22 12:33:02 +00:00
2026-04-15 08:05:58 +00:00
2026-05-22 12:05:29 +00:00
2026-05-22 12:11:26 +00:00

🏠 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

Description
No description provided
Readme 228 KiB
Languages
PHP 64.9%
CSS 29%
JavaScript 5.2%
Hack 0.9%