JS files: - ai.js: add t() import, replace 10 hardcoded French strings - sync.js: add t() import, replace 20 hardcoded French strings (toasts, status labels, events, AI panel) - graph.js: add t() import, replace 6 hardcoded French strings (tooltips, badges) Locales: - +36 new keys for ai.js, sync.js, graph.js - 1206 keys in each locale file (perfectly synchronized) - 0 French characters remaining in en.json Documentation: - README.fr.md created (French version) - ROADMAP.md point #63 updated to 100% complete
3.3 KiB
3.3 KiB
ObsiGate — Gestionnaire de connaissances personnel
ObsiGate est une application web moderne de gestion de notes Markdown, conçue pour remplacer des outils comme Obsidian avec une expérience auto-hébergée complète.
✨ Fonctionnalités principales
- 📝 Éditeur Markdown avancé avec aperçu en temps réel
- 🤖 IA intégrée : DeepSeek, OpenRouter, Gemini — complétion, réécriture, traduction
- 🔍 Recherche full-text avec TF-IDF et filtres avancés
- 📊 Dashboard avec statistiques, fichiers récents, et contenu partagé
- 🏷️ Tags : organisation et filtrage par tags
- 🗺️ Vue Graphe : visualisation des liens entre fichiers
- 🔄 Synchronisation en temps réel via SSE (Server-Sent Events)
- 🔗 Webhooks : notifications automatiques vers des services externes
- 💾 Sauvegardes automatiques et restauration
- 🎨 15 thèmes avec modes clair et sombre
- 🌐 Internationalisation : anglais et français (sélecteur de langue intégré)
- 📱 PWA : installation en tant qu'application native
- 🔒 Authentification JWT avec tokens refresh
🚀 Installation rapide
Docker (recommandé)
git clone https://git.dracodev.net/Projets/ObsiGate.git
cd ObsiGate
cp .env.example .env
# Configurer DEEPSEEK_API_KEY dans .env
docker compose up -d --build
Accès
- Interface web : http://localhost:2020
- Utilisateur par défaut : admin / admin (à changer immédiatement)
📋 Prérequis
- Docker & Docker Compose
- Clé API DeepSeek, OpenRouter, ou Gemini (optionnelle, pour l'IA)
- Python 3.11+ (pour le développement)
🛠️ Développement
pip install -r requirements.txt
python backend/main.py
# Dans un autre terminal :
cd frontend && python -m http.server 8080
📁 Structure du projet
ObsiGate/
backend/ # API FastAPI (Python)
frontend/ # Interface utilisateur (HTML/CSS/JS vanilla)
locales/ # Traductions (en.json, fr.json)
docker/ # Configuration Docker
docs/ # Documentation et roadmap
🌍 Internationalisation
ObsiGate supporte l'anglais et le français. Le sélecteur de langue se trouve dans Paramètres > Langue. La traduction couvre :
- ✅ Interface utilisateur complète
- ✅ Guide d'utilisation (18 sections)
- ✅ Messages système et toasts
- ✅ Descriptions des thèmes et commandes
📖 Documentation
- README.md — Documentation complète en anglais
- docs/ROADMAP.md — Feuille de route du projet
- docs/CONTRIBUTING.md — Guide de contribution
- docs/TROUBLESHOOTING.md — Dépannage
🔧 Configuration
Variables d'environnement principales (.env) :
| Variable | Description |
|---|---|
DEEPSEEK_API_KEY |
Clé API pour l'IA DeepSeek |
OPENROUTER_API_KEY |
Clé API pour OpenRouter |
GEMINI_API_KEY |
Clé API pour Gemini |
ADMIN_PASSWORD |
Mot de passe administrateur |
JWT_SECRET |
Secret pour les tokens JWT |
WEBHOOK_SECRET |
Secret pour la signature des webhooks |
📝 Licence
Ce projet est sous licence propriétaire. Voir le fichier LICENSE pour plus de détails.
ObsiGate — Votre savoir, votre serveur. 🏰