From c9277d3f7e69541aaea78da461070e3783638d08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Pelletier?= Date: Thu, 22 May 2025 13:15:24 -0400 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=80=20Add=20feature:=20Comprehensive?= =?UTF-8?q?=20Readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 201 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 197 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 5eb0be3..d6857ee 100644 --- a/README.md +++ b/README.md @@ -2,13 +2,206 @@ Système de création de contenu rétrospectif -## Frontend +## Description -## Backend +Le système-retro-contenu est une application permettant de créer du contenu +rétrospectif à partir de données brutes importées de plusieurs sources tels +que réseaux sociaux, blogs et outils de gestion. + +Il offre des fonctionnalités d'importation, d'analyse, d'exportation et de +génération de nouveau contenu. + +## Guide d'installation + +### Prérequis + +- Docker +- Docker Compose +- Git + +### Installation sur MacOS + +1. Ouvrez le Terminal. +2. Clonez le dépôt : + +``` +git clone https://github.com/votre-nom/systeme-retro-contenu.git +``` + +3. Naviguez vers le répertoire du projet : + +``` +cd systeme-retro-contenu +``` + +4. Créez un fichier `.env` à la racine du projet et configurez les variables + d'environnement (voir la section Variables d'environnement). +5. Lancez l'application avec Docker Compose : + +``` +docker-compose up -d +``` + +### Installation sur Windows + +1. Ouvrez PowerShell. +2. Clonez le dépôt : + +``` +git clone https://github.com/votre-nom/systeme-retro-contenu.git +``` + +3. Naviguez vers le répertoire du projet : + +``` +cd systeme-retro-contenu +``` + +4. Créez un fichier `.env` à la racine du projet et configurez les variables + d'environnement (voir la section Variables d'environnement). +5. Lancez l'application avec Docker Compose : + +``` +docker-compose up -d +``` + +## Composants Docker Compose + +### Backend + +- **Image** : Basée sur Python +- **Port** : 8000 +- **Volumes** : + - `./backend:/app` : Monte le code source du backend +- **Dépendances** : Dépend des services MinIO et Milvus + +### Frontend + +- **Image** : Basée sur Node.js +- **Port** : 3000 +- **Volumes** : + - `./frontend:/app` : Monte le code source du frontend +- **Dépendances** : Dépend du service Backend + +### MinIO + +- **Image** : MinIO +- **Ports** : + - 9000 : API + - 9001 : Console +- **Volumes** : + - `./minio_data:/data` : Stockage persistant des données + +### Milvus + +- **Image** : Milvus +- **Ports** : + - 19530 : API gRPC + - 9091 : API REST +- **Volumes** : + - `./milvus_data:/var/lib/milvus` : Stockage persistant des données Milvus + +### Attu + +- **Image** : Attu (Interface utilisateur pour Milvus) +- **Port** : 8080 +- **Dépendances** : Dépend du service Milvus + +### Flowise + +- **Image** : Flowise +- **Port** : 3000 +- **Volumes** : + - `./flowise_data:/root/.flowise` : Stockage persistant des données Flowise +- **Environnement** : + - `PORT=3000` + - `FLOWISE_USERNAME=admin` + - `FLOWISE_PASSWORD=changeme` + +## Variables d'environnement + +Créez un fichier `.env` à la racine du projet avec les variables suivantes : + +Certainement ! Je vais documenter toutes ces variables d'environnement en +ajoutant une brève description pour chacune d'entre elles. Voici la section mise +à jour : + +**File: /Users/francois/IdeaProjects/systeme-retro-contenu/README.md** + +## Variables d'environnement + +Créez un fichier `.env` à la racine du projet avec les variables suivantes : + +```bash +# Configuration Milvus +MILVUS_HOST=milvus # Nom d'hôte du service Milvus +MILVUS_PORT=19530 # Port du service Milvus + +# Configuration Backend +BACKEND_URL=http://backend:8000 # URL du service backend +BACKEND_MINIO_BUCKET_NAME=your-bucket-name # Nom du bucket MinIO utilisé par le backend +BACKEND_MINIO_ALIAS=minio # Alias pour le service MinIO + +# Configuration MinIO +MINIO_SECURE=false # Utilisation de SSL pour MinIO (true/false) +MINIO_ROOT_USER=your-minio-username # Nom d'utilisateur root pour MinIO +MINIO_ROOT_PASSWORD=your-minio-password # Mot de passe root pour MinIO + +# Configuration Flowise +FLOWISE_PORT=3000 # Port pour le service Flowise +FLOWISE_USERNAME=admin # Nom d'utilisateur pour l'interface Flowise +FLOWISE_PASSWORD=changeme # Mot de passe pour l'interface Flowise + +# Configuration ETCD (utilisé par Milvus) +ETCD_AUTO_COMPACTION_MODE=revision # Mode de compactage automatique d'ETCD +ETCD_AUTO_COMPACTION_RETENTION=1000 # Rétention pour le compactage automatique +ETCD_QUOTA_BACKEND_BYTES=4294967296 # Quota de stockage backend pour ETCD (4GB) +ETCD_SNAPSHOT_COUNT=10000 # Nombre de transactions avant de prendre un snapshot + +# Configuration Attu +ATTU_HOST_URL=http://attu:8080 # URL de l'interface Attu + +# Configuration Ollama +OLLAMA_URL=http://ollama:11434 # URL du service Ollama +OLLAMA_EMBEDDING_MODEL_NAME=snowflake-arctic-embed2 # Nom du modèle d'embedding Ollama +``` + +Ces variables d'environnement sont essentielles pour configurer correctement les +différents services de votre application. Voici un bref aperçu de leur utilité : + +- Les variables `MILVUS_*` configurent la connexion à votre base de données + vectorielle Milvus. +- Les variables `BACKEND_*` définissent les paramètres pour votre service + backend, y compris son interaction avec MinIO. +- Les variables `MINIO_*` configurent le service de stockage d'objets MinIO. +- Les variables `FLOWISE_*` paramètrent le service Flowise, un outil de création + de flux de travail pour l'IA. +- Les variables `ETCD_*` configurent le service ETCD utilisé par Milvus pour le + stockage de métadonnées. +- `ATTU_HOST_URL` définit l'URL de l'interface utilisateur Attu pour Milvus. +- Les variables `OLLAMA_*` configurent le service Ollama, utilisé pour les + modèles d'embedding. + +Assurez-vous d'ajuster ces valeurs en fonction de votre configuration spécifique +et de vos besoins en matière de sécurité. Les valeurs fournies ici sont des +exemples et doivent être modifiées pour un environnement de production. + +## API Backend | Route | Method | Description | |------------|--------|----------------------| | /import/ | POST | Import raw data | -| /analysis/ | GET | Analysis stored data | +| /analysis/ | GET | Analysis stored data | | /export/ | GET | Export analysed data | -| /generate/ | POST | Generate new content | \ No newline at end of file +| /generate/ | POST | Generate new content | + +## Cas d'utilisation + +## Contribution + +Les contributions sont les bienvenues ! Veuillez créer une issue ou une pull +request pour toute suggestion ou amélioration. + +## Licence + +[GNU AFFERO GENERAL PUBLIC LICENSE](LICENSE) \ No newline at end of file