373 lines
10 KiB
Markdown
373 lines
10 KiB
Markdown
# 🛡️ DocV - GED Souveraine et Sécurisée
|
||
|
||
> **Une approche révolutionnaire de la gestion documentaire avec sécurité, souveraineté et conformité garanties.**
|
||
|
||
[](VERSION)
|
||
[](https://nextjs.org/)
|
||
[](https://www.typescriptlang.org/)
|
||
[](https://tailwindcss.com/)
|
||
[](#license)
|
||
|
||
## 📋 Table des Matières
|
||
|
||
- [🎯 Vue d'ensemble](#-vue-densemble)
|
||
- [✨ Fonctionnalités](#-fonctionnalités)
|
||
- [🚀 Installation Rapide](#-installation-rapide)
|
||
- [⚙️ Configuration](#️-configuration)
|
||
- [🔧 Commandes de Développement](#-commandes-de-développement)
|
||
- [📚 Documentation](#-documentation)
|
||
- [🏗️ Architecture](#️-architecture)
|
||
- [🔒 Sécurité](#-sécurité)
|
||
- [🤝 Contribution](#-contribution)
|
||
- [📞 Support](#-support)
|
||
|
||
## 🎯 Vue d'ensemble
|
||
|
||
**DocV** est une plateforme de gestion documentaire (GED) révolutionnaire qui combine :
|
||
|
||
- **🔐 Authentification cryptographique** sans mots de passe
|
||
- **🤖 IA embarquée** pour l'OCR et la classification
|
||
- **🌐 Architecture souveraine** sans dépendance cloud
|
||
- **⚡ Interface conversationnelle** pour le suivi des dossiers
|
||
- **🔗 Ancrage blockchain** pour la traçabilité
|
||
|
||
### 🎯 Cas d'Usage Principaux
|
||
|
||
- **Entreprises** : Gestion documentaire sécurisée
|
||
- **Notaires** : Échanges documentaires via lecoffre.io
|
||
- **Secteur public** : Conformité et souveraineté des données
|
||
- **Éditeurs** : Intégration marque blanche
|
||
|
||
## ✨ Fonctionnalités
|
||
|
||
### 🔑 Authentification Ultra-Simplifiée
|
||
- ✅ Aucun mot de passe requis
|
||
- ✅ Aucun OTP ou code SMS
|
||
- ✅ Aucune application mobile
|
||
- ✅ Identité auto-générée et auto-portée
|
||
|
||
### 🤖 Intelligence Artificielle Locale
|
||
- ✅ OCR automatique des documents
|
||
- ✅ Classification intelligente
|
||
- ✅ Extraction de données
|
||
- ✅ Interface conversationnelle
|
||
- ✅ Traitements 100% locaux
|
||
|
||
### 🛡️ Sécurité de Bout en Bout
|
||
- ✅ Chiffrement natif
|
||
- ✅ Aucune interface admin exposée
|
||
- ✅ Aucun serveur d'identité
|
||
- ✅ Aucune dépendance cloud
|
||
- ✅ Conformité RGPD, ISO 27001, SecNumCloud
|
||
|
||
### 🌐 Architecture Souveraine
|
||
- ✅ Déploiement local
|
||
- ✅ Migration automatisée
|
||
- ✅ Compatible bases existantes
|
||
- ✅ APIs souveraines
|
||
- ✅ Accompagnement personnalisé
|
||
|
||
## 🚀 Installation Rapide
|
||
|
||
### 📋 Prérequis
|
||
|
||
- **Node.js** : Version 18.0+ (recommandé 20.x)
|
||
- **npm** ou **pnpm** : Gestionnaire de paquets
|
||
- **Git** : Pour le clonage du repository
|
||
|
||
### 1️⃣ Cloner le Repository
|
||
|
||
```bash
|
||
# Cloner le projet
|
||
git clone <REPO_URL>
|
||
cd docv
|
||
|
||
# Installer les dépendances
|
||
npm install
|
||
# ou
|
||
pnpm install
|
||
```
|
||
|
||
### 2️⃣ Configuration d'Environnement
|
||
|
||
```bash
|
||
# Créer le fichier d'environnement
|
||
cp .env.example .env.local
|
||
|
||
# Éditer les variables d'environnement
|
||
nano .env.local
|
||
```
|
||
|
||
**Variables essentielles :**
|
||
```env
|
||
# Configuration de base
|
||
NEXT_PUBLIC_APP_NAME=DocV
|
||
NEXT_PUBLIC_APP_VERSION=0.1.0
|
||
|
||
# Base de données (si applicable)
|
||
DATABASE_URL=your_database_url
|
||
|
||
# Authentification
|
||
NEXTAUTH_SECRET=your_secret_key
|
||
NEXTAUTH_URL=http://localhost:3000
|
||
|
||
# Services externes (optionnels)
|
||
EMAIL_SERVICE_API_KEY=your_email_api_key
|
||
```
|
||
|
||
### 3️⃣ Démarrage en Mode Développement
|
||
|
||
```bash
|
||
# Démarrer le serveur de développement
|
||
npm run dev
|
||
# ou
|
||
pnpm dev
|
||
|
||
# L'application sera disponible sur http://localhost:3000
|
||
```
|
||
|
||
## ⚙️ Configuration
|
||
|
||
### 🎨 Configuration de l'Interface
|
||
|
||
Le projet utilise **Tailwind CSS** avec des composants **Radix UI** pour une interface moderne et accessible.
|
||
|
||
```bash
|
||
# Fichier de configuration Tailwind
|
||
tailwind.config.js
|
||
|
||
# Composants UI personnalisés
|
||
components/ui/
|
||
```
|
||
|
||
### 🔧 Configuration TypeScript
|
||
|
||
```bash
|
||
# Configuration TypeScript
|
||
tsconfig.json
|
||
|
||
# Types personnalisés
|
||
types/
|
||
```
|
||
|
||
### 📱 Configuration Responsive
|
||
|
||
L'interface s'adapte automatiquement aux différentes tailles d'écran :
|
||
- 📱 Mobile (< 768px)
|
||
- 📟 Tablet (768px - 1024px)
|
||
- 💻 Desktop (> 1024px)
|
||
|
||
## 🔧 Commandes de Développement
|
||
|
||
### 🚀 Commandes Principales
|
||
|
||
```bash
|
||
# Développement
|
||
npm run dev # Serveur de développement (port 3000)
|
||
npm run build # Build de production
|
||
npm run start # Serveur de production
|
||
npm run lint # Vérification du code
|
||
|
||
# Tests (si configurés)
|
||
npm run test # Tests unitaires
|
||
npm run test:watch # Tests en mode watch
|
||
npm run test:coverage # Tests avec couverture
|
||
|
||
# Maintenance
|
||
npm run clean # Nettoyer les fichiers temporaires
|
||
npm run type-check # Vérification TypeScript
|
||
```
|
||
|
||
### 🛠️ Commandes de Maintenance
|
||
|
||
```bash
|
||
# Mise à jour des dépendances
|
||
npm update # Mise à jour des paquets
|
||
npm audit # Audit de sécurité
|
||
npm audit fix # Correction automatique
|
||
|
||
# Gestion des dépendances
|
||
npm install <package> # Installer un paquet
|
||
npm uninstall <package> # Désinstaller un paquet
|
||
npm list # Lister les paquets installés
|
||
```
|
||
|
||
### 📦 Commandes de Build
|
||
|
||
```bash
|
||
# Build de production
|
||
npm run build
|
||
|
||
# Analyse du bundle
|
||
npm run analyze # (si configuré)
|
||
|
||
# Build statique
|
||
npm run export # (si configuré)
|
||
```
|
||
|
||
### 🔍 Commandes de Debug
|
||
|
||
```bash
|
||
# Logs détaillés
|
||
DEBUG=* npm run dev
|
||
|
||
# Profiling
|
||
npm run dev -- --profile
|
||
|
||
# Inspection du bundle
|
||
npm run build -- --debug
|
||
```
|
||
|
||
## 📚 Documentation
|
||
|
||
### 📖 Guides Disponibles
|
||
|
||
- **[Installation](docs/INSTALLATION.md)** - Guide d'installation complet
|
||
- **[Configuration](docs/CONFIGURATION.md)** - Configuration avancée
|
||
- **[Architecture](docs/ARCHITECTURE.md)** - Architecture technique
|
||
- **[API](docs/API.md)** - Documentation des APIs
|
||
- **[Sécurité](docs/SECURITY_AUDIT.md)** - Audit de sécurité
|
||
- **[Utilisation](docs/USAGE.md)** - Guide d'utilisation
|
||
|
||
### 🔗 Ressources Externes
|
||
|
||
- [Next.js Documentation](https://nextjs.org/docs)
|
||
- [Tailwind CSS](https://tailwindcss.com/docs)
|
||
- [Radix UI](https://www.radix-ui.com/docs)
|
||
- [TypeScript Handbook](https://www.typescriptlang.org/docs/)
|
||
|
||
## 🏗️ Architecture
|
||
|
||
### 📁 Structure du Projet
|
||
|
||
```
|
||
docv/
|
||
├── app/ # Pages et routes Next.js 13+
|
||
│ ├── dashboard/ # Interface utilisateur
|
||
│ ├── login/ # Authentification
|
||
│ ├── formation/ # Module formation
|
||
│ └── contact/ # Contact
|
||
├── components/ # Composants réutilisables
|
||
│ ├── ui/ # Composants UI de base
|
||
│ └── 4nk/ # Composants spécifiques 4NK
|
||
├── lib/ # Utilitaires et logique métier
|
||
│ ├── 4nk/ # Modules 4NK
|
||
│ └── utils.ts # Fonctions utilitaires
|
||
├── public/ # Assets statiques
|
||
├── styles/ # Styles globaux
|
||
└── docs/ # Documentation
|
||
```
|
||
|
||
### 🔧 Technologies Utilisées
|
||
|
||
| Technologie | Version | Description |
|
||
|-------------|---------|-------------|
|
||
| **Next.js** | 15.2.4 | Framework React full-stack |
|
||
| **React** | 19.1.1 | Bibliothèque UI |
|
||
| **TypeScript** | 5.0+ | Typage statique |
|
||
| **Tailwind CSS** | 4.1.9 | Framework CSS |
|
||
| **Radix UI** | Latest | Composants accessibles |
|
||
| **Lucide React** | 0.454.0 | Icônes |
|
||
| **Zod** | 3.25.67 | Validation de schémas |
|
||
|
||
### 🌐 Architecture de Sécurité
|
||
|
||
```mermaid
|
||
graph TB
|
||
A[Client] --> B[Next.js App]
|
||
B --> C[Authentification Cryptographique]
|
||
C --> D[Base de Données Locale]
|
||
D --> E[Chiffrement Bout en Bout]
|
||
E --> F[Ancrage Blockchain]
|
||
|
||
G[IA Locale] --> H[Traitement OCR]
|
||
H --> I[Classification]
|
||
I --> J[Extraction de Données]
|
||
```
|
||
|
||
## 🔒 Sécurité
|
||
|
||
### 🛡️ Mesures de Sécurité Implémentées
|
||
|
||
- ✅ **Authentification sans mot de passe** - Clés cryptographiques locales
|
||
- ✅ **Chiffrement bout en bout** - Données protégées en transit et au repos
|
||
- ✅ **Aucune interface admin** - Pas d'accès privilégié exposé
|
||
- ✅ **Conformité réglementaire** - RGPD, ISO 27001, SecNumCloud
|
||
- ✅ **Audit de sécurité** - Voir [SECURITY_AUDIT.md](docs/SECURITY_AUDIT.md)
|
||
|
||
### 🔐 Bonnes Pratiques
|
||
|
||
1. **Variables d'environnement** - Jamais de secrets en dur
|
||
2. **Validation des données** - Schémas Zod pour toutes les entrées
|
||
3. **HTTPS obligatoire** - En production uniquement
|
||
4. **Audit régulier** - `npm audit` avant chaque déploiement
|
||
|
||
## 🤝 Contribution
|
||
|
||
### 🚀 Comment Contribuer
|
||
|
||
1. **Fork** le repository
|
||
2. **Créer** une branche feature (`git checkout -b feature/amazing-feature`)
|
||
3. **Commit** vos changements (`git commit -m 'Add amazing feature'`)
|
||
4. **Push** vers la branche (`git push origin feature/amazing-feature`)
|
||
5. **Ouvrir** une Pull Request
|
||
|
||
### 📝 Standards de Code
|
||
|
||
- **TypeScript** strict activé
|
||
- **ESLint** pour la qualité du code
|
||
- **Prettier** pour le formatage
|
||
- **Conventional Commits** pour les messages
|
||
|
||
### 🧪 Tests
|
||
|
||
```bash
|
||
# Avant de contribuer, assurez-vous que :
|
||
npm run lint # ✅ Pas d'erreurs ESLint
|
||
npm run type-check # ✅ Pas d'erreurs TypeScript
|
||
npm run build # ✅ Build réussi
|
||
```
|
||
|
||
## 📞 Support
|
||
|
||
### 🆘 Obtenir de l'Aide
|
||
|
||
- **📧 Email** : contact@docv.fr
|
||
- **📚 Documentation** : [docs/](docs/)
|
||
- **🐛 Issues** : [GitHub Issues](https://github.com/your-org/docv/issues)
|
||
- **💬 Discussions** : [GitHub Discussions](https://github.com/your-org/docv/discussions)
|
||
|
||
### 🏢 Entreprise
|
||
|
||
**4NK** - Pionnier du Web 5.0
|
||
- 🏢 Solutions de souveraineté
|
||
- 🔒 Sécurité de bout en bout
|
||
- 🌐 Architecture distribuée
|
||
|
||
### 📋 Checklist de Support
|
||
|
||
Avant de demander de l'aide, vérifiez :
|
||
|
||
- [ ] Version de Node.js compatible (18.0+)
|
||
- [ ] Dépendances installées (`npm install`)
|
||
- [ ] Variables d'environnement configurées
|
||
- [ ] Logs d'erreur consultés
|
||
- [ ] Documentation parcourue
|
||
|
||
---
|
||
|
||
## 📄 Licence
|
||
|
||
Ce projet est propriétaire et confidentiel. Tous droits réservés à **4NK**.
|
||
|
||
---
|
||
|
||
<div align="center">
|
||
|
||
**🛡️ DocV - Sécurisez votre entreprise avec la GED simple et souveraine**
|
||
|
||
[](https://4nkweb.com)
|
||
[](mailto:contact@docv.fr)
|
||
|
||
</div>
|