# Covalyo -- Guide utilisateur

**Version :** Phases 1-4 complètes (post-Sprint 109)
**Dernière mise à jour :** 28 avril 2026

> **Anciennement CobalSight** — la plateforme a été renommée Covalyo en avril 2026. Si vous arrivez par cobalsight.com ou trouvez le nom dans une ancienne documentation, vous êtes au bon endroit.

---

Covalyo est une plateforme d'analyse et de documentation automatique de code COBOL et JCL par intelligence artificielle. Elle s'adresse aux consultants en modernisation, chefs de projet et développeurs mainframe qui souhaitent comprendre, documenter et préparer la migration de leur patrimoine legacy.

Ce guide vous accompagne pas à pas dans l'utilisation de l'application.

> **Pas encore inscrit ?** Avant de créer un compte, vous pouvez consulter le **[projet de démonstration public](https://covalyo.com/demo)** (sans authentification) pour voir un exemple d'analyse Covalyo sur un programme COBOL fictif de crédit immobilier. Cela prend 30 secondes.

---

## Table des matières

1. [Premiers pas](#1-premiers-pas)
2. [Tableau de bord](#2-tableau-de-bord)
3. [Gérer ses projets](#3-gérer-ses-projets)
4. [Uploader du code](#4-uploader-du-code)
5. [Analyser un programme](#5-analyser-un-programme)
6. [Explorer les résultats](#6-explorer-les-résultats)
7. [Migration et refactoring](#7-migration-et-refactoring)
8. [Collaboration](#8-collaboration)
9. [Recherche et navigation rapide](#9-recherche-et-navigation-rapide)
10. [Exporter](#10-exporter)
11. [Paramètres](#11-paramètres)
12. [Organisations](#12-organisations)
13. [API publique](#13-api-publique)
14. [Conformité et sécurité](#14-conformité-et-sécurité)
15. [Plans et facturation](#15-plans-et-facturation)
16. [Aide et ressources](#16-aide-et-ressources)

---

## 1. Premiers pas

### 1.1 Créer un compte

1. Ouvrez Covalyo dans votre navigateur.
2. Sur la page d'accueil, cliquez sur **Commencer gratuitement** ou rendez-vous directement sur la page d'inscription.
3. Remplissez le formulaire :
   - **Nom** : votre nom complet (ex. : Jean Dupont)
   - **Email** : votre adresse professionnelle (ex. : vous@entreprise.com)
   - **Mot de passe** : 8 caractères minimum
4. Cliquez sur **Créer mon compte**.
5. Vous êtes automatiquement connecté et redirigé vers la liste des projets.

> **Note :** Si votre entreprise a configuré le SSO (authentification unique), vous ne verrez pas ce formulaire. Rendez-vous directement sur la page de connexion (section 1.2).

### 1.2 Se connecter

1. Rendez-vous sur la page de connexion.
2. Si des fournisseurs SSO sont configurés (Azure AD, Okta, etc.), des boutons **Continuer avec [Fournisseur]** apparaissent en haut de la page. Cliquez sur celui de votre entreprise pour vous connecter en un clic.
3. Sinon, saisissez votre **Email** et votre **Mot de passe**, puis cliquez sur **Se connecter**.
4. En cas d'erreur, un message rouge s'affiche sous le formulaire. Vérifiez vos identifiants.

**Mot de passe oublié ?**

1. Sur la page de connexion, cliquez sur le lien **Mot de passe oublié ?** situé à droite du champ mot de passe.
2. Saisissez l'adresse email de votre compte, puis cliquez sur **Envoyer le lien**.
3. Pour des raisons de sécurité, le même message de confirmation s'affiche que l'adresse existe ou non. Si un compte est associé à cette adresse, vous recevez un email contenant un lien de réinitialisation **valable 1 heure** (pensez à vérifier vos spams).
4. Cliquez sur le lien dans l'email, choisissez un nouveau mot de passe (8 caractères minimum), confirmez-le, puis validez. Vous êtes redirigé vers la connexion avec une confirmation.

> **Note :** la réinitialisation par email ne concerne que les comptes créés avec un email + mot de passe. Si vous vous connectez via SSO (Azure AD, Okta…), gérez votre mot de passe directement chez votre fournisseur d'identité.

> **Astuce :** Si vous n'avez pas encore de compte, cliquez sur le lien **Créer un compte** en bas de la page de connexion.

### 1.3 Découvrir l'interface

Une fois connecté, l'interface se compose de trois zones principales :

**La barre latérale gauche (sidebar)** -- présente en permanence, elle contient :
- Le logo **Covalyo** (cliquez dessus pour revenir au tableau de bord)
- Un champ **Rechercher...** avec l'indication du raccourci **Cmd+K** (ou **Ctrl+K** sur Windows/Linux)
- Les liens de navigation :
  - **Tableau de bord** : vue d'ensemble de votre activité
  - **Projets** : liste de vos projets d'analyse
  - **Organisations** : gestion des équipes
  - **Paramètres** : configuration IA et compte
  - **Guide utilisateur** : ouvre le présent guide
- La version de l'application (en bas)
- Le bouton **Déconnexion** (en bas)

> **Mobile :** Sur écran < 768 px (smartphone, tablette en mode portrait), la sidebar est masquée par défaut et accessible via un bouton **hamburger** en haut à gauche du header. Le drawer s'anime depuis la gauche, se ferme via la touche Échap, le clic sur l'arrière-plan ou un lien. Les pages publiques `/` et `/pricing` utilisent le même pattern (Sprint 109).

**L'en-tête (header)** -- en haut de chaque page, il affiche :
- Le titre et la description de la page en cours
- Des boutons d'action contextuels (selon la page)
- Le sélecteur de **langue** (FR/EN)
- Le bouton de **thème** (clair/sombre)
- L'icône **Notifications** (cloche) avec un badge indiquant le nombre de notifications non lues
- Votre **nom d'utilisateur** et votre email

**La zone de contenu principal** -- occupe le reste de l'écran et affiche le contenu de la page active.

### 1.4 Changer la langue

Covalyo est disponible en français et en anglais.

1. Dans l'en-tête, repérer le sélecteur de langue (icône de globe ou bouton FR/EN).
2. Cliquez pour basculer entre **Français** et **English**.
3. L'interface se met à jour instantanément.

> **Note :** La langue choisie affecte l'interface **et les nouvelles analyses**. Si l'application est en français, les analyses produites seront en français. Si vous basculez en anglais, les nouvelles analyses seront générées en anglais. Les analyses existantes conservent la langue dans laquelle elles ont été produites. Pour obtenir une analyse dans une autre langue, changez la langue de l'interface puis relancez l'analyse -- une nouvelle version sera créée (voir section 5.5).

### 1.5 Changer le thème

1. Dans l'en-tête, cliquez sur l'icône de thème (soleil ou lune).
2. L'application bascule entre le **thème sombre** (par défaut) et le **thème clair**.

### 1.6 Explorer un projet de démonstration

Si vous voulez voir Covalyo en action sans uploader votre propre code, deux options s'offrent à vous :

**Option A — Démo publique sans authentification**

Rendez-vous sur **[covalyo.com/demo](https://covalyo.com/demo)** depuis n'importe quel navigateur. Cette page (accessible sans login) vous montre :
- Un extrait COBOL fictif (programme `FILTCRED` de filtrage de dossiers de crédit)
- Le résumé fonctionnel généré par l'IA
- La cartographie du flux de données
- Les règles métier extraites
- Les risques de migration détectés

Aucune donnée n'est stockée sur votre compte — c'est une preview en lecture seule.

**Option B — Projet démo dans votre compte**

Pendant l'onboarding (ou depuis la création de projet), cliquez sur **« Explorer un projet démo »** au lieu d'uploader un fichier. Covalyo provisionne instantanément dans votre espace personnel un projet contenant 3 fichiers pré-analysés autour d'un cas de **crédit immobilier** :

- `FILTCRED.cob` — programme de filtrage des dossiers de crédit
- `MAJCRED.cob` — programme de mise à jour des taux
- `CPYCLI.cpy` — copybook de structure client

Vous pouvez naviguer dans toutes les fonctionnalités (analyses, dépendances, score de migration, exports) comme s'il s'agissait de votre code. Les analyses sont marquées `modelUsed: "demo-seed"` pour les distinguer des vraies. Le projet démo est idempotent : si vous cliquez plusieurs fois, vous retombez sur le même projet.

> **Astuce :** Le projet démo est créé dans votre **espace personnel** uniquement. Si vous travaillez dans une organisation, basculez d'abord sur l'espace personnel via le sélecteur d'organisation.

---

## 2. Tableau de bord

### 2.1 Vue d'ensemble

Le tableau de bord est la première page que vous voyez après la connexion. Il présente quatre indicateurs clés sous forme de cartes :

| Indicateur | Description |
|---|---|
| **Projets** | Nombre total de projets créés |
| **Fichiers** | Nombre total de fichiers uploadés |
| **Analyses terminées** | Nombre d'analyses complétées avec succès |
| **Tokens utilisés** | Consommation totale de tokens IA (affichée en milliers, ex. : 45K) |

En dessous, la section **Analyses récentes** liste vos dernières analyses avec :
- Le nom du fichier analysé
- Le nom du projet associé
- Le statut (badge coloré) :
  - **En attente** (gris) : l'analyse est dans la file
  - **En cours** (bleu, avec icône animée) : l'analyse est en train de s'exécuter
  - **Terminée** (vert) : l'analyse est prête à consulter
  - **Échouée** (rouge) : une erreur est survenue
- La date et l'heure de l'analyse

Cliquez sur une analyse pour accéder directement à ses résultats.

Le tableau de bord inclut aussi deux widgets visuels :
- **Distribution des fichiers** : un graphique donut (camembert) montrant la répartition de vos fichiers par type (COBOL, JCL, copybook, etc.)
- **Vue migration** : un bar chart affichant la distribution des grades de migration (A a E) sur l'ensemble de vos projets, avec le score moyen et l'effort total estime

> **Astuce :** Si vous n'avez encore aucune analyse, un bouton **Créer un projet** vous permet de démarrer directement.

### 2.2 Naviguer rapidement

Deux méthodes pour naviguer rapidement dans l'application :

- **La barre latérale** : cliquez sur **Tableau de bord**, **Projets**, **Organisations** ou **Paramètres**.
- **La palette de commandes** : appuyez sur **Cmd+K** (Mac) ou **Ctrl+K** (Windows/Linux) pour ouvrir une fenêtre de recherche rapide. Voir la section 9 pour les détails.

---

## 3. Gérer ses projets

Un projet regroupe un ensemble de fichiers COBOL/JCL et leurs analyses. C'est l'unité de travail principale dans Covalyo.

### 3.1 Créer un projet

**Méthode 1 -- Via la page Projets :**

1. Cliquez sur **Projets** dans la barre latérale.
2. Cliquez sur le bouton **Nouveau projet** en haut à droite.
3. Dans la fenêtre qui s'ouvre, remplissez :
   - **Nom du projet** (obligatoire) : ex. : "Migration batch crédit"
   - **Description** (facultatif) : ex. : "Programmes batch de gestion des crédits immobiliers"
   - **Organisation** (facultatif) : sélectionnez une organisation pour partager le projet avec votre équipe, ou laissez sur "Personnel"
4. Cliquez sur **Créer**.

**Méthode 2 -- Via l'assistant de démarrage :**

Lors de votre première visite sur la page Projets (si vous n'avez aucun projet), un assistant en 4 étapes vous guide :

1. **Créer un projet** : saisissez un nom et une description, puis cliquez sur **Créer et continuer**
2. **Importer des fichiers** : glissez-déposez vos fichiers COBOL/JCL (voir section 4)
3. **Lancer l'analyse** : confirmez le lancement de l'analyse sur tous les fichiers importés
4. **Explorer les résultats** : cliquez sur **Voir le projet** pour suivre la progression

> **Astuce :** Vous pouvez passer l'assistant en cliquant sur **Passer l'assistant de démarrage** en bas de la page.

### 3.2 Voir un projet

1. Cliquez sur **Projets** dans la barre latérale.
2. Cliquez sur la carte du projet souhaité.

La page de détail d'un projet contient :

- **Zone d'upload** : pour ajouter de nouveaux fichiers au projet
- **Dashboard de migration** (visible dès qu'il y a des fichiers COBOL) : lien vers le tableau de bord de migration avec scores de complexité et plan de migration
- **Cartographie des dépendances** (visible dès qu'il y a au moins 2 fichiers) : lien vers le graphe de dépendances entre programmes, copybooks, tables et fichiers
- **Fichiers** : liste de tous les fichiers du projet, avec pour chacun :
  - Le nom et le type (COBOL, JCL, CPY)
  - Le statut de la dernière analyse
  - Un bouton **Voir** pour accéder aux résultats
  - Un bouton **Analyser** pour lancer ou relancer l'analyse
- **Analyser tout** : bouton en haut de la section Fichiers pour lancer l'analyse de tous les fichiers non encore analysés
- **Historique des analyses** : liste de toutes les analyses terminées, avec date, consommation de tokens et durée

En haut de la page, deux boutons supplémentaires :
- **Comparer** : activer le mode comparaison pour sélectionner deux analyses et les comparer côte à côte (visible uniquement si au moins 2 analyses sont terminées)
- **Assistant IA** : ouvrir le panneau de chat IA contextuel (voir section 8.1)

### 3.3 Modifier ou supprimer un projet

**Supprimer un projet :**

1. Sur la page **Projets**, repérer la carte du projet.
2. Cliquez sur l'icône de **corbeille** en haut à droite de la carte.
3. Le projet et ses fichiers sont supprimés.

> **Note :** La suppression est définitive. Toutes les analyses associées seront également supprimées.

### 3.4 Inviter des collaborateurs

La collaboration se gère au niveau du projet et de l'organisation. Pour partager un projet :

1. Rattachez le projet à une organisation (lors de la création ou en modifiant le projet).
2. Invitez des membres dans l'organisation (voir section 12.2).
3. Tous les membres de l'organisation ont accès aux projets rattachés.

Chaque membre se voit attribuer un rôle au niveau du projet, définissant ses permissions :

| Rôle | Description | Voir | Analyser | Modifier le projet | Gérer les membres | Supprimer |
|---|---|---|---|---|---|---|
| **Propriétaire** (OWNER) | Créateur du projet, contrôle total | Oui | Oui | Oui | Oui | Oui |
| **Administrateur** (ADMIN) | Gère le projet et ses membres | Oui | Oui | Oui | Oui | Non |
| **Analyste** (ANALYST) | Peut lancer des analyses et contribuer | Oui | Oui | Non | Non | Non |
| **Lecteur** (VIEWER) | Accès en lecture seule aux résultats | Oui | Non | Non | Non | Non |

---

## 4. Uploader du code

### 4.1 Upload d'un fichier

1. Ouvrez votre projet (voir section 3.2).
2. Dans la zone **Ajouter des fichiers**, vous avez deux options :
   - **Glisser-déposer** : faites glisser un ou plusieurs fichiers depuis votre explorateur de fichiers vers la zone en pointillés
   - **Parcourir** : cliquez sur le lien **ou parcourir** pour ouvrir le sélecteur de fichiers
3. Les fichiers s'affichent dans une liste avec leur nom et leur taille.
4. Pour retirer un fichier avant l'upload, cliquez sur le **X** à côté de son nom.
5. Cliquez sur **Uploader N fichier(s)** pour lancer le transfert.
6. Une barre de progression s'affiche pendant l'upload.

**Extensions acceptées :**
- `.cob` -- programme COBOL
- `.cbl` -- programme COBOL
- `.cpy` -- copybook COBOL
- `.jcl` -- job JCL

**Taille maximale :** 5 Mo par fichier.

### 4.2 Upload batch (ZIP)

Pour importer un grand nombre de fichiers en une seule opération :

1. Créez une archive `.zip` contenant vos fichiers COBOL/JCL.
2. Glissez-déposez ou parcourez pour sélectionner le fichier `.zip`.
3. Cliquez sur **Uploader**.
4. Covalyo extrait automatiquement les fichiers de l'archive.
5. Seuls les fichiers avec les extensions reconnues (.cob, .cbl, .cpy, .jcl) sont conservés. Les autres fichiers sont ignorés.

**Limites pour les archives ZIP :**
- Taille maximale de l'archive : 50 Mo
- Nombre maximum de fichiers : 100

### 4.3 Détection automatique

Covalyo effectue automatiquement deux détections à l'import :

**Encodage EBCDIC :** Si votre fichier est encodé en EBCDIC (encodage natif mainframe), il est automatiquement converti en UTF-8. Aucune action de votre part n'est nécessaire.

**Format du code :** Covalyo détecte si le code est en format fixe (colonnes 1-80, standard mainframe) ou en format libre. Le format fixe est le mode principal. Si du code en format libre est détecté, un avertissement est affiché.

> **Astuce :** Pour de meilleurs résultats, privilégiez les exports en format fixe depuis votre mainframe.

### 4.4 Résolution automatique des copybooks

Si vous uploadez des fichiers copybook (`.cpy`) dans le même projet que vos programmes COBOL, Covalyo résout automatiquement les instructions `COPY` avant l'analyse. Concrètement :

- Le contenu de chaque copybook est **injecté à la place** de l'instruction `COPY` correspondante dans le programme COBOL.
- Les clauses **REPLACING** éventuelles sont appliquées automatiquement (remplacement de variables ou de littéraux).
- Le LLM reçoit ainsi le code complet avec les définitions de variables réelles (clauses `PIC`, niveaux `01`/`05`, etc.), ce qui élimine les messages du type *"Interprétation incertaine"* sur les structures de données.

**Aucune action supplémentaire n'est requise** au-delà de l'upload des copybooks dans le projet. La résolution est entièrement transparente.

> **Astuce :** Uploadez toujours vos copybooks en même temps que vos programmes COBOL pour obtenir les analyses les plus précises possibles.

---

## 5. Analyser un programme

### 5.1 Lancer une analyse

**Analyser un seul fichier :**

1. Sur la page de votre projet, repérer le fichier dans la liste.
2. Cliquez sur le bouton **Analyser** à droite du fichier.
3. Le statut passe à **En attente** puis **En cours**.

**Analyser tous les fichiers :**

1. Si des fichiers n'ont pas encore été analysés, un bouton **Analyser tout (N)** apparaît en haut de la liste des fichiers, où N est le nombre de fichiers non analysés.
2. Cliquez sur ce bouton pour lancer l'analyse de tous les fichiers en attente.

> **Note :** L'analyse utilise l'intelligence artificielle et consomme des tokens. La consommation dépend de la taille du programme (nombre de lignes de code).

### 5.2 Suivre la progression

Lorsqu'une analyse est en cours, cliquez sur le fichier ou l'analyse pour voir l'écran de progression :

- Le nom du fichier en cours d'analyse
- Une **barre de progression** avec l'indication de l'étape courante (ex. : 3/7)
- La **liste des 7 étapes** du pipeline LLM :
  1. Résumé fonctionnel
  2. Flux de données
  3. Règles métier
  4. Structure
  5. Dépendances
  6. Risques
  7. Glossaire
- Chaque étape terminée est marquée d'une coche verte
- L'étape en cours est signalée par une icône animée bleue
- Le **temps restant estimé** s'affiche en bas (ex. : "~30s restantes")

> **Note :** Avant ces 7 étapes LLM, le fichier est d'abord parsé localement (analyse syntaxique). Ce pré-traitement est quasi instantané et ne consomme pas de tokens.

La page se met à jour en temps réel -- vous n'avez pas besoin de la rafraîchir.

> **Astuce :** Vous pouvez naviguer ailleurs pendant l'analyse. Le panneau de progression flottant vous permettra de suivre l'avancement (voir section 5.2.1).

### 5.2.1 Panneau de progression global

Un **panneau flottant** apparaît en bas à droite de l'écran dès qu'un processus est en cours (analyse, migration, refactoring, génération de code). Ce panneau :

- **Persiste pendant la navigation** : vous pouvez changer de page sans interrompre les processus
- Affiche une **barre de progression** et le **nom de l'étape** pour chaque job
- Utilise des **icônes par type** : AI (analyse), MG (migration), RF (refactoring), CG (codegen)
- Les jobs **terminés** s'affichent avec une coche verte et sont automatiquement masqués après 8 secondes
- Les jobs **en erreur** affichent un message d'erreur en rouge
- Le panneau est **minimisable** en cliquant sur l'en-tête
- Un bouton **×** permet d'effacer les jobs terminés manuellement

> **Note :** Les onglets migration, refactoring et génération de code fonctionnent en **arrière-plan** : vous pouvez les lancer puis basculer vers un autre onglet sans interrompre le processus. Le résultat s'affichera automatiquement lorsque le traitement sera terminé.

### 5.3 Les 7 sections d'une analyse COBOL

Une analyse complète d'un programme COBOL produit 7 sections de documentation :

1. **Résumé fonctionnel** : nom du programme, domaine métier, type de traitement (batch, online CICS, etc.), résumé fonctionnel en langage naturel, description des entrées et sorties, actions clés du programme.

2. **Flux de données** : diagramme visuel montrant les entrées (fichiers, tables DB2, paramètres, écrans) à gauche en bleu et les sorties à droite en vert, avec les transformations au centre. Chaque élément est annoté avec son type (Fichier, Table DB2, Paramètre, Écran).

3. **Règles métier** : tableau détaillé des règles métier identifiées dans le code, avec pour chacune : le niveau de sévérité (Critique, Important, Standard), le type (Validation, Calcul, Branchement, Filtrage, Transformation, Décision, Audit), la condition, l'action, les numéros de ligne et les variables impliquées.

4. **Structure** : arborescence hiérarchique du programme, montrant les divisions, sections et paragraphes COBOL. Permet de visualiser rapidement l'organisation du code.

5. **Dépendances** : liste des copybooks inclus, des programmes appelés, des tables DB2 référencées et des fichiers utilisés.

6. **Risques** : cartes d'alerte avec pour chaque risque identifié : le niveau de sévérité, la catégorie, une description détaillée, une recommandation de correction et l'impact potentiel.

7. **Glossaire des variables** : tableau de toutes les variables significatives avec leur nom, type, description fonctionnelle, usage dans le programme et un indicateur si la variable est critique.

### 5.4 Les sections d'une analyse JCL

Les programmes JCL (Job Control Language) produisent une analyse simplifiée avec :

1. **Résumé** : description fonctionnelle du job, étapes principales, programmes invoqués
2. **Flux de données** : fichiers en entrée et sortie, datasets utilisés
3. **Risques** : points d'attention identifiés dans le JCL

### 5.5 Relancer une analyse

Vous pouvez relancer l'analyse d'un fichier à tout moment :

1. Sur la page du projet, cliquez sur **Analyser** en face du fichier (même s'il a déjà été analysé).
2. Une nouvelle version de l'analyse est créée (v2, v3, etc.).
3. Les versions précédentes restent accessibles via l'historique (voir section 8.4).

> **Note :** Relancer une analyse est utile lorsque vous avez changé de modèle IA dans les paramètres, lorsque vous souhaitez obtenir l'analyse dans une autre langue (voir section 1.4), ou après une mise à jour de Covalyo.

---

## 6. Explorer les résultats

### 6.1 Navigation par onglets

La page d'analyse présente les résultats sous forme de **11 onglets** :

| N. | Onglet | Raccourci | Description |
|---|---|---|---|
| 1 | **Résumé** | Cmd+1 | Résumé fonctionnel du programme |
| 2 | **Flux de données** | Cmd+2 | Diagramme entrées/sorties |
| 3 | **Structure** | Cmd+3 | Arborescence du programme |
| 4 | **Règles métier** | Cmd+4 | Tableau des règles identifiées |
| 5 | **Risques** | Cmd+5 | Alertes et recommandations |
| 6 | **Glossaire** | Cmd+6 | Dictionnaire des variables |
| 7 | **Migration** | Cmd+7 | Score de complexité de migration |
| 8 | **Refactoring** | Cmd+8 | Suggestions de refactoring IA |
| 9 | **Code généré** | Cmd+9 | Génération de code cible |
| 10 | **Code source** | Cmd+0 | Code source annoté |
| 11 | **Commentaires** | Cmd+- | Commentaires de l'équipe |

Pour naviguer entre les onglets :
- Cliquez directement sur l'onglet souhaité
- Utilisez les raccourcis clavier **Cmd+1** à **Cmd+9**, **Cmd+0** et **Cmd+-**
- Utilisez **Cmd+[** pour l'onglet précédent et **Cmd+]** pour l'onglet suivant

En haut de la page, vous voyez le nom du fichier, la consommation de tokens et la durée de l'analyse.

### 6.2 Résumé fonctionnel

L'onglet **Résumé** présente :

- Le **nom du programme** identifié dans le code
- Le **domaine métier** (banque, assurance, comptabilité, etc.)
- Le **type de traitement** (batch, online, sous-programme, etc.)
- Un **résumé fonctionnel** en langage naturel décrivant ce que fait le programme
- La description des **entrées** (fichiers lus, paramètres reçus, écrans)
- La description des **sorties** (fichiers écrits, rapports générés, écrans mis à jour)
- Les **actions clés** du programme

### 6.3 Flux de données

L'onglet **Flux de données** affiche un diagramme visuel :

- À gauche, les **entrées** (en bleu) : fichiers, tables DB2, paramètres, écrans CICS
- Au centre, les **transformations** : les traitements appliqués aux données
- À droite, les **sorties** (en vert) : fichiers générés, tables mises à jour, rapports

Chaque élément porte un badge indiquant son type : **Fichier**, **Table DB2**, **Paramètre**, **Écran**.

### 6.4 Règles métier

L'onglet **Règles métier** affiche un tableau avec les colonnes suivantes :

- **Sévérité** : badge coloré indiquant l'importance de la règle
  - **Critique** (rouge) : règle essentielle au bon fonctionnement
  - **Important** (orange) : règle significative
  - **Standard** (gris) : règle courante
- **Type** : Validation, Calcul, Branchement, Filtrage, Transformation, Décision, Audit
- **Condition** : la condition évaluée dans le code
- **Action** : ce qui se passe quand la condition est vraie
- **Lignes** : les numéros de ligne du code source
- **Variables** : les variables impliquées

### 6.5 Structure du programme

L'onglet **Structure** affiche une vue arborescente (tree view) du programme :

- Les **divisions** COBOL (IDENTIFICATION, ENVIRONMENT, DATA, PROCEDURE)
- Les **sections** à l'intérieur de chaque division
- Les **paragraphes** au sein de chaque section

Cette vue permet de comprendre rapidement l'organisation du code sans le lire ligne par ligne.

### 6.6 Dépendances

Les dépendances sont accessibles depuis la page du projet via le lien **Cartographie des dépendances** (visible lorsque le projet contient au moins 2 fichiers).

Le graphe de dépendances affiche les relations entre :
- Les **programmes** (noeuds principaux)
- Les **copybooks** inclus (COPY)
- Les **tables DB2** référencées (EXEC SQL)
- Les **fichiers** utilisés (SELECT ... ASSIGN TO)
- Les **jobs JCL** qui invoquent les programmes

Vous pouvez :
- **Filtrer par type** de noeud (programme, copybook, table, fichier, JCL)
- **Rechercher un noeud** par son nom
- **Cliquer sur un noeud** pour afficher son analyse d'impact :
  - Impact **amont** : quels éléments dépendent de lui
  - Impact **aval** : de quels éléments il dépend
  - Nombre d'impacts **directs** et **transitifs**

### 6.7 Risques et alertes

L'onglet **Risques** présente des cartes d'alerte. Chaque carte contient :

- Le **niveau de sévérité** (badge coloré)
- La **catégorie** du risque
- Une **description** détaillée du problème
- Une **recommandation** de correction ou d'amélioration
- L'**impact** potentiel si le risque n'est pas traité

### 6.8 Glossaire des variables

L'onglet **Glossaire** présente un tableau de toutes les variables significatives du programme :

- **Nom** : le nom de la variable tel qu'il apparaît dans le code
- **Type** : le type de donnée (alphanumérique, numérique, etc.)
- **Description** : description fonctionnelle en langage naturel
- **Usage** : comment la variable est utilisée dans le programme
- **Critique** : indicateur signalant les variables essentielles au fonctionnement

### 6.9 Code source annoté

L'onglet **Code source** affiche le code original avec :

- La **coloration syntaxique** COBOL (mots-clés, littéraux, commentaires)
- Des **annotations dans la marge** :
  - En **bleu** : règles métier identifiées (avec le nom de la règle)
  - En **orange** : risques détectés (avec le titre du risque)
- Survolez une annotation pour voir les détails complets

---

## 7. Migration et refactoring

### 7.1 Score de migration

L'onglet **Migration** d'une analyse affiche le score de complexité de migration du programme :

**En haut :**
- Le **nom du programme** et son **grade** (A à E) :
  - **A - Facile** (vert) : programme simple, migration directe
  - **B - Modéré** (bleu) : complexité modérée
  - **C - Significatif** (jaune) : nécessite un effort important
  - **D - Difficile** (rouge) : migration complexe
  - **E - Très difficile** (rouge) : migration très complexe, refactoring préalable recommandé
- Le **type de programme** : Batch, Batch DB2, Online CICS, Sous-programme, Utilitaire

**Trois cartes métriques :**
- **Score global** : note sur 100 avec barre de progression colorée
- **Effort estimé** : nombre de jours-homme estimés pour la migration
- **Métriques clés** : lignes de code, nombre de GO TO, requêtes SQL, nombre de fichiers

**Dimensions de complexité :** 7 axes évalués de 0 à 10, chacun avec un poids :
- Taille du code
- Complexité cyclomatique
- Dépendances externes
- Spécificité plateforme (CICS, IMS)
- Complexité SQL/DB2
- Flux de contrôle
- Complexité des données

Pour chaque dimension, une barre de progression et une explication détaillée sont affichées.

> **Note :** Si le score de migration n'a pas encore été calculé, cliquez sur **Analyser la migration** pour le générer.

### 7.2 Dashboard migration projet

Le dashboard de migration offre une vue consolidée au niveau du projet entier.

1. Depuis la page de votre projet, cliquez sur **Voir le dashboard** dans la carte **Dashboard de migration**.
2. Le dashboard affiche :
   - Le nombre total de **programmes** analysés
   - Le **score moyen** de migration
   - L'**effort total** estimé en jours
   - Le nombre total de **lignes de code**
   - La **distribution des grades** (nombre de programmes par grade A à E)
   - La **matrice de risque** : répartition des programmes selon deux axes (complexité et dépendances) en 4 quadrants :
     - **Quick Win** (complexité basse, peu de dépendances) : à migrer en priorité
     - **Stratégique** (complexité basse, beaucoup de dépendances) : planifier soigneusement
     - **Priorité basse** (complexité haute, peu de dépendances) : peut attendre
     - **Complexe critique** (complexité haute, beaucoup de dépendances) : nécessite une approche dédiée
   - Les **vagues de migration** : regroupement suggéré des programmes par ordre de migration
   - Le **détail par programme** : tableau avec fichier, type, grade, score et effort estimé

Si le dashboard n'a pas encore été généré, cliquez sur **Générer le dashboard** puis attendez le calcul.

### 7.3 Suggestions de refactoring

L'onglet **Refactoring** d'une analyse présente des recommandations générées par l'IA pour améliorer le code avant ou pendant la migration :

- Chaque suggestion indique **ce qu'il faut changer**, **pourquoi** et avec quelle **priorité**
- Les suggestions couvrent : simplification de la logique, élimination des GO TO, restructuration des paragraphes, optimisation des accès base de données, etc.

Si les suggestions n'ont pas encore été générées, cliquez sur **Générer les suggestions**.

### 7.4 Générer du code cible

L'onglet **Code généré** permet de traduire automatiquement le programme COBOL vers un langage moderne :

1. **Choisissez le langage cible** parmi les trois options :
   - **Java 17+**
   - **Python 3.11+**
   - **TypeScript**
2. Cliquez sur **Générer le code**.
3. Après quelques secondes, vous obtenez :

**Fichiers source :** la traduction du programme COBOL, découpée en fichiers logiques. Chaque fichier est présenté dans un panneau repliable avec :
- Le nom du fichier et le langage
- Une description
- Le code complet (cliquez pour déplier)
- Un bouton **Copier** pour copier le code dans le presse-papiers

**Tests unitaires :** des tests générés automatiquement pour valider le code traduit.

**Résumé d'architecture :** une explication de la structure du code généré et des choix architecturaux.

**Notes de migration :** des avertissements classés par sévérité (critique, avertissement, information) signalant les différences de comportement entre le code original et le code généré, avec les références COBOL et cible.

> **Astuce :** Cliquez sur **Regénérer** pour obtenir une nouvelle génération (utile si vous avez changé de modèle IA).

---

## 8. Collaboration

### 8.1 Chat IA contextuel

Le chat IA est un assistant intelligent qui a accès à toutes les analyses et au graphe de dépendances de votre projet.

1. Ouvrez votre projet.
2. Cliquez sur **Assistant IA** en haut à droite.
3. Un panneau de chat s'ouvre sur la droite de l'écran.
4. Posez votre question en langage naturel. Exemples de questions suggérées :
   - "Quels sont les principaux programmes de ce projet ?"
   - "Quels risques ont été identifiés dans les analyses ?"
   - "Quelles tables DB2 sont utilisées et par quels programmes ?"
   - "Explique-moi les dépendances entre les fichiers."
5. L'assistant répond en s'appuyant sur les données réelles de votre projet.

Vous pouvez :
- Voir l'**historique** de vos conversations précédentes
- Démarrer une **nouvelle conversation**
- Fermer le panneau en recliquant sur **Assistant IA** ou en appuyant sur **Échap**

> **Note sur la rétention des conversations**
> Pour garder les temps de chargement rapides et la base de données légère, chaque session de chat ne conserve que ses **200 derniers messages**. Au-delà, les messages les plus anciens sont supprimés automatiquement après chaque nouvelle réponse de l'assistant. Les 50 messages les plus récents sont systématiquement envoyés comme contexte à l'IA. Si vous avez besoin de conserver un historique long, exportez votre conversation avant qu'elle ne dépasse cette limite, ou démarrez une nouvelle conversation pour archiver la précédente.

### 8.2 Commenter une analyse

L'onglet **Commentaires** d'une analyse permet à l'équipe de discuter des résultats.

**Ajouter un commentaire :**

1. Allez sur l'onglet **Commentaires** (ou appuyez sur **Cmd+-**).
2. En bas de la page, sélectionnez la **section** concernée dans le menu déroulant : Général, Résumé, Flux de données, Règles métier, Structure, Dépendances, Risques, Glossaire, Migration ou Refactoring.
3. Saisissez votre commentaire dans la zone de texte (2000 caractères maximum).
4. Cliquez sur le bouton d'**envoi** (icône flèche).

**Filtrer les commentaires :**

Utilisez le menu **Filtrer par section** en haut pour afficher uniquement les commentaires d'une section donnée. Le nombre de commentaires affichés est indiqué à droite du filtre.

**Modifier ou supprimer un commentaire :**

Vous ne pouvez modifier ou supprimer que vos propres commentaires :
- Cliquez sur l'icône **crayon** pour modifier
- Cliquez sur l'icône **corbeille** pour supprimer

Chaque commentaire affiche le nom de l'auteur, la section concernée (badge bleu), la date et l'indication "(modifié)" si le commentaire a été édité.

### 8.3 Notifications

L'icône de **cloche** dans l'en-tête vous informe des événements importants :

- Un **badge numérique** indique le nombre de notifications non lues
- Cliquez sur la cloche pour ouvrir le panneau de notifications
- Chaque notification affiche :
  - Un **point bleu** si non lue
  - Le **titre** de la notification
  - Un **message** détaillé
  - Le **temps écoulé** (à l'instant, il y a 5 min, il y a 2h, il y a 3j)
- Cliquez sur une notification pour naviguer vers l'élément concerné (analyse terminée, nouveau commentaire, etc.)
- Utilisez **Tout marquer lu** pour effacer le badge
- Cliquez sur l'icône **coche** pour marquer une notification individuelle comme lue
- Cliquez sur la **corbeille** pour supprimer une notification

### 8.4 Notifications toast

En plus des notifications persistantes (cloche), Covalyo affiche des **notifications toast** temporaires en bas de l'ecran pour confirmer vos actions en temps reel :

- **Projets** : creation, modification, suppression de projet
- **Upload** : fichier uploade avec succes ou erreur de validation
- **Analyse** : lancement d'analyse, analyse terminee
- **Commentaires** : ajout, modification, suppression de commentaire
- **Parametres** : sauvegarde des preferences, cle API creee/supprimee
- **Organisations** : ajout/retrait de membre, changement de role

Les toasts disparaissent automatiquement apres quelques secondes. Ils apparaissent en vert (succes), rouge (erreur) ou bleu (information).

### 8.5 Comparer deux versions

Lorsqu'un fichier a été analysé plusieurs fois, vous pouvez comparer les versions :

**Depuis la page d'analyse :**

1. Cliquez sur **Historique** en haut à droite de la page d'analyse.
2. Le panneau d'historique s'ouvre, listant toutes les versions de l'analyse.
3. Cliquez sur **Voir** pour ouvrir une version spécifique.
4. Cliquez sur **Comparer** pour ouvrir la vue de comparaison côte à côte.

**Depuis la page du projet :**

1. Cliquez sur **Comparer** en haut de la page du projet.
2. Sélectionnez exactement **deux analyses** en cliquant sur leurs cases à cocher.
3. Cliquez sur **Voir la comparaison**.

La vue de comparaison affiche côte à côte les différences entre les deux analyses pour chaque section : résumé, règles métier, risques, score de migration, variables, dépendances, métriques et suggestions de refactoring.

---

## 9. Recherche et navigation rapide

### 9.1 Recherche dans un projet

Depuis la page d'un projet, vous pouvez rechercher dans les résultats d'analyse. La recherche couvre toutes les sections de toutes les analyses du projet.

### 9.2 Palette de commandes (Cmd+K)

La palette de commandes est le moyen le plus rapide de naviguer dans Covalyo.

1. Appuyez sur **Cmd+K** (Mac) ou **Ctrl+K** (Windows/Linux) depuis n'importe quelle page.
2. Une fenêtre de recherche s'ouvre au centre de l'écran.
3. Commencez à taper pour filtrer les résultats.

La palette propose trois catégories :

**Navigation :**
- Tableau de bord
- Projets
- Organisations
- Paramètres

**Actions :**
- Nouveau projet

**Actions contextuelles** (varient selon la page active) :
- Sur une page d'analyse : **Exporter l'analyse** (Markdown, PDF, DOCX)
- Sur une page de projet : **Uploader un fichier**, **Lancer une analyse**

**Projets récents :**
- Vos 5 derniers projets, pour un accès direct

Sélectionnez un élément avec les flèches du clavier et appuyez sur **Entrée**, ou cliquez dessus.

### 9.3 Raccourcis clavier

Covalyo propose de nombreux raccourcis clavier pour accélérer votre travail.

**Raccourcis globaux :**

| Raccourci | Action |
|---|---|
| **Cmd+K** | Ouvrir la palette de commandes |
| **Cmd+P** | Imprimer la page courante |
| **Échap** | Fermer le panneau ou la fenêtre active |

**Raccourcis sur la page d'analyse (onglets) :**

| Raccourci | Action |
|---|---|
| **Cmd+1** à **Cmd+9** | Accéder aux onglets 1 à 9 |
| **Cmd+0** | Accéder à l'onglet 10 (Code source) |
| **Cmd+-** | Accéder à l'onglet 11 (Commentaires) |
| **Cmd+[** | Onglet précédent |
| **Cmd+]** | Onglet suivant |

> **Note :** Sur Windows et Linux, remplacez **Cmd** par **Ctrl**.

---

## 10. Exporter

Covalyo propose plusieurs formats d'export pour vos analyses.

### 10.1 Export Markdown

1. Ouvrez une analyse terminée.
2. Cliquez sur le bouton **Markdown** dans l'en-tête.
3. Un fichier `.md` est téléchargé contenant toutes les sections de l'analyse dans un format texte structuré.

Idéal pour : intégration dans un wiki, Git, ou tout outil supportant le Markdown.

### 10.2 Export PDF

1. Ouvrez une analyse terminée.
2. Cliquez sur le bouton **PDF** dans l'en-tête.
3. Un fichier `.pdf` est téléchargé contenant toutes les sections de l'analyse avec une mise en page professionnelle.

Idéal pour : partage par email, archivage, livrables nécessitant un format universel.

### 10.3 Export Word (DOCX)

1. Ouvrez une analyse terminée.
2. Cliquez sur le bouton **Word** dans l'en-tête.
3. Un fichier `.docx` est téléchargé avec toutes les sections mises en forme : titres, tableaux, styles professionnels.

Idéal pour : rapports clients, livrables de projet, documentation officielle.

### 10.4 Imprimer

1. Ouvrez une analyse terminée.
2. Cliquez sur le bouton **Imprimer** dans l'en-tête (ou appuyez sur **Cmd+P**).
3. La fenêtre d'impression du navigateur s'ouvre avec une mise en page propre, sans la barre latérale ni les éléments de navigation.

Idéal pour : archivage papier, revues de code en salle de réunion.

### 10.5 Rapport de migration consolidé

Depuis le dashboard de migration du projet (voir section 7.2), vous pouvez exporter un rapport consolidé incluant l'ensemble des programmes, leurs scores, la matrice de risque et les vagues de migration suggérées.

---

## 11. Paramètres

Accédez aux paramètres en cliquant sur **Paramètres** dans la barre latérale.

### 11.1 Compte

La section **Compte** affiche vos informations personnelles :
- **Email** : votre adresse email
- **Nom** : votre nom complet
- **Membre depuis** : la date de création de votre compte

### 11.2 Fournisseur et modèle IA

Covalyo supporte plusieurs fournisseurs d'intelligence artificielle. Choisissez celui qui correspond le mieux à vos besoins :

**Fournisseurs disponibles :**

| Fournisseur | Particularité |
|---|---|
| **Anthropic** (Claude) | Meilleure précision pour l'analyse COBOL |
| **OpenAI** (GPT) | Large gamme de modèles |
| **Google** (Gemini) | Meilleur rapport qualité/prix, contexte jusqu'à 1M de tokens, modèles thinking (Gemini 2.5) pleinement supportés |
| **Mistral AI** | Données en France/UE, conforme RGPD nativement |
| **Azure OpenAI** | Certifications entreprise (PCI DSS), choix de la région |

Pour chaque fournisseur, vous pouvez sélectionner un **modèle** parmi ceux proposés. Les modèles recommandés sont signalés par un badge vert. Pour chaque modèle, sont affichés :
- La taille du contexte (ex. : 200K tokens)
- Le coût par million de tokens (input/output)

Cliquez sur **Comparer les fournisseurs** pour afficher un tableau comparatif détaillé incluant les tarifs, la taille de contexte, le coût estimé par analyse et les informations de confidentialité des données.

> **Astuce :** Pour les entreprises du secteur bancaire, Covalyo affiche une recommandation spécifique :
> - **Souveraineté des données** : Mistral AI ou Azure OpenAI
> - **Meilleur rapport qualité/prix** : Gemini 2.5 Flash
> - **Meilleure précision** : Claude Sonnet 4 ou Gemini 2.5 Pro

### 11.3 Clé API du fournisseur

Par défaut, Covalyo utilise une clé API partagée (serveur). Vous pouvez configurer votre propre clé :

1. Dans la section **Clé API**, saisissez votre clé dans le champ **Nouvelle clé API**.
2. Un lien vous dirige vers le site du fournisseur pour obtenir une clé.
3. Si vous utilisez **Azure OpenAI**, un champ supplémentaire **Azure Endpoint** apparaît pour saisir l'URL de votre ressource Azure.
4. Cliquez sur **Sauvegarder les paramètres** en bas de la page.

Le statut affiche **Clé personnelle configurée** (badge vert) ou **Clé par défaut (serveur)** (badge gris).

Pour supprimer votre clé personnelle et revenir à la clé serveur, cliquez sur **Supprimer ma clé personnelle**.

### 11.4 Automatisation de l'analyse

La section **Automatisation de l'analyse** vous permet de lancer automatiquement les étapes avancées après chaque analyse COBOL, sans avoir à naviguer manuellement dans chaque onglet :

- **Score de migration automatique** : calcule automatiquement le score de migration (complexité, dimensions, grade A-E) à la fin de chaque analyse.
- **Suggestions de refactoring automatiques** : génère les suggestions de refactoring par le LLM après chaque analyse.
- **Génération de code automatique** : génère automatiquement le code dans le langage cible après chaque analyse.

Si vous activez la génération de code automatique, un sélecteur de **langage cible par défaut** apparaît avec trois choix :
- **Java 17+**
- **Python 3.11+**
- **TypeScript**

> **Note :** Les processus automatisés sont lancés en arrière-plan. Vous pouvez suivre leur progression dans le panneau flottant en bas à droite de l'écran (voir section 5.2.1).

### 11.5 Statistiques d'utilisation

La section **Utilisation** affiche :
- Le nombre d'**analyses terminées**
- Les **tokens consommés** (en milliers)
- Le **pipeline** : 7 étapes (prompt chaining)

### 11.6 Clés API publiques

Covalyo propose une API publique pour un accès programmatique. Pour gérer vos clés :

1. Allez dans **Paramètres**.
2. Accédez à la section **Clés API**.
3. Cliquez sur **Créer une clé** pour générer une nouvelle clé API.
4. **Copiez la clé immédiatement** -- elle n'est affichée qu'une seule fois.
5. Pour révoquer une clé, cliquez sur le bouton de suppression à côté de la clé concernée.

---

## 12. Organisations

Les organisations permettent de collaborer en équipe sur des projets COBOL partagés.

### 12.1 Créer une organisation

1. Cliquez sur **Organisations** dans la barre latérale.
2. Cliquez sur **Nouvelle organisation**.
3. Remplissez :
   - **Nom de l'organisation** : ex. : "Banque de France -- SI Legacy"
   - **Identifiant (slug)** : généré automatiquement à partir du nom (lettres minuscules, chiffres et tirets). Ex. : "banque-de-france-si-legacy". Vous pouvez le modifier.
4. Cliquez sur **Créer**.

Vous devenez automatiquement **Propriétaire** de l'organisation.

### 12.2 Inviter des membres

Seuls les **Administrateurs** et le **Propriétaire** peuvent inviter des membres.

1. Ouvrez la page de l'organisation.
2. Cliquez sur **Inviter** en haut à droite.
3. Saisissez l'**email** du collègue à inviter (il doit déjà avoir un compte Covalyo).
4. Choisissez le **rôle** :
   - **Membre** : peut voir et analyser les projets
   - **Administrateur** : peut en plus gérer les membres et modifier les projets
5. Cliquez sur **Inviter**.

### 12.3 Gérer les rôles

Sur la page de détail d'une organisation, la section **Membres** liste tous les membres avec leur rôle.

- **Changer un rôle** : si vous êtes Administrateur ou Propriétaire, un menu déroulant apparaît à côté de chaque membre (sauf le Propriétaire). Sélectionnez le nouveau rôle.
- **Retirer un membre** : cliquez sur l'icône de corbeille à côté du membre. Une confirmation est demandée.
- Le **Propriétaire** ne peut pas être modifié ni retiré.

Les rôles sont identifiés par des icônes :
- Couronne : Propriétaire
- Bouclier : Administrateur
- Personne : Membre

### 12.4 Modifier ou supprimer une organisation

**Modifier :**

1. Sur la page de l'organisation, cliquez sur **Modifier** dans la section Informations.
2. Modifiez le nom ou l'identifiant.
3. Cliquez sur **Enregistrer**.

**Supprimer :**

Seul le **Propriétaire** peut supprimer une organisation.

1. En bas de la page, dans la **Zone de danger** (encadrée en rouge), cliquez sur **Supprimer l'organisation**.
2. Confirmez la suppression.

> **Note :** Supprimer une organisation ne supprime pas les projets. Ils sont simplement détachés et deviennent des projets personnels.

### 12.5 Rattacher des projets

Pour partager un projet avec une organisation :

1. Lors de la **création du projet**, sélectionnez l'organisation dans le menu déroulant **Organisation**.
2. Si vous laissez sur "Personnel", le projet reste privé.

> **Astuce :** Rattacher un projet à une organisation permet à tous les membres de l'équipe d'y accéder, d'uploader des fichiers et de lancer des analyses.

---

## 13. API publique

Covalyo propose une API REST pour automatiser certaines opérations.

### 13.1 Générer une clé API

1. Allez dans **Paramètres** > **Clés API**.
2. Cliquez sur **Créer une clé**.
3. Donnez un nom à la clé (ex. : "CI/CD Pipeline").
4. Copiez la clé affichée. Elle commence par `cbs_` et n'est montrée qu'une seule fois.

### 13.2 Authentification

Toutes les requêtes à l'API doivent inclure votre clé dans l'en-tête HTTP `Authorization` :

```
Authorization: Bearer cbs_votre_cle_ici
```

### 13.3 Endpoints disponibles

| Méthode | Endpoint | Description |
|---|---|---|
| GET | `/api/v1/projects` | Liste de vos projets |
| GET | `/api/v1/projects/{id}` | Détail d'un projet (fichiers + analyses) |
| GET | `/api/v1/projects/{id}/analyses` | Liste des analyses d'un projet |
| GET | `/api/v1/projects/{id}/migration` | Dashboard de migration d'un projet |

### 13.4 Exemples curl

**Lister vos projets :**

```bash
curl -H "Authorization: Bearer cbs_votre_cle" \
  https://covalyo.com/api/v1/projects
```

**Obtenir le détail d'un projet :**

```bash
curl -H "Authorization: Bearer cbs_votre_cle" \
  https://covalyo.com/api/v1/projects/ID_DU_PROJET
```

**Obtenir le dashboard de migration :**

```bash
curl -H "Authorization: Bearer cbs_votre_cle" \
  https://covalyo.com/api/v1/projects/ID_DU_PROJET/migration
```

---

## 14. Conformité et sécurité

### 14.1 Protection des données

- Vos fichiers source sont stockés de manière sécurisée avec des identifiants uniques non devinables.
- Toutes les communications sont chiffrées (HTTPS).
- L'accès aux API est protégé par authentification et rate limiting.
- Les clés API des fournisseurs IA sont chiffrées en base de données.

### 14.2 Choix du fournisseur IA et confidentialité

Le choix du fournisseur IA impacte directement la localisation du traitement de vos données. Consultez la section 11.2 pour les détails de chaque fournisseur.

Pour les entreprises soumises à des contraintes réglementaires :
- **Mistral AI** : données traitées en France/UE, conforme RGPD nativement
- **Azure OpenAI** : choix de la région de traitement, certifications PCI DSS

### 14.3 SSO entreprise

Covalyo supporte l'authentification unique (SSO) via les protocoles OAuth2/OIDC. Les fournisseurs SSO suivants peuvent être configurés par votre administrateur :

- **Azure Active Directory** (Microsoft Entra ID)
- **Okta**
- **Keycloak**
- **Auth0**

Lorsque le SSO est activé, les boutons correspondants apparaissent automatiquement sur la page de connexion.

### 14.4 Supprimer son compte

Conformément au droit à l'effacement (RGPD, article 17), vous pouvez supprimer définitivement votre compte depuis **Paramètres → Zone de danger** :

1. En bas de la page **Paramètres**, repérez la carte **Zone de danger** (bordure rouge) et cliquez sur **Supprimer mon compte**.
2. Une fenêtre de confirmation s'ouvre. Pour éviter toute suppression accidentelle, vous devez **ressaisir votre adresse email** exactement. Le bouton de confirmation reste désactivé tant que l'adresse ne correspond pas.
3. Cliquez sur **Supprimer définitivement**. Vous êtes immédiatement déconnecté et redirigé vers la page de connexion.

**Ce qui est supprimé :** toutes vos données personnelles, vos projets personnels, analyses, fichiers, sessions de chat, clés API, commentaires et notifications — de manière **irréversible**. Vos espaces de travail personnels (et organisations dont vous êtes le seul membre) sont supprimés, et leurs **abonnements Stripe actifs sont automatiquement annulés**.

**Cas des organisations partagées :**
- Si une organisation possède d'autres membres et **un autre propriétaire**, votre compte est retiré mais l'organisation et ses projets sont conservés.
- Si vous êtes **l'unique propriétaire** d'une organisation comptant d'autres membres, la suppression est **bloquée** : un message vous invite à transférer la propriété (promouvoir un autre membre propriétaire) ou à retirer les autres membres avant de réessayer.

> **Note :** Les projets rattachés à une organisation conservée ne sont pas supprimés ; ils restent accessibles aux membres de l'organisation.

> **Astuce :** Avant de supprimer votre compte, vous pouvez exporter l'ensemble de vos données (voir la section sur la protection des données).

---

## 15. Plans et facturation

### 15.1 Consulter les offres

La page **`/pricing`** (lien **Tarifs** dans la barre de navigation) présente les 4 plans disponibles :

| Plan | Analyses/mois | Tokens/mois | Projets | Membres | Tarif |
|------|---------------|-------------|---------|---------|-------|
| **Free** | 5 | 200 000 | 2 | 1 | Gratuit |
| **Starter** | 50 | 2 millions | 10 | 5 | 49 € / mois |
| **Pro** | 500 | 20 millions | 50 | 20 | 149 € / mois |
| **Enterprise** | 10 000 | 200 millions | 500 | 200 | 499 € / mois |

Basculez entre facturation **mensuelle** et **annuelle** via le toggle en haut de la page. L'annuel offre une réduction significative (environ 20 %). Le plan Pro est mis en avant comme choix recommandé.

Chaque carte précise les fonctionnalités incluses : chat IA, exports (Markdown/PDF/DOCX), génération de code (Java/Python/TypeScript), priorité de file, SSO (Azure AD, OIDC), SLA 99,9 %.

### 15.2 Démarrer un abonnement

1. Cliquez sur le bouton CTA du plan choisi.
2. Si vous n'êtes pas connecté, vous serez redirigé vers l'inscription (votre choix de plan est mémorisé).
3. Une fois connecté, le bouton ouvre une page **Stripe Checkout** sécurisée.
4. Après paiement, Stripe vous ramène sur Covalyo avec un abonnement actif.

> **Enterprise :** Le plan Enterprise nécessite un échange commercial — cliquez sur *Contacter le commercial* pour envoyer un email à l'équipe.

### 15.3 Gérer votre abonnement depuis Settings

Dans **Paramètres → Facturation et usage**, vous trouvez :

- **Plan actuel** avec son statut (Actif, Essai, Paiement en retard, Annulé).
- **Date de renouvellement** ou date de fin si l'annulation est programmée.
- **Barres de progression** pour les analyses consommées et les tokens consommés ce mois-ci, avec code couleur (vert < 80 %, ambre 80–99 %, rouge ≥ 100 %).
- **Lien vers la dernière facture** Stripe.
- **Bouton Changer de plan** → redirige vers `/pricing`.
- **Bouton Gérer dans le portail** → ouvre le portail de facturation Stripe (mise à jour carte, téléchargement factures, annulation).

> **Permissions :** Seuls les rôles **OWNER** et **ADMIN** de l'organisation voient les boutons d'action. Les MEMBER voient un message les invitant à contacter un admin.

### 15.4 Alertes de quota

Quand votre organisation atteint **80 %** de son quota mensuel (analyses OU tokens), une notification toast apparaît en bas de l'écran :

- Indique le quota franchi (analyses ou tokens).
- Rappelle l'usage courant et la limite.
- Propose un bouton *Voir les plans* qui redirige vers `/pricing`.

À **100 %**, une alerte plus visible indique que les nouvelles analyses sont refusées jusqu'à la période de facturation suivante. Les alertes ne s'affichent qu'une seule fois par seuil et par période (dédup localStorage).

### 15.5 Annulation et période d'essai

- Une annulation depuis le portail Stripe reste **active jusqu'à la fin de la période en cours** (vous gardez l'accès aux quotas payés).
- Après la date de fin, l'abonnement passe en statut **Annulé** et l'organisation retombe sur le plan Free (quotas réduits).
- En cas de paiement refusé, le statut devient **Paiement en retard** pendant quelques jours avant la résiliation automatique.

> **Note :** Toutes les données (projets, analyses, commentaires) sont préservées lors d'un downgrade. Seules les **nouvelles créations** sont bloquées si vous dépassez les limites du nouveau plan.

> **Paiement en retard (`PAST_DUE`)** : Si Stripe ne parvient pas à débiter votre carte, votre abonnement passe en statut **PAST_DUE** et **toutes les analyses sont immédiatement bloquées** (pour éviter de consommer des tokens sans facturation possible). Un bandeau rouge s'affiche dans Paramètres → Facturation avec un bouton **« Mettre à jour le moyen de paiement »** qui ouvre le portail Stripe. Une fois le paiement régularisé, les analyses redémarrent automatiquement.

---

## 16. Aide et ressources

### 16.1 Accéder au guide utilisateur

Le présent guide est accessible :

- **Depuis l'application** : entrée **« Guide utilisateur »** dans la barre latérale (sidebar)
- **Depuis la page d'accueil publique** : lien **« Guide »** dans le pied de page de [covalyo.com](https://covalyo.com)
- **URL directe** : [covalyo.com/guide](https://covalyo.com/guide)

La page `/guide` est **bilingue** : elle s'affiche en français ou en anglais selon la langue de l'interface choisie dans Covalyo (sélecteur FR/EN). Le bouton **Télécharger en Markdown** permet de sauvegarder le guide dans la langue active.

Le guide est mis à jour à chaque sprint (changelog en haut de page). Si une fonctionnalité décrite ici ne correspond plus à ce que vous voyez, signalez-le à support@covalyo.com.

### 16.2 Page de démonstration publique

Pour partager Covalyo avec un prospect ou un collègue sans qu'il ait à créer de compte, envoyez le lien direct **[covalyo.com/demo](https://covalyo.com/demo)**. Cette page montre une analyse complète sur du code COBOL fictif — utile en avant-vente.

### 16.3 Pages légales

| Page | URL |
|---|---|
| Politique de confidentialité (RGPD) | [/legal/privacy](https://covalyo.com/legal/privacy) |
| Conditions générales de vente (CGV) | [/legal/terms](https://covalyo.com/legal/terms) |
| Mentions légales (LCEN) | [/legal/legal-notice](https://covalyo.com/legal/legal-notice) |
| Accord de traitement de données (DPA) | [/legal/dpa](https://covalyo.com/legal/dpa) |
| Trust center (sécurité, conformité) | [/trust](https://covalyo.com/trust) |

L'éditeur Covalyo est **Corentin Billo (entreprise individuelle)**, SIREN 903 660 082, immatriculé à Vigneux-de-Bretagne (44360).

### 16.4 Contacts

| Besoin | Adresse |
|---|---|
| Support général, RGPD, suppression de compte | support@covalyo.com |
| Avant-vente, plan Enterprise, partenariats | contact@covalyo.com |
| Bonjour ✋ | hello@covalyo.com |

Délai de réponse cible : 1 jour ouvré pour les demandes payantes (Starter+), best effort pour le plan Free.

### 16.5 Statut de la plateforme

Si vous suspectez une indisponibilité (page blanche, erreurs 5xx, analyses bloquées en file), vérifiez la page **Trust** — elle indique l'état des dépendances critiques (Stripe, Anthropic, Resend, Sentry).

---

*Ce guide couvre les fonctionnalités de Covalyo (Phases 1 à 4 + facturation Stripe live). Pour toute question, contactez **support@covalyo.com** (RGPD, légal, général) ou **contact@covalyo.com** (avant-vente / Enterprise).*
