# Plan Marketing — Office Translator (Wordly.art)

> Document de référence pour l'agent marketing. Dernière mise à jour : 2026-09-05
>
> **Changements majeurs vs. version du 2026-08-29** (revue complète, vérifiée dans le code)
> 1. **DeepL a été retiré du produit** (commit « DeepL purge ») : le produit vend désormais **6 moteurs** (Google, Google Cloud, OpenRouter éco et premium, OpenAI, Grok/xAI). DeepL ne peut plus être cité comme moteur proposé, seulement comme concurrent. La landing (`pricing-section.tsx`, `faq-section.tsx`) et certains textes de lancement affichent encore DeepL : **à corriger avant publication** (checklist §9).
> 2. L'API expose désormais **107 langues nommées** via `/api/v1/languages` : on peut dire « 107 langues » (ou « plus de 100 ») au lieu de « 60+ ».
> 3. **L'exécution est déléguée à l'agent Hermes** (e-mails, rédaction, reporting) : consignes complètes dans `docs/marketing/instructions-agent-hermes.md`.
>
> **Changements majeurs vs. version du 2026-05-10**
> 1. **Le billing est réellement implémenté** (Stripe : checkout, webhooks, portail, crédits) — la section tarifaire est désormais ancrée sur les plans réels du backend (`models/subscription.py`, `services/pricing_config.py`), plus sur des tiers fictifs.
> 2. **La landing page est fonctionnelle** : sections pricing, FAQ, preuve sociale, capture d'e-mail (waitlist) et analytics (Vercel Analytics) sont déployées dans `office-translator-landing-page/`.
> 3. **Un endpoint public d'inscription** existe : `POST /api/v1/waitlist` (dédoublonné, persisté dans `data/waitlist.json`), compteur `GET /api/v1/waitlist/count`.
> 4. La mention « SOC 2 Compliant » (infondée) a été retirée du footer.
>
> **Alignement code du 2026-08-29** (voir `docs/marketing/PLAN-ALIGNEMENT-CODE.md`) : le PDF est supporté (dont **PDF scannés via OCR Mistral**) et l'ajoutera à tous les supports ; rétention réelle = envois 30 min / résultats ≤ 2 h ; les moteurs vendus sont exactement ceux des plans (`PLANS[plan]["providers"]`, désormais appliqué côté API) ; 100+ langues exposées via `/api/v1/languages`.

---

## 1. Positionnement & Proposition de Valeur

### Le Produit
**Office Translator** (marque **Wordly.art**) est un SaaS de traduction de documents professionnels (Word, Excel, PowerPoint, **PDF — y compris scannés, via OCR**) qui **préserve la mise en forme, les formules, les tableaux, les images et les styles** du document original. L'utilisateur choisit son moteur de traduction par document.

> Nommage : « Office Translator » est le nom du dépôt / nom de travail interne ; **Wordly.art** est la marque publique (domaine de lancement, landing, footer). Le footer de la landing affiche donc « Wordly.art » — c'est intentionnel.

### Accroche unique (USP)
> « Traduit en place. Zéro perte de mise en page. »

Contrairement à Google Translate (qui aplatit le fichier en texte brut) ou à DeepL (formatage limité), le moteur translate *in place* : cellules fusionnées, formules Excel, en-têtes/pieds de page Word, animations PowerPoint restent intacts. Les PDF scannés (pages image) sont récupérés par **OCR Mistral** avant traduction — DeepL et Azure les refusent. Les textes dans les images sont traduits via des modèles vision (plans payants).

### Différenciateurs
| Différenciateur | Détail | Preuve produit |
|---|---|---|
| Préservation du format | Structure préservée (formules, fusions, styles) ; PDF scannés via OCR | openpyxl / python-docx / python-pptx / PyMuPDF + `services/mistral_ocr.py`, tests de réintégration |
| Multi-moteurs (6) | Google, Google Cloud, OpenRouter éco **et** premium, OpenAI, Grok (xAI) — grille appliquée côté API par plan (+ moteur personnalisé en Enterprise) | Choix par document, `PLANS[plan]["providers"]` |
| IA contextuelle | Traduction LLM contextuelle (DeepSeek / Claude / Gemini) sur plans payants | `ai_translation` + `ai_tier` |
| Glossaires techniques | Terminologie personnalisée (CVC, IT, Légal, Médical…) | `routes/glossary_routes.py` |
| 107 langues | 107 langues nommées exposées via `/api/v1/languages` (promesse « plus de 100 » tenue) | `middleware/validation.py` (`LANGUAGE_NAMES`) |
| Confiance | Suppression auto des fichiers (envois 30 min, résultats ≤ 2 h), TLS, jamais utilisé pour l'entraînement | `config.py` (TTLs), docs sécurité |

