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