Skip to content

Commit 1337ddb

Browse files
author
Vincent Scharpen (Darkiron)
committed
docs: 📝 améliorer la typographie, ajouter doc générique et architecture consolidée
1 parent 5111360 commit 1337ddb

File tree

6 files changed

+152
-31
lines changed

6 files changed

+152
-31
lines changed

README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,11 @@ What’s inside:
1010
This repository is structured as a monorepo and includes a Docker Compose setup for local development.
1111

1212
## Quick links 🔗
13-
- 📚 Documentation index: docs/README.md
14-
- 🗂️ In-repo Wiki index: docs/wiki/Home.md
15-
- 🔗 GitHub Wiki (published): https://github.com/darkiron/huginn/wiki
13+
- 📚 Documentation index : docs/README.md
14+
- 🗂️ Wiki (dans le dépôt) : docs/wiki/Home.md
15+
- 🏗️ Architecture consolidée : docs/architecture.md
16+
- 🧭 Documentation générale : docs/wiki/Documentation-Generique.md
17+
- 🔗 GitHub Wiki (publié) : https://github.com/darkiron/huginn/wiki
1618

1719
## Getting started (Docker) 🐳
1820
1. Prérequis : Docker Desktop 4.x ou plus récent.

docs/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,11 @@ This folder contains the source of truth for project documentation. It is mirror
1515
- troubleshooting.md — Common issues and fixes
1616

1717
Tip : See docs/wiki/Home.md for the wiki version. 🔗
18+
19+
20+
## Style typographique (FR) ✍️
21+
- Utiliser des espaces insécables fines avant : « : », « ; », « ! », « ? ».
22+
- Préférer les guillemets français « … » et l’apostrophe typographique ’.
23+
- Garder des titres courts, ajouter des emojis avec mesure 😄.
24+
25+
Voir aussi : docs/wiki/Documentation-Generique.md.

docs/architecture.md

Lines changed: 44 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,52 @@
1-
# Architecture 🏗️
1+
# Architecture consolidée 🏗️✨
22

3-
## Overview
4-
- 🌐 Frontend (Laravel) serves the user interface and talks to the Symfony backend.
5-
- 🧱 Backend (Symfony) provides API endpoints, orchestrates domain logic, and delegates LLM‑related work to the Python service when needed.
6-
- 🧠 LLM Service (Python) encapsulates model logic and streaming/generation features.
7-
- 🐳 Docker Compose wires services together for local development.
3+
Cette page présente une vue d’ensemble consolidée de l’architecture de Huginn, les flux de données et les points d’intégration clés. Elle est conçue pour être générique et durable, indépendamment des implémentations ponctuelles.
84

9-
## High‑level data flow 🔄
10-
1. The user interacts with the Laravel frontend.
11-
2. The frontend calls Symfony backend APIs.
12-
3. The backend applies domain rules and, if needed, requests completions/streams from the Python LLM service.
13-
4. Responses propagate back to the frontend. ✅
5+
## Panorama des composants 🧩
6+
- 🌐 Frontend (Laravel) — Fournit l’interface utilisateur et consomme l’API backend.
7+
- 🧱 Backend (Symfony) — Expose des endpoints, applique la logique métier et orchestre les services.
8+
- 🧠 Service LLM (Python) — Encapsule la génération et le streaming, expose des métriques Prometheus.
9+
- 🐳 Docker Compose — Relie et configure les services pour le dev local.
1410

