{"id":5496,"date":"2025-09-02T15:25:00","date_gmt":"2025-09-02T13:25:00","guid":{"rendered":"https:\/\/www.estudiodefrances.com\/?p=5496"},"modified":"2025-09-04T06:04:45","modified_gmt":"2025-09-04T04:04:45","slug":"lettre-voyage","status":"publish","type":"post","link":"https:\/\/www.estudiodefrances.com\/?p=5496","title":{"rendered":"\u00c9crire une lettre de voyage"},"content":{"rendered":"<style>#lv_30692 *{box-sizing:border-box}\n#lv_30692{--ink:#111; --mut:#5b6168; --ok:#2f9e44; --warn:#e67700; --bad:#e03131; --bg:#f6f7fb; --card:#fff; --line:#e6e8ee; --accent:#3b5bdb;\n  max-width:1100px;margin:24px auto;padding:16px;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink)}\n#lv_30692 h1{font-size:clamp(1.2rem,2.6vw,1.8rem);margin:.3rem 0 .9rem;letter-spacing:.2px}\n#lv_30692 .card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 30px rgba(16,24,40,.05);padding:16px;margin-bottom:14px}\n#lv_30692 .grid{display:grid;gap:14px}\n@media(min-width:860px){#lv_30692 .cols-2{grid-template-columns:1fr 1fr}}\n#lv_30692 label{font-weight:700;font-size:.95rem}\n#lv_30692 small.help{display:block;color:var(--mut);font-weight:500;margin:.15rem 0 .5rem}\n#lv_30692 input,#lv_30692 select,#lv_30692 textarea{\n  width:100%;padding:.7rem .8rem;border:1px solid #c9cfd8;border-radius:12px;font-size:1rem;background:#fff;color:#000;outline:none}\n#lv_30692 input:focus,#lv_30692 select:focus,#lv_30692 textarea:focus{border-color:#98a2b3;box-shadow:0 0 0 3px rgba(59,91,219,.12)}\n#lv_30692 textarea{min-height:170px;resize:vertical;line-height:1.6}\n#lv_30692 .row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}\n#lv_30692 .btn{background:var(--accent);color:#fff;border:none;border-radius:12px;padding:.65rem 1rem;font-weight:800;cursor:pointer;letter-spacing:.2px}\n#lv_30692 .btn.ghost{background:#fff;color:#000;border:1px solid #cfd6dd}\n#lv_30692 .btn.reset{background:#94a3b8}\n#lv_30692 .btn.success{background:#2f9e44}\n#lv_30692 .btn:disabled{opacity:.6;cursor:not-allowed}\n#lv_30692 .badge{display:inline-flex;align-items:center;gap:6px;background:#eef2ff;color:#111;border:1px solid #ccd5ff;padding:.2rem .6rem;border-radius:999px;font-weight:800;font-size:.85rem}\n#lv_30692 .panel{display:flex;gap:8px;flex-wrap:wrap;align-items:center}\n#lv_30692 .counter{font-weight:800}\n#lv_30692 .counter.ok{color:var(--ok)} #lv_30692 .counter.warn{color:var(--warn)} #lv_30692 .counter.bad{color:var(--bad)}\n#lv_30692 .alert{border-radius:12px;padding:.55rem .8rem;border:1px solid #fde68a;background:#fff6da;color:#6b4f00;font-weight:700;display:none}\n#lv_30692 .alert.show{display:block}\n#lv_30692 footer.note{color:var(--mut);font-size:.92rem;margin-top:8px}\n#lv_30692 .preview{white-space:pre-wrap;line-height:1.65;border-radius:12px;border:1px solid var(--line);padding:12px;background:#fff;color:#000}\n#lv_30692 mark.pp{background:#fff1a8;padding:0 .15rem;border-radius:.2rem}\n#lv_30692 hr.sep{border:none;height:1px;background:var(--line);margin:12px 0}\n#lv_30692 .tips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}\n#lv_30692 .tip{background:#f3f4f6;border:1px solid var(--line);color:#111;border-radius:999px;padding:.22rem .6rem;font-weight:800;font-size:.82rem;transition:.2s}\n#lv_30692 .tip.dim{opacity:.5;text-decoration:line-through}\n#lv_30692 .tabs{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 10px}\n#lv_30692 .tab{background:#fff;border:1px solid var(--line);color:#000;border-radius:999px;padding:.4rem .7rem;font-weight:800;cursor:pointer}\n#lv_30692 .tab.active{background:#111;color:#fff;border-color:#111}\n#lv_30692 .bank{border:1px dashed var(--line);border-radius:12px;padding:10px}\n#lv_30692 .bank-head{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:8px}\n#lv_30692 .bank-title{font-weight:800}\n#lv_30692 .bank-search{flex:1;min-width:220px}\n#lv_30692 .bank-group{display:none}\n#lv_30692 .bank-group.active{display:block}\n#lv_30692 .samples{display:flex;gap:10px;flex-wrap:wrap}\n#lv_30692 .samples button{\n  background:#fff;color:#000;border:1px solid #cbd5e1;border-radius:12px;padding:.55rem .7rem;cursor:pointer;font-weight:800}\n#lv_30692 .samples button:hover{background:#f1f5f9}<\/style>  <section id=\"lv_30692\" data-bank='{\"salut\":[\"Bonjour ...,\",\"Salut ...,\",\"Bonjour, je t\u2019\u00e9cris depuis ... .\",\"Bonjour, comment \u00e7a va ?\"],\"conn\":[\"D\u2019abord, \",\"Ensuite, \",\"Puis, \",\"Aussi, \",\"Et \",\"Enfin, \",\"Parce que \",\"Mais \",\"C\u2019est pourquoi \",\"Par exemple, \"],\"trans\":[\"Je voyage en train.\",\"Je voyage en avion.\",\"Je prends le bus.\",\"Je conduis une voiture.\",\"Je marche beaucoup.\",\"Je prends le m\u00e9tro pour aller au centre.\"],\"time\":[\"Je pars \u00e0 8h et j\u2019arrive \u00e0 11h.\",\"Je reste trois jours.\",\"Le matin, je visite la ville.\",\"L\u2019apr\u00e8s-midi, je me repose.\",\"Le soir, je d\u00eene avec des amis.\",\"Je rentre t\u00f4t le dimanche.\"],\"act\":[\"Je visite un mus\u00e9e.\",\"Je prends des photos.\",\"Je mange dans un restaurant local.\",\"Je fais une promenade au parc.\",\"Je fais des achats dans le centre.\",\"Je rencontre mes amis.\",\"Je d\u00e9couvre des plats typiques.\"],\"loge\":[\"Je dors dans un petit h\u00f4tel.\",\"Je reste dans une auberge de jeunesse.\",\"Je loge chez ma famille.\",\"Mon h\u00f4tel est pr\u00e8s du centre.\"],\"feel\":[\"Je suis tr\u00e8s content.\",\"Je suis motiv\u00e9 et curieux.\",\"Je suis calme et relax\u00e9.\",\"Je suis un peu fatigu\u00e9 mais heureux.\",\"Je suis surpris par la ville.\"],\"close\":[\"\u00c0 bient\u00f4t !\",\"\u00c0 tr\u00e8s vite !\",\"Amicalement,\",\"Bien \u00e0 toi,\",\"Merci de me lire !\"]}' data-models='{\"paris\":\"Bonjour ..., Je suis \u00e0 Paris et j\u2019\u00e9cris cette lettre. Je visite la ville pour d\u00e9couvrir les monuments et voir des amis. Je voyage en train. Je pars \u00e0 9h et j\u2019arrive \u00e0 midi. Le matin, je marche dans le centre et je prends des photos. L\u2019apr\u00e8s-midi, je visite un mus\u00e9e. Le soir, je mange dans un petit restaurant. Je reste trois jours et je dors dans un h\u00f4tel pr\u00e8s du centre. Je suis tr\u00e8s content de ce voyage. \u00c0 bient\u00f4t !\",\"famille\":\"Bonjour ..., Je suis en voyage avec ma famille. Nous allons au bord de la mer pour nous reposer et passer du temps ensemble. Nous voyageons en voiture. Nous partons t\u00f4t et nous arrivons vers 10h. Le matin, je me prom\u00e8ne sur la plage. L\u2019apr\u00e8s-midi, je nage et je lis un livre. Le soir, nous d\u00eenons dans un restaurant local. Nous restons trois jours dans une petite auberge. Je suis calme et heureux. \u00c0 tr\u00e8s vite !\",\"scolaire\":\"Bonjour ..., Je suis en voyage scolaire avec ma classe. Nous visitons une nouvelle ville pour apprendre son histoire. Nous voyageons en bus. Nous partons \u00e0 8h et nous arrivons \u00e0 11h. Le matin, je visite un mus\u00e9e avec mes amis. L\u2019apr\u00e8s-midi, je fais une activit\u00e9 au parc. Le soir, je d\u00eene avec le groupe. Je reste deux jours et je dors dans une auberge de jeunesse. Je suis motiv\u00e9 et curieux. Amicalement,\"}' data-i18n='{\"fr\":{\"title\":\"\u270d\ufe0f Lettre sur un voyage (A1 \u2022 ~80 mots \u2022 pr\u00e9sent)\",\"dest\":\"Destinataire\",\"dest_help\":\"Salutation simple (ex. \u00ab Bonjour Lucie, \u00bb).\",\"place\":\"Destination (ville\/pays)\",\"purpose\":\"But du voyage\",\"transport\":\"Transport\",\"times\":\"Dates \/ horaires\",\"acts\":\"Activit\u00e9s (s\u00e9par\u00e9es par des virgules)\",\"with\":\"Avec qui ? (optionnel)\",\"stay\":\"H\u00e9bergement (optionnel)\",\"feel\":\"Sentiment (optionnel)\",\"bye\":\"Formule de politesse\",\"target_label\":\"Cible\",\"words\":\"mots\",\"adjust\":\"Ajuster :\",\"generate\":\"\ud83e\udde9 G\u00e9n\u00e9rer\",\"copy\":\"\ud83d\udccb Copier\",\"download\":\"\u2b07\ufe0f T\u00e9l\u00e9charger .doc\",\"clear\":\"\ud83e\uddf9 Effacer\",\"past_alert1\":\"Indices du pass\u00e9 d\u00e9tect\u00e9s. Reste au pr\u00e9sent !\",\"past_alert2\":\"Indices du pass\u00e9 d\u00e9tect\u00e9s. Utilise le pr\u00e9sent.\",\"tip_to\":\"Salutation\",\"tip_purpose\":\"But\",\"tip_transport\":\"Transport\",\"tip_times\":\"Horaires\",\"tip_activities\":\"Activit\u00e9s\",\"tip_bye\":\"Cl\u00f4ture\",\"bank_title\":\"\ud83e\uddf0 Banque d\u2019expressions\",\"bank_help\":\"Astuce : clique un onglet, utilise la recherche, puis clique pour ins\u00e9rer **au curseur**.\",\"tab_models\":\"Mod\u00e8les\",\"tab_salut\":\"Salutations\",\"tab_conn\":\"Connecteurs\",\"tab_trans\":\"Transport\",\"tab_time\":\"Temps\/Horaires\",\"tab_act\":\"Activit\u00e9s\",\"tab_loge\":\"H\u00e9bergement\",\"tab_feel\":\"Sentiments\",\"tab_close\":\"Cl\u00f4tures\",\"models_help\":\"Clique pour ins\u00e9rer un mod\u00e8le complet (tu peux le modifier).\",\"editor_label\":\"\ud83d\udcdd Lettre (\u00e9ditable)\",\"editor_note\":\"Compteur de mots, alerte de pass\u00e9 et aper\u00e7u ci-dessous.\",\"preview_title\":\"Pr\u00e9visualisation\",\"search_ph\":\"Rechercher une expression...\",\"editor_ph\":\"La lettre appara\u00eet ici. Tu peux modifier le texte.\"},\"en\":{\"title\":\"\u270d\ufe0f Travel letter (A1 \u2022 ~80 words \u2022 present tense)\",\"dest\":\"Recipient\",\"dest_help\":\"Simple greeting (e.g., \u201cBonjour Lucie,\u201d).\",\"place\":\"Destination (city\/country)\",\"purpose\":\"Purpose of the trip\",\"transport\":\"Transport\",\"times\":\"Dates \/ times\",\"acts\":\"Activities (comma-separated)\",\"with\":\"With whom? (optional)\",\"stay\":\"Accommodation (optional)\",\"feel\":\"Feeling (optional)\",\"bye\":\"Closing formula\",\"target_label\":\"Target\",\"words\":\"words\",\"adjust\":\"Adjust:\",\"generate\":\"\ud83e\udde9 Generate\",\"copy\":\"\ud83d\udccb Copy\",\"download\":\"\u2b07\ufe0f Download .doc\",\"clear\":\"\ud83e\uddf9 Clear\",\"past_alert1\":\"Past tense hints detected. Stay in the present!\",\"past_alert2\":\"Past hints detected. Use present.\",\"tip_to\":\"Greeting\",\"tip_purpose\":\"Purpose\",\"tip_transport\":\"Transport\",\"tip_times\":\"Schedule\",\"tip_activities\":\"Activities\",\"tip_bye\":\"Closing\",\"bank_title\":\"\ud83e\uddf0 Phrase bank\",\"bank_help\":\"Tip: pick a tab, use search, then click to insert **at the cursor**.\",\"tab_models\":\"Models\",\"tab_salut\":\"Greetings\",\"tab_conn\":\"Connectors\",\"tab_trans\":\"Transport\",\"tab_time\":\"Time\/Schedule\",\"tab_act\":\"Activities\",\"tab_loge\":\"Lodging\",\"tab_feel\":\"Feelings\",\"tab_close\":\"Closings\",\"models_help\":\"Click to insert a full model (you can edit).\",\"editor_label\":\"\ud83d\udcdd Letter (editable)\",\"editor_note\":\"Word count, past alert and preview below.\",\"preview_title\":\"Preview\",\"search_ph\":\"Search a phrase...\",\"editor_ph\":\"The letter appears here. You can edit the text.\"}}' data-target=\"80\" data-lang=\"fr\" data-tips=\"on\">\n    <div class=\"row\" style=\"justify-content:space-between;align-items:center\">\n      <h1 data-i18n=\"title\">\u270d\ufe0f Lettre sur un voyage (A1 \u2022 ~80 mots \u2022 pr\u00e9sent)<\/h1>\n      <button class=\"btn ghost\" id=\"lv-lang-toggle\" title=\"FR \/ EN\">FR \/ EN<\/button>\n    <\/div>\n\n    <div class=\"card\">\n      <div class=\"grid cols-2\">\n        <div>\n          <label data-i18n=\"dest\">Destinataire<\/label>\n          <input id=\"lv-to\" placeholder=\"Bonjour ...,\" value=\"Bonjour ...,\" \/>\n          <small class=\"help\" data-i18n=\"dest_help\">Salutation simple (ex. \u00ab Bonjour Lucie, \u00bb).<\/small>\n\n          <label data-i18n=\"place\">Destination (ville\/pays)<\/label>\n          <input id=\"lv-place\" placeholder=\"Paris, France\" \/>\n\n          <label data-i18n=\"purpose\">But du voyage<\/label>\n          <input id=\"lv-purpose\" placeholder=\"Je visite la ville et je vois des amis.\" \/>\n\n          <label data-i18n=\"transport\">Transport<\/label>\n          <select id=\"lv-transport\">\n            <option value=\"je voyage en train\">je voyage en train<\/option>\n            <option value=\"je voyage en avion\">je voyage en avion<\/option>\n            <option value=\"je voyage en bus\">je voyage en bus<\/option>\n            <option value=\"je voyage en voiture\">je voyage en voiture<\/option>\n            <option value=\"je marche beaucoup\">je marche beaucoup<\/option>\n          <\/select>\n\n          <label data-i18n=\"times\">Dates \/ horaires<\/label>\n          <input id=\"lv-times\" placeholder=\"Je pars lundi \u00e0 9h et j\u2019arrive \u00e0 12h. Je reste trois jours.\" \/>\n        <\/div>\n\n        <div>\n          <label data-i18n=\"acts\">Activit\u00e9s (s\u00e9par\u00e9es par des virgules)<\/label>\n          <input id=\"lv-activities\" placeholder=\"je visite un mus\u00e9e, je mange au restaurant, je prends des photos\" \/>\n\n          <label data-i18n=\"with\">Avec qui ? (optionnel)<\/label>\n          <input id=\"lv-with\" placeholder=\"Je suis avec ma famille.\" \/>\n\n          <label data-i18n=\"stay\">H\u00e9bergement (optionnel)<\/label>\n          <input id=\"lv-stay\" placeholder=\"Je dors dans un petit h\u00f4tel pr\u00e8s du centre.\" \/>\n\n          <label data-i18n=\"feel\">Sentiment (optionnel)<\/label>\n          <input id=\"lv-feeling\" placeholder=\"Je suis tr\u00e8s content et motiv\u00e9.\" \/>\n\n          <label data-i18n=\"bye\">Formule de politesse<\/label>\n          <input id=\"lv-bye\" placeholder=\"\u00c0 bient\u00f4t !\" value=\"\u00c0 bient\u00f4t !\" \/>\n        <\/div>\n      <\/div>\n\n      <hr class=\"sep\">\n\n      <div class=\"panel\">\n        <span class=\"badge\">\ud83c\udfaf <span data-i18n=\"target_label\">Cible<\/span> : <span id=\"lv-target\">80<\/span> <span data-i18n=\"words\">mots<\/span><\/span>\n        <span id=\"lv-wc\" class=\"counter\">0 mot<\/span>\n        <div class=\"row\" style=\"align-items:center\">\n          <label for=\"lv-range\" style=\"font-weight:800\" data-i18n=\"adjust\">Ajuster :<\/label>\n          <input id=\"lv-range\" type=\"range\" min=\"60\" max=\"120\" step=\"5\" value=\"80\" \/>\n        <\/div>\n        <button class=\"btn\" id=\"lv-generate\" data-i18n=\"generate\">\ud83e\udde9 G\u00e9n\u00e9rer<\/button>\n        <button class=\"btn ghost\" id=\"lv-copy\" data-i18n=\"copy\">\ud83d\udccb Copier<\/button>\n        <button class=\"btn success\" id=\"lv-doc\" data-i18n=\"download\">\u2b07\ufe0f T\u00e9l\u00e9charger .doc<\/button>\n        <button class=\"btn reset\" id=\"lv-clear\" data-i18n=\"clear\">\ud83e\uddf9 Effacer<\/button>\n      <\/div>\n      <div id=\"lv-tense1\" class=\"alert\">\u26a0\ufe0f <span data-i18n=\"past_alert1\">Indices du pass\u00e9 d\u00e9tect\u00e9s. Reste au pr\u00e9sent !<\/span><\/div>\n\n      <div class=\"tips\" id=\"lv-tips\">\n        <span class=\"tip\" data-k=\"to\">\u2705 <span data-i18n=\"tip_to\">Salutation<\/span><\/span>\n        <span class=\"tip\" data-k=\"purpose\">\u2705 <span data-i18n=\"tip_purpose\">But<\/span><\/span>\n        <span class=\"tip\" data-k=\"transport\">\u2705 <span data-i18n=\"tip_transport\">Transport<\/span><\/span>\n        <span class=\"tip\" data-k=\"times\">\u2705 <span data-i18n=\"tip_times\">Horaires<\/span><\/span>\n        <span class=\"tip\" data-k=\"activities\">\u2705 <span data-i18n=\"tip_activities\">Activit\u00e9s<\/span><\/span>\n        <span class=\"tip\" data-k=\"bye\">\u2705 <span data-i18n=\"tip_bye\">Cl\u00f4ture<\/span><\/span>\n      <\/div>\n    <\/div>\n\n    <!-- Banque d\u2019expressions : onglets + mod\u00e8les -->\n    <div class=\"card\">\n      <div class=\"bank-head\">\n        <div class=\"bank-title\" data-i18n=\"bank_title\">\ud83e\uddf0 Banque d\u2019expressions<\/div>\n        <input class=\"bank-search\" id=\"lv-search\" type=\"search\" placeholder=\"Rechercher une expression...\" data-i18n-ph=\"search_ph\" \/>\n      <\/div>\n      <div class=\"tabs\" id=\"lv-tabs\">\n        <button class=\"tab active\" data-tab=\"models\" data-i18n=\"tab_models\">Mod\u00e8les<\/button>\n        <button class=\"tab\" data-tab=\"salut\" data-i18n=\"tab_salut\">Salutations<\/button>\n        <button class=\"tab\" data-tab=\"conn\" data-i18n=\"tab_conn\">Connecteurs<\/button>\n        <button class=\"tab\" data-tab=\"trans\" data-i18n=\"tab_trans\">Transport<\/button>\n        <button class=\"tab\" data-tab=\"time\" data-i18n=\"tab_time\">Temps\/Horaires<\/button>\n        <button class=\"tab\" data-tab=\"act\" data-i18n=\"tab_act\">Activit\u00e9s<\/button>\n        <button class=\"tab\" data-tab=\"loge\" data-i18n=\"tab_loge\">H\u00e9bergement<\/button>\n        <button class=\"tab\" data-tab=\"feel\" data-i18n=\"tab_feel\">Sentiments<\/button>\n        <button class=\"tab\" data-tab=\"close\" data-i18n=\"tab_close\">Cl\u00f4tures<\/button>\n      <\/div>\n\n      <div class=\"bank\">\n        <div class=\"bank-group active\" data-tab=\"models\">\n          <div class=\"samples\">\n            <button data-model=\"paris\">\ud83c\uddeb\ud83c\uddf7 Week-end \u00e0 Paris<\/button>\n            <button data-model=\"famille\">\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc67 Voyage en famille<\/button>\n            <button data-model=\"scolaire\">\ud83c\udfeb Voyage scolaire<\/button>\n          <\/div>\n          <small class=\"help\" data-i18n=\"models_help\">Clique pour ins\u00e9rer un mod\u00e8le complet (tu peux le modifier).<\/small>\n        <\/div>\n\n        <div class=\"bank-group\" data-tab=\"salut\"><div class=\"samples\" data-list=\"salut\"><\/div><\/div>\n        <div class=\"bank-group\" data-tab=\"conn\"><div class=\"samples\" data-list=\"conn\"><\/div><\/div>\n        <div class=\"bank-group\" data-tab=\"trans\"><div class=\"samples\" data-list=\"trans\"><\/div><\/div>\n        <div class=\"bank-group\" data-tab=\"time\"><div class=\"samples\" data-list=\"time\"><\/div><\/div>\n        <div class=\"bank-group\" data-tab=\"act\"><div class=\"samples\" data-list=\"act\"><\/div><\/div>\n        <div class=\"bank-group\" data-tab=\"loge\"><div class=\"samples\" data-list=\"loge\"><\/div><\/div>\n        <div class=\"bank-group\" data-tab=\"feel\"><div class=\"samples\" data-list=\"feel\"><\/div><\/div>\n        <div class=\"bank-group\" data-tab=\"close\"><div class=\"samples\" data-list=\"close\"><\/div><\/div>\n      <\/div>\n      <small class=\"help\" data-i18n=\"bank_help\">Astuce : clique un onglet, utilise la recherche, puis clique pour ins\u00e9rer **au curseur**.<\/small>\n    <\/div>\n\n    <div class=\"card\">\n      <label for=\"lv-output\" data-i18n=\"editor_label\">\ud83d\udcdd Lettre (\u00e9ditable)<\/label>\n      <textarea id=\"lv-output\" placeholder=\"La lettre appara\u00eet ici. Tu peux modifier le texte.\" data-i18n-ph=\"editor_ph\"><\/textarea>\n      <footer class=\"note\" data-i18n=\"editor_note\">Compteur de mots, alerte de pass\u00e9 et aper\u00e7u ci-dessous.<\/footer>\n      <div class=\"panel\" style=\"justify-content:space-between;gap:12px;margin-top:8px\">\n        <div><span id=\"lv-wc2\" class=\"counter\">0 mot<\/span><\/div>\n        <div id=\"lv-tense2\" class=\"alert\">\u26a0\ufe0f <span data-i18n=\"past_alert2\">Indices du pass\u00e9 d\u00e9tect\u00e9s. Utilise le pr\u00e9sent.<\/span><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"card\">\n      <strong data-i18n=\"preview_title\">Pr\u00e9visualisation<\/strong>\n      <div id=\"lv-preview\" class=\"preview\">La pr\u00e9visualisation s\u2019affiche ici\u2026<\/div>\n    <\/div>\n  <\/section>\n  <script>document.addEventListener('DOMContentLoaded', function(){\n  const root = document.getElementById('lv_30692'); if(!root) return;\n  const $ = s => root.querySelector(s);\n  const qsa = (s,el=root)=> Array.from(el.querySelectorAll(s));\n  const F = id => root.querySelector('#lv-'+id);\n\n  let currentLang = (root.getAttribute('data-lang')||'fr').toLowerCase();\n  const tipsMode = (root.getAttribute('data-tips')||'on')==='on';\n  let target = parseInt(root.getAttribute('data-target')||'80')||80;\n\n  const BANK = JSON.parse(root.getAttribute('data-bank'));\n  const MODELS = JSON.parse(root.getAttribute('data-models'));\n  const I18N = JSON.parse(root.getAttribute('data-i18n'));\n\n  const fields = ['to','place','purpose','transport','times','activities','with','stay','feeling','bye']\n    .reduce((o,id)=> (o[id]=F(id), o), {});\n  const output = F('output'), preview = F('preview');\n  const wc = F('wc'), wc2 = F('wc2'), range = F('range'), targetBadge = F('target');\n  const alert1 = F('tense1'), alert2 = F('tense2'), langBtn = $('#lv-lang-toggle');\n  const tips = $('#lv-tips');\n\n  \/\/ Remplit les groupes d'expressions\n  qsa('.samples[data-list]').forEach(box=>{\n    const key = box.getAttribute('data-list');\n    (BANK[key]||[]).forEach(txt=>{\n      const b = document.createElement('button');\n      b.type='button'; b.textContent = txt; b.setAttribute('data-ins', txt);\n      box.appendChild(b);\n    });\n  });\n\n  \/\/ i18n\n  function applyI18n(){\n    const t = I18N[currentLang] || I18N.fr;\n    qsa('[data-i18n]').forEach(el=>{\n      const k = el.getAttribute('data-i18n');\n      if(t[k]) el.textContent = t[k];\n    });\n    qsa('[data-i18n-ph]').forEach(el=>{\n      const k = el.getAttribute('data-i18n-ph');\n      if(t[k]) el.setAttribute('placeholder', t[k]);\n    });\n    \/\/ Titre dynamique (pour cible mots)\n    $('[data-i18n=\"title\"]').textContent = currentLang==='fr'\n      ? '\u270d\ufe0f Lettre sur un voyage (A1 \u2022 ~'+target+' mots \u2022 pr\u00e9sent)'\n      : '\u270d\ufe0f Travel letter (A1 \u2022 ~'+target+' words \u2022 present tense)';\n    updateAll(); syncPreview();\n  }\n  langBtn.addEventListener('click', ()=>{ currentLang = (currentLang==='fr'?'en':'fr'); applyI18n(); });\n\n  \/\/ Build letter\n  function buildLetter(){\n    const to = (fields.to.value || 'Bonjour,').trim();\n    const place = (fields.place.value || '').trim();\n    const purpose = (fields.purpose.value || '').trim();\n    const transport = (fields.transport.value || '').trim();\n    const times = (fields.times.value || '').trim();\n    const activities = (fields.activities.value || '').trim();\n    const withwho = (fields.with.value || '').trim();\n    const stay = (fields.stay.value || '').trim();\n    const feeling = (fields.feeling.value || '').trim();\n    const bye = (fields.bye.value || '\u00c0 bient\u00f4t !').trim();\n\n    const lines = [];\n    lines.push(to);\n    if(place) lines.push('Je suis \u00e0 '+place+' et j\u2019\u00e9cris cette lettre.');\n    if(purpose) lines.push(purpose.endsWith('.')?purpose:purpose+'.');\n    if(transport) lines.push(transport+'.');\n    if(times) lines.push(times.endsWith('.')?times:times+'.');\n    if(activities) lines.push(activities.endsWith('.')?activities:activities+'.');\n    if(withwho) lines.push(withwho.endsWith('.')?withwho:withwho+'.');\n    if(stay) lines.push(stay.endsWith('.')?stay:stay+'.');\n    if(feeling) lines.push(feeling.endsWith('.')?feeling:feeling+'.');\n    lines.push(bye);\n    return lines.join(' ').replace(\/\\s+\/g,' ').trim();\n  }\n\n  \/\/ Compteurs & pass\u00e9\n  const wordCount = s => (s||'').trim().split(\/\\s+\/).filter(Boolean).length;\n  function detectPast(s){\n    const txt = (s||'').toLowerCase();\n    const pc = \/(j['\u2019]\\s*ai|tu\\s+as|il\\s+a|elle\\s+a|nous\\s+avons|vous\\s+avez|ils\\s+ont|elles\\s+ont)\\s+\\w+(\u00e9|i|u)\\b\/;\n    const pp = \/\\b(all\u00e9|arriv\u00e9|visit\u00e9|mang\u00e9|pris|vu|fait|\u00e9t\u00e9|eu)\\b\/;\n    const mk = \/\\b(hier|la semaine derni\\w+|le mois dernier|l'ann\u00e9e derni\\w+)\\b\/;\n    return pc.test(txt) || pp.test(txt) || mk.test(txt);\n  }\n  function highlightPastHTML(s){\n    let h = s;\n    const p1 = \/(\\b(j['\u2019]\\s*ai|tu\\s+as|il\\s+a|elle\\s+a|nous\\s+avons|vous\\s+avez|ils\\s+ont|elles\\s+ont)\\s+)(\\w+(?:\u00e9|i|u)\\b)\/gi;\n    const p2 = \/\\b(all\u00e9|arriv\u00e9|visit\u00e9|mang\u00e9|pris|vu|fait|\u00e9t\u00e9|eu)\\b\/gi;\n    const p3 = \/\\b(hier|la semaine derni\\w+|le mois dernier|l'ann\u00e9e derni\\w+)\\b\/gi;\n    h = h.replace(p1, (m,prefix,aux,pp)=> prefix+'<mark class=\"pp\">'+pp+'<\/mark>');\n    h = h.replace(p2, (m)=> '<mark class=\"pp\">'+m+'<\/mark>');\n    h = h.replace(p3, (m)=> '<mark class=\"pp\">'+m+'<\/mark>');\n    return h;\n  }\n\n  function updateCounters(text){\n    const n = wordCount(text);\n    const cls = (n >= target-10 && n <= target+10) ? 'ok' : ((n < target-20 || n > target+20) ? 'bad' : 'warn');\n    F('wc').textContent = n + ' ' + (currentLang==='fr' ? (n>1?'mots':'mot') : (n>1?'words':'word'));\n    F('wc').className = 'counter '+cls;\n    F('wc2').textContent = F('wc').textContent;\n    F('wc2').className = F('wc').className;\n  }\n\n  function updateTips(){\n    if(!tipsMode){ qsa('.tip', tips).forEach(t=>{ t.classList.remove('dim'); }); return; }\n    const map = {\n      to: !!fields.to.value.trim(),\n      purpose: !!fields.purpose.value.trim(),\n      transport: !!fields.transport.value.trim(),\n      times: !!fields.times.value.trim(),\n      activities: !!fields.activities.value.trim(),\n      bye: !!fields.bye.value.trim()\n    };\n    qsa('.tip', tips).forEach(t=>{\n      const k = t.getAttribute('data-k');\n      t.classList.toggle('dim', !map[k]);\n    });\n  }\n\n  function updateAll(){\n    const draft = buildLetter();\n    updateCounters(draft);\n    F('tense1').classList.toggle('show', detectPast(draft));\n    updateTips();\n  }\n  function syncPreview(){\n    const txt = F('output').value;\n    updateCounters(txt);\n    F('tense2').classList.toggle('show', detectPast(txt));\n    F('preview').innerHTML = txt ? highlightPastHTML(txt) : 'La pr\u00e9visualisation s\u2019affiche ici\u2026';\n  }\n\n  \/\/ Actions principales\n  F('generate').addEventListener('click', ()=>{\n    const txt = buildLetter();\n    F('output').value = txt; syncPreview(); F('output').focus();\n  });\n  F('copy').addEventListener('click', ()=>{\n    const text = F('output').value || buildLetter();\n    try { navigator.clipboard.writeText(text).then(()=> alert(currentLang==='fr'?'Texte copi\u00e9 \u2705':'Copied \u2705')); }\n    catch(e){ const ta=document.createElement('textarea'); ta.value=text; document.body.appendChild(ta); ta.select(); document.execCommand('copy'); ta.remove(); alert('OK'); }\n  });\n  F('clear').addEventListener('click', ()=>{\n    ['to','place','purpose','times','activities','with','stay','feeling','bye'].forEach(k=> fields[k].value='');\n    F('output').value=''; F('preview').textContent='La pr\u00e9visualisation s\u2019affiche ici\u2026';\n    F('wc').textContent='0 mot'; F('wc').className='counter'; F('wc2').textContent='0 mot'; F('wc2').className='counter';\n    F('tense1').classList.remove('show'); F('tense2').classList.remove('show');\n    fields.to.value='Bonjour ...,'; fields.bye.value='\u00c0 bient\u00f4t !'; updateTips();\n  });\n  F('doc').addEventListener('click', ()=>{\n    const text = F('output').value || buildLetter();\n    const htmlDoc = '<html><head><meta charset=\"utf-8\"><\/head><body><p style=\"font-family:Calibri,Arial,sans-serif;font-size:12pt;white-space:pre-wrap;color:#000;\">'\n      + text.replace(\/&\/g,'&amp;').replace(\/<\/g,'&lt;').replace(\/>\/g,'&gt;')\n      + '<\/p><\/body><\/html>';\n    const blob = new Blob([htmlDoc], {type:'application\/msword'});\n    const url = URL.createObjectURL(blob);\n    const a=document.createElement('a'); a.href=url; a.download='lettre_voyage.doc'; document.body.appendChild(a); a.click(); a.remove(); URL.revokeObjectURL(url);\n  });\n\n  \/\/ Tabs\n  const tabs = $('#lv-tabs');\n  tabs.addEventListener('click', e=>{\n    const t = e.target.closest('.tab'); if(!t) return;\n    qsa('.tab', tabs).forEach(x=>x.classList.remove('active')); t.classList.add('active');\n    const tab = t.getAttribute('data-tab');\n    qsa('.bank-group').forEach(g=> g.classList.toggle('active', g.getAttribute('data-tab')===tab));\n    F('search').value=''; filterBank('');\n  });\n\n  \/\/ Recherche dans la banque\n  function filterBank(q){\n    const active = root.querySelector('.bank-group.active');\n    if(!active) return;\n    const query = (q||'').toLowerCase().trim();\n    qsa('button[data-ins], button[data-model]', active).forEach(b=>{\n      b.style.display = (!query || b.textContent.toLowerCase().includes(query)) ? '' : 'none';\n    });\n  }\n  F('search').addEventListener('input', function(){ filterBank(this.value); });\n\n  \/\/ Insertion au curseur\n  function insertAtCursor(text){\n    const ta = F('output');\n    const start = ta.selectionStart, end = ta.selectionEnd;\n    const before = ta.value.substring(0,start), after = ta.value.substring(end);\n    const glue = (before && !before.endsWith(' ') && !text.startsWith(' ')) ? ' ' : '';\n    ta.value = before + glue + text + after;\n    const pos = (before+glue+text).length; ta.selectionStart = ta.selectionEnd = pos; ta.focus();\n  }\n\n  \/\/ Boutons d'expressions\n  root.querySelectorAll('.samples button[data-ins]').forEach(b=>{\n    b.addEventListener('click', ()=>{ insertAtCursor(b.getAttribute('data-ins')); syncPreview(); });\n  });\n\n  \/\/ Mod\u00e8les 1-clic\n  root.querySelectorAll('button[data-model]').forEach(b=>{\n    b.addEventListener('click', ()=>{\n      const key = b.getAttribute('data-model');\n      if(MODELS[key]){ F('output').value = MODELS[key]; syncPreview(); }\n    });\n  });\n\n  \/\/ Slider cible\n  targetBadge.textContent = target; range.value = target;\n  range.addEventListener('input', ()=>{ target = parseInt(range.value); targetBadge.textContent = target; applyI18n(); });\n\n  \/\/ Live updates\n  F('output').addEventListener('input', syncPreview);\n  Object.values(fields).forEach(el=>{ el.addEventListener('input', updateAll); el.addEventListener('change', updateAll); });\n\n  \/\/ i18n init\n  applyI18n(); updateAll(); syncPreview();\n});<\/script>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Guide de production \u00e9crite<\/p>\n","protected":false},"author":1,"featured_media":5505,"comment_status":"open","ping_status":"open","sticky":true,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"cybocfi_hide_featured_image":"","footnotes":""},"categories":[102,32],"tags":[97],"class_list":["post-5496","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-comprehension-ecrite","category-niveau-a2","tag-niveau-a2"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u00c9crire une lettre de voyage - MOddou FLE<\/title>\n<meta name=\"description\" content=\"\u00c9crire une lettre de voyage\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.estudiodefrances.com\/?p=5496\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u00c9crire une lettre de voyage - MOddou FLE\" \/>\n<meta property=\"og:description\" content=\"\u00c9crire une lettre de voyage\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.estudiodefrances.com\/?p=5496\" \/>\n<meta property=\"og:site_name\" content=\"MOddou FLE\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/moddouFLE\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-02T13:25:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-04T04:04:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.estudiodefrances.com\/wp-content\/uploads\/lettre-de-voyage.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"1536\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"moddou\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@moddou\" \/>\n<meta name=\"twitter:site\" content=\"@moddou\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"moddou\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/?p=5496#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/?p=5496\"},\"author\":{\"name\":\"moddou\",\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/#\\\/schema\\\/person\\\/88f4b73addd8170d9837c20fc1127e7c\"},\"headline\":\"\u00c9crire une lettre de voyage\",\"datePublished\":\"2025-09-02T13:25:00+00:00\",\"dateModified\":\"2025-09-04T04:04:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/?p=5496\"},\"wordCount\":12,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/?p=5496#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.estudiodefrances.com\\\/wp-content\\\/uploads\\\/lettre-de-voyage.jpg\",\"keywords\":[\"Niveau A2\"],\"articleSection\":[\"compr\u00e9hension \u00e9crite\",\"Niveau A2\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.estudiodefrances.com\\\/?p=5496#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/?p=5496\",\"url\":\"https:\\\/\\\/www.estudiodefrances.com\\\/?p=5496\",\"name\":\"\u00c9crire une lettre de voyage - MOddou FLE\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/?p=5496#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/?p=5496#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.estudiodefrances.com\\\/wp-content\\\/uploads\\\/lettre-de-voyage.jpg\",\"datePublished\":\"2025-09-02T13:25:00+00:00\",\"dateModified\":\"2025-09-04T04:04:45+00:00\",\"description\":\"\u00c9crire une lettre de voyage\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/?p=5496#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.estudiodefrances.com\\\/?p=5496\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/?p=5496#primaryimage\",\"url\":\"https:\\\/\\\/www.estudiodefrances.com\\\/wp-content\\\/uploads\\\/lettre-de-voyage.jpg\",\"contentUrl\":\"https:\\\/\\\/www.estudiodefrances.com\\\/wp-content\\\/uploads\\\/lettre-de-voyage.jpg\",\"width\":1024,\"height\":1536},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/?p=5496#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.estudiodefrances.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u00c9crire une lettre de voyage\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/#website\",\"url\":\"https:\\\/\\\/www.estudiodefrances.com\\\/\",\"name\":\"MOddou FLE\",\"description\":\"Exercices et jeux pour apprendre le fran\u00e7ais\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.estudiodefrances.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/#organization\",\"name\":\"MOddou FLE\",\"url\":\"https:\\\/\\\/www.estudiodefrances.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.estudiodefrances.com\\\/wp-content\\\/uploads\\\/cropped-Capture-de\u0301cran-2013-09-04-a\u0300-00.08.43-1.png\",\"contentUrl\":\"https:\\\/\\\/www.estudiodefrances.com\\\/wp-content\\\/uploads\\\/cropped-Capture-de\u0301cran-2013-09-04-a\u0300-00.08.43-1.png\",\"width\":68,\"height\":79,\"caption\":\"MOddou FLE\"},\"image\":{\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/moddouFLE\\\/\",\"https:\\\/\\\/x.com\\\/moddou\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.estudiodefrances.com\\\/#\\\/schema\\\/person\\\/88f4b73addd8170d9837c20fc1127e7c\",\"name\":\"moddou\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4a3fcfa351701fcac2c15731162f30826ff6dc6290b4ca18e8e3f3b419e885c4?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4a3fcfa351701fcac2c15731162f30826ff6dc6290b4ca18e8e3f3b419e885c4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4a3fcfa351701fcac2c15731162f30826ff6dc6290b4ca18e8e3f3b419e885c4?s=96&d=mm&r=g\",\"caption\":\"moddou\"},\"sameAs\":[\"http:\\\/\\\/www.estudiodefrances.com\"],\"url\":\"https:\\\/\\\/www.estudiodefrances.com\\\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u00c9crire une lettre de voyage - MOddou FLE","description":"\u00c9crire une lettre de voyage","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.estudiodefrances.com\/?p=5496","og_locale":"fr_FR","og_type":"article","og_title":"\u00c9crire une lettre de voyage - MOddou FLE","og_description":"\u00c9crire une lettre de voyage","og_url":"https:\/\/www.estudiodefrances.com\/?p=5496","og_site_name":"MOddou FLE","article_publisher":"https:\/\/www.facebook.com\/moddouFLE\/","article_published_time":"2025-09-02T13:25:00+00:00","article_modified_time":"2025-09-04T04:04:45+00:00","og_image":[{"width":1024,"height":1536,"url":"https:\/\/www.estudiodefrances.com\/wp-content\/uploads\/lettre-de-voyage.jpg","type":"image\/jpeg"}],"author":"moddou","twitter_card":"summary_large_image","twitter_creator":"@moddou","twitter_site":"@moddou","twitter_misc":{"\u00c9crit par":"moddou","Dur\u00e9e de lecture estim\u00e9e":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.estudiodefrances.com\/?p=5496#article","isPartOf":{"@id":"https:\/\/www.estudiodefrances.com\/?p=5496"},"author":{"name":"moddou","@id":"https:\/\/www.estudiodefrances.com\/#\/schema\/person\/88f4b73addd8170d9837c20fc1127e7c"},"headline":"\u00c9crire une lettre de voyage","datePublished":"2025-09-02T13:25:00+00:00","dateModified":"2025-09-04T04:04:45+00:00","mainEntityOfPage":{"@id":"https:\/\/www.estudiodefrances.com\/?p=5496"},"wordCount":12,"commentCount":0,"publisher":{"@id":"https:\/\/www.estudiodefrances.com\/#organization"},"image":{"@id":"https:\/\/www.estudiodefrances.com\/?p=5496#primaryimage"},"thumbnailUrl":"https:\/\/www.estudiodefrances.com\/wp-content\/uploads\/lettre-de-voyage.jpg","keywords":["Niveau A2"],"articleSection":["compr\u00e9hension \u00e9crite","Niveau A2"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.estudiodefrances.com\/?p=5496#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.estudiodefrances.com\/?p=5496","url":"https:\/\/www.estudiodefrances.com\/?p=5496","name":"\u00c9crire une lettre de voyage - MOddou FLE","isPartOf":{"@id":"https:\/\/www.estudiodefrances.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.estudiodefrances.com\/?p=5496#primaryimage"},"image":{"@id":"https:\/\/www.estudiodefrances.com\/?p=5496#primaryimage"},"thumbnailUrl":"https:\/\/www.estudiodefrances.com\/wp-content\/uploads\/lettre-de-voyage.jpg","datePublished":"2025-09-02T13:25:00+00:00","dateModified":"2025-09-04T04:04:45+00:00","description":"\u00c9crire une lettre de voyage","breadcrumb":{"@id":"https:\/\/www.estudiodefrances.com\/?p=5496#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.estudiodefrances.com\/?p=5496"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.estudiodefrances.com\/?p=5496#primaryimage","url":"https:\/\/www.estudiodefrances.com\/wp-content\/uploads\/lettre-de-voyage.jpg","contentUrl":"https:\/\/www.estudiodefrances.com\/wp-content\/uploads\/lettre-de-voyage.jpg","width":1024,"height":1536},{"@type":"BreadcrumbList","@id":"https:\/\/www.estudiodefrances.com\/?p=5496#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.estudiodefrances.com\/"},{"@type":"ListItem","position":2,"name":"\u00c9crire une lettre de voyage"}]},{"@type":"WebSite","@id":"https:\/\/www.estudiodefrances.com\/#website","url":"https:\/\/www.estudiodefrances.com\/","name":"MOddou FLE","description":"Exercices et jeux pour apprendre le fran\u00e7ais","publisher":{"@id":"https:\/\/www.estudiodefrances.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.estudiodefrances.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.estudiodefrances.com\/#organization","name":"MOddou FLE","url":"https:\/\/www.estudiodefrances.com\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.estudiodefrances.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.estudiodefrances.com\/wp-content\/uploads\/cropped-Capture-de\u0301cran-2013-09-04-a\u0300-00.08.43-1.png","contentUrl":"https:\/\/www.estudiodefrances.com\/wp-content\/uploads\/cropped-Capture-de\u0301cran-2013-09-04-a\u0300-00.08.43-1.png","width":68,"height":79,"caption":"MOddou FLE"},"image":{"@id":"https:\/\/www.estudiodefrances.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/moddouFLE\/","https:\/\/x.com\/moddou"]},{"@type":"Person","@id":"https:\/\/www.estudiodefrances.com\/#\/schema\/person\/88f4b73addd8170d9837c20fc1127e7c","name":"moddou","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/4a3fcfa351701fcac2c15731162f30826ff6dc6290b4ca18e8e3f3b419e885c4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/4a3fcfa351701fcac2c15731162f30826ff6dc6290b4ca18e8e3f3b419e885c4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4a3fcfa351701fcac2c15731162f30826ff6dc6290b4ca18e8e3f3b419e885c4?s=96&d=mm&r=g","caption":"moddou"},"sameAs":["http:\/\/www.estudiodefrances.com"],"url":"https:\/\/www.estudiodefrances.com\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/www.estudiodefrances.com\/index.php?rest_route=\/wp\/v2\/posts\/5496","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.estudiodefrances.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.estudiodefrances.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.estudiodefrances.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.estudiodefrances.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5496"}],"version-history":[{"count":8,"href":"https:\/\/www.estudiodefrances.com\/index.php?rest_route=\/wp\/v2\/posts\/5496\/revisions"}],"predecessor-version":[{"id":5509,"href":"https:\/\/www.estudiodefrances.com\/index.php?rest_route=\/wp\/v2\/posts\/5496\/revisions\/5509"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.estudiodefrances.com\/index.php?rest_route=\/wp\/v2\/media\/5505"}],"wp:attachment":[{"href":"https:\/\/www.estudiodefrances.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5496"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.estudiodefrances.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5496"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.estudiodefrances.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5496"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}