Skip to content

apocys/testGit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

123 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Re:Member - Plateforme de Gestion de Mémoire Personnelle

Re:Member est une plateforme web intelligente qui vous permet de stocker, organiser et interagir avec vos souvenirs quotidiens grĂące Ă  l'intelligence artificielle.

🌟 FonctionnalitĂ©s Principales

1. Upload Multimédia

Téléchargez quotidiennement différents types de médias pour créer votre journal de souvenirs personnel. La plateforme prend en charge les formats suivants :

  • Photos : JPG, PNG, GIF, WebP
  • VidĂ©os : MP4, MOV, AVI, MKV, WebM
  • Audio : MP3, WAV, OGG, M4A
  • Texte : TXT, MD

Les fichiers peuvent atteindre jusqu'à 100 Mo et sont organisés automatiquement par date.

2. Résumé Structuré Automatique

L'IA analyse vos médias quotidiens et génÚre un résumé structuré comprenant :

  • Localisation : Extraction automatique des donnĂ©es GPS ou infĂ©rence basĂ©e sur le contenu
  • Date et heure : MĂ©tadonnĂ©es temporelles prĂ©cises
  • Personnes : Identification des personnes mentionnĂ©es ou prĂ©sentes
  • ÉvĂ©nements : ActivitĂ©s et moments clĂ©s de la journĂ©e
  • Émotions : Analyse du ton Ă©motionnel global
  • Tags : CatĂ©gorisation automatique pour une recherche facilitĂ©e

Le résumé est stocké au format JSON et optimisé pour une récupération rapide.

3. Picture of the Day

La plateforme génÚre automatiquement une image composite représentant votre journée en combinant les éléments visuels marquants de vos médias uploadés. Cette fonctionnalité utilise Google Gemini Flash 2.5 pour créer une composition artistique unique.

4. Extraction et Clonage Vocal

Grùce à l'intégration d'ElevenLabs Voice API, Re:Member peut :

  • Extraire l'audio des fichiers vidĂ©o avec ffmpeg
  • CrĂ©er des profils vocaux personnalisĂ©s via le clonage instantanĂ©
  • Sauvegarder et gĂ©rer les voix extraites localement
  • Permettre l'Ă©tiquetage et l'organisation des profils vocaux

Les profils vocaux peuvent ensuite ĂȘtre utilisĂ©s pour la synthĂšse vocale personnalisĂ©e.

5. Chat Mémoire Intelligent

Interagissez naturellement avec vos souvenirs grĂące Ă  un assistant IA conversationnel qui :

  • Recherche dans vos rĂ©sumĂ©s structurĂ©s pour trouver des informations pertinentes
  • RĂ©pond Ă  vos questions sur des Ă©vĂ©nements passĂ©s, des personnes ou des lieux
  • Utilise le contexte de vos entrĂ©es pour fournir des rĂ©ponses prĂ©cises
  • Maintient un historique des conversations pour une continuitĂ© optimale

Le systÚme utilise un LLM compatible OpenAI (GPT-4.1-mini) pour générer des réponses contextuelles.

6. Panneau d'Administration Sécurisé

Un espace dédié pour gérer la configuration de votre plateforme :

  • Gestion des clĂ©s API : Configuration sĂ©curisĂ©e des clĂ©s ElevenLabs et Google Gemini
  • Personnalisation du prompt systĂšme : Ajustez le comportement de l'IA selon vos prĂ©fĂ©rences
  • Statistiques d'utilisation : Visualisez vos mĂ©triques d'activitĂ©
  • Authentification JWT : SĂ©curitĂ© renforcĂ©e avec tokens d'authentification

Les clĂ©s API sont chiffrĂ©es avant d'ĂȘtre stockĂ©es en base de donnĂ©es.

🚀 Installation et DĂ©ploiement

Prérequis

  • Python 3.11+
  • Node.js 22+
  • pnpm
  • ffmpeg

Installation Backend