15-
## Repositories and code of interest 📁
16-
- apps/laravel-front — Laravel controllers, routes, views.
17-
- apps/symfony-back — Symfony controllers, domain models, use cases.
11+
## Diagramme (Mermaid) 🗺️
12+
```mermaid
13+
flowchart LR
14+
subgraph UI[UI / Frontend (Laravel)]
15+
A[Client Web]
16+
end
17+
subgraph API[API / Backend (Symfony)]
18+
B[Contrôleurs
19+
+ Cas d'usage]
20+
end
21+
subgraph LLM[Service LLM (Python)]
22+
C[HTTP generate/stream
23+
+ CLI RNN]
24+
M[Metrics :9108 /metrics]
25+
end
26+
A -->|HTTP| B
27+
B -->|HTTP POST /generate/stream| C
28+
C -->|stream| B
29+
B -->|JSON| A
30+
M -.->|Prometheus scrape| Ext[(Observabilité)]
31+
```
32+
33+
## Flux de données 🔄
34+
1. L’utilisateur interagit avec le Frontend (Laravel).
35+
2. Le Frontend appelle l’API du Backend (Symfony).
36+
3. Le Backend applique la logique métier et délègue au Service LLM (Python) si nécessaire (génération/streaming).
37+
4. Les réponses remontent vers le Frontend. ✅
38+
39+
## Points d’intégration clés 🔌
40+
- URL LLM par défaut : `http://llm:8008/generate/stream` (configurable via `LLM_URL`).
41+
- Métriques : `http://localhost:9108/metrics` exposé par le conteneur LLM.
42+
- Volumes : `./ckpts -> /ckpts` (checkpoints), `./apps/python-llm -> /app/apps/python-llm`.
43+
44+
## Répertoires et fichiers utiles 📁
45+
- apps/laravel-front — contrôleurs, routes, vues.
46+
- apps/symfony-back — contrôleurs, domaine, cas d’usage.
1847
- src/Domain/Model/Prompt.php
1948
- src/Domain/Port/LLMGateway.php
2049
- src/Application/UseCase/GenerateStreamUseCase.php
2150
- src/Controller/LLMController.php
22-
- apps/python-llm — Python LLM components (llm_rnn and more).
51+
- apps/python-llm — composants LLM (llm_rnn, tokenizers, etc.).
2352

docs/wiki/Architecture.md

Lines changed: 39 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,41 @@
1-
# Architecture 🏗️
1+
# Architecture consolidée 🏗️✨
22

3-
See also repository docs : ../architecture.md 🔗
3+
Cette page reprend la vue d’ensemble consolidée de l’architecture de Huginn. Pour la version « source », voir aussi ../architecture.md 🔗.
44

5-
- 🌐 Frontend (Laravel) → 🧱 Backend (Symfony) → 🧠 LLM Service (Python)
6-
- Data flow and responsibilities are outlined in the repo docs.
5+
## Panorama des composants 🧩
6+
- 🌐 Frontend (Laravel) — Interface utilisateur consommant l’API backend.
7+
- 🧱 Backend (Symfony) — Endpoints, logique métier, orchestration des services.
8+
- 🧠 Service LLM (Python) — Génération/streaming, métriques Prometheus.
9+
- 🐳 Docker Compose — Assemblage local des services.
10+
11+
## Diagramme (Mermaid) 🗺️
12+
```mermaid
13+
flowchart LR
14+
subgraph UI[UI / Frontend (Laravel)]
15+
A[Client Web]
16+
end
17+
subgraph API[API / Backend (Symfony)]
18+
B[Contrôleurs
19+
+ Cas d'usage]
20+
end
21+
subgraph LLM[Service LLM (Python)]
22+
C[HTTP generate/stream
23+
+ CLI RNN]
24+
M[Metrics :9108 /metrics]
25+
end
26+
A -->|HTTP| B
27+
B -->|HTTP POST /generate/stream| C
28+
C -->|stream| B
29+
B -->|JSON| A
30+
M -.->|Prometheus scrape| Ext[(Observabilité)]
31+
```
32+
33+
## Flux de données 🔄
34+
1. L’utilisateur interagit avec le Frontend (Laravel).
35+
2. Le Frontend appelle l’API du Backend (Symfony).
36+
3. Le Backend délègue au Service LLM (Python) si nécessaire (génération/streaming).
37+
4. Les réponses remontent vers le Frontend. ✅
38+
39+
## Liens utiles 🔗
40+
- Endpoint LLM par défaut : http://llm:8008/generate/stream
41+
- Métriques : http://localhost:9108/metrics
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Documentation générale 🧭📚
2+
3+
Cette page rassemble des informations génériques et transverses utiles à tous les contributeurs et utilisateurs. Elle met l’accent sur la clarté, la typographie, et les points d’entrée communs. ✨
4+
5+
## Principes de base ✅
6+
- Simplicité d’abord : expliquer le nécessaire, lier le reste.
7+
- Cohérence : mêmes noms, mêmes chemins, mêmes options.
8+
- Emojis avec parcimonie 😄 : pour signaler les sections et les alertes.
9+
10+
## Typographie (FR) ✍️
11+
- Espaces insécables fines avant : « : », « ; », « ! », « ? ». Exemple : « Docker : démarrer… ».
12+
- Guillemets français « … » pour les citations, apostrophe typographique ’ si possible.
13+
- Tirez le meilleur des tirets : tiret court « - » pour les listes, tiret moyen « – » pour les incises.
14+
15+
Astuce : dans Markdown, collez une espace fine insécable (U+202F) avant « : ; ! ? » lorsque vous éditez depuis un éditeur compatible.
16+
17+
## Endpoints et services 🔌
18+
- Backend (Symfony) : sert l’API HTTP.
19+
- Service LLM (Python) :
20+
- Génération HTTP attendue par le backend : `http://llm:8008/generate/stream`
21+
- Métriques Prometheus : `http://localhost:9108/metrics`
22+
23+
Voir aussi :
24+
- [Architecture](Architecture.md) — Vue consolidée et diagramme Mermaid 🗺️
25+
- [LLM RNN CLI](LLM-RNN-CLI.md) — Génération via Docker Compose 🐳
26+
27+
## Développement local 🛠️
28+
- Démarrage rapide : `docker compose up -d`
29+
- Frontend : http://localhost:8080 (ou 8081 selon compose)
30+
- Backend : http://localhost:8000
31+
- LLM (metrics) : http://localhost:9108/metrics
32+
33+
Consultez aussi :
34+
- [Setup](Setup.md) — Installation et commandes utiles
35+
- [Environment](Environment.md) — Variables d’environnement et secrets
36+
37+
## Conventions de commit 🧾
38+
- Utiliser Conventional Commits : `feat:`, `fix:`, `docs:`, etc.
39+
- Ajouter un gitemoji au besoin : `docs: 📝 …`, `ci: 🤖 …`, `feat: ✨ …`.
40+
41+
## Qualité et liens 🔗
42+
- Utiliser des liens relatifs entre pages wiki.
43+
- Préférer des titres courts et descriptifs.
44+
- Éviter les redondances : lier les pages d’autorité (source of truth).
45+
46+
Bonnes contributions ! 🤝

