Deleted older docs

This commit is contained in:
Sadrinho27 2025-11-06 12:05:54 +01:00
parent 3893d73e5a
commit 67daab33bb
5 changed files with 0 additions and 202 deletions

View File

@ -1,39 +0,0 @@
### Authentification 4NK (iframe + MessageBus)
Cette application intègre un flux dauthentification 4NK encapsulé dans une `iframe` et orchestré côté client via `MessageBus`.
### Composants impliqués
- `components/4nk/AuthModal.tsx`: modal dauth 4NK, gère létat daffichage, le chargement, les erreurs et la progression
- `components/4nk/Iframe.tsx` et `lib/4nk/IframeReference.ts`: gestion de l`iframe` 4NK et de sa référence DOM
- `lib/4nk/MessageBus.ts`: protocole de communication `window.postMessage` avec liframe
- `lib/4nk/UserStore.ts`: stockage des tokens (sessionStorage) et pairingId utilisateur
- `lib/4nk/MockService.ts`: implémentations simulées pour le **mode démonstration**
### Protocole côté client
Séquence attendue côté UI lors dune authentification standard :
1. L`iframe` se charge et envoie un message `LISTENING`
2. Le client envoie `REQUEST_LINK`
3. Réception `LINK_ACCEPTED` avec `accessToken` et `refreshToken`
4. Le client envoie `GET_PAIRING_ID` pour récupérer lidentifiant dappairage
Le `MessageBus` fournit des méthodes utilitaires supplémentaires (`validateToken`, `renewToken`, `getProcesses`, etc.) utilisées par lespace `/dashboard`.
### Mode démonstration (mock)
- Sur `/login`, saisir lidentifiant dentreprise `1234` active le **mode mock** dans `MessageBus`
- Les appels sont alors redirigés vers `MockService` (tokens et données factices), sans dépendre de liframe
- Le dashboard affiche alors des statistiques et listes récentes simulées
### Configuration
- `NEXT_PUBLIC_4NK_IFRAME_URL`: origine de liframe (ex. `https://dev.4nk.io`)
- Contrainte dorigine: `MessageBus` naccepte que les événements provenant dorigines 4NK/localhost
### Comportements principaux
- Stockage des tokens via `UserStore.connect(accessToken, refreshToken)`
- Appairage: `getUserPairingId()` stocke lID côté `UserStore`
- Vérification en dashboard: `validateToken()` côté 4NK (ou mock) et affichage conditionnel

View File

@ -1,42 +0,0 @@
### Installation, build et exécution
Ces instructions couvrent linstallation des dépendances, lexécution en développement et le build de production pour la partie Next.js.
### Prérequis
- Node.js 20+ recommandé
- Accès réseau pour installer les dépendances NPM
### Installation des dépendances
```bash
npm ci
```
### Exécution en développement
```bash
npm run dev
```
### Build de production
```bash
npm run build
```
### Démarrage de la production locale
```bash
npm run start
```
### Variables denvironnement utiles
- `NEXT_PUBLIC_4NK_IFRAME_URL`
- SMTP (`SMTP_HOST`, `SMTP_PORT`, `SMTP_SECURE`, `SMTP_USER`, `SMTP_PASSWORD`, `SMTP_FROM`)
### Notes
- `next.config.mjs` ignore les erreurs ESLint/TS au build (utile pour la démo)
- La présence dun dossier `src/` + `vite.config.ts` est résiduelle et non utilisée par `npm run` à ce stade

View File

@ -1,30 +0,0 @@
### Dashboard (navigation, état, données mock)
Le dossier `app/dashboard/` contient le layout et la page principale du tableau de bord. Il sappuie sur lauth 4NK et propose un **mode démonstration**.
### Layout
- Fichier: `app/dashboard/layout.tsx`
- Rôle: structure globale (sidebar, topbar, navigation, déconnexion)
- Auth: contrôle létat authentifié via `UserStore` et `MessageBus`
- Mode démo: badge et mentions spécifiques lorsque `MessageBus.isInMockMode()` vaut `true`
### Page principale
- Fichier: `app/dashboard/page.tsx`
- Rôle: affichage des indicateurs et sections utiles (le chat est en tête de page)
- Données: simulées en **mode mock** (statistiques de stockage, dossiers, activités)
### Navigation
- Entrées: Tableau de bord, Documents, Dossiers, Recherche, Utilisateurs, Messages, Paramètres
- Dépendances: certaines pages peuvent être des squelettes à compléter
### Points dattention
- En mode production, la récupération de données doit passer par `MessageBus` (et non mock)
- Les « cartes » Documents/Dossiers/Collaborateurs ont été notées à retirer dans un commentaire pour alléger lUI
- **Chat intégré**: linterface Messages est intégrée en tête de page (hauteur ~600px)
- **Sections retirées**: les blocs « Documents récents » et « Activité récente » ont été supprimés du dashboard
- **Ordonnancement**: Chat global « My Work » en premier, puis indicateurs (Stockage permanent, Stockage temporaire, Nouveaux dossiers)
- **Menu supprimé**: lentrée de navigation « Messages » a été retirée de la sidebar; la route `/dashboard/chat` peut subsister sans lien direct

View File

