Skip to content

Plateforme sécurisée pour la traduction professionnelle offrant un éditeur avancé et un système de certification avec métadonnées intégrées.

Notifications You must be signed in to change notification settings

moa-digitalagency/LinguaSafe

Repository files navigation

Plateforme de Traduction Officielle

Description

Plateforme web pour traducteurs agréés permettant de créer, gérer et certifier des documents traduits avec système de vérification par QR code.

Fonctionnalités

Pour les Traducteurs

  • Authentification Sécurisée: Connexion via Replit Auth (Google, GitHub, Email)
  • Profil Professionnel: Gestion du profil avec logo, qualifications, coordonnées
  • Éditeur de Traduction: Éditeur de texte riche avec mise en forme (Quill.js)
  • En-têtes et Pieds de Page Automatiques: Génération automatique des éléments officiels
  • QR Code: Génération automatique d'un QR code pour chaque document
  • Code Unique: Attribution d'un code unique par document (format: TRAD-YYYYMMDD-XXXXX)
  • Tableau de Bord: Vue d'ensemble des documents et statistiques

Pour le Public

  • Annuaire des Traducteurs: Recherche et consultation des traducteurs certifiés
  • Vérification de Documents: Système de vérification par code unique ou QR code
  • Page de Certification: Affichage public des métadonnées du document

Architecture

/
├── app.py                 # Configuration Flask et base de données
├── main.py               # Point d'entrée de l'application
├── replit_auth.py        # Authentification Replit Auth
├── models.py             # Modèles de base de données
├── routes/               # Routes organisées par fonctionnalité
│   ├── public.py         # Routes publiques (landing, annuaire, vérification)
│   ├── profile.py        # Gestion du profil traducteur
│   └── documents.py      # Gestion des documents
├── utils/                # Utilitaires
│   ├── qr_generator.py   # Génération de QR codes
│   ├── code_generator.py # Génération de codes uniques
│   └── file_handler.py   # Gestion des uploads
├── templates/            # Templates HTML Jinja2
├── static/              # Fichiers statiques
│   ├── css/
│   ├── js/
│   ├── uploads/         # Documents originaux uploadés
│   ├── logos/           # Logos des traducteurs
│   └── qrcodes/         # QR codes générés
└── docs/                # Documentation

Modèles de Données

User

  • Informations de base de l'utilisateur (Replit Auth)
  • Relations: TranslatorProfile, Documents

TranslatorProfile

  • business_name: Nom de l'activité
  • subtitle: Sous-titre
  • qualification: Qualification officielle
  • logo_filename: Fichier du logo
  • address: Adresse complète
  • phone, website: Coordonnées
  • is_verified: Statut de vérification
  • is_public: Visibilité dans l'annuaire

Document

  • unique_code: Code unique (TRAD-YYYYMMDD-XXXXX)
  • title: Titre du document
  • source_language, target_language: Langues
  • content: Contenu HTML de la traduction
  • word_count: Nombre de mots
  • status: draft | completed
  • qr_code_filename: Fichier QR code
  • original_document_filename: Scan du document original

Format des Documents

En-tête (Première Page)

┌─────────────────────────────────────────────────┐
│ [Nom Activité]     [LOGO]      [QR CODE]        │
│ [Sous-titre]                   [Code Unique]    │
│ [Qualification]                                 │
└─────────────────────────────────────────────────┘

Pied de Page

[Adresse]
[Tél] | [Email] | [Site Web]
Ce document a été traduit via la plateforme "Traduction Pro" 
le [Date et Heure] et peut être vérifié avec le code unique [Code].

Technologies

Backend:

  • Flask
  • PostgreSQL (via Replit)
  • SQLAlchemy
  • Replit Auth (OAuth)

Frontend:

  • HTML5
  • Tailwind CSS
  • JavaScript Vanilla
  • Quill.js (éditeur de texte)
  • Feather Icons

Bibliothèques:

  • qrcode: Génération de QR codes
  • Pillow: Traitement d'images
  • Flask-Login: Gestion des sessions
  • Flask-Dance: OAuth2

Installation

Les dépendances sont gérées automatiquement via pyproject.toml:

  • Flask et extensions
  • PostgreSQL drivers
  • QR code et image processing
  • OAuth libraries

Variables d'Environnement

Automatiquement configurées par Replit:

  • DATABASE_URL: URL de la base de données PostgreSQL
  • SESSION_SECRET: Clé secrète pour les sessions
  • REPL_ID: ID du Repl (pour OAuth)
  • PGHOST, PGPORT, PGDATABASE, PGUSER, PGPASSWORD: PostgreSQL

Utilisation

  1. Inscription Traducteur: Se connecter et créer un profil professionnel
  2. Créer un Document: Remplir les métadonnées et uploader le scan
  3. Traduire: Utiliser l'éditeur pour saisir la traduction
  4. Finaliser: Marquer comme terminé pour générer le QR code
  5. Partager: Le code unique permet la vérification publique

Vérification de Documents

Les documents peuvent être vérifiés de deux façons:

  1. Scan QR Code: Scanner le QR présent sur le document
  2. Saisie Manuelle: Entrer le code unique sur /verify

Sécurité

  • Authentification OAuth sécurisée via Replit
  • Tokens JWT pour les sessions
  • Upload de fichiers sécurisé avec validation
  • Protection CSRF
  • Sessions persistantes avec base de données

Support

Pour toute question ou problème, contactez l'administrateur de la plateforme.

About

Plateforme sécurisée pour la traduction professionnelle offrant un éditeur avancé et un système de certification avec métadonnées intégrées.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published