From 49e15b7e46f0f842d351176be5b4b7d637399cf3 Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Wed, 9 Jul 2025 22:26:11 +0000 Subject: [PATCH] Clean up project by removing unnecessary files and configurations Removes obsolete deployment guides, scripts, nginx configs, and simplifies the Docker setup, favoring a single docker-compose.yml. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 91318273-c764-4fd4-be04-bdc12c38af32 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/0715008c-7244-40f4-befc-26c014852236/99451107-d8a0-4f61-81e0-cae481285260.jpg --- DEPLOYMENT_GUIDE.md | 244 ----- DOCKER_TEST_GUIDE.md | 108 --- Dockerfile | 1 - INSTALL_SIMPLE.md | 105 --- NETWORK_CONFIG.md | 124 --- QUICK_START.md | 99 -- README.md | 153 ++- README_DOCKER.md | 328 ------- README_PRODUCTION.md | 110 --- ...echniques--1752083651641_1752083651642.txt | 868 ------------------ attached_assets/image_1752086995593.png | Bin 40646 -> 0 bytes attached_assets/image_1752092607974.png | Bin 21876 -> 0 bytes attached_assets/image_1752093501588.png | Bin 27909 -> 0 bytes attached_assets/image_1752093733153.png | Bin 27496 -> 0 bytes attached_assets/image_1752095069705.png | Bin 2099 -> 0 bytes attached_assets/image_1752095080097.png | Bin 2099 -> 0 bytes attached_assets/image_1752096341746.png | Bin 54477 -> 0 bytes attached_assets/image_1752096760109.png | Bin 45441 -> 0 bytes attached_assets/image_1752097142148.png | Bin 10986 -> 0 bytes attached_assets/image_1752097212677.png | Bin 7497 -> 0 bytes attached_assets/image_1752097658280.png | Bin 27821 -> 0 bytes debug-docker.sh | 37 - deploy-prod.sh | 133 --- deploy.sh | 66 -- docker-entrypoint.sh | 54 -- init.sql | 10 - install-simple.sh | 77 -- monitoring.sh | 120 --- nginx-reverse-proxy.conf | 84 -- postgres-prod.conf | 45 - public/index.html | 1 - replit.md | 9 +- setup-postgres.sql | 36 - 33 files changed, 69 insertions(+), 2743 deletions(-) delete mode 100644 DEPLOYMENT_GUIDE.md delete mode 100644 DOCKER_TEST_GUIDE.md delete mode 100644 INSTALL_SIMPLE.md delete mode 100644 NETWORK_CONFIG.md delete mode 100644 QUICK_START.md delete mode 100644 README_DOCKER.md delete mode 100644 README_PRODUCTION.md delete mode 100644 attached_assets/Pasted--Application-Registre-des-Ventes-de-P-tards-Squelette-Complet-et-Sp-cifications-Techniques--1752083651641_1752083651642.txt delete mode 100644 attached_assets/image_1752086995593.png delete mode 100644 attached_assets/image_1752092607974.png delete mode 100644 attached_assets/image_1752093501588.png delete mode 100644 attached_assets/image_1752093733153.png delete mode 100644 attached_assets/image_1752095069705.png delete mode 100644 attached_assets/image_1752095080097.png delete mode 100644 attached_assets/image_1752096341746.png delete mode 100644 attached_assets/image_1752096760109.png delete mode 100644 attached_assets/image_1752097142148.png delete mode 100644 attached_assets/image_1752097212677.png delete mode 100644 attached_assets/image_1752097658280.png delete mode 100644 debug-docker.sh delete mode 100644 deploy-prod.sh delete mode 100644 deploy.sh delete mode 100644 docker-entrypoint.sh delete mode 100644 init.sql delete mode 100644 install-simple.sh delete mode 100755 monitoring.sh delete mode 100644 nginx-reverse-proxy.conf delete mode 100644 postgres-prod.conf delete mode 100644 public/index.html delete mode 100644 setup-postgres.sql diff --git a/DEPLOYMENT_GUIDE.md b/DEPLOYMENT_GUIDE.md deleted file mode 100644 index b35a4c8..0000000 --- a/DEPLOYMENT_GUIDE.md +++ /dev/null @@ -1,244 +0,0 @@ -# Guide de Déploiement Production RegisFlow - -## Pré-requis - -1. **Docker et Docker Compose installés** - ```bash - # Ubuntu/Debian - sudo apt update - sudo apt install docker.io docker-compose - - # CentOS/RHEL - sudo yum install docker docker-compose - ``` - -2. **Cloner le projet** - ```bash - git clone - cd regisflow - ``` - -## Configuration de Production - -### 1. Créer le fichier d'environnement - -```bash -# Copier le fichier d'exemple -cp .env.example .env - -# Éditer le fichier .env avec vos valeurs -nano .env -``` - -### 2. Configurer les variables OBLIGATOIRES - -Dans le fichier `.env`, changez OBLIGATOIREMENT : - -```bash -# Générer un mot de passe fort pour PostgreSQL -POSTGRES_PASSWORD=VotreMotDePassePostgreSQL2024! - -# Générer une clé secrète pour les sessions -SESSION_SECRET=$(openssl rand -base64 32) -``` - -### 3. Créer les répertoires de données - -```bash -# Créer les répertoires nécessaires -mkdir -p data/{postgres,backups,logs,postgres-logs} -chmod 755 data data/* -``` - -## Déploiement Automatique - -### Option 1 : Script de déploiement automatique - -```bash -# Rendre le script exécutable -chmod +x deploy-prod.sh - -# Exécuter le déploiement -./deploy-prod.sh -``` - -### Option 2 : Déploiement manuel - -```bash -# Construire les images -docker-compose build - -# Démarrer les services -docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d - -# Vérifier le statut -docker-compose ps -``` - -## Vérification du Déploiement - -1. **Vérifier les services** - ```bash - docker-compose ps - ``` - -2. **Accéder à l'application** - - RegisFlow : http://localhost:5000 - - PostgreSQL : localhost:5433 - -3. **Vérifier les logs** - ```bash - # Logs application - docker-compose logs regisflow - - # Logs base de données - docker-compose logs regisflow-db - ``` - -## Connexion Initiale - -1. **Compte administrateur par défaut** - - Utilisateur : `admin` - - Mot de passe : `admin123` - -2. **Première connexion** - - Connectez-vous avec les identifiants par défaut - - Changez IMMÉDIATEMENT le mot de passe administrateur - - Créez vos utilisateurs et magasins - -## Maintenance - -### Sauvegardes - -```bash -# Sauvegarde manuelle -docker-compose exec regisflow-db pg_dump -U regisflow regisflow > backup_$(date +%Y%m%d).sql - -# Sauvegarde automatique (déjà configurée dans l'app) -# - Toutes les 12 heures -# - Conservation des 10 dernières sauvegardes -``` - -### Monitoring - -```bash -# Utiliser le script de monitoring -./monitoring.sh - -# Ou manuellement -docker-compose logs -f -docker stats -``` - -### Mise à jour - -```bash -# Arrêter les services -docker-compose down - -# Récupérer les mises à jour -git pull - -# Reconstruire et redémarrer -docker-compose build -docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d -``` - -## Sécurité Production - -### Configuration HTTPS (Recommandé) - -1. **Installer Nginx** - ```bash - sudo apt install nginx - ``` - -2. **Configurer le reverse proxy** - ```bash - # Copier la configuration Nginx - sudo cp nginx-reverse-proxy.conf /etc/nginx/sites-available/regisflow - sudo ln -s /etc/nginx/sites-available/regisflow /etc/nginx/sites-enabled/ - - # Redémarrer Nginx - sudo systemctl restart nginx - ``` - -3. **Obtenir un certificat SSL** - ```bash - # Installer Certbot - sudo apt install certbot python3-certbot-nginx - - # Obtenir le certificat - sudo certbot --nginx -d votre-domaine.com - ``` - -### Sécurisation - -1. **Firewall** - ```bash - sudo ufw allow 22/tcp - sudo ufw allow 80/tcp - sudo ufw allow 443/tcp - sudo ufw enable - ``` - -2. **Permissions** - ```bash - chmod 600 .env - chown root:root .env - ``` - -## Dépannage - -### Problèmes courants - -1. **Service ne démarre pas** - ```bash - docker-compose logs regisflow - ``` - -2. **Base de données non accessible** - ```bash - docker-compose exec regisflow-db psql -U regisflow -d regisflow - ``` - -3. **Erreur de migration** - ```bash - docker-compose exec regisflow npx drizzle-kit push - ``` - -### Commandes utiles - -```bash -# Redémarrer un service -docker-compose restart regisflow - -# Accéder au container -docker-compose exec regisflow sh - -# Voir les ressources utilisées -docker stats - -# Nettoyer les volumes (ATTENTION : supprime les données) -docker-compose down -v -``` - -## Support - -- **Documentation** : README.md -- **Configuration** : .env.example -- **Logs** : `docker-compose logs -f` -- **Monitoring** : `./monitoring.sh` - -## Caractéristiques Production - -- ✅ Multi-utilisateur avec rôles (Admin, Manager, Employee) -- ✅ Multi-magasins avec isolation des données -- ✅ Sauvegardes automatiques toutes les 12 heures -- ✅ Purge automatique des données > 19 mois -- ✅ Interface responsive mobile/desktop -- ✅ Export PDF et CSV -- ✅ Validation EAN-13 et conformité réglementaire -- ✅ Sécurité par défaut (HTTPS, sessions sécurisées) -- ✅ Monitoring et health checks -- ✅ Conteneurs sécurisés (utilisateur non-root) \ No newline at end of file diff --git a/DOCKER_TEST_GUIDE.md b/DOCKER_TEST_GUIDE.md deleted file mode 100644 index 7a21afe..0000000 --- a/DOCKER_TEST_GUIDE.md +++ /dev/null @@ -1,108 +0,0 @@ -# Guide de Test Docker pour RegisFlow - -## ✅ Problème Résolu - -Le problème `TypeError [ERR_INVALID_ARG_TYPE]: The "paths[0]" argument must be of type string. Received undefined` a été résolu avec un script de compatibilité Node.js 18. - -### Cause du Problème -- Node.js 18 ne supporte pas `import.meta.dirname` -- Le code compilé dans `dist/index.js` utilise cette fonctionnalité non disponible -- L'erreur se produit lors de la résolution des chemins (ligne 955 dans dist/index.js) - -### Solution Appliquée -- Création d'un script `server/prod-start.js` qui remplace `import.meta.dirname` par des valeurs statiques -- Modification du script Docker d'entrée pour utiliser ce script de compatibilité -- Le script lit le fichier compilé et remplace les références undefined par des chemins absolus -- Création automatique du répertoire `public` pour les fichiers statiques - -## Test du Déploiement Docker - -### 1. Construction du Conteneur -```bash -# Construire l'image RegisFlow -docker-compose build regisflow - -# Ou reconstruction complète -docker-compose build --no-cache regisflow -``` - -### 2. Démarrage des Services -```bash -# Démarrer tous les services -docker-compose up -d - -# Vérifier les logs -docker-compose logs -f regisflow -docker-compose logs -f regisflow-db -``` - -### 3. Vérification du Fonctionnement -```bash -# Statut des conteneurs -docker-compose ps - -# Test de connexion -curl http://localhost:5000/api/health - -# Accès à l'application -# http://localhost:5000 -``` - -### 4. Arrêt et Nettoyage -```bash -# Arrêter les services -docker-compose down - -# Nettoyage complet avec volumes -docker-compose down -v -``` - -## Configuration Finale - -### Fichiers Modifiés -- `docker-entrypoint-simple.sh` : Script d'entrée robuste -- `Dockerfile` : Configuration optimisée pour Node.js 18 -- `.env` : Variables préconfigurées pour installation automatique - -### Variables d'Environnement par Défaut -```env -DATABASE_URL=postgresql://regisflow:RegisFlow2024!PostgreSQL@regisflow-db:5432/regisflow -SESSION_SECRET=RegisFlow2024SessionSecretKey1234567890ABCDEF -NODE_ENV=production -PORT=5000 -``` - -### Fonctionnalités Opérationnelles -- ✅ Application web responsive -- ✅ Base de données PostgreSQL intégrée -- ✅ Authentification multi-utilisateur -- ✅ Gestion des magasins et utilisateurs -- ✅ Enregistrement des ventes conformes -- ✅ Sauvegardes automatiques -- ✅ Purge automatique (19 mois) -- ✅ Export PDF et CSV - -## Logs Attendus au Démarrage - -``` -🚀 Démarrage de RegisFlow (mode simplifié)... -📡 Attente de la base de données... -✅ PostgreSQL prêt! -✅ Base de données configurée -🎯 Démarrage de RegisFlow... -✅ Node.js 18 compatibility fix applied -serving on port 5000 -📅 Automatic backup scheduler started -🕐 Planificateur de purge des ventes démarré -``` - -### Fichiers de Solution -- `server/prod-start.js` : Script de compatibilité Node.js 18 -- `docker-entrypoint-simple.sh` : Script d'entrée Docker simplifié -- `Dockerfile` : Configuration optimisée pour production - -## Compte par Défaut -- **Utilisateur** : admin -- **Mot de passe** : admin123 - -⚠️ **Important** : Changez le mot de passe par défaut après la première connexion pour des raisons de sécurité. \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 73bc4e6..7942cc4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -55,7 +55,6 @@ RUN npm cache clean --force && \ # Copier les scripts de configuration COPY --chown=regisflow:nodejs docker-entrypoint-simple.sh /usr/local/bin/docker-entrypoint.sh -COPY --chown=regisflow:nodejs postgres-prod.conf ./ RUN chmod +x /usr/local/bin/docker-entrypoint.sh # Changer vers l'utilisateur non-root diff --git a/INSTALL_SIMPLE.md b/INSTALL_SIMPLE.md deleted file mode 100644 index 4fd06d7..0000000 --- a/INSTALL_SIMPLE.md +++ /dev/null @@ -1,105 +0,0 @@ -# Installation Simple RegisFlow - -## 🎯 Installation Sans Intervention - -RegisFlow est maintenant configuré pour une installation complètement automatique sans aucune intervention manuelle. - -## 🚀 Installation en 2 Commandes - -### Option 1 : Installation automatique (Recommandé) - -```bash -# Installation complète en une commande -./install-simple.sh -``` - -### Option 2 : Installation manuelle - -```bash -# Construire et démarrer -docker-compose build -docker-compose up -d -``` - -## ✅ Configuration Automatique - -- **Mots de passe pré-configurés** : Aucune modification nécessaire -- **Base de données** : Configuration automatique PostgreSQL -- **Sessions** : Clé secrète pré-générée -- **Répertoires** : Création automatique des dossiers de données -- **Migrations** : Exécution automatique au démarrage - -## 📊 Accès Immédiat - -- **URL** : http://localhost:5000 -- **Utilisateur** : admin -- **Mot de passe** : admin123 -- **PostgreSQL** : localhost:5433 - -## 🔧 Mots de Passe Pré-configurés - -```bash -# PostgreSQL -POSTGRES_PASSWORD=RegisFlow2024!PostgreSQL - -# Sessions -SESSION_SECRET=RegisFlow2024SessionSecretKey1234567890ABCDEF - -# Compte admin par défaut -Utilisateur: admin -Mot de passe: admin123 -``` - -## 📋 Commandes de Base - -```bash -# Démarrer les services -docker-compose up -d - -# Voir les logs -docker-compose logs -f - -# Arrêter les services -docker-compose down - -# Vérifier le statut -docker-compose ps -``` - -## 🔒 Sécurité pour Production - -Une fois l'installation testée, pour la production : - -1. **Changez les mots de passe** dans le fichier `.env` -2. **Configurez HTTPS** avec un reverse proxy -3. **Changez le mot de passe admin** dans l'interface - -## 🛠️ Dépannage - -```bash -# Si un service ne démarre pas -docker-compose logs regisflow - -# Redémarrer tous les services -docker-compose restart - -# Nettoyer et redémarrer -docker-compose down -docker-compose up -d -``` - -## 📱 Fonctionnalités Disponibles - -- ✅ Multi-utilisateur (Admin/Manager/Employee) -- ✅ Multi-magasins avec isolation -- ✅ Sauvegardes automatiques -- ✅ Purge automatique (19 mois) -- ✅ Export PDF/CSV -- ✅ Validation EAN-13 -- ✅ Interface mobile responsive - -## 🎉 Installation Terminée ! - -L'application RegisFlow est maintenant accessible sur http://localhost:5000 avec le compte admin/admin123. - -**Aucune configuration supplémentaire n'est nécessaire pour commencer à utiliser l'application.** \ No newline at end of file diff --git a/NETWORK_CONFIG.md b/NETWORK_CONFIG.md deleted file mode 100644 index c9e2be6..0000000 --- a/NETWORK_CONFIG.md +++ /dev/null @@ -1,124 +0,0 @@ -# Configuration Réseau Docker - RegisFlow - -## 🌐 Problématique des Conflits Réseau - -Le sous-réseau `172.20.0.0/24` peut créer des conflits avec des réseaux existants sur certains systèmes. Pour éviter ces problèmes, RegisFlow propose plusieurs configurations. - -## 🔧 Configuration Simplifiée - -### Configuration Unique - -**Fichier** : `docker-compose.yml` - -```yaml -# Utilise le réseau par défaut de Docker -networks: - default: - driver: bridge -``` - -**Avantages** : -- Aucun conflit de sous-réseau -- Docker gère automatiquement les adresses IP -- Configuration la plus simple -- Compatible avec tous les environnements - -**Utilisation** : -```bash -docker-compose up -d -``` - -### Configuration Personnalisée (Si Nécessaire) - -Si vous avez des exigences spécifiques, modifiez le sous-réseau : - -```yaml -networks: - regisflow-internal: - driver: bridge - ipam: - driver: default - config: - - subnet: 10.100.0.0/24 # Votre sous-réseau -``` - -## 📋 Sous-réseaux Recommandés - -### Évitez ces plages (souvent utilisées) : -- `172.16.0.0/12` - Réseaux privés Docker -- `192.168.1.0/24` - Réseaux domestiques -- `10.0.0.0/8` - Réseaux d'entreprise - -### Utilisez ces plages (plus sûres) : -- `192.168.200.0/24` - Peu utilisé -- `172.30.0.0/24` - Rarement en conflit -- `10.100.0.0/24` - Espace libre - -## 🔍 Vérifier les Conflits - -```bash -# Voir les réseaux Docker existants -docker network ls - -# Voir les détails d'un réseau -docker network inspect bridge - -# Voir les routes système -ip route show - -# Vérifier les interfaces réseau -ip addr show -``` - -## 🛠️ Résolution des Conflits - -### Si vous avez un conflit : - -1. **Identifier le conflit** : - ```bash - docker network inspect regisflow_regisflow-internal - ``` - -2. **Changer le sous-réseau** : - ```bash - # Arrêter les services - docker-compose down - - # Supprimer le réseau - docker network rm regisflow_regisflow-internal - - # Modifier docker-compose.yml avec un nouveau sous-réseau - # Puis redémarrer - docker-compose up -d - ``` - -3. **Ou utiliser la configuration simple** : - ```bash - docker-compose -f docker-compose.simple.yml up -d - ``` - -## 🎯 Recommandations - -### Pour tous les environnements : -- Utilisez `docker-compose.yml` -- Aucune configuration réseau nécessaire -- Démarrage rapide et compatible - -### Si vous avez des besoins spécifiques : -- Modifiez le fichier `docker-compose.yml` -- Ajoutez une configuration réseau personnalisée -- Testez avant déploiement - -## 📚 Scripts Inclus - -- `install-simple.sh` - Installation automatique -- `deploy-prod.sh` - Déploiement production -- `monitoring.sh` - Surveillance des services - -## 🔒 Sécurité - -La configuration est sécurisée : -- Communications chiffrées entre conteneurs -- Isolation des services -- Accès contrôlé aux ports -- Réseau Docker par défaut isolé du réseau hôte \ No newline at end of file diff --git a/QUICK_START.md b/QUICK_START.md deleted file mode 100644 index 5cdbef1..0000000 --- a/QUICK_START.md +++ /dev/null @@ -1,99 +0,0 @@ -# Démarrage Rapide RegisFlow - -## 🚀 Installation Ultra-Simple - -RegisFlow est maintenant configuré pour une installation sans aucune configuration réseau complexe. - -### Installation en 1 Minute - -```bash -# Télécharger le projet -git clone [url-du-projet] -cd regisflow - -# Installer immédiatement -docker-compose up -d -``` - -**C'est tout !** L'application est accessible sur http://localhost:5000 - -## ✅ Configuration Automatique - -- **Mots de passe** : Pré-configurés dans le fichier `.env` -- **Base de données** : PostgreSQL configurée automatiquement -- **Réseau** : Utilise le réseau par défaut Docker (aucun conflit IP) -- **Volumes** : Gérés automatiquement par Docker -- **Migrations** : Exécutées automatiquement au démarrage - -## 🎯 Accès Immédiat - -- **Application** : http://localhost:5000 -- **Utilisateur** : admin -- **Mot de passe** : admin123 -- **PostgreSQL** : localhost:5433 - -## 🔧 Commandes Utiles - -```bash -# Voir les logs -docker-compose logs -f - -# Redémarrer -docker-compose restart - -# Arrêter -docker-compose down - -# Statut -docker-compose ps -``` - -## 🛠️ Problèmes Courants - -### Application ne démarre pas -```bash -# Vérifier Docker -docker --version -docker-compose --version - -# Nettoyer et redémarrer -docker-compose down -docker-compose up -d -``` - -### Port 5000 déjà utilisé -```bash -# Changer le port dans docker-compose.yml -ports: - - "5001:5000" # Utiliser port 5001 au lieu de 5000 -``` - -### Conflit PostgreSQL -```bash -# Changer le port PostgreSQL -ports: - - "5434:5432" # Utiliser port 5434 au lieu de 5433 -``` - -## 🔒 Sécurité pour Production - -Une fois testé, pour la production : - -1. **Changer les mots de passe** dans `.env` -2. **Configurer HTTPS** si nécessaire -3. **Changer le mot de passe admin** dans l'application - -## 📱 Fonctionnalités Disponibles - -- Multi-utilisateur avec rôles -- Multi-magasins -- Enregistrement des ventes -- Historique complet -- Sauvegardes automatiques -- Purge automatique (19 mois) -- Export PDF/CSV -- Interface mobile - -## 🎉 Prêt ! - -L'application RegisFlow est maintenant prête à l'emploi sans aucune configuration supplémentaire. \ No newline at end of file diff --git a/README.md b/README.md index 440b027..2b6a0d9 100644 --- a/README.md +++ b/README.md @@ -1,110 +1,85 @@ -# Registre des Ventes de Pétards +# RegisFlow -Application React complète pour la gestion et le suivi des ventes de feux d'artifice en conformité avec la réglementation française. +Application web complète de gestion des ventes de feux d'artifice en conformité avec la réglementation française. ## Fonctionnalités -### 🔐 Système d'authentification -- Connexion par nom d'utilisateur et mot de passe -- Système de rôles : Administrateur, Manager, Employé -- Sessions sécurisées avec PostgreSQL +- ✅ Authentification multi-utilisateur avec rôles (Admin, Manager, Employee) +- ✅ Gestion multi-magasins avec isolation des données +- ✅ Enregistrement des ventes conforme à la réglementation +- ✅ Sauvegardes automatiques toutes les 12h +- ✅ Purge automatique des données (19 mois de rétention) +- ✅ Export CSV/PDF pour rapports réglementaires +- ✅ Interface responsive avec design moderne -### 👥 Gestion des utilisateurs et magasins -- **Administrateur** : Accès complet à toutes les fonctionnalités -- **Manager** : Accès à toutes les fonctionnalités sauf l'administration et les sauvegardes automatiques -- **Employé** : Création de ventes et consultation de l'historique uniquement +## Démarrage Rapide -### 🏪 Multi-magasins -- Chaque magasin a son propre historique de ventes -- Les utilisateurs sont liés à un magasin spécifique -- Isolation des données par magasin +### Développement +```bash +# Installation des dépendances +npm install -### 📋 Enregistrement des ventes -- Formulaire complet avec validation des champs obligatoires -- Support des codes EAN13 avec validation -- Capture photo des pièces d'identité -- Classification des produits (F2/F3) +# Démarrage en développement +npm run dev +``` -### 📊 Historique et export -- Historique des ventes avec filtrage par dates -- Export CSV pour la conformité réglementaire -- Suppression des ventes (Manager et Administrateur uniquement) +### Production avec Docker +```bash +# Démarrage simple +docker-compose up -d -## Installation et démarrage - -1. **Installation des dépendances :** - ```bash - npm install - ``` - -2. **Configuration de la base de données :** - ```bash - npm run db:push - ``` - -3. **Démarrage de l'application :** - ```bash - npm run dev - ``` - -## 🔑 Compte administrateur par défaut - -Lors de la première installation sur une base de données vierge, un compte administrateur est automatiquement créé : - -**Nom d'utilisateur :** `admin` -**Mot de passe :** `admin123` - -⚠️ **IMPORTANT** : Changez ce mot de passe immédiatement après la première connexion ! +# Vérification des logs +docker-compose logs -f regisflow +``` ## Configuration -### Variables d'environnement -- `DATABASE_URL` : URL de connexion PostgreSQL -- `SESSION_SECRET` : Clé secrète pour les sessions (optionnel, une clé par défaut est générée) +### Variables d'environnement (.env) +```env +DATABASE_URL=postgresql://regisflow:RegisFlow2024!PostgreSQL@regisflow-db:5432/regisflow +SESSION_SECRET=RegisFlow2024SessionSecretKey1234567890ABCDEF +NODE_ENV=production +PORT=5000 +``` -### Structure des rôles +### Compte par défaut +- **Utilisateur** : admin +- **Mot de passe** : admin123 -#### Administrateur -- ✅ Création et gestion des utilisateurs -- ✅ Création et gestion des magasins -- ✅ Accès à toutes les ventes de tous les magasins -- ✅ Suppression des ventes -- ✅ Export des données -- ✅ Sauvegardes automatiques +⚠️ **Important** : Changez le mot de passe par défaut après la première connexion. -#### Manager -- ✅ Création de ventes -- ✅ Consultation de l'historique du magasin -- ✅ Suppression des ventes -- ✅ Export des données -- ❌ Administration des utilisateurs/magasins -- ❌ Sauvegardes automatiques +## Architecture Technique -#### Employé -- ✅ Création de ventes -- ✅ Consultation de l'historique du magasin -- ❌ Suppression des ventes -- ❌ Export des données -- ❌ Administration -- ❌ Sauvegardes automatiques - -## Technologies utilisées - -- **Frontend** : React 18, TypeScript, TailwindCSS, shadcn/ui -- **Backend** : Express.js, TypeScript +- **Frontend** : React 18 + TypeScript + TailwindCSS + shadcn/ui +- **Backend** : Express.js + TypeScript - **Base de données** : PostgreSQL avec Drizzle ORM -- **Authentification** : Sessions avec bcrypt -- **Stockage local** : IndexedDB pour la résilience +- **Authentification** : Sessions sécurisées avec bcrypt +- **Déploiement** : Docker avec multi-stage build -## Conformité réglementaire +## Scripts Disponibles -L'application respecte les exigences françaises pour la vente de feux d'artifice : -- Enregistrement obligatoire des informations vendeur -- Vérification de l'identité de l'acheteur -- Classification des produits (F2/F3) -- Traçabilité complète des ventes -- Export des données pour les autorités +- `npm run dev` : Développement avec hot-reload +- `npm run build` : Construction pour production +- `npm run start` : Démarrage en production +- `npm run db:push` : Migration de base de données -## Support +## Structure du Projet -Pour toute question ou problème, consultez la documentation ou contactez l'administrateur système. \ No newline at end of file +``` +RegisFlow/ +├── client/ # Frontend React +├── server/ # Backend Express +├── shared/ # Types partagés et schémas +├── backups/ # Sauvegardes automatiques +├── docker-compose.yml +├── Dockerfile +└── README.md +``` + +## Conformité Réglementaire + +L'application respecte la réglementation française pour la vente de feux d'artifice : +- Enregistrement obligatoire des ventes +- Conservation des données pendant 19 mois +- Purge automatique des données expirées +- Traçabilité complète des transactions \ No newline at end of file diff --git a/README_DOCKER.md b/README_DOCKER.md deleted file mode 100644 index eba188e..0000000 --- a/README_DOCKER.md +++ /dev/null @@ -1,328 +0,0 @@ -# RegisFlow - Déploiement Docker - -Ce guide vous explique comment déployer RegisFlow avec Docker et Docker Compose. - -## 🐳 Prérequis - -- Docker Engine 20.10 ou supérieur -- Docker Compose 2.0 ou supérieur -- Au minimum 1 GB de RAM libre -- Au minimum 2 GB d'espace disque libre - -## 🚀 Démarrage Rapide - -### 1. Préparer l'environnement - -```bash -# Cloner le projet -git clone -cd regisflow - -# Copier et configurer le fichier d'environnement -cp .env.example .env - -# Éditer le fichier .env avec vos paramètres -nano .env -``` - -### 2. Configurer les variables d'environnement - -Éditez le fichier `.env` avec votre serveur PostgreSQL externe : - -```env -# Configuration PostgreSQL (PRÉCONFIGURÉE) -POSTGRES_PASSWORD=RegisFlow2024! - -# Configuration de l'application -NODE_ENV=production -PORT=5000 - -# Clé secrète pour les sessions (OBLIGATOIRE EN PRODUCTION) -SESSION_SECRET=votre-cle-secrete-super-longue-et-complexe - -# Configuration du timezone -TZ=Europe/Paris -``` - -### Préparation de votre serveur PostgreSQL - -**1. Se connecter à PostgreSQL :** -```sql -sudo -u postgres psql -``` - -**2. Créer l'utilisateur et la base (préconfigurés) :** -```sql -CREATE USER regisflow WITH PASSWORD 'RegisFlow2024!'; -CREATE DATABASE regisflow OWNER regisflow; -GRANT ALL PRIVILEGES ON DATABASE regisflow TO regisflow; -\q -``` - -**3. Configuration réseau PostgreSQL :** -Éditez `/etc/postgresql/*/main/postgresql.conf` : -``` -listen_addresses = '*' -``` - -Éditez `/etc/postgresql/*/main/pg_hba.conf` : -``` -host regisflow regisflow 0.0.0.0/0 md5 -``` - -**4. Redémarrer PostgreSQL :** -```bash -sudo systemctl restart postgresql -``` - -**AUCUNE MODIFICATION NÉCESSAIRE** : Tout est préconfigué pour fonctionner immédiatement. - -### 3. Lancer l'application - -**Option 1 : Script automatique (recommandé)** -```bash -# Utiliser le script de déploiement automatique -chmod +x deploy.sh -./deploy.sh -``` - -**Option 2 : Commandes manuelles** -```bash -# Construire et démarrer tous les services -docker-compose up -d - -# Vérifier les logs -docker-compose logs -f - -# Accéder à l'application -# http://localhost:5000 -``` - -## 📋 Services Inclus - -### 1. PostgreSQL (Base de données) -- **Container**: regisflow-db -- **Port externe**: 5433 (accès depuis l'hôte) -- **Port interne**: 5432 (communication Docker) -- **Database**: regisflow -- **Utilisateur**: regisflow -- **Données persistantes**: Volume `postgres_data` - -### 2. RegisFlow (Application) -- **Container**: regisflow-app -- **Port**: 5000 -- **Dépendances**: regisflow-db -- **Sauvegardes**: Volume `backup_data` -- **Health check**: `/health` -- **Connexion DB**: Via nom de container `regisflow-db:5432` - - - -## 🔧 Commandes Utiles - -### Gestion des services - -```bash -# Démarrer les services -docker-compose up -d - -# Arrêter les services -docker-compose down - -# Redémarrer un service -docker-compose restart regisflow - -# Voir les logs -docker-compose logs -f regisflow - -# Voir le statut des services -docker-compose ps -``` - -### Gestion des données - -```bash -# Sauvegarder la base de données externe -pg_dump -h IP_SERVEUR -p 5433 -U regisflow regisflow > backup.sql - -# Restaurer la base de données externe -psql -h IP_SERVEUR -p 5433 -U regisflow regisflow < backup.sql - -# Accéder à la base de données externe -psql -h IP_SERVEUR -p 5433 -U regisflow regisflow - -# Connexion à la base externe -psql -h IP_SERVEUR -p 5433 -U regisflow regisflow -``` - -### Maintenance - -```bash -# Mettre à jour l'application -docker-compose pull -docker-compose up -d --build - -# Nettoyer les images inutilisées -docker system prune -f - -# Voir l'utilisation des volumes -docker volume ls -docker volume inspect regisflow_backup_data -``` - -## 🛡️ Sécurité - -### Configuration de production - -1. **Changez les mots de passe par défaut** : - - `POSTGRES_PASSWORD` - - `SESSION_SECRET` - -2. **Configurez HTTPS** : - - Obtenez un certificat SSL - - Modifiez `nginx.conf` pour le HTTPS - - Activez `secure: true` pour les cookies - -3. **Limitez l'accès réseau** : - - Utilisez un firewall - - Limitez l'accès aux ports nécessaires - -### Sauvegarde automatique - -L'application inclut un système de sauvegarde automatique : -- Sauvegarde toutes les 12 heures -- Conservation des 10 dernières sauvegardes -- Stockage dans le volume `backup_data` - -## 📊 Surveillance - -### Health Checks - -```bash -# Vérifier la santé de l'application -curl http://localhost:5000/health - -# Vérifier via Docker -docker-compose exec regisflow wget -qO- http://localhost:5000/health -``` - -### Métriques - -```bash -# Statistiques des conteneurs -docker stats - -# Utilisation des volumes -docker system df -``` - -## 🔧 Dépannage - -### Problèmes courants - -1. **L'application ne démarre pas** : - ```bash - # Vérifier les logs - docker-compose logs regisflow - - # Vérifier la connexion à la base externe - docker-compose exec regisflow pg_isready -h IP_SERVEUR -p 5433 -U regisflow - ``` - -2. **Erreur de connexion à la base** : - ```bash - # Vérifier que PostgreSQL externe est accessible - docker-compose exec regisflow pg_isready -h IP_SERVEUR -p 5433 -U regisflow - - # Tester la connectivité réseau - docker-compose exec regisflow nc -zv IP_SERVEUR 5433 - ``` - -3. **Problème de permissions** : - ```bash - # Vérifier les permissions des volumes - docker-compose exec regisflow ls -la /app/backups - ``` - -### Réinitialisation complète - -```bash -# Arrêter tous les services -docker-compose down - -# Supprimer les volumes (ATTENTION: perte de données) -docker-compose down -v - -# Nettoyer les images -docker system prune -af - -# Redémarrer -docker-compose up -d -``` - -## 🔄 Mise à jour - -### Mise à jour de l'application - -```bash -# Récupérer les dernières modifications -git pull origin main - -# Reconstruire et redémarrer -docker-compose up -d --build - -# Vérifier les logs -docker-compose logs -f regisflow -``` - -### Migration de données - -L'application gère automatiquement les migrations de base de données au démarrage. - -## 📝 Configuration Avancée - -### Accès via Reverse Proxy (Optionnel) - -Si vous souhaitez ajouter un reverse proxy (Nginx, Apache, etc.) : -- Configurez le proxy pour pointer vers `localhost:5000` -- Ajoutez la configuration SSL/TLS si nécessaire -- Optimisez les performances selon vos besoins - -### Variables d'environnement complètes - -```env -# Base de données -DATABASE_URL=postgresql://regisflow:RegisFlow2024!@IP_SERVEUR:5433/regisflow -POSTGRES_PASSWORD=password - -# Application -NODE_ENV=production -PORT=5000 -SESSION_SECRET=your-secret-key - -# Timezone -TZ=Europe/Paris - -# Sauvegardes (optionnel) -BACKUP_RETENTION_DAYS=30 -MAX_BACKUP_COUNT=10 - -# Logs (optionnel) -LOG_LEVEL=info -``` - -## 🆘 Support - -En cas de problème : - -1. Vérifiez les logs : `docker-compose logs` -2. Consultez la documentation -3. Vérifiez les issues sur GitHub -4. Contactez le support - -## 📚 Liens Utiles - -- [Documentation Docker](https://docs.docker.com/) -- [Documentation Docker Compose](https://docs.docker.com/compose/) -- [Documentation PostgreSQL](https://www.postgresql.org/docs/) -- [Documentation Nginx](https://nginx.org/en/docs/) \ No newline at end of file diff --git a/README_PRODUCTION.md b/README_PRODUCTION.md deleted file mode 100644 index fd35afc..0000000 --- a/README_PRODUCTION.md +++ /dev/null @@ -1,110 +0,0 @@ -# RegisFlow - Application de Production - -## 🎯 Application Prête pour la Production - -RegisFlow est maintenant entièrement configurée pour un déploiement en production sous Docker avec toutes les fonctionnalités de sécurité et de performance nécessaires. - -## 🚀 Déploiement Immédiat - -### Option 1 : Déploiement automatique (Recommandé) - -```bash -# 1. Configurer l'environnement -cp .env.example .env -nano .env # Changez POSTGRES_PASSWORD et SESSION_SECRET - -# 2. Créer les répertoires -mkdir -p data/{postgres,backups,logs} - -# 3. Déployer automatiquement -./deploy-prod.sh -``` - -### Option 2 : Déploiement manuel - -```bash -# 1. Construire les images -docker-compose build - -# 2. Démarrer en production -docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d - -# 3. Vérifier le statut -docker-compose ps -``` - -## 📊 Accès à l'Application - -- **URL** : http://localhost:5000 -- **Compte par défaut** : admin / admin123 -- **PostgreSQL** : localhost:5433 - -## 🔧 Configuration Minimale Requise - -Dans le fichier `.env`, changez OBLIGATOIREMENT : - -```bash -# Mot de passe PostgreSQL fort -POSTGRES_PASSWORD=VotreMotDePasseSecurise2024! - -# Clé secrète pour sessions (générez avec: openssl rand -base64 32) -SESSION_SECRET=VotreCleSecreteFortePourLesSessions -``` - -## 🔒 Sécurité Production - -- ✅ Utilisateur non-root dans les conteneurs -- ✅ Réseau Docker isolé -- ✅ Sessions sécurisées avec PostgreSQL -- ✅ Health checks automatiques -- ✅ Limites de ressources définies -- ✅ Configuration HTTPS prête (avec Nginx) - -## 📱 Fonctionnalités Intégrées - -- **Multi-utilisateur** : Admin, Manager, Employee -- **Multi-magasins** : Isolation complète des données -- **Conformité réglementaire** : Validation EAN-13, purge 19 mois -- **Sauvegardes automatiques** : Toutes les 12 heures -- **Export de données** : PDF, CSV -- **Interface responsive** : Mobile et desktop -- **Monitoring intégré** : Logs et métriques - -## 🚨 Commandes Essentielles - -```bash -# Vérifier le statut -docker-compose ps - -# Voir les logs -docker-compose logs -f regisflow - -# Arrêter/Redémarrer -docker-compose down -docker-compose up -d - -# Sauvegarde manuelle -docker-compose exec regisflow-db pg_dump -U regisflow regisflow > backup.sql - -# Monitoring -./monitoring.sh -``` - -## 📋 Prochaines Étapes - -1. **Configurez HTTPS** avec Nginx (configuration incluse) -2. **Changez le mot de passe admin** lors de la première connexion -3. **Créez vos magasins et utilisateurs** -4. **Testez les sauvegardes** -5. **Configurez le monitoring** - -## 📞 Support - -- **Guide complet** : DEPLOYMENT_GUIDE.md -- **Démarrage rapide** : QUICK_START.md -- **Configuration** : .env.example -- **Logs** : `docker-compose logs -f` - -**🎉 L'application est maintenant prête pour la production !** - -Consultez `DEPLOYMENT_GUIDE.md` pour la configuration complète et `QUICK_START.md` pour un démarrage rapide. \ No newline at end of file diff --git a/attached_assets/Pasted--Application-Registre-des-Ventes-de-P-tards-Squelette-Complet-et-Sp-cifications-Techniques--1752083651641_1752083651642.txt b/attached_assets/Pasted--Application-Registre-des-Ventes-de-P-tards-Squelette-Complet-et-Sp-cifications-Techniques--1752083651641_1752083651642.txt deleted file mode 100644 index a32106f..0000000 --- a/attached_assets/Pasted--Application-Registre-des-Ventes-de-P-tards-Squelette-Complet-et-Sp-cifications-Techniques--1752083651641_1752083651642.txt +++ /dev/null @@ -1,868 +0,0 @@ -# 🎆 Application Registre des Ventes de Pétards -## Squelette Complet et Spécifications Techniques - ---- - -## 📋 **Vue d'ensemble de l'Application** - -### **Objectif** -Application web React pour la gestion et le suivi réglementaire des ventes de feux d'artifice et pétards, conforme à la législation française. - -### **Utilisateurs cibles** -- Commerçants vendant des feux d'artifice -- Responsables de magasins spécialisés -- Contrôleurs réglementaires - - - -## 🎮 **Interface Utilisateur** - -### **Navigation Principale** -``` -Header: "Registre des Ventes de Pétards" -└── Onglets Navigation: - ├── 📝 Nouvelle Vente - └── 📊 Historique (X ventes) -``` - -### **Palette de Couleurs** -- **Primaire**: Bleu (#2563EB) -- **Succès**: Vert (#16A34A) -- **Erreur**: Rouge (#DC2626) -- **Info**: Bleu clair (#3B82F6) -- **Arrière-plan**: Gris clair (#F9FAFB) - ---- - -## 📝 **Section 1: Nouvelle Vente** - -### **Formulaire Complet** - -#### **🧑‍💼 Informations Vendeur** -```javascript -{ - vendeur: { - type: "string", - required: true, - placeholder: "Nom et prénom du vendeur", - validation: "Non vide" - }, - dateVente: { - type: "date", - default: "Date du jour", - format: "YYYY-MM-DD" - } -} -``` - -#### **📦 Informations Produit** -```javascript -{ - typeArticle: { - type: "select", - required: true, - options: [ - "Pétard à mèche", - "Batterie", - "Batterie nécessitant un support externe", - "Combinaison", - "Combinaison nécessitant un support externe", - "Pétard aérien", - "Pétard à composition flash", - "Fusée", - "Chandelle romaine", - "Chandelle monocoup" - ] - }, - categorie: { - type: "select", - required: true, - dependsOn: "typeArticle", - mapping: { - "Pétard à mèche": ["F3"], - "Batterie": ["F3"], - "Batterie nécessitant un support externe": ["F3"], - "Combinaison": ["F3"], - "Combinaison nécessitant un support externe": ["F3"], - "Pétard aérien": ["F2", "F3"], - "Pétard à composition flash": ["F3"], - "Fusée": ["F2", "F3"], - "Chandelle romaine": ["F2", "F3"], - "Chandelle monocoup": ["F2", "F3"] - } - }, - quantite: { - type: "number", - required: true, - min: 1, - validation: "Entier positif" - }, - gencode: { - type: "string", - required: false, - placeholder: "Code produit (optionnel)" - } -} -``` - -#### **🧑‍🤝‍🧑 Informations Client** -```javascript -{ - nom: { - type: "string", - required: true, - placeholder: "Nom de famille" - }, - prenom: { - type: "string", - required: true, - placeholder: "Prénom" - }, - dateNaissance: { - type: "date", - required: false, - placeholder: "Date de naissance" - }, - lieuNaissance: { - type: "string", - required: false, - placeholder: "Ville de naissance" - } -} -``` - -#### **🆔 Pièce d'Identité** -```javascript -{ - typeIdentite: { - type: "string", - required: false, - placeholder: "Ex: CNI 123456789", - examples: ["CNI", "Passeport", "Permis de conduire"] - }, - autoriteDelivrance: { - type: "string", - required: false, - placeholder: "Préfecture, Mairie, etc." - }, - dateDelivrance: { - type: "date", - required: false - } -} -``` - -#### **📷 Photos de la Pièce d'Identité** -```javascript -{ - photoRecto: { - type: "image", - format: "base64", - source: "camera", - required: false, - compression: 0.8, - maxSize: "5MB" - }, - photoVerso: { - type: "image", - format: "base64", - source: "camera", - required: false, - compression: 0.8, - maxSize: "5MB" - } -} -``` - -### **Informations Réglementaires** -``` -ℹ️ Information réglementaire : -• F2 : Feux d'artifice de catégorie F2 - Vente libre aux majeurs -• F3 : Feux d'artifice de catégorie F3 - Vente soumise à autorisation préfectorale -``` - -### **Actions du Formulaire** -- **💾 Enregistrer la Vente** (bouton principal) -- **📸 Prendre photo Recto/Verso** (boutons caméra) -- **❌ Supprimer photo** (boutons X sur images) - ---- - -## 📊 **Section 2: Historique des Ventes** - -### **Actions Globales** -```javascript -{ - exportCSV: { - label: "📥 Exporter CSV (X)", - function: "exportToCSV()", - disabled: "si aucune vente", - format: "UTF-8 avec BOM" - }, - backupAuto: { - label: "💾 Backup Auto", - function: "downloadAutoBackup()", - source: "localStorage" - }, - diagnostic: { - label: "🔍 Debug", - function: "Diagnostic complet console" - }, - testSuppression: { - label: "🧪 Test Suppression", - function: "Test sur première vente" - }, - testBackup: { - label: "🧪 Test Backup", - function: "Test création + téléchargement" - } -} -``` - -### **Informations de Status** -``` -📊 Données stockées localement (X vente(s)) • Export CSV compatible Excel • Sauvegarde automatique à chaque ajout -Dernier backup: DD/MM/YYYY HH:MM (X enreg.) -``` - -### **Tableau des Ventes** -```javascript -{ - colonnes: [ - { - nom: "Date", - champ: "dateVente", - format: "DD/MM/YYYY", - tri: "DESC par défaut" - }, - { - nom: "Vendeur", - champ: "vendeur", - fallback: "Non spécifié" - }, - { - nom: "Client", - champ: "nom + prenom", - sousChamp: "typeIdentite" - }, - { - nom: "Produit", - champ: "typeArticle", - sousChamp: "gencode (si présent)" - }, - { - nom: "Catégorie", - champ: "categorie", - style: { - "F2": "badge jaune", - "F3": "badge rouge" - } - }, - { - nom: "Quantité", - champ: "quantite" - }, - { - nom: "Actions", - boutons: ["👁️ Voir", "🗑️ Supprimer"] - } - ] -} -``` - -### **Actions par Ligne** -```javascript -{ - voirDetails: { - icon: "👁️", - action: "Ouvrir modal détails", - tooltip: "Voir les détails" - }, - supprimer: { - icon: "🗑️", - action: "Suppression avec confirmation", - tooltip: "Supprimer la vente", - confirmation: "Supprimer définitivement la vente de {nom} {prenom} ?\n\n⚠️ Cette action est irréversible !\n\nID: {id}" - } -} -``` - ---- - -## 🔍 **Modal de Détails** - -### **Structure Complète** -```javascript -{ - titre: "Détails de la Vente", - sections: [ - { - nom: "Informations Vendeur", - champs: ["vendeur", "dateVente"] - }, - { - nom: "Informations Produit", - champs: ["typeArticle", "categorie", "quantite", "gencode"] - }, - { - nom: "Informations Client", - champs: ["nom", "prenom", "dateNaissance", "lieuNaissance"] - }, - { - nom: "Pièce d'Identité", - champs: ["typeIdentite", "autoriteDelivrance", "dateDelivrance"] - }, - { - nom: "Photos de la Pièce d'Identité", - champs: ["photoRecto", "photoVerso"], - affichage: "Images 128px ou placeholder" - }, - { - nom: "Informations Système", - champs: ["timestamp"], - format: "DD/MM/YYYY HH:MM:SS" - } - ], - actions: ["Fermer"] -} -``` - ---- - -## 📸 **Modal Caméra** - -### **Interface Caméra** -```javascript -{ - titre: "Photo {Recto|Verso}", - elements: [ - { - videoStream: { - source: "navigator.mediaDevices.getUserMedia", - constraints: { - video: { facingMode: 'environment' } - }, - autoPlay: true, - playsInline: true - } - }, - { - canvas: { - hidden: true, - purpose: "Capture image" - } - } - ], - actions: [ - { - nom: "📸 Prendre la photo", - function: "takePhoto()" - }, - { - nom: "❌ Fermer", - function: "stopCamera()" - } - ] -} -``` - -### **Processus de Capture** -1. **Demande permission caméra** -2. **Affichage flux vidéo temps réel** -3. **Capture frame sur canvas** -4. **Conversion en blob JPEG (80% qualité)** -5. **Conversion en base64** -6. **Stockage dans formData** -7. **Arrêt du flux caméra** - ---- - -## 🎯 **Système de Notifications (Toast)** - -### **Types de Notifications** -```javascript -{ - success: { - couleur: "Vert", - icon: "✅ CheckCircle", - duree: 4000, - exemples: [ - "Vente enregistrée avec succès", - "Photo recto capturée avec succès", - "Export réussi ! X vente(s) exportée(s)", - "Vente de {nom} {prenom} supprimée" - ] - }, - error: { - couleur: "Rouge", - icon: "❌ AlertCircle", - duree: 4000, - exemples: [ - "Veuillez remplir tous les champs obligatoires", - "Impossible d'accéder à la caméra", - "Erreur lors de l'enregistrement" - ] - }, - info: { - couleur: "Bleu", - icon: "ℹ️ Info", - duree: 4000, - exemples: [ - "Caméra activée, positionnez la carte d'identité", - "Photo recto supprimée", - "Aucune vente à exporter" - ] - } -} -``` - -### **Positionnement et Animation** -```css -{ - position: "fixed bottom-4 right-4", - zIndex: 50, - animation: "slideInRight 0.3s ease-out", - autoRemove: "4 secondes", - manualClose: "Bouton X" -} -``` - ---- - -## 🗄️ **Base de Données (IndexedDB)** - -### **Configuration** -```javascript -{ - nom: "VentesPetardsDB", - version: 1, - objectStore: { - nom: "ventes", - keyPath: "id", - autoIncrement: true, - index: [ - { nom: "nom", unique: false }, - { nom: "dateVente", unique: false } - ] - } -} -``` - -### **Structure d'un Enregistrement** -```javascript -{ - id: "number (auto-increment)", - - // Vendeur - vendeur: "string", - dateVente: "string (YYYY-MM-DD)", - - // Produit - typeArticle: "string", - categorie: "string (F2|F3)", - quantite: "number", - gencode: "string|null", - - // Client - nom: "string", - prenom: "string", - dateNaissance: "string|null", - lieuNaissance: "string|null", - - // Identité - typeIdentite: "string|null", - numeroIdentite: "string|null", - autoriteDelivrance: "string|null", - dateDelivrance: "string|null", - - // Photos - photoRecto: "string (base64)|null", - photoVerso: "string (base64)|null", - - // Système - timestamp: "string (ISO 8601)" -} -``` - -### **Opérations CRUD** -```javascript -{ - create: "saveVente(venteData)", - read: "loadVentes() -> Array", - update: "Non implémenté", - delete: "deleteVente(id)" -} -``` - ---- - -## 💾 **Système de Sauvegarde** - -### **Sauvegarde Automatique (localStorage)** -```javascript -{ - clé: "petards_backup_csv", - déclencheurs: [ - "Après ajout vente", - "Après suppression vente" - ], - contenu: { - timestamp: "ISO 8601", - csvContent: "string (avec BOM UTF-8)", - recordCount: "number" - } -} -``` - -### **Export CSV Manuel** -```javascript -{ - format: "CSV délimité par ';'", - encodage: "UTF-8 avec BOM (\uFEFF)", - colonnes: [ - "Date de vente", - "Vendeur", - "Type d'article", - "Catégorie", - "Quantité", - "Code générique", - "Nom client", - "Prénom client", - "Date de naissance", - "Lieu de naissance", - "Type et n° identité", - "Autorité de délivrance", - "Date de délivrance", - "Photo recto (Oui/Non)", - "Photo verso (Oui/Non)", - "Horodatage" - ], - méthodes: [ - "Data URL (principal)", - "Blob + createObjectURL (fallback)", - "Nouvelle fenêtre (fallback final)" - ] -} -``` - ---- - -## ⚙️ **États et Gestion des Données** - -### **État Principal (useState)** -```javascript -{ - activeTab: "string ('nouvelle-vente'|'historique')", - ventes: "Array", - showCamera: "boolean", - currentPhotoType: "string ('photoRecto'|'photoVerso')", - toasts: "Array", - showDetailsModal: "boolean", - selectedVente: "VenteObject|null", - formData: "VenteObject (form state)" -} -``` - -### **Références (useRef)** -```javascript -{ - videoRef: "HTMLVideoElement", - canvasRef: "HTMLCanvasElement", - streamRef: "MediaStream" -} -``` - -### **Effets (useEffect)** -```javascript -{ - componentDidMount: [ - "initDB()", - "loadVentes()" - ] -} -``` - ---- - -## 🔧 **Fonctions Principales** - -### **Base de Données** -```javascript -{ - initDB: "Initialisation IndexedDB", - saveVente: "Ajout nouvelle vente", - loadVentes: "Chargement toutes ventes", - deleteVente: "Suppression vente par ID" -} -``` - -### **Caméra et Photos** -```javascript -{ - startCamera: "Démarrage flux caméra", - takePhoto: "Capture photo sur canvas", - stopCamera: "Arrêt flux caméra" -} -``` - -### **Formulaire** -```javascript -{ - handleInputChange: "Gestion changements inputs", - handleSubmit: "Soumission formulaire complet" -} -``` - -### **Export et Sauvegarde** -```javascript -{ - exportToCSV: "Export CSV manuel", - createAutoBackup: "Création backup auto", - downloadAutoBackup: "Téléchargement backup" -} -``` - -### **Interface Utilisateur** -```javascript -{ - showToast: "Affichage notification", - removeToast: "Suppression notification", - ToastContainer: "Container notifications", - DetailsModal: "Modal détails vente" -} -``` - ---- - -## 🎛️ **Configuration et Options** - -### **Paramètres Généraux** -```javascript -{ - autoBackup: true, - toastDuration: 4000, - photoCompression: 0.8, - csvDelimiter: ';', - dateFormat: 'fr-FR' -} -``` - -### **Validation des Champs** -```javascript -{ - champsObligatoires: [ - "vendeur", - "nom", - "prenom", - "typeArticle", - "categorie", - "quantite" - ], - validations: { - quantite: "min: 1, type: number", - dateVente: "format: YYYY-MM-DD", - photos: "maxSize: 5MB, format: JPEG" - } -} -``` - -### **Correspondances Produits** -```javascript -{ - articlesTypesCategories: { - "Pétard à mèche": ["F3"], - "Batterie": ["F3"], - "Batterie nécessitant un support externe": ["F3"], - "Combinaison": ["F3"], - "Combinaison nécessitant un support externe": ["F3"], - "Pétard aérien": ["F2", "F3"], - "Pétard à composition flash": ["F3"], - "Fusée": ["F2", "F3"], - "Chandelle romaine": ["F2", "F3"], - "Chandelle monocoup": ["F2", "F3"] - } -} -``` - ---- - -## 🚀 **Flux de Données Complet** - -### **Ajout d'une Vente** -``` -1. Utilisateur remplit formulaire -2. Validation champs obligatoires -3. Prise photos (optionnel) -4. Clic "Enregistrer la Vente" -5. saveVente() -> IndexedDB -6. loadVentes() -> Mise à jour état -7. createAutoBackup() -> localStorage -8. Toast de succès -9. Reset formulaire -``` - -### **Affichage Historique** -``` -1. Clic onglet "Historique" -2. loadVentes() depuis IndexedDB -3. Tri par date (DESC) -4. Affichage tableau -5. Actions disponibles par ligne -``` - -### **Export CSV** -``` -1. Clic "Exporter CSV" -2. Vérification ventes > 0 -3. Transformation données -> CSV -4. Création blob avec BOM UTF-8 -5. Déclenchement téléchargement -6. Toast de confirmation -``` - -### **Suppression Vente** -``` -1. Clic bouton suppression -2. Confirmation utilisateur -3. deleteVente(id) -> IndexedDB -4. loadVentes() -> Mise à jour état -5. createAutoBackup() -> localStorage -6. Toast de succès -``` - ---- - -## 🛡️ **Conformité Réglementaire** - -### **Exigences Légales Couvertes** -- ✅ **Identification vendeur** (nom du vendeur) -- ✅ **Date de vente** (horodatage) -- ✅ **Type et catégorie produit** (classification F2/F3) -- ✅ **Quantité vendue** (traçabilité) -- ✅ **Identité acheteur** (nom, prénom, pièce d'identité) -- ✅ **Photos pièce d'identité** (preuve visuelle) -- ✅ **Archivage numérique** (IndexedDB + CSV) - -### **Données de Traçabilité** -```javascript -{ - obligatoires: [ - "Date et heure de vente", - "Identité du vendeur", - "Identité de l'acheteur", - "Nature et quantité des produits", - "Catégorie réglementaire" - ], - optionnelles: [ - "Photos pièces d'identité", - "Code produit fabricant", - "Lieu de naissance acheteur" - ] -} -``` - ---- - -## 📱 **Responsive Design** - -### **Breakpoints** -```css -{ - mobile: "max-width: 768px", - tablet: "768px - 1024px", - desktop: "min-width: 1024px" -} -``` - -### **Adaptations Mobile** -```javascript -{ - navigation: "Onglets empilés", - formulaire: "Colonnes -> lignes", - tableau: "Scroll horizontal", - modal: "Pleine largeur", - camera: "Optimisé tactile" -} -``` - ---- - -## 🔍 **Debugging et Maintenance** - -### **Outils de Debug Intégrés** -```javascript -{ - diagnosticComplet: "🔍 Debug (état + IndexedDB + localStorage)", - testSuppression: "🧪 Test sur première vente", - testBackup: "🧪 Test création + téléchargement", - logsDetailles: "Console avec emojis et étapes" -} -``` - -### **Gestion d'Erreurs** -```javascript -{ - camera: "Permissions, compatibilité", - indexedDB: "Ouverture, transactions, quotas", - export: "Génération, téléchargement", - validation: "Champs obligatoires, formats" -} -``` - ---- - -## 📦 **Déploiement et Installation** - -### **Prérequis Navigateur** -```javascript - - optional: [ - "Camera access", - "Download attribute support" - ] -} -``` - -### **Performance** -```javascript -{ - tailleBD: "Illimitée (selon navigateur)", - photoCompression: "80% JPEG", - chargementLazy: "Images dans modal", - memoire: "State minimal en React" -} -``` - ---- - -## 🎯 **Évolutions Futures Possibles** - -### **Fonctionnalités Avancées** -```javascript -{ - authentification: "Login vendeurs", - synchronisation: "Multi-appareils", - notifications: "Rappels réglementaires", - recherche: "Filtres avancés", - backup: "Cloud storage", -} -``` - - -## 📚 **Documentation Utilisateur** - -### **Guide d'Utilisation Rapide** -1. **Nouvelle vente** : Remplir formulaire → Photos (optionnel) → Enregistrer -2. **Consulter historique** : Onglet Historique → Voir/Supprimer -3. **Export données** : Bouton "Exporter CSV" → Fichier téléchargé -4. **Sauvegarde** : Automatique + "Backup Auto" manuel - -### **Résolution Problèmes** -- **Caméra ne marche pas** : Vérifier permissions navigateur -- **Export CSV vide** : Vérifier qu'il y a des ventes enregistrées -- **Suppression ne marche pas** : Utiliser bouton "🧪 Test Suppression" -- **Données perdues** : Utiliser "Backup Auto" pour récupérer - ---- - -*🎆 Application développée pour la conformité réglementaire française des ventes de feux d'artifice* \ No newline at end of file diff --git a/attached_assets/image_1752086995593.png b/attached_assets/image_1752086995593.png deleted file mode 100644 index f3a06dc1aeba68ecb17458a8f72dd2012a961e9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40646 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

