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
100 lines
3.3 KiB
Markdown
100 lines
3.3 KiB
Markdown
# 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é)
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
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](README.md) — Documentation complète en anglais
|
|
- [docs/ROADMAP.md](docs/ROADMAP.md) — Feuille de route du projet
|
|
- [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md) — Guide de contribution
|
|
- [docs/TROUBLESHOOTING.md](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](LICENSE) pour plus de détails.
|
|
|
|
---
|
|
|
|
**ObsiGate** — Votre savoir, votre serveur. 🏰
|