All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 2m21s
83 lines
4.8 KiB
Markdown
83 lines
4.8 KiB
Markdown
# 📄 Wordly.art — Document Translation Portal
|
|
|
|
Wordly.art est une application complète et prête pour la production (SaaS-ready) permettant de traduire des documents bureautiques complexes (Excel, Word, PowerPoint) tout en **préservant strictement** la mise en page originale, le style, les formules et les médias intégrés.
|
|
|
|
Ce fichier sert de **portail central** pour accéder à toutes les documentations techniques, guides d'exploitation, de déploiement et de secours de l'application.
|
|
|
|
---
|
|
|
|
## 🗺️ Carte de la Documentation
|
|
|
|
Pour faciliter la navigation, utilisez les liens ci-dessous pour accéder directement aux guides spécialisés :
|
|
|
|
### 🚀 Démarrage & Utilisation
|
|
* 📥 **[Guide de démarrage rapide (QUICKSTART.md)](./QUICKSTART.md)** : Installation locale et lancement du projet en développement.
|
|
* 📖 **[Guide d'utilisation de l'API (GUIDE_UTILISATION.md)](./GUIDE_UTILISATION.md)** : Exemples de requêtes de traduction, gestion du glossaire et des presets techniques (CVC, IT, Légal, etc.).
|
|
* 💡 **[Fiche de référence rapide (QUICK_REFERENCE.md)](./QUICK_REFERENCE.md)** : Commandes utiles, ports réseaux, identifiants par défaut et astuces rapides.
|
|
|
|
### 🏗️ Architecture & Conception
|
|
* 📐 **[Architecture logicielle (ARCHITECTURE.md)](./ARCHITECTURE.md)** : Choix technologiques, flux de données, gestion du cycle de vie des fichiers, sécurité (HSTS, CSP) et monitoring.
|
|
|
|
### 🌐 Déploiement en Production
|
|
* 🏢 **[Guide de Déploiement Général (DEPLOYMENT_GUIDE.md)](./DEPLOYMENT_GUIDE.md)** : Guide standard pour le déploiement de production sous Docker avec reverse-proxy Nginx et SSL.
|
|
* ☁️ **[Déploiement sur IONOS (DEPLOY_IONOS.md)](./DEPLOY_IONOS.md)** : Instructions spécifiques pour déployer l'infrastructure sur un serveur virtuel IONOS.
|
|
|
|
### 🛡️ Sauvegarde, Résilience & Secours (Disaster Recovery)
|
|
* 💾 **[Plan de Reprise d'Activité (DISASTER_RECOVERY.md)](./DISASTER_RECOVERY.md)** : Guide complet du système de sauvegarde automatique vers le NAS via SSH/rsync, monitoring et automatisation du failover.
|
|
* 🔄 **[Procédure de Restauration Simplifiée (PROCEDURE_RESTAURATION.md)](./PROCEDURE_RESTAURATION.md)** : Guide d'urgence pas-à-pas pour restaurer les données sur le serveur actif ou basculer en 20 minutes sur le serveur de secours (`.98`).
|
|
|
|
---
|
|
|
|
## ✨ Fonctionnalités Clés
|
|
|
|
### 🔄 Multi-fournisseurs de Traduction
|
|
L'application supporte 7 moteurs de traduction, activables à la volée :
|
|
* **Google Translate** (Gratuit, rapide, par défaut)
|
|
* **DeepL API** (Haute qualité pour l'entreprise)
|
|
* **OpenAI** (Modèles GPT-4o, support de la vision)
|
|
* **DeepSeek, OpenRouter, Minimax, x.ai (Zai)** (Modèles de pointe pour traductions complexes)
|
|
|
|
### 📁 Traduction Intelligente par Fichier
|
|
* **Excel (.xlsx)** : Conserve la fusion des cellules, les formules, les polices de caractères, les styles de bordures et traduit également le texte contenu dans les images (via modèles vision).
|
|
* **Word (.docx)** : Préserve les en-têtes, pieds de page, tableaux, listes à puces et la mise en forme des paragraphes.
|
|
* **PowerPoint (.pptx)** : Conserve la mise en page des diapositives, les animations et transitions.
|
|
|
|
### 🏢 Sécurité & Exploitation (SaaS-Ready)
|
|
* 🚦 **Limitation de débit (Rate Limiting)** : Par IP client avec algorithme Token Bucket stocké dans Redis.
|
|
* 🧹 **Nettoyage automatique (Auto Cleanup)** : Suppression automatique des fichiers temporaires après expiration de la durée de vie (TTL).
|
|
* 📊 **Monitoring complet** : Route `/health` détaillée et intégration Prometheus + Grafana pour suivre les performances physiques et logicielles.
|
|
|
|
---
|
|
|
|
## 🛠️ Stack Technique
|
|
|
|
### Backend
|
|
* **FastAPI** (Python 3.11+) : API asynchrone rapide et documentée (Swagger disponible sur `http://localhost:8000/docs`).
|
|
* **openpyxl**, **python-docx**, **python-pptx** : Moteurs de manipulation de documents sans dépendance Microsoft Office.
|
|
* **Docker / Docker Compose** : Isolation complète de l'application, de la base PostgreSQL et du cache Redis.
|
|
|
|
### Frontend
|
|
* **Next.js 15** (React) & **Tailwind CSS** : Interface utilisateur moderne, ergonomique et responsive.
|
|
* **Lucide Icons** : Bibliothèque d'icônes vectorielles.
|
|
|
|
---
|
|
|
|
## 🚀 Lancement Rapide (Mode Dev)
|
|
|
|
Pour un déploiement complet en production ou homelab, veuillez vous référer aux fichiers de déploiement listés dans la [Carte de la Documentation](#-carte-de-la-documentation).
|
|
|
|
```bash
|
|
# 1. Cloner le projet
|
|
git clone https://gitea.parsanet.org/sepehr/office_translator.git /opt/wordly
|
|
cd /opt/wordly
|
|
|
|
# 2. Configurer l'environnement
|
|
cp .env.example .env
|
|
# Modifiez les variables dans le .env selon vos besoins
|
|
|
|
# 3. Lancer avec Docker Compose
|
|
docker compose up -d --build
|
|
```
|
|
* **API (Backend)** : `http://localhost:8000` (Documentation Swagger sur `/docs`)
|
|
* **Interface Web (Frontend)** : `http://localhost:3000`
|