sepehr cae09fc512
All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 2m30s
fix(pdf): corriger la mise en page et l'affichage des traductions en persan et RTL
- Prioriser les polices couvrant l'alphabet latin et arabo-persan (DejaVu Sans, Arial) afin d'eviter les debordements et caracteres manquants

- Decouper et mettre en miroir le texte ligne par ligne pour preserver l'ordre vertical de lecture du haut vers le bas

- Ignorer les fonds de diapositives pleine page pour eviter de tronconner les phrases sur fond colore

- Supporter les listes avec alinea pour fusionner les phrases longues sans coupure de mots

- Ajouter fonts-dejavu-core au conteneur Docker de production
2026-09-02 21:22:22 +02:00

📄 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

🏗️ Architecture & Conception

🌐 Déploiement en Production

🛡️ Sauvegarde, Résilience & Secours (Disaster Recovery)


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.

# 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
Description
No description provided
Readme MIT 18 MiB
Languages
Python 52.3%
TypeScript 33.3%
HTML 12.6%
CSS 1.1%
PowerShell 0.5%
Other 0.2%