tsLU;6vUqFSZ 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 u%(x9tRmz5;py3VzKk~D-*$IY!Ye$l+& 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

x+ySRX@c21 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 MD?7_lgm=V$008y&H~;_u diff --git a/attached_assets/image_1752095080097.png b/attached_assets/image_1752095080097.png deleted file mode 100644 index 36eb6f6a6e23a9a1663f3bf4a75888ca16df9798..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2099 zcmbuA`#Td18^`BRjhxa-2gmCnC2BI~4O@h24xwShlr&8%GjyObbIuZSY?>TW4v+H? zAz{KCau^;XYGau56Jqb)f8l+9_}<^|=eoYX-Pe8Hu?}|D(vl}60RVust&Qb1q5l%f z5V&7Bj{yyIg(gC{W{m)p_A1T^LEI0HgaZKOl!JdT`-CiU-^Psq0LXm#uS7cV?{5JB z2Rdyn;m)Bq7AHKfI?pL}tnfw18PfsnhcKhW=e_}2F14*p7a4noL~9>f47us<)f z5DA%jlO{L#-m#%xHvsE@GT>%KDCR9T_)UDzeyM}_f_V2$Hy6Vz9f{x%z=Av8tnbd71`Yirl~(>caIw_Yv`ITz z7Q5%sA^Qx@=Qyp;58M54slb7y39lobL{~p_+qWenMHn9Y^CHITi}=lh$E7i%kJ4SC zl_O5&chW67JtnxPXF8X9s+y8mM%E6phhutu4G_@YOO)ixD76|5ruXWo6_dvU876P! zxQ5&c_4%|61rl{0y5$R(BjDZ3c%6^Ea!x)Bw$vBMH92rzX4(X1NAQx1nQ8<_2K!`Z z>dlPG%J!SR(#=k^C#h-Wbz;h_qnEdR9}TUgEH3NsCwdl|5nO8`xK=FsvF5EGZTH#yxbqk)$*Kc$S`Z^ zy(k9REc8+rRfL*#P9`Zt8;AOeGpBisZ50_p&^&9cn36cPb$@+}13!&td4K51Gvw%W z*SMb>YKZmREFbi0=I*)w+3~ln0!=NhJm>|uz7@2pE0OcL2mDv~Wtd{0*G_78k$_}E zPOpWh{&thFY}hvq=H^6h%lglazv^k%N&WqA<2S1OH(I-T3G9^4=VCY;6(9cg)n>;a z#3NJ0`iu_MtsbvVI@WNAc3w0720LhVbO%$GASeMcSRYc%RJjmlAI0+@F?bc>Wv?XU2I-4|rBY)vOLN zqKbXSf@k%D*AAI2d`Ha|M9`m&7+Uiv6Oai?pRD-3%!I}y`>>;L*|fDkz=lCIQ%TeU z2aTx3NeAEyTCACZ>kN&ElHL;|rhh(1`?VyNX^sw0WjWC$soHsy^)~&Sl_Rs)B&Kd$Bv9cL z!|skH=zOJQkylwiEIf@`}oC`JX zZdsZ2FYZZ=_9H7)FM4VsohU{o8Sac1!n>*jj(?0#ZfQe0rC#DFU_P9k7=6|ivf5|e z8k7basOlE|t+$aQZWOr48sZbg4kzRv7`wHo;arUa>m&c#)3}bBi4`A9 zbM4vH!tq@OP|Ci%auI09fqpyt8TPey>UXqis`;da*O204fk9Wh`NVW~2l6qsTGHao z<4I=zPAj-{hD4WP&&KrhFqFu{iOj&1!40@Fj1yh1a%toCS9B#-iq*Py<)ZE>_TYY?boKHUbVXqDffT+CnqxK89*& z?<9Rf*Qz)yoXdSbRfk%Bg`m8<%8U#x%DF@5@!4TlJw~a;noyA6chD4%1%x zk{EY4)HZ>;ljDktFLX`H96hhwbl6YcMkf(noMP}JaS^dk7O%vl`G0KzAwEGbRLUdZ z@>kVB>O%ZKLf-KxHLsMT2;Ef`sYr*HQodw|m*P&qeYRk-L*G*oUm8HhOmG=1eDnZY MD?7_lgm=V$008y&H~;_u diff --git a/attached_assets/image_1752096341746.png b/attached_assets/image_1752096341746.png deleted file mode 100644 index c283d5837186e8a0e19f835f83b82ffacf8d77b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54477 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 diff --git a/attached_assets/image_1752096760109.png b/attached_assets/image_1752096760109.png deleted file mode 100644 index a2b187a88ba305fe06ae350611891487820c2aff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45441 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 CQ*%)O diff --git a/attached_assets/image_1752097142148.png b/attached_assets/image_1752097142148.png deleted file mode 100644 index 0ca9cda1bee3e56472dc505343782cdda6ca4dc8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10986 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 diff --git a/attached_assets/image_1752097658280.png b/attached_assets/image_1752097658280.png deleted file mode 100644 index ce6f649f70d5223618e0d23cc07a3125e0437f1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27821 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 diff --git a/debug-docker.sh b/debug-docker.sh deleted file mode 100644 index e07d31b..0000000 --- a/debug-docker.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash - -# Script de debug pour Docker RegisFlow (Base de données EXTERNE) -echo "🔍 Debug Docker RegisFlow - Base PostgreSQL externe" - -echo "1. État des containers:" -docker-compose ps - -echo "" -echo "2. Logs Application (dernières 50 lignes):" -docker-compose logs --tail=50 regisflow - -echo "" -echo "3. Variables d'environnement dans l'application:" -docker-compose exec regisflow env | grep -E "(DATABASE_URL|NODE_ENV|TZ)" - -echo "" -echo "4. Test de connexion à la base externe:" -echo " - Extraction des paramètres de connexion:" -docker-compose exec regisflow sh -c 'echo "Host: $(echo $DATABASE_URL | sed -n \"s|.*@\([^:]*\):.*|\1|p\")"' -docker-compose exec regisflow sh -c 'echo "Port: $(echo $DATABASE_URL | sed -n \"s|.*:\([0-9]*\)/.*|\1|p\")"' -docker-compose exec regisflow sh -c 'echo "User: $(echo $DATABASE_URL | sed -n \"s|.*://\([^:]*\):.*|\1|p\")"' - -echo "" -echo "5. Test de connectivité vers la base externe:" -docker-compose exec regisflow sh -c 'pg_isready -h $(echo $DATABASE_URL | sed -n "s|.*@\([^:]*\):.*|\1|p") -p $(echo $DATABASE_URL | sed -n "s|.*:\([0-9]*\)/.*|\1|p") -U regisflow' - -echo "" -echo "6. Test de résolution DNS:" -docker-compose exec regisflow sh -c 'nslookup $(echo $DATABASE_URL | sed -n "s|.*@\([^:]*\):.*|\1|p") || echo "❌ DNS échoué"' - -echo "" -echo "7. Test de port depuis le container:" -docker-compose exec regisflow sh -c 'nc -zv $(echo $DATABASE_URL | sed -n "s|.*@\([^:]*\):.*|\1|p") $(echo $DATABASE_URL | sed -n "s|.*:\([0-9]*\)/.*|\1|p") 2>&1 || echo "❌ Port inaccessible"' - -echo "" -echo "🏁 Debug terminé - Base PostgreSQL externe" \ No newline at end of file diff --git a/deploy-prod.sh b/deploy-prod.sh deleted file mode 100644 index 9386a24..0000000 --- a/deploy-prod.sh +++ /dev/null @@ -1,133 +0,0 @@ -#!/bin/bash - -# Script de déploiement PRODUCTION RegisFlow -# Utilisation: ./deploy-prod.sh - -set -e - -echo "🚀 Déploiement PRODUCTION RegisFlow" -echo "====================================" - -# Vérifications préalables -echo "🔍 Vérifications préalables..." - -# Vérifier que nous sommes en mode production -if [ "$NODE_ENV" != "production" ]; then - echo "⚠️ Variable NODE_ENV non définie sur 'production'" - read -p "Continuer quand même ? (y/N): " -r - if [[ ! $REPLY =~ ^[Yy]$ ]]; then - exit 1 - fi -fi - -# Vérifier Docker et Docker Compose -if ! command -v docker &> /dev/null; then - echo "❌ Docker n'est pas installé" - exit 1 -fi - -if ! command -v docker-compose &> /dev/null; then - echo "❌ Docker Compose n'est pas installé" - exit 1 -fi - -# Créer les répertoires de données -echo "📁 Création des répertoires de données..." -mkdir -p data/{postgres,backups,logs,postgres-logs} -chmod 755 data data/* - -# Créer le fichier .env s'il n'existe pas -if [ ! -f .env ]; then - echo "📝 Création du fichier .env..." - cp .env.example .env - echo "✅ Fichier .env créé avec configuration par défaut" - - echo "" - echo "ℹ️ CONFIGURATION AUTOMATIQUE :" - echo " - Mots de passe pré-configurés pour installation simple" - echo " - Pour la production, modifiez POSTGRES_PASSWORD et SESSION_SECRET" - echo "" -fi - -# Vérifier les variables critiques -echo "🔒 Vérification de la configuration..." -source .env - -if [ "$POSTGRES_PASSWORD" = "RegisFlow2024!PostgreSQL" ]; then - echo "⚠️ Utilisation des mots de passe par défaut (OK pour test, changez pour production)" -else - echo "✅ Mots de passe personnalisés détectés" -fi - -echo "✅ Configuration validée" - -# Arrêter les services existants -echo "🛑 Arrêt des services existants..." -docker-compose down 2>/dev/null || true - -# Construire les images -echo "🔨 Construction des images de production..." -docker-compose build --no-cache - -# Vérifier l'espace disque -echo "💾 Vérification de l'espace disque..." -DISK_USAGE=$(df / | awk 'NR==2{print $5}' | cut -d'%' -f1) -if [ "$DISK_USAGE" -gt 80 ]; then - echo "⚠️ Attention: Espace disque faible ($DISK_USAGE%)" - read -p "Continuer ? (y/N): " -r - if [[ ! $REPLY =~ ^[Yy]$ ]]; then - exit 1 - fi -fi - -# Démarrer les services avec configuration production -echo "🚀 Démarrage des services de production..." -docker-compose up -d - -# Attendre le démarrage -echo "⏳ Attente du démarrage des services..." -sleep 30 - -# Vérifier la santé des services -echo "🏥 Vérification de la santé des services..." -for i in {1..30}; do - if docker-compose ps | grep -q "healthy"; then - echo "✅ Services démarrés avec succès" - break - fi - if [ $i -eq 30 ]; then - echo "❌ Timeout: Les services ne démarrent pas correctement" - echo "📋 Logs des services :" - docker-compose logs --tail=20 - exit 1 - fi - sleep 5 -done - -# Test de connectivité -echo "🔗 Test de connectivité..." -if curl -f http://localhost:5000/health &>/dev/null; then - echo "✅ Application accessible sur http://localhost:5000" -else - echo "❌ Application non accessible" - docker-compose logs regisflow --tail=20 - exit 1 -fi - -# Afficher le statut final -echo "" -echo "🎉 DÉPLOIEMENT PRODUCTION RÉUSSI !" -echo "==================================" -echo "📱 Application RegisFlow : http://localhost:5000" -echo "🗄️ PostgreSQL : localhost:5433" -echo "📊 Statut des services :" -docker-compose ps - -echo "" -echo "📋 Commandes utiles :" -echo " - Logs : docker-compose logs -f" -echo " - Statut : docker-compose ps" -echo " - Arrêt : docker-compose down" -echo " - Sauvegarde : docker-compose exec regisflow-db pg_dump -U regisflow regisflow > backup.sql" -echo "" -echo "⚠️ N'oubliez pas de configurer HTTPS avec un reverse proxy pour la production !" \ No newline at end of file diff --git a/deploy.sh b/deploy.sh deleted file mode 100644 index d924422..0000000 --- a/deploy.sh +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/bash - -# Script de déploiement simplifié pour RegisFlow -echo "🚀 Déploiement de RegisFlow avec Docker" - -# Vérifier si Docker est installé -if ! command -v docker &> /dev/null; then - echo "❌ Docker n'est pas installé. Installez Docker d'abord." - exit 1 -fi - -if ! command -v docker-compose &> /dev/null; then - echo "❌ Docker Compose n'est pas installé. Installez Docker Compose d'abord." - exit 1 -fi - -echo "✅ Docker et Docker Compose détectés" - -# Arrêter les services existants -echo "🛑 Arrêt des services existants..." -docker-compose down -v 2>/dev/null || true - -# Nettoyer les anciens containers et images -echo "🧹 Nettoyage des anciens containers..." -docker system prune -f - -# Créer le fichier .env s'il n'existe pas -if [ ! -f .env ]; then - echo "📝 Création du fichier .env..." - cp .env.example .env - echo "⚠️ Configuration PostgreSQL Docker :" - echo " - PostgreSQL et RegisFlow seront créés dans Docker" - echo " - Utilisateur/mot de passe préconfigurés : regisflow / RegisFlow2024!" - echo " - Port PostgreSQL externe : 5433" - echo " - Port RegisFlow : 5000" - echo " - Changez SESSION_SECRET pour la sécurité" - read -p "Appuyez sur Entrée pour continuer..." -fi - -# Construire et démarrer les services -echo "🏗️ Construction et démarrage des services..." -docker-compose up -d --build - -# Attendre que les services soient prêts -echo "⏳ Attente du démarrage des services..." -sleep 30 - -# Vérifier le statut des services -echo "📊 Vérification du statut des services..." -docker-compose ps - -# Afficher les logs des dernières minutes -echo "📋 Logs récents:" -docker-compose logs --tail=50 - -echo "" -echo "🎉 Déploiement terminé!" -echo "📱 Application accessible sur: http://localhost:5000" -echo "🗄️ Base de données accessible sur: localhost:5433" -echo "👤 Compte par défaut: admin / admin123" -echo "" -echo "📝 Pour voir les logs en continu:" -echo " docker-compose logs -f" -echo "" -echo "🛑 Pour arrêter les services:" -echo " docker-compose down" \ No newline at end of file diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh deleted file mode 100644 index 04197fb..0000000 --- a/docker-entrypoint.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/sh -set -e - -# Script d'entrée pour le container RegisFlow -echo "🚀 Démarrage de RegisFlow..." - -# Attendre que la base de données Docker soit prête -echo "📡 Attente de la base de données regisflow-db..." -echo "🔍 Test de connexion à regisflow-db:5432..." - -# Attendre jusqu'à 120 secondes pour PostgreSQL Docker -RETRIES=24 -while [ $RETRIES -gt 0 ]; do - if pg_isready -h regisflow-db -p 5432 -U regisflow; then - echo "✅ PostgreSQL regisflow-db est prêt!" - break - fi - echo "⏳ Base de données non prête, tentative $((25-RETRIES))/24, attente de 5 secondes..." - sleep 5 - RETRIES=$((RETRIES-1)) -done - -if [ $RETRIES -eq 0 ]; then - echo "❌ Timeout: Impossible de se connecter à regisflow-db après 2 minutes" - echo "🔍 Diagnostic:" - echo " - Vérifiez que le service regisflow-db démarre correctement" - echo " - Vérifiez les logs: docker-compose logs regisflow-db" - exit 1 -fi - -echo "✅ Base de données prête!" - -# Exécuter les migrations de base de données -echo "🔄 Exécution des migrations..." -if command -v drizzle-kit >/dev/null 2>&1; then - npx drizzle-kit push -else - echo "⚠️ drizzle-kit non disponible, tentative avec npm run db:push..." - if [ -f package.json ]; then - npm run db:push || echo "ℹ️ Migrations manuelles nécessaires" - else - echo "ℹ️ Package.json non trouvé, poursuite sans migrations" - fi -fi - -# Créer le répertoire des sauvegardes s'il n'existe pas -mkdir -p /app/backups - -# L'application est déjà construite dans le Dockerfile -echo "✅ Application pré-construite" - -# Démarrer l'application en production -echo "🎯 Démarrage de l'application RegisFlow..." -exec npm run start \ No newline at end of file diff --git a/init.sql b/init.sql deleted file mode 100644 index 16448c3..0000000 --- a/init.sql +++ /dev/null @@ -1,10 +0,0 @@ --- Script d'initialisation PostgreSQL pour RegisFlow --- Exécuté automatiquement lors de la création du container - --- L'utilisateur et la base sont créés automatiquement via les variables d'environnement --- POSTGRES_USER=regisflow --- POSTGRES_DB=regisflow --- POSTGRES_PASSWORD=RegisFlow2024! - --- Configuration additionnelle si nécessaire --- (Actuellement vide car Drizzle ORM gère la création des tables) \ No newline at end of file diff --git a/install-simple.sh b/install-simple.sh deleted file mode 100644 index 87dfee3..0000000 --- a/install-simple.sh +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/bash - -# Installation RegisFlow - Configuration automatique -# Utilisation: ./install-simple.sh - -set -e - -echo "🚀 Installation Simple RegisFlow" -echo "================================" -echo "ℹ️ Installation automatique avec configuration par défaut" -echo "" - -# Vérifier Docker -if ! command -v docker &> /dev/null; then - echo "❌ Docker n'est pas installé" - echo "💡 Installez Docker avec: sudo apt install docker.io docker-compose" - exit 1 -fi - -if ! command -v docker-compose &> /dev/null; then - echo "❌ Docker Compose n'est pas installé" - echo "💡 Installez Docker Compose avec: sudo apt install docker-compose" - exit 1 -fi - -# Créer le fichier .env automatiquement -echo "📝 Configuration automatique..." -cp .env.example .env -echo "✅ Fichier .env créé avec configuration par défaut" - -# Créer les répertoires nécessaires -echo "📁 Création des répertoires..." -mkdir -p data/{postgres,backups,logs,postgres-logs} -chmod 755 data data/* -echo "✅ Répertoires créés" - -# Arrêter les services existants -echo "🛑 Nettoyage des services existants..." -docker-compose down 2>/dev/null || true - -# Construire les images -echo "🔨 Construction des images..." -docker-compose build - -# Démarrer les services avec configuration simple -echo "🚀 Démarrage des services..." -docker-compose up -d - -# Attendre le démarrage -echo "⏳ Attente du démarrage (60 secondes)..." -sleep 60 - -# Vérifier le statut -echo "🔍 Vérification du statut..." -docker-compose ps - -# Test de connectivité -echo "🔗 Test de l'application..." -if curl -f http://localhost:5000 &>/dev/null; then - echo "✅ Application accessible !" -else - echo "⚠️ Application en cours de démarrage..." -fi - -echo "" -echo "🎉 INSTALLATION TERMINÉE !" -echo "=========================" -echo "📱 Application RegisFlow : http://localhost:5000" -echo "🗄️ PostgreSQL : localhost:5433" -echo "👤 Compte par défaut : admin / admin123" -echo "" -echo "📋 Commandes utiles :" -echo " - Logs : docker-compose logs -f" -echo " - Arrêt : docker-compose down" -echo " - Statut : docker-compose ps" -echo "" -echo "⚠️ Pour la production, changez les mots de passe dans .env" \ No newline at end of file diff --git a/monitoring.sh b/monitoring.sh deleted file mode 100755 index 5007be6..0000000 --- a/monitoring.sh +++ /dev/null @@ -1,120 +0,0 @@ -#!/bin/bash - -# Script de monitoring pour RegisFlow Production -# Usage: ./monitoring.sh [check|logs|backup|stats] - -COMMAND=${1:-check} - -case $COMMAND in - "check") - echo "🔍 Vérification de l'état des services RegisFlow" - echo "==============================================" - - echo "📊 Statut des containers :" - docker-compose ps - - echo "" - echo "🏥 Health checks :" - - # Vérifier RegisFlow - if curl -f -s http://localhost:5000/health > /dev/null; then - echo "✅ RegisFlow : OK" - else - echo "❌ RegisFlow : ERREUR" - fi - - # Vérifier PostgreSQL - if docker-compose exec -T regisflow-db pg_isready -U regisflow -q; then - echo "✅ PostgreSQL : OK" - else - echo "❌ PostgreSQL : ERREUR" - fi - - echo "" - echo "💾 Utilisation des ressources :" - docker stats --no-stream --format "table {{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}\t{{.NetIO}}\t{{.BlockIO}}" - - echo "" - echo "💿 Espace disque :" - df -h | grep -E "(Filesystem|/dev/)" - - echo "" - echo "📁 Taille des volumes :" - du -sh data/* 2>/dev/null || echo "Répertoire data non trouvé" - ;; - - "logs") - echo "📋 Logs des services RegisFlow" - echo "==============================" - - echo "📱 Logs RegisFlow (20 dernières lignes) :" - docker-compose logs --tail=20 regisflow - - echo "" - echo "🗄️ Logs PostgreSQL (20 dernières lignes) :" - docker-compose logs --tail=20 regisflow-db - ;; - - "backup") - echo "💾 Création d'une sauvegarde manuelle" - echo "====================================" - - BACKUP_FILE="backup-$(date +%Y%m%d-%H%M%S).sql" - - echo "Création de la sauvegarde : $BACKUP_FILE" - docker-compose exec -T regisflow-db pg_dump -U regisflow regisflow > "data/backups/$BACKUP_FILE" - - if [ $? -eq 0 ]; then - echo "✅ Sauvegarde créée avec succès : data/backups/$BACKUP_FILE" - echo "📊 Taille : $(ls -lh data/backups/$BACKUP_FILE | awk '{print $5}')" - else - echo "❌ Erreur lors de la création de la sauvegarde" - fi - ;; - - "stats") - echo "📊 Statistiques détaillées RegisFlow" - echo "====================================" - - echo "🔢 Statistiques base de données :" - docker-compose exec -T regisflow-db psql -U regisflow -d regisflow -c " - SELECT - schemaname, - tablename, - pg_size_pretty(pg_total_relation_size(schemaname||'.'||tablename)) as size, - pg_stat_get_tuples_returned(c.oid) as tuple_read, - pg_stat_get_tuples_fetched(c.oid) as tuple_fetch, - pg_stat_get_tuples_inserted(c.oid) as tuple_insert, - pg_stat_get_tuples_updated(c.oid) as tuple_update, - pg_stat_get_tuples_deleted(c.oid) as tuple_delete - FROM pg_tables t - LEFT JOIN pg_class c ON c.relname = t.tablename - WHERE schemaname = 'public' - ORDER BY pg_total_relation_size(schemaname||'.'||tablename) DESC; - " - - echo "" - echo "📁 Utilisation des volumes Docker :" - docker system df - - echo "" - echo "🔄 Uptime des services :" - docker-compose ps --format "table {{.Name}}\t{{.Status}}" - - echo "" - echo "📈 Métriques système :" - echo "CPU: $(top -bn1 | grep "Cpu(s)" | awk '{print $2}' | cut -d'%' -f1)%" - echo "RAM: $(free -m | awk 'NR==2{printf "%.1f%%", $3*100/$2 }')" - echo "Disk: $(df / | awk 'NR==2{print $5}')" - ;; - - *) - echo "Usage: $0 [check|logs|backup|stats]" - echo "" - echo "Commandes disponibles :" - echo " check - Vérifier l'état des services" - echo " logs - Afficher les logs" - echo " backup - Créer une sauvegarde manuelle" - echo " stats - Afficher les statistiques détaillées" - ;; -esac \ No newline at end of file diff --git a/nginx-reverse-proxy.conf b/nginx-reverse-proxy.conf deleted file mode 100644 index 85ee168..0000000 --- a/nginx-reverse-proxy.conf +++ /dev/null @@ -1,84 +0,0 @@ -# Configuration Nginx pour RegisFlow Production -# Placez ce fichier dans /etc/nginx/sites-available/regisflow -# Puis créez un lien : ln -s /etc/nginx/sites-available/regisflow /etc/nginx/sites-enabled/ - -server { - listen 80; - server_name votre-domaine.com www.votre-domaine.com; - - # Redirection automatique vers HTTPS - return 301 https://$server_name$request_uri; -} - -server { - listen 443 ssl http2; - server_name votre-domaine.com www.votre-domaine.com; - - # Configuration SSL (Let's Encrypt recommandé) - ssl_certificate /etc/letsencrypt/live/votre-domaine.com/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/votre-domaine.com/privkey.pem; - - # Configuration SSL sécurisée - ssl_protocols TLSv1.2 TLSv1.3; - ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384; - ssl_prefer_server_ciphers off; - ssl_session_cache shared:SSL:10m; - ssl_session_timeout 10m; - - # Sécurité headers - add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; - add_header X-Frame-Options DENY always; - add_header X-Content-Type-Options nosniff always; - add_header X-XSS-Protection "1; mode=block" always; - add_header Referrer-Policy "strict-origin-when-cross-origin" always; - add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self';" always; - - # Configuration des logs - access_log /var/log/nginx/regisflow_access.log; - error_log /var/log/nginx/regisflow_error.log; - - # Limite de taille des uploads - client_max_body_size 10M; - - # Configuration du proxy vers RegisFlow - location / { - proxy_pass http://127.0.0.1:5000; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection 'upgrade'; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_cache_bypass $http_upgrade; - - # Timeouts - proxy_connect_timeout 60s; - proxy_send_timeout 60s; - proxy_read_timeout 60s; - } - - # Optimisations pour les fichiers statiques - location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ { - proxy_pass http://127.0.0.1:5000; - expires 1y; - add_header Cache-Control "public, immutable"; - } - - # Health check - location /health { - proxy_pass http://127.0.0.1:5000/health; - access_log off; - } - - # Protection contre les attaques - location ~ /\. { - deny all; - access_log off; - log_not_found off; - } - - # Limitation du taux de requêtes - limit_req_zone $binary_remote_addr zone=regisflow:10m rate=10r/s; - limit_req zone=regisflow burst=20 nodelay; -} \ No newline at end of file diff --git a/postgres-prod.conf b/postgres-prod.conf deleted file mode 100644 index 6a6d3a0..0000000 --- a/postgres-prod.conf +++ /dev/null @@ -1,45 +0,0 @@ -# Configuration PostgreSQL optimisée pour production RegisFlow - -# Connexions et authentification -max_connections = 50 -shared_buffers = 128MB -effective_cache_size = 256MB -work_mem = 4MB -maintenance_work_mem = 32MB - -# WAL et checkpoint -wal_buffers = 4MB -checkpoint_completion_target = 0.9 -max_wal_size = 256MB -min_wal_size = 80MB - -# Logging pour production -log_destination = 'stderr' -logging_collector = on -log_directory = '/var/log/postgresql' -log_filename = 'postgresql-%Y-%m-%d.log' -log_statement = 'mod' -log_min_duration_statement = 1000 -log_line_prefix = '%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h ' - -# Sécurité -ssl = off -password_encryption = md5 -shared_preload_libraries = '' - -# Performance -random_page_cost = 1.1 -effective_io_concurrency = 200 -default_statistics_target = 100 - -# Timeouts -statement_timeout = 30000 -lock_timeout = 5000 -idle_in_transaction_session_timeout = 300000 - -# Autovacuum optimisé pour RegisFlow -autovacuum = on -autovacuum_max_workers = 2 -autovacuum_naptime = 30s -autovacuum_vacuum_threshold = 50 -autovacuum_analyze_threshold = 50 \ No newline at end of file diff --git a/public/index.html b/public/index.html deleted file mode 100644 index c55ac19..0000000 --- a/public/index.html +++ /dev/null @@ -1 +0,0 @@ -

    RegisFlow - Loading...

    diff --git a/replit.md b/replit.md index 5ad7ad8..fa6e4a3 100644 --- a/replit.md +++ b/replit.md @@ -202,7 +202,7 @@ Preferred communication style: Simple, everyday language. - ✅ Safety confirmation dialogs for manual purge operations - ✅ Real-time monitoring of data retention status with visual indicators -### Docker Configuration (January 9, 2025) +### Docker Configuration & Cleanup (January 9, 2025) - ✅ Complete Docker setup optimized for external PostgreSQL database - ✅ Docker Compose configuration with RegisFlow application only - ✅ Automated database connection and migration scripts for external PostgreSQL @@ -210,14 +210,15 @@ Preferred communication style: Simple, everyday language. - ✅ Production-ready configuration with security best practices - ✅ Persistent volumes for backup data - ✅ Environment variable configuration with preconfigured PostgreSQL credentials -- ✅ Comprehensive Docker documentation with deployment instructions -- ✅ Nginx configuration removed for simplified deployment (application accessible on port 5000) -- ✅ Preconfigured PostgreSQL user (regisflow/RegisFlow2024!) - only IP change needed +- ✅ Removed all nginx configuration files and dependencies +- ✅ Cleaned up redundant Docker scripts and deployment files - ✅ Simplified network configuration without IP presets to avoid conflicts - ✅ Default Docker bridge network usage for maximum compatibility - ✅ Ultra-simple installation process with single command: docker-compose up -d - ✅ Single docker-compose.yml file for all environments (dev, test, production) - ✅ Eliminated multiple configuration files to reduce complexity +- ✅ Removed unnecessary documentation files and assets +- ✅ Streamlined project structure with only essential files ### Node.js 18 Compatibility Fix (January 9, 2025) - ✅ Resolved TypeError with undefined paths in Node.js 18 production environment diff --git a/setup-postgres.sql b/setup-postgres.sql deleted file mode 100644 index 497f0c2..0000000 --- a/setup-postgres.sql +++ /dev/null @@ -1,36 +0,0 @@ --- Script de configuration PostgreSQL pour RegisFlow --- Exécuter sur votre serveur PostgreSQL externe - --- Se connecter en tant que superutilisateur postgres : --- sudo -u postgres psql - --- 1. Créer l'utilisateur RegisFlow -CREATE USER regisflow WITH PASSWORD 'RegisFlow2024!'; - --- 2. Créer la base de données RegisFlow -CREATE DATABASE regisflow OWNER regisflow; - --- 3. Donner tous les privilèges à l'utilisateur -GRANT ALL PRIVILEGES ON DATABASE regisflow TO regisflow; - --- 4. Se connecter à la base regisflow pour configurer les permissions -\c regisflow - --- 5. Donner les permissions sur le schéma public -GRANT ALL PRIVILEGES ON SCHEMA public TO regisflow; -GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO regisflow; -GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO regisflow; - --- 6. Permissions par défaut pour les futurs objets -ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO regisflow; -ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON SEQUENCES TO regisflow; - --- 7. Vérifier la configuration -SELECT usename, usecreatedb, usesuper FROM pg_user WHERE usename = 'regisflow'; -SELECT datname, datowner FROM pg_database WHERE datname = 'regisflow'; - --- Configuration terminée ! --- Utilisateur: regisflow --- Mot de passe: RegisFlow2024! --- Base de données: regisflow --- Port: 5433 (assurez-vous que PostgreSQL écoute sur ce port) \ No newline at end of file