### Segments cibles (priorisés)
| Segment | Douleur | Taille | Priorité | Message clé |
|---|---|---|---|---|
| **PME internationales** (export, docs commerciaux/techniques récurrents) | Traducteurs humains chers et lents, formats cassés | Grand | **P1** | « Le coût par page, sans casser le format » |
| **Agences de traduction** (productivité) | Revue manuelle des mises en page, marges écrasées | Moyen | **P1** | « 6 moteurs au choix, glossaires partagés, 5 sièges » |
| **Départements RH multilingues** (contrats, onboarding) | Volume saisonnier, terminologie juridique | Moyen | P2 | « Glossaires légaux + volume Business » |
| **Freelances / consultants** | Outils gratuits qui détruisent leur travail | Grand | P2 | « 2 docs gratuits/mois, Starter à 9 € » |
| **Étudiants & académiques** | Budget nul | Grand | P3 (freemium) | « Plan Free, sans carte bancaire » |

---

## 2. Tarification (source de vérité : `models/subscription.py` + `services/pricing_config.py`)

**Monnaie : EUR. Billing Stripe implémenté (checkout, webhooks, portail client, crédits à l'unité).**

| Plan | Mensuel | Annuel (−20 %) | Docs/mois | Pages/doc max | Fichier max | Moteurs | IA | API |
|---|---|---|---|---|---|---|---|---|
| **Free** | 0 € | — | 2 | 10 | 5 Mo | Google | Non (documents filigranés) | Non |
| **Starter** | 9 € | 7,20 €/mois | 50 | 50 | 10 Mo | Google | Non | Non |
| **Pro** ★ populaire | 19 € | 15,20 €/mois | 200 | 200 | 25 Mo | + Google Cloud, OpenRouter | Essentielle : DeepSeek V4 Flash, GLM-5.3 Flash, MiniMax M3 | Non |
| **Business** | 49 € | 39,20 €/mois | 1 000 | 500 | 50 Mo | + OpenAI, Grok (xAI), premium | Premium : Claude 5 (alternatives DeepSeek V4 Pro et GLM 5.3) | Oui, 10 000 appels/mois, 5 sièges |
| **Enterprise** | sur demande | sur demande | illimité | illimité | illimité | + custom | custom | illimitable |

**Paquets de crédits** (au-delà des quotas, sans changer d'abonnement) : 50 cr. 5 € · 100 cr. 9 € · 250 cr. 20 € · 500 cr. 35 € · 1 000 cr. 60 € (0,06–0,10 €/page).

### Message tarifaire
- **Ancrage** : coût par page vs traduction humaine (50–100× moins cher) et vs réfection manuelle après Google Translate.
- **Freemium réel** : le plan Free (2 docs/mois, sans carte) sert d'essai — c'est le « free trial » opérationnel.
- **Relances et réductions** : les emails de relance (générés par IA à partir de ce plan) et les codes promo (Stripe Coupon + Promotion Code, double plafond) sont gérés depuis l'administration (page Marketing).
- **Transparence** : les prix exacts ci-dessus sont ceux du backend (`models/subscription.py` + `services/pricing_config.py`) ; toute promo est gérée via `data/pricing_overrides.json` (admin). À noter : la section pricing de la landing (`components/pricing-section.tsx`) est un **miroir statique** de ces plans (constante `PLANS`) — aucun prix n'est généré automatiquement, donc tout changement de prix/fonctionnalité doit être répercuté **à la main** dans ce composant et dans ce document le même jour. **Au 2026-09-05 ce miroir est en retard** : il affiche encore DeepL (Starter et Pro), la FAQ dit « up to seven providers » et la preuve sociale affiche « 7 moteurs », « 60+ langues » et « 100 % » — correction à faire avant publication (checklist §9).

---

## 3. Actifs Marketing en Place (état 2026-09-05)

| Actif | Statut | Emplacement |
|---|---|---|
| Landing page (hero, démo de traduction) | ✅ | `office-translator-landing-page/` (Next.js 15 + Tailwind) |
| Section **Pricing** (4 plans + toggle mensuel/annuel + bannière Enterprise) | ✅ | `components/pricing-section.tsx` |
| Section **FAQ** (10 questions) | ✅ | `components/faq-section.tsx` |
| Section **Preuve sociale** (stats à afficher : 107 langues, 6 moteurs, format préservé, rétention ≤ 2 h + 3 témoignages génériques à remplacer par de vrais clients) | ✅ (textes du composant à aligner, cf. §2) | `components/social-proof-section.tsx` |
| **Capture d'e-mail** (waitlist : e-mail + segment d'intérêt) | ✅ | `components/waitlist-section.tsx` → `POST /api/v1/waitlist` |
| **Analytics** (Vercel Analytics : pages, événements, heatmaps) | ✅ | `app/layout.tsx` (`@vercel/analytics`) |
| Footer corrigé (mention SOC 2 retirée) | ✅ | `app/page.tsx` |

### À produire avant le lancement (voir §6, checklist)
- 8 captures d'écran réelles de l'interface (héros, upload, résultat côte à côte, sélecteur de moteur, glossaires, dashboard, pricing, profil)
- Vidéo démo 60–90 s + tutoriel 3–5 min
- GIF 15 s du workflow upload → traduction → téléchargement
- OG image 1200×630 + bannière GitHub + infographie avant/après
- Remplacement des 3 témoignages génériques par 3 témoignages clients réels (objectif : 1 par segment P1/P2)

---

## 4. Canaux de Lancement

> **Exécution** : les tâches marquées « Marketing » sont déléguées à l'agent Hermes (consignes, chiffres autorisés et circuit de validation dans `docs/marketing/instructions-agent-hermes.md`). Les tâches « Dev » et « Fondateur » restent à Sepehr.

### Phase 1 — Pré-lancement (Semaines 1–2)
| Canal | Action | Responsable | Livrable |
|---|---|---|---|
| Landing page | Publication en prod (Vercel ou Docker) avec URL propre `wordly.art` | Dev | URL + OG image |
| Waitlist | Activation `POST /api/v1/waitlist` en prod ; objectif **150 e-mails** avant lancement | Marketing | Compteur `/api/v1/waitlist/count` |
| Product Hunt | Préparation du listing (assets, tagline, maker comment, 5 commentaires amis planifiés) | Marketing | `docs/marketing/launch/product-hunt.md` |
| Reddit | Rédaction de 3 posts (r/SideProject, r/translator, r/smallbusiness) | Marketing | `docs/marketing/launch/reddit-posts.md` |
| Hacker News | Rédaction du Show HN (angle technique : préservation du format) | Dev | `docs/marketing/launch/show-hn.md` |
| X/Twitter | Thread de lancement (12 tweets + GIF) | Marketing | `docs/marketing/launch/x-thread.md` |
| LinkedIn | Post ciblant PME/agences (fondateur) | Fondateur | Post + 2 relances |

### Phase 2 — Lancement (Semaine 3)
| Jour | Action |
|---|---|
| J-2 | Test du tunnel complet : inscription → 1ère traduction → upgrade Stripe (mode test) |
| J0 | Lancement Product Hunt (mardi/mercredi), Show HN (matin EST), thread X, cross-post Reddit, post LinkedIn |
| J1 | Suivi des commentaires (réponse < 2 h), relance X, e-mail waitlist n°1 « vous êtes dedans » |
| J+7 | E-mail waitlist n°2 : 3 études avant/après + offre de lancement (remise supplémentaire à définir par Sepehr — distincte de la remise annuelle standard de −20 % ; code via `pricing_overrides.json`) |

### Phase 3 — Croissance (Semaines 4–8)
| Canal | Action |
|---|---|
| SEO | Publication des 5 articles de blog (§5) ; pages « traduire un excel sans perdre le format », « traduire un powerpoint en anglais » |
| YouTube | Tutoriel 3–5 min + review avant/après |
| Partenariats | 5 agences de traduction (commission 15 % la 1ʳᵉ année), 3 consultants internationaux, annuaires SaaS français |
| Google Ads | Campagne test (10 €/jour) sur « traduire excel » / « translate powerpoint » uniquement si CAC < 3× marge mensuelle |
| Communautés | Discord/Slack de traducteurs et de devs (Build in public) |
| AppSumo | Lifetime deal Business (optionnel, à valider après semaine 4) |

---

## 5. Stratégie de Contenu

### Articles de blog (SEO) — 5 au lancement, dans `docs/marketing/blog/`

> Avant publication : relire chaque article avec les chiffres de la section 2 (certains datent d'avant la revue du 2026-09-05 : DeepL cité comme moteur, « 7 moteurs », « 60+ langues », « 100 % ») et y insérer les captures réelles. Délégué à Hermes (validation par Sepehr).
1. **« Comment traduire un fichier Excel sans perdre la mise en forme »** (pilier, 1 500+ mots)
2. **« Outils de traduction de documents : 5 approches comparées (2026) »** (comparatif : nous vs Google, DeepL, Smartling, Transifex, Smartcat)
3. **« Traduction professionnelle de documents : guide complet pour les PME »**
4. **« Pourquoi DeepL et Google Translate « détruisent » vos documents Excel »**
5. **« Auto-héberger son outil de traduction : guide Docker complet »** (capture de l'audience self-hosted)

### Rythme social (répétitif, 3 h/semaine max)
| Type | Fréquence | Plateforme |
|---|---|---|
| Avant/Après document (anonymisé) | 1×/sem. | X, LinkedIn |
| Astuce traduction | 2×/sem. | X |
| Mise à jour produit / build-in-public | selon releases | X, LinkedIn, IndieHackers |
| Témoignage client | au fil de l'eau | toutes |

---

## 6. KPIs & Mesure

### Mesure (déjà branchée)
- **Vercel Analytics** sur la landing (pages, événements, top pages, referrers).
- **Waitlist** : `GET /api/v1/waitlist/count` + segmentation par intérêt (champ `interest`).
- **Backend** : `/health` (monitoring) ; quotas par plan visibles dans le dashboard admin.

### Objectifs
| Métrique | Mois 1 | Mois 3 | Source |
|---|---|---|---|
| Visiteurs uniques landing | 5 000 | 25 000 | Vercel Analytics |
| E-mails waitlist | 150 | 1 500 | `/api/v1/waitlist/count` |
| Inscriptions (tous plans) | 200 | 1 500 | BDD utilisateurs |
| Documents traduits | 500 | 5 000 | Journal de jobs |
| Taux de conversion visite → inscription | 2 % | 4 % | Analytics |
| MRR | variable | variable (cible : 300 abonnements payants) | Stripe |
| NPS | > 40 | > 50 | Enquête post-traduction (pas encore implémentée — cf. vague C5 de `docs/marketing/PLAN-ALIGNEMENT-CODE.md` ; à ne mesurer qu'après création du mini-formulaire) |
| CAC (Google Ads) | — | < 3× marge mensuelle du plan d'entrée | Ads |

---

## 7. Concurrence (actualisé 2026-08)

| Concurrent | Force | Faiblesse | Notre avantage |
|---|---|---|---|
| **Google Docs (traduction intégrée)** | Gratuit, connu | Détruit les formats complexes, pas de glossaire | Préservation du format + multi-moteurs |
| **DeepL (documents)** | Qualité de traduction | Prix élevé, formatage limité, moteur unique, refuse les PDF scannés | 6 moteurs au choix, 107 langues, prix, OCR des scannés |
| **Smartling / Smartcat** | Complets, TMS | Lourds, chers, surdimensionnés pour une PME | Simplicité + prix accessible |
| **Transifex** | Enterprise i18n | Trop cher, orienté localisation logicielle | Fichiers bureautiques, pas de code |
| **Outils one-shot (DocTranslator, etc.)** | Simple | Qualité inégale, pub, aucune API | Interface pro, glossaires, API Business |

---

## 8. Timeline Recommandée

```
S1-2  : Publication de la landing + waitlist + production des assets (captures, vidéos, GIF)
S3    : Lancement (Product Hunt + Show HN + Reddit + X + LinkedIn) + e-mails waitlist
S4    : 5 articles SEO + YouTube + 5 partenariats agences
S5-6  : Google Ads (test) + communautés + relances
S7-8  : Optimisation (A/B du pricing, témoignages réels, LTV)
```

---

## 9. Checklist Exécutable (état au 2026-09-05)

- [x] Landing page : sections Pricing, FAQ, Preuve sociale, Waitlist
- [x] Endpoint waitlist (`POST /api/v1/waitlist`, dédoublonné) + compteur
- [x] Analytics (Vercel Analytics) branchée sur la landing
- [x] Footer corrigé (SOC 2 retiré)
- [x] Contenu de lancement rédigé (`docs/marketing/launch/`)
- [x] 5 articles de blog rédigés (`docs/marketing/blog/`)
- [x] Spec des assets visuels (`docs/marketing/launch/assets-spec.md`)
- [x] Doc de suivi des KPIs (`docs/marketing/kpis.md`)
- [x] Instructions de l'agent Hermes (`docs/marketing/instructions-agent-hermes.md`)
- [ ] Publication de la landing page en production (`wordly.art`)
- [ ] **Aligner la landing sur la revue du 2026-09-05** : retirer DeepL de `pricing-section.tsx` (lignes 52 et 69) et de `faq-section.tsx` (ligne 21, « seven providers » → six, sans DeepL) ; `social-proof-section.tsx` : « 60+ » → 107, « 7 » → 6, « 100 % » → promesse crédible (« Format preserved ») ; même correction dans `launch/` si un reliquat subsiste
- [ ] 8 captures d'écran réelles de l'interface
- [ ] Vidéo démo 60–90 s + tutoriel 3–5 min
- [ ] GIF workflow 15 s + OG image 1200×630
- [ ] 3 témoignages clients réels (remplacer les génériques)
- [ ] Lancement Product Hunt (assets + 5 commentaires planifiés)
- [ ] Séquence e-mail : 5 e-mails post-inscription (déléguée à Hermes — `docs/marketing/emails/`)
- [ ] Configuration GA4 (optionnel, en complément de Vercel Analytics)

---

*Ce document est la source de vérité marketing. Toute modification de prix passe par `data/pricing_overrides.json` (admin) et doit être répercutée ici le même jour.*