@ -1,59 +0,0 @@
### Aperçu du dépôt
Ce projet est une application web basée sur Next.js (App Router) avec React et TypeScript. Elle propose un site public (accueil, formation, contact) et un espace authentifié de type « dashboard » intégrant un flux dauthentification 4NK via iframe, avec un mode démonstration activable.
### Pile technique
- **Framework**: `next` 15 (App Router dans `app/`)
- **Langage**: `typescript` 5
- **UI**: `react` 19, composants `shadcn/ui` (via `components/ui`), `lucide-react`
- **Styles**: `tailwindcss` 4, fichiers dans `styles/` et `app/globals.css`
- **Formulaires/Validation**: `react-hook-form` et `zod` (validation côté serveur dans les actions)
- **Emailing**: `nodemailer` (configuration SMTP via variables denvironnement)
- **Outils 4NK**: `lib/4nk` (MessageBus, UserStore, MockService, EventBus)
- **Divers**: `postcss`, `autoprefixer`, `date-fns`, `uuid`
### Structure principale
- `app/`
- `page.tsx`: page daccueil publique (sections produit, sécurité, tarifs, liens vers formation, login)
- `layout.tsx`: layout racine de lapp (police, métadonnées, `globals.css`)
- `contact/page.tsx`: formulaire de contact (client) + action serveur `app/actions/contact.ts`
- `formation/page.tsx`: page formations (CTA vers devis); `formation/devis` (présent en dossier) si implémenté
- `login/page.tsx`: écran de login (auth 4NK via modal + mode démo)
- `dashboard/`: layout + pages (mock data en mode démo)
- `actions/`: actions serveur pour `contact` et `formation`
- `components/`
- `ui/`: primitives UI (boutons, cards, inputs, etc.)
- `4nk/`: composants spécifiques 4NK (`AuthModal`, `Iframe`, `DebugInfo` si utilisé)
- `lib/`
- `email.ts`: fonctions denvoi demails (contact, formation)
- `4nk/`: bus de messages, stockage utilisateur, services mock
- `public/`: assets (logos, placeholders)
- `styles/`: styles globaux
- `next.config.mjs`: configuration Next (build sans bloquer sur ESLint/TS, images non optimisées)
- `tsconfig.json`: configuration TypeScript
- `package.json`: scripts Next (`dev`, `build`, `start`, `lint`) et dépendances
- `vite.config.ts` et `src/`: présence dun squelette Vite non référencé par les scripts NPM (probablement résiduel)
### Fonctionnalités clés
- **Site public**: présentation du produit DocV, références, offre tarifaire, formations
- **Formulaire de contact**: envoi dun email structuré via `nodemailer` (action serveur `submitContactForm`)
- **Demande de devis formation**: envoi dun email structuré via `nodemailer` (action serveur `submitFormationForm`)
- **Authentification 4NK**:
- Modal dauthentification intégrant une `iframe` 4NK
- Protocole côté client via `MessageBus` (LISTENING → REQUEST_LINK → LINK_ACCEPTED → GET_PAIRING_ID)
- **Mode démonstration**: saisir `1234` comme identifiant dentreprise sur `/login` active le mock local
- **Dashboard**: statistiques et listes « récentes » simulées en mode démo, navigation latérale, vérification token en mode non-mock
### Variables denvironnement importantes
- SMTP: `SMTP_HOST`, `SMTP_PORT`, `SMTP_SECURE`, `SMTP_USER`, `SMTP_PASSWORD`, `SMTP_FROM`
- Auth 4NK (UI): `NEXT_PUBLIC_4NK_IFRAME_URL` (ex. `https://dev.4nk.io`)
### Points dattention
- `next.config.mjs` désactive les erreurs ESLint/TS au build (utile pour démo, à challenger pour la prod)
- Le dossier `src/` et `vite.config.ts` semblent non utilisés par les scripts; valider leur pertinence
- Les envois demails exigent des variables denvironnement valides côté serveur (build/exec)

View File

@ -1,32 +0,0 @@
---
title: Invitations utilisateurs (passphrase)
---
### Principe
- **Composition**: 4 mots français « existants » + **code** aléatoire de 6 caractères.
- **Rôle**: obligatoire (Lecteur, Éditeur, Administrateur).
- **Contexte**: titre de document/dossier optionnel.
- **Lien**: un lien dinvitation est aussi généré et copiable.
- **Email**: champ optionnel pour envoyer linvitation.
### Saisie côté invité
- **Étapes**: saisir les 4 mots dans lordre puis le code sur la page de connexion.
- **Alternative**: utiliser le **lien** dinvitation.
### Détails dimplémentation
- **Génération**: 4 mots uniques issus de la **liste BIP-39 (français)** + code alphanumérique (A..Z, 2..9) de 6 caractères.
- **Affichage**: la modale montre la passphrase, un bouton « Copier », le lien et un champ email denvoi.
- **Email**: inclut rôle, contexte (si fourni), passphrase et éventuellement le lien.
### Sécurité
- **Standard**: liste standardisée BIP-39 (français), certains mots contiennent des accents.
- **Bonnes pratiques**: éviter le partage de la passphrase sur des canaux non sécurisés.
### Limites connues
- **Expiration**: pas dexpiration de lien/token par défaut.
- **Validation serveur**: non implémentée dans cette version.