docs/wiki/Home.md

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,13 @@
33
Bienvenue ! Cette documentation vous guide à travers l’architecture, l’installation et l’exploitation de Huginn. ✨
44

55
## Pages 🧭
6-
- [Architecture](Architecture.md) — High‑level design and data flow
7-
- [Setup](Setup.md) — Local development and Docker quickstart
8-
- [Environment](Environment.md) — Environment variables and secrets handling
9-
- [Backend-Symfony](Backend-Symfony.md) — Symfony backend notes
10-
- [Frontend-Laravel](Frontend-Laravel.md) — Laravel frontend notes
11-
- [LLM-Service-Python](LLM-Service-Python.md) — Python LLM service notes
12-
- [LLM RNN CLI](LLM-RNN-CLI.md) — Generate text via docker compose exec and llm_rnn.generate
13-
- [Ops-Deployment](Ops-Deployment.md) — Deployment considerations
14-
- [Troubleshooting](Troubleshooting.md) — Common issues and fixes
6+
- [Architecture](Architecture.md) — Conception globale et flux de données
7+
- [Setup](Setup.md) — Démarrage local et Docker
8+
- [Documentation générique](Documentation-Generique.md) — Conventions, styles, API et CLI
9+
- [Environment](Environment.md) — Variables d’environnement et gestion des secrets
10+
- [Backend-Symfony](Backend-Symfony.md) — Notes backend Symfony
11+
- [Frontend-Laravel](Frontend-Laravel.md) — Notes frontend Laravel
12+
- [LLM-Service-Python](LLM-Service-Python.md) — Notes sur le service Python LLM
13+
- [LLM RNN CLI](LLM-RNN-CLI.md) — Générer du texte via docker compose exec et llm_rnn.generate
14+
- [Ops-Deployment](Ops-Deployment.md) — Considérations de déploiement
15+
- [Troubleshooting](Troubleshooting.md) — Problèmes courants et correctifs

0 commit comments

Comments
 (0)