cd remember-platform/backend
python -m venv venv
source venv/bin/activate  # Sur Windows: venv\Scripts\activate
pip install -r requirements.txt

Installation Frontend

cd remember-platform/frontend
pnpm install

Configuration

Créez un fichier .env dans le dossier backend avec vos clés API :

OPENAI_API_KEY=votre_cle_openai

Les clĂ©s ElevenLabs et Gemini peuvent ĂȘtre configurĂ©es directement depuis le panneau d'administration aprĂšs connexion.

Lancement en Développement

Backend :

cd backend
source venv/bin/activate
python src/main.py

Le serveur démarre sur http://localhost:5000

Frontend :

cd frontend
pnpm run dev

Le serveur de développement démarre sur http://localhost:5173

Build et Déploiement Production

# Build du frontend
cd frontend
pnpm run build

# Copier le build dans le dossier static du backend
cp -r dist/* ../backend/src/static/

# Le backend servira automatiquement le frontend
cd ../backend
source venv/bin/activate
python src/main.py

L'application complĂšte est accessible sur http://localhost:5000

📖 Guide d'Utilisation

1. Inscription et Connexion

Lors de votre premiÚre visite, créez un compte avec un nom d'utilisateur et un mot de passe. Une configuration API par défaut est automatiquement créée.

2. Configuration Initiale

Accédez au Panneau d'Administration pour configurer vos clés API :

  • ElevenLabs API Key : NĂ©cessaire pour l'extraction et le clonage vocal
  • Google Gemini API Key : NĂ©cessaire pour la gĂ©nĂ©ration d'images du jour

Vous pouvez également personnaliser le prompt systÚme pour ajuster le comportement de l'IA.

3. Upload de Médias

Depuis la page Upload :

  1. Sélectionnez la date de l'entrée (par défaut : aujourd'hui)
  2. Choisissez le type de média (photo, vidéo, audio, texte)
  3. Glissez-déposez votre fichier ou cliquez pour sélectionner
  4. Cliquez sur "Uploader"

Les médias sont automatiquement associés à une entrée quotidienne.

4. Génération de Résumés

Depuis le Dashboard :

  1. Sélectionnez une entrée quotidienne
  2. Utilisez l'API /api/ai/generate-summary pour créer le résumé structuré
  3. Le résumé est automatiquement sauvegardé et disponible pour le chat

5. Création de l'Image du Jour

AprÚs avoir uploadé vos médias et généré un résumé :

  1. Utilisez l'API /api/ai/picture-of-day avec l'ID de l'entrée
  2. L'image composite est générée et sauvegardée
  3. Elle apparaĂźt dans votre dashboard

6. Extraction Vocale

Pour créer un profil vocal depuis une vidéo :

  1. Uploadez une vidéo contenant de l'audio vocal
  2. Utilisez l'API /api/ai/extract-voice avec le chemin de la vidéo et un nom de profil
  3. Le profil vocal est créé et disponible dans la section Voix

7. Chat avec vos Souvenirs

Depuis la page Chat :

  1. Posez des questions sur vos souvenirs passés
  2. L'IA recherche dans vos résumés pour trouver des informations pertinentes
  3. Les réponses incluent des références aux entrées utilisées
  4. L'historique est sauvegardé automatiquement

🔧 Architecture Technique

Backend (Flask)

Le backend est structuré en modules clairs :

  • src/models/ : ModĂšles de base de donnĂ©es SQLAlchemy
  • src/routes/ : Blueprints Flask pour les endpoints API
  • src/services/ : Services mĂ©tier (IA, extraction vocale, chat)
  • src/middleware/ : Middleware d'authentification JWT
  • src/utils/ : Utilitaires et helpers

Base de données : SQLite en développement, facilement migrable vers PostgreSQL en production.

Frontend (React)

Application React moderne avec :

  • React Router : Navigation entre les pages
  • Tailwind CSS : Styling responsive et moderne
  • shadcn/ui : Composants UI professionnels
  • Lucide Icons : IcĂŽnes Ă©lĂ©gantes

APIs Externes

  • OpenAI-compatible LLM : GĂ©nĂ©ration de rĂ©sumĂ©s et rĂ©ponses chat (GPT-4.1-mini)
  • ElevenLabs Voice API : Clonage vocal instantanĂ©
  • Google Gemini Flash 2.5 : GĂ©nĂ©ration d'images (Ă  implĂ©menter avec Imagen)

🔐 SĂ©curitĂ©

La plateforme implémente plusieurs mesures de sécurité :

  • Authentification JWT : Tokens avec expiration de 7 jours
  • Hashing des mots de passe : bcrypt avec salt
  • Chiffrement des clĂ©s API : Les clĂ©s sensibles sont chiffrĂ©es en base
  • CORS configurĂ© : Protection contre les requĂȘtes non autorisĂ©es
  • Validation des uploads : VĂ©rification des types et tailles de fichiers

📊 API Endpoints

Authentification

  • POST /api/auth/register - Inscription
  • POST /api/auth/login - Connexion
  • POST /api/auth/logout - DĂ©connexion

Médias

  • POST /api/media/upload - Upload de fichier
  • GET /api/media/daily/{date} - MĂ©dias d'une date
  • GET /api/media/entries - Toutes les entrĂ©es
  • DELETE /api/media/{id} - Supprimer un mĂ©dia

IA

  • POST /api/ai/generate-summary - GĂ©nĂ©rer un rĂ©sumĂ©
  • POST /api/ai/picture-of-day - CrĂ©er l'image du jour
  • POST /api/ai/extract-voice - Extraire et cloner une voix
  • POST /api/ai/extract-audio - Extraire l'audio uniquement

Chat

  • POST /api/chat/message - Envoyer un message
  • GET /api/chat/history - Historique des conversations
  • DELETE /api/chat/history/{id} - Supprimer un message

Voix

  • GET /api/voices/ - Liste des profils vocaux
  • POST /api/voices/ - CrĂ©er un profil
  • PUT /api/voices/{id} - Mettre Ă  jour un profil
  • DELETE /api/voices/{id} - Supprimer un profil

Administration

  • GET /api/admin/config - Configuration actuelle
  • PUT /api/admin/config - Mettre Ă  jour la configuration
  • GET /api/admin/stats - Statistiques d'utilisation

Tous les endpoints (sauf auth) nécessitent un token JWT dans le header Authorization: Bearer <token>.

đŸ› ïž DĂ©veloppement Futur

Améliorations Prévues

  1. Recherche vectorielle : Utiliser des embeddings pour une recherche sémantique avancée
  2. API Imagen complÚte : Intégration réelle de Google Imagen pour la génération d'images
  3. Export de données : Téléchargement de vos données en formats variés
  4. Partage de souvenirs : Fonctionnalités sociales pour partager avec des proches
  5. Application mobile : Version iOS et Android
  6. Reconnaissance faciale : Identification automatique des personnes dans les photos
  7. Timeline interactive : Visualisation chronologique enrichie
  8. Rappels intelligents : Notifications basées sur vos habitudes

📝 Licence

Ce projet est développé à des fins de démonstration. Veuillez consulter les conditions d'utilisation des APIs tierces (OpenAI, ElevenLabs, Google Gemini) avant un déploiement en production.

đŸ€ Support

Pour toute question ou problĂšme :

  1. Vérifiez que toutes les dépendances sont installées
  2. Assurez-vous que les clés API sont correctement configurées
  3. Consultez les logs du backend pour les erreurs détaillées
  4. Vérifiez que ffmpeg est installé pour l'extraction audio

🎯 CrĂ©dits

Développé avec :

  • Flask & SQLAlchemy
  • React & Tailwind CSS
  • OpenAI API
  • ElevenLabs Voice API
  • Google Gemini API
  • shadcn/ui Components

Re:Member - Votre mĂ©moire personnelle, amplifiĂ©e par l'IA 🧠✹

About

test

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors