# 🔍 Analyse fonctionnelle du projet ROBO_MAT

---

## 🧠 Partie 1 — À quoi sert le projet `ROBO_MAT` ?

### 📌 Hypothèse générale

Le projet `ROBO_MAT` semble être une **interface de test ou de démonstration de plusieurs modèles LLM (Large Language Models)** connectés via différentes classes, chacune représentant un moteur ou un fournisseur :

| Classe         | Description fonctionnelle                          |
|----------------|-----------------------------------------------------|
| `clsMistral`   | Dialogue avec le modèle Mistral (peut-être local)   |
| `clsOllama`    | Dialogue avec Ollama (exécutable local ou API)      |
| `clsDeepSeek`  | Dialogue avec un modèle nommé DeepSeek              |
| `clsPerplexity`| Dialogue avec l’API Perplexity                      |
| `clsDeepl`     | Appel au service de traduction DeepL                |
| `clsLLM`       | Probable classe générique/base pour tous les LLM    |
| `clsRAG`       | Fonction RAG (Retrieve & Generate) pour améliorer la pertinence des réponses |

Ces classes sont toutes **rassemblées dans un composant interne `LLM`**, ce qui laisse penser qu’il s’agit d’un **module central** dédié à l'interaction avec différents moteurs d'IA.

---

### 🧩 Page `PAGE_TEST`[[ROBO_MAT_Analyse_Page_TEST_et_LLM]]

Cette page semble être une **interface de test utilisateur** avec différents boutons.
Chaque bouton appelle une méthode spécifique dans l’une des classes LLM, permettant :
- de tester les réponses,
- de comparer les modèles,
- de valider les appels aux services distants.

**Aucune logique métier complexe n’est détectée** dans cette page. Elle sert probablement de démonstrateur technique.

---

## 🧭 Organisation technique

Voici l’ordre dans lequel les composants sont organisés :

- **PAGE_TEST** (interface de test)
- **Composant interne `LLM`**
  - Contient 7 classes :
    - clsMistral [[ROBO_MAT_Analyse_clsMistral]]
    - clsOllama
    - clsDeepSeek
    - clsPerplexity
    - clsRAG
    - clsLLM
    - clsDeepl

Les classes sont **écrites en WLangage** avec des sections typiques : `Déclaration`, `Constructeur`, `Méthodes`, etc. Ce découpage est analogue à une classe Python mais plus segmenté dans l’interface.

---

## 🔧 Conclusion

> Le projet `ROBO_MAT` est probablement une **boîte à outils de test LLMs** développée en WebDev. Il s’agit d’un prototype (ou brouillon) permettant de :
- Centraliser l'appel à différents modèles,
- Tester les interactions avec chacun,
- Servir de base à un futur outil plus complet (ex : assistant IA, moteur de recherche interne, interface traducteur multilangue, etc.).

Je vais maintenant poursuivre avec l’analyse **détaillée de la page `PAGE_TEST`**, suivie des classes une par une.

