Skip to content

Commit c84ef18

Browse files
committed
MAJ des doc d'architecture
1 parent a76c404 commit c84ef18

File tree

3 files changed

+23
-34
lines changed

3 files changed

+23
-34
lines changed

docs/architecture.md

Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,40 @@
11
```mermaid
22
C4Context
3-
Person(Influenceuse , "Influenceuse")
4-
Container(web_extension, "Extension navigateur")
5-
System_Ext(ReseauSocial, "Réseau social", "Instagram, Youtube")
3+
Person(Utilisateur , "Utilisateur")
64
System_Boundary(c1, "Balance Tes Haters") {
7-
Container(frontend, "Application Web", "NextJS")
8-
Container(backend, "API Backend", "Python, FastAPI")
95
Container(llm, "LLM ?")
6+
Container(backend, "API Backend", "Python, FastAPI")
107
ContainerDb(db, "Base de données", "PostgreSQL")
118
}
12-
Rel(Influenceuse, frontend, "Utilise", "HTTPS")
13-
Rel(Influenceuse, web_extension, "déclenche")
14-
Rel(frontend, backend, "Utilise", "HTTPS")
15-
Rel(web_extension, backend, "Utilise", "HTTPS")
16-
Rel(backend, db, "Lectures / écritures", "SQL")
17-
Rel(web_extension, ReseauSocial, "Scraping / API", "HTTPS")
18-
Rel(backend, llm, "Utilise", "prompt")
9+
System_Boundary(chrome,"Navigateur chrome") {
10+
Container(web_extension, "Extension navigateur")
11+
Container(browserTab, "Onglet de navigation", "Post Instagram, Youtube")
12+
ContainerDb(db_local, "Stockage local", "JSON")
13+
}
14+
15+
Rel(Utilisateur, web_extension, "déclenche")
16+
Rel(web_extension, backend, "Appelà l'API de classification", "HTTPS")
17+
Rel(backend, db, "Statistiques", "SQL")
18+
Rel(web_extension, browserTab, "Scraping", "TypeScript")
19+
Rel(web_extension, db_local, "Stockage des publications", "JSON")
20+
Rel(backend, llm, "Classifie", "prompt")
1921
```
2022

2123
# Composants du système
2224

23-
_Application Web_ : Frontend NextJS
24-
- Fournit l'interface client de la plate-forme Balance Tes Haters.
25-
- Gère la navigation, l'enchainement des cas d'usage et l'appel aux API du backend
25+
_Extension navigateur_ : WebExtension chrome
26+
- Extension chrome de scraping des données des publications
27+
- Sur déclenchement de l'utilisateur : analyse l'onglet courant pour rechercher l'ensemble des commentaires d'une publication Instagrame, Youtube
28+
- les données scrapées sont transmises au backend via l'API d'analyse
29+
- le résultat est stocké en stockage local et utilisé par l'extension pour générer un rapport d'analyse
2630

27-
_Client Web_ : Composant client du frontend
28-
- s'exécute dans l'environnement du navigateur de l'utilisateur
29-
- effectue le scraping des publications (utilisation de [Pupeteer](https://pptr.dev/guides/running-puppeteer-in-the-browser))
30-
- upload les données scrapées sur le backend via le frontend
31+
_Stockage local_ : Stockage de l'historique des publications analysées dans le navigateur
32+
- utilise l'[API de stockage du navigateur](https://developer.chrome.com/docs/extensions/reference/api/storage?hl=fr)
3133

3234
_API Backend_ : Composant serveur
33-
- fournit le service API utiles pour le client (authentification, gestion des données)
34-
- réalise les traitements backend sur les données (analyse LLM, classification, statistiques, ...)
35+
- fournit le service API d'analyse des publications (analyse et classification LLM des commentaires, statistiques, ...)
3536

3637
_Base de données_ : Stockage des données selon le [modèle](./backend/model.md).
3738

38-
_LLM_ : Composant en charge de l'exécution des traitements utilisant le LLM
39+
_LLM_ : Composant en charge de l'exécution des traitements de classification
3940

40-
_Réseau social_ : Plateforme de réseau social externe (Youtube, Instagram)
41-
- sources des données obtenues par API ou scraping direct

docs/backend/model.md

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,6 @@ classDiagram
4949
5050
```
5151

52-
`User` : Utilisateur de la plate-forme _Balance tes haters_.
53-
- Dispose d'un login et d'un mot de passe
54-
- Doit s'authentifier pour utiliser la plate-forme et l'API
55-
56-
`AuthToken` : Token d'autenfication associé à un utilisateur de la plate-forme
57-
- Obtenu via un appel à l'API `/auth/login`
58-
- Expire après un temps paramétrable
59-
- est généré sous la forme d'un token JWT
60-
6152
`Publication` : Publication d'un auteur posté sur un réseau social
6253

6354
`Commentaire` : Commentaire posté par un auteur sur une publication

docs/frontend/model.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ classDiagram
2424
class Comment {
2525
textContent: str
2626
publishedAt: str
27-
relativeDate: bool
2827
scrapedAt: datetime
2928
screenshotData: str
3029
classification: list[str]

0 commit comments

Comments
 (0)