# Partie III — Pour l'utilisateur final

# CHAPITRE 16 — Référencement, sitemap et partage social

Avoir un beau contenu est nécessaire ; obtenir une visibilité de Google et des réseaux sociaux est tout aussi important. Le module intègre l'ensemble des outils de référencement de base directement dans l'éditeur, sans extension tierce.

### <span style="color: rgb(35, 111, 161);">Le panneau SEO d'une page</span>

Pour chaque page, vous pouvez personnaliser ses métadonnées de référencement via un panneau dédié dans la barre d'outils.

##### **Accéder au panneau**

1. Ouvrez la page dans l'éditeur.
2. <span style="white-space: pre-wrap;">Dans la barre d'outils centrale, cliquez sur </span>**SEO**.
3. Une fenêtre de 720 pixels de largeur s'ouvre.

##### **Les champs disponibles**

<table id="bkmrk-champdescriptioncibl" style="width: 100%; border-collapse: collapse; margin: 1rem 0px; font-size: 0.95em;"><colgroup><col></col><col></col><col></col></colgroup><tbody><tr style="background: rgb(25, 5, 45); color: rgb(254, 252, 232);"><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Champ

</th><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Description

</th><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Cible

</th></tr><tr><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">**Titre SEO**

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">Le titre affiché dans l'onglet du navigateur et dans les résultats Google.

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">50 à 60 caractères

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">**Meta description**

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">Le texte de présentation sous le titre dans Google.

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">140 à 160 caractères

</td></tr><tr><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">**Mots-clés**

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">Mots-clés séparés par des virgules.

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">Facultatif — peu utilisé par Google moderne

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">**Image Open Graph**

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">Image affichée lorsque la page est partagée sur Facebook, LinkedIn, Twitter, WhatsApp.

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">1200 × 630 px recommandé

</td></tr></tbody></table>

### <span style="color: rgb(35, 111, 161);">L'aperçu Google en direct</span>

En haut de la fenêtre, un aperçu live reproduit l'affichage d'un résultat Google :

- L'URL de la page (en gris).
- Le titre (en bleu).
- La meta description (en gris).

L'aperçu se met à jour à chaque saisie. Vous voyez immédiatement si votre titre est tronqué ou si votre description est trop longue.

**Compteurs colorés —**<span style="white-space: pre-wrap;"> À côté de chaque champ, un compteur indique le nombre de caractères :</span>  
Vert : dans la plage idéale.  
Orange : en dehors de la plage mais acceptable.  
Rouge : trop long, sera tronqué par Google.

### <span style="color: rgb(35, 111, 161);">Choisir l'image Open Graph</span>

1. <span style="white-space: pre-wrap;">Dans la fenêtre SEO, cliquez sur </span>**Choisir une image**.
2. La bibliothèque média s'ouvre.
3. Sélectionnez une image ou téléversez-en une nouvelle.
4. L'image apparaît à droite de l'aperçu Google.

<p class="callout info">**Format idéal —**<span style="white-space: pre-wrap;"> 1200 × 630 px (ratio 1.91:1) pour Facebook et LinkedIn. Format JPG ou PNG. Affichez votre logo et un texte court qui résume la page. Évitez les images de banque génériques.</span></p>

Lorsqu'une image Open Graph est renseignée, le module ajoute automatiquement les balises Open Graph et Twitter Cards dans l'en-tête HTML de la page :

```
<meta property="og:image" content="..." />
<meta property="og:title" content="..." />
<meta property="og:description" content="..." />
<meta name="twitter:card" content="summary_large_image" />
```

### <span style="color: rgb(35, 111, 161);">Enregistrer le SEO</span>

1. Modifiez les champs.
2. <span style="white-space: pre-wrap;">Cliquez sur </span>**Enregistrer**<span style="white-space: pre-wrap;"> en bas de la fenêtre.</span>
3. Le module met à jour la base de données (`<span class="editor-theme-code">llx_website_page</span>`<span style="white-space: pre-wrap;">) et le fichier </span>`<span class="editor-theme-code">tpl.php</span>`<span style="white-space: pre-wrap;"> en synchronisant les balises HTML.</span>
4. L'aperçu se rafraîchit.

<p class="callout info">**Note —**<span style="white-space: pre-wrap;"> Les métadonnées SEO ne suivent pas le cycle de publication des slots. Une fois enregistrées, elles sont visibles publiquement immédiatement.</span></p>

### <span style="color: rgb(35, 111, 161);">Sitemap.xml</span>

Le sitemap est le fichier que Google utilise pour découvrir toutes les pages de votre site. Le module le génère automatiquement à partir de votre liste de pages.

##### **Contenu généré**

- <span style="white-space: pre-wrap;">Toutes les pages au statut </span>**publié**.
- <span style="white-space: pre-wrap;">Les pages au statut </span>**retiré du site**<span style="white-space: pre-wrap;"> sont exclues.</span>
- <span style="white-space: pre-wrap;">Les pages sœurs (autres langues) sont déclarées comme alternates via </span>`<span class="editor-theme-code"><xhtml:link rel="alternate"></span>`.

##### **Régénérer le sitemap**

**Méthode A — Bouton dans l'éditeur**

1. Rendez-vous dans la liste des pages d'un site.
2. <span style="white-space: pre-wrap;">Cliquez sur le bouton </span>**Sitemap**<span style="white-space: pre-wrap;"> en haut.</span>
3. <span style="white-space: pre-wrap;">Le module régénère le fichier </span>`<span class="editor-theme-code">sitemap.xml</span>`<span style="white-space: pre-wrap;"> à la racine du docroot.</span>
4. Une notification confirme l'opération.

**Méthode B — En ligne de commande (administrateurs)**

```
php htdocs/custom/infrasstudio/scripts/generate_sitemap.php <ref-du-site> <entity>
```

Cette méthode convient à une planification quotidienne automatisée.

<p class="callout success">**Recommandé —**<span style="white-space: pre-wrap;"> Soumettez votre sitemap à Google Search Console une seule fois. Google reviendra ensuite le consulter automatiquement à intervalles réguliers.</span></p>

### <span style="color: rgb(35, 111, 161);">Balises hreflang multilingues</span>

<span style="white-space: pre-wrap;">Pour un site multilingue, Google a besoin de savoir quelles pages sont des traductions les unes des autres. C'est le rôle des balises </span>`<span class="editor-theme-code"><link rel="alternate" hreflang="..."></span>`.

Le module génère ces balises automatiquement, à condition que votre développeur ait inclus le helper dans l'en-tête du gabarit :

```
<link rel="alternate" hreflang="fr" href="https://exemple.com/page" />
<link rel="alternate" hreflang="en" href="https://exemple.com/page-en" />
<link rel="alternate" hreflang="de" href="https://exemple.com/page-de" />
<link rel="alternate" hreflang="x-default" href="https://exemple.com/page" />
```

<p class="callout info">**Conseil —**<span style="white-space: pre-wrap;"> Si vous ne voyez pas ces balises sur votre site, demandez à votre développeur d'ajouter </span>`<span class="editor-theme-code"><?php echo infrasstudio_hreflang_tags($website, $page); ?></span>`<span style="white-space: pre-wrap;"> dans l'en-tête de vos gabarits.</span></p>

### <span style="color: rgb(35, 111, 161);">Liste de contrôle SEO par page</span>

**Avant de publier une nouvelle page, vérifiez les points suivants :**

- Le titre SEO compte 50 à 60 caractères et contient le mot-clé principal.
- La meta description compte 140 à 160 caractères et incite au clic.
- L'image Open Graph est définie ; à défaut, le partage social affichera une vignette générique.
- Toutes les images possèdent un texte alternatif (renseigné dans la bibliothèque média).
- <span style="white-space: pre-wrap;">Le H1 (souvent un slot </span>`<span class="editor-theme-code">page_title</span>`) est unique et descriptif.
- L'URL (slug) est en minuscules, sans accents, avec des tirets pour séparer les mots.

### <span style="color: rgb(35, 111, 161);">Outils de mesure du référencement</span>

Le module génère le SEO mais ne le mesure pas. Pour suivre vos résultats, utilisez les outils standards :

- **Google Search Console**<span style="white-space: pre-wrap;"> : permet de découvrir les pages indexées, les requêtes qui génèrent des clics, les erreurs.</span>
- **Google Analytics**<span style="white-space: pre-wrap;"> ou </span>**Matomo**<span style="white-space: pre-wrap;"> : trafic, comportement des visiteurs, conversions.</span>
- **PageSpeed Insights**<span style="white-space: pre-wrap;"> : performance de chargement et indicateurs Core Web Vitals.</span>
- **Outils de test Open Graph**<span style="white-space: pre-wrap;"> : Facebook Sharing Debugger, LinkedIn Post Inspector.</span>

### <span style="color: rgb(35, 111, 161);">Récapitulatif</span>

**Vous savez désormais :**

- Renseigner le titre SEO, la meta description, les mots-clés et l'image Open Graph d'une page.
- Lire l'aperçu Google en direct avec ses compteurs colorés.
- Ajouter une image Open Graph pour un partage social soigné.
- Régénérer le sitemap.xml manuellement ou en ligne de commande.
- Comprendre l'utilité des balises hreflang multilingues.
- Suivre une liste de contrôle SEO complète avant publication.

**Fin de la Partie III —**<span style="white-space: pre-wrap;"> Vous savez désormais utiliser le module au quotidien : modifier le contenu, gérer les médias, publier, traduire, gérer un blog, exploiter un catalogue produit et soigner le référencement. Vous êtes autonome.</span>

La Partie IV s'adresse aux développeurs intégrateurs. Si ce n'est pas votre rôle, vous pouvez passer directement aux Annexes (glossaire, FAQ, historique des versions).

# CHAPITRE 15 — Catalogue produit dynamique

Si votre site présente un catalogue de produits Dolibarr (services, logiciels, abonnements), le module peut générer automatiquement une page web dédiée à chaque produit. Vous ajoutez un produit dans Dolibarr, sa page web est créée sans intervention supplémentaire.

### <span style="color: rgb(35, 111, 161);">Le concept</span>

<span style="white-space: pre-wrap;">Vous disposez probablement déjà de produits dans Dolibarr (table </span>`<span class="editor-theme-code">llx_product</span>`) avec leur fiche commerciale (libellé, description, prix). Sur votre site web, vous souhaitez :

- <span style="white-space: pre-wrap;">Un </span>**catalogue**<span style="white-space: pre-wrap;"> qui répertorie tous les produits actifs.</span>
- <span style="white-space: pre-wrap;">Une </span>**page détaillée par produit**.
- <span style="white-space: pre-wrap;">Une </span>**mise à jour automatique**<span style="white-space: pre-wrap;"> : tout nouveau produit donne une nouvelle page sans intervention manuelle.</span>

<span style="white-space: pre-wrap;">Le module remplit exactement ce besoin. Vous écrivez un seul gabarit de fiche produit (la page </span>`<span class="editor-theme-code">solution-detail</span>`<span style="white-space: pre-wrap;">), et le module génère un wrapper </span>`<span class="editor-theme-code">solution-<ref>.php</span>`<span style="white-space: pre-wrap;"> pour chaque produit publié.</span>

### <span style="color: rgb(35, 111, 161);">Préparer un produit Dolibarr pour le catalogue</span>

Pour qu'un produit apparaisse dans le catalogue web, deux conditions doivent être remplies :

<table id="bkmrk-champvaleur-requises" style="width: 100%; border-collapse: collapse; margin: 1rem 0px; font-size: 0.95em;"><colgroup><col></col><col></col></colgroup><tbody><tr style="background: rgb(25, 5, 45); color: rgb(254, 252, 232);"><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Champ

</th><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Valeur requise

</th></tr><tr><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">**Statut commercialisable**

<span style="white-space: pre-wrap;"> (</span>

`<span class="editor-theme-code">tosell</span>`

)

</td><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">À vendre (= 1)

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">**Publié sur le site**

<span style="white-space: pre-wrap;"> (champ personnalisé </span>

`<span class="editor-theme-code">infrasstudio_published</span>`

)

</td><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">Coché (= 1)

</td></tr></tbody></table>

##### **Trois états possibles pour un produit**

<table id="bkmrk-tosellpublishedvisib" style="width: 100%; border-collapse: collapse; margin: 1rem 0px; font-size: 0.95em;"><colgroup><col></col><col></col><col></col></colgroup><tbody><tr style="background: rgb(25, 5, 45); color: rgb(254, 252, 232);"><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">tosell

</th><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">published

</th><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Visibilité

</th></tr><tr><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">0

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">—

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">Invisible partout (commercial et web)

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">1

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">0

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">Brouillon — modifiable côté Studio mais invisible publiquement

</td></tr><tr style="height: 10px;"><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">1

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">1

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">Publié — la carte apparaît sur le catalogue et la page de détail est servie

</td></tr></tbody></table>

### <span style="color: rgb(35, 111, 161);">Accéder à la section Produits</span>

1. Ouvrez l'éditeur Studio.
2. <span style="white-space: pre-wrap;">Dans la colonne de gauche, cliquez sur l'onglet </span>**Produits**.
3. La liste de tous vos produits commercialisables s'affiche.

Pour chaque produit, vous voyez :

- Sa référence et son libellé.
- Son type (SaaS, Extension, Application instantanée, etc.).
- Son statut : publié (vert) ou brouillon (orange).

### <span style="color: rgb(35, 111, 161);">Modifier un produit</span>

1. Cliquez sur un produit dans la liste.
2. <span style="white-space: pre-wrap;">L'aperçu central charge la page </span>`<span class="editor-theme-code">solution-detail</span>`<span style="white-space: pre-wrap;"> avec ce produit.</span>
3. L'inspecteur à droite affiche les champs natifs Dolibarr et les champs personnalisés.

##### **Champs modifiables**

<table id="bkmrk-cat%C3%A9goriechampschamp" style="width: 100%; border-collapse: collapse; margin: 1rem 0px; font-size: 0.95em;"><colgroup><col></col><col></col></colgroup><tbody><tr style="background: rgb(25, 5, 45); color: rgb(254, 252, 232);"><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Catégorie

</th><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Champs

</th></tr><tr><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">**Champs natifs Dolibarr (traduisibles)**

</td><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">libellé, description (texte riche)

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">**Champs personnalisés traduisibles**

</td><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">accroche, libellé du bouton, déploiement, compatibilité, support, langues, fonctionnalités, paliers tarifaires

</td></tr><tr><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">**Champs personnalisés non traduisibles**

</td><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">image principale, URL du bouton, étiquette

</td></tr></tbody></table>

##### **Modifier un champ**

1. Cliquez sur le champ dans l'inspecteur, ou directement sur l'élément correspondant dans l'aperçu central.
2. <span style="white-space: pre-wrap;">L'inspecteur passe en mode édition avec un bouton </span>**← Retour**.
3. Modifiez la valeur.
4. <span style="white-space: pre-wrap;">Pour les champs traduisibles, dépliez la section </span>**Autres langues**.
5. <span style="white-space: pre-wrap;">Cliquez sur </span>**Enregistrer**<span style="white-space: pre-wrap;"> en bas du panneau. Le compteur indique le nombre de champs modifiés en attente.</span>
6. L'aperçu se rafraîchit.

<p class="callout info">**Conseil —**<span style="white-space: pre-wrap;"> Pour les produits, l'enregistrement automatique n'est pas activé : vous cliquez sur « Enregistrer » manuellement. Ce choix est délibéré, les champs Dolibarr étant plus sensibles, car directement liés à votre fiche produit commerciale.</span></p>

### <span style="color: rgb(35, 111, 161);">Publier ou retirer un produit</span>

1. Sélectionnez le produit dans la liste.
2. <span style="white-space: pre-wrap;">Dans la barre d'outils centrale, cliquez sur </span>**Publier**<span style="white-space: pre-wrap;"> (ou </span>**Dépublier**<span style="white-space: pre-wrap;"> si déjà publié).</span>
3. <span style="white-space: pre-wrap;">Le module modifie le champ personnalisé </span>`<span class="editor-theme-code">infrasstudio_published</span>`<span style="white-space: pre-wrap;"> à 1 (ou 0).</span>
4. <span style="white-space: pre-wrap;">Il déclenche ensuite la régénération automatique des wrappers </span>`<span class="editor-theme-code">solution-<ref>.php</span>`.
5. Une notification verte confirme l'opération.

<p class="callout success">**Effet de la publication —**<span style="white-space: pre-wrap;"> Le wrapper </span>`<span class="editor-theme-code">/var/www/<site>/solution-<ref>.php</span>`<span style="white-space: pre-wrap;"> est créé. La carte du produit apparaît sur le catalogue. La page de détail est accessible via </span>`<span class="editor-theme-code">/solution-<ref>.php</span>`.</p>

<p class="callout success">**Effet de la dépublication —**<span style="white-space: pre-wrap;"> Le wrapper est supprimé. Tout visiteur tentant d'accéder à l'URL reçoit une erreur 404. La carte disparaît du catalogue.</span></p>

### <span style="color: rgb(35, 111, 161);">Régénérer les wrappers manuellement</span>

Si une désynchronisation est suspectée — par exemple un produit modifié récemment qui n'affiche pas la bonne version — deux options sont disponibles.

##### **Bouton dans la barre d'outils**

1. <span style="white-space: pre-wrap;">Sur la fiche produit, cliquez sur l'icône </span>**Régénérer wrapper**<span style="white-space: pre-wrap;"> (icône de synchronisation).</span>
2. Le module reconstruit le wrapper de ce produit.

##### **Bouton « Reconstruire maintenant » (administrateur)**

1. Rendez-vous dans Outils → InfraSStudio → Configuration.
2. <span style="white-space: pre-wrap;">Repérez la section </span>**Wrappers solution**.
3. <span style="white-space: pre-wrap;">Cliquez sur </span>**Reconstruire maintenant**.
4. L'ensemble des wrappers est régénéré en une seule opération.

<p class="callout info">**Note —**<span style="white-space: pre-wrap;"> Une tâche planifiée toutes les heures régénère les wrappers en arrière-plan. En cas d'oubli ou d'incident temporaire, l'état est rétabli au plus tard une heure après.</span></p>

### <span style="color: rgb(35, 111, 161);">La page de catalogue</span>

<span style="white-space: pre-wrap;">La page de catalogue (généralement </span>`<span class="editor-theme-code">/catalogue.php</span>`) liste tous les produits publiés sous forme de cartes. Chaque carte présente :

- L'image principale du produit.
- Une étiquette éventuelle (« Nouveau », « Promotion », etc.).
- Le libellé.
- L'accroche.
- La catégorie ou l'univers, déduits des catégories Dolibarr.
- Un lien vers la page de détail.

Les visiteurs peuvent filtrer le catalogue par univers (Supply Chain, Health, Legal, etc.) et par type (SaaS, Extension, Instant). Les filtres sont en JavaScript et instantanés.

### <span style="color: rgb(35, 111, 161);">Lien direct depuis Dolibarr</span>

<span style="white-space: pre-wrap;">Sur la fiche produit du Studio, un bouton </span>**Voir public**<span style="white-space: pre-wrap;"> ouvre la page solution publique dans un nouvel onglet. Un autre bouton </span>**Voir la fiche Dolibarr**<span style="white-space: pre-wrap;"> ouvre la fiche produit native.</span>

**Aller-retour fluide —**<span style="white-space: pre-wrap;"> Vous pouvez naviguer entre la fiche commerciale Dolibarr et l'éditeur web Studio sans interrompre votre flux de travail.</span>

### <span style="color: rgb(35, 111, 161);">Récapitulatif</span>

**Vous savez désormais :**

- Comprendre qu'une page web est générée automatiquement par produit publié.
- Préparer un produit (tosell=1, infrasstudio\_published=1).
- Modifier les champs natifs et personnalisés depuis le Studio.
- Distinguer les champs traduisibles des champs non traduisibles.
- Publier ou dépublier un produit, ce qui pilote son wrapper et sa carte sur le catalogue.
- Régénérer manuellement un wrapper en cas de désynchronisation.
- Comprendre que le catalogue se filtre côté visiteur sans rechargement.

Le dernier chapitre de la Partie III aborde le référencement.

# CHAPITRE 14 — Gérer les articles de blog

Le blog géré par le module repose sur les pages standard du module Website. Aucune table dédiée, aucun système parallèle : un article correspond à une page web. L'ensemble de ce que vous savez déjà s'applique, avec quelques raccourcis ergonomiques supplémentaires.

### <span style="color: rgb(35, 111, 161);">Comprendre l'architecture du blog</span>

<table id="bkmrk-%C3%89l%C3%A9mentdescriptionar" style="width: 100%; border-collapse: collapse; margin: 1rem 0px; font-size: 0.95em;"><colgroup><col></col><col></col></colgroup><tbody><tr style="background: rgb(25, 5, 45); color: rgb(254, 252, 232);"><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Élément

</th><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Description

</th></tr><tr><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">**Article**

</td><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);"><span style="white-space: pre-wrap;">Une page Dolibarr Website portant le type </span>

`<span class="editor-theme-code">blogpost</span>`

.

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">**Page d'index**

</td><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">Une page standard (par exemple « Ressources » ou « Blog ») qui liste les articles publiés.

</td></tr><tr><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">**Multilingue**

</td><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">Un article correspond à une page, qui correspond à un fichier PHP. Les traductions vivent dans les surcharges de slots, comme pour toute page.

</td></tr></tbody></table>

### <span style="color: rgb(35, 111, 161);">Créer un nouvel article</span>

L'assistant de création est contextuel : il s'active automatiquement lorsque vous êtes sur la page d'index du blog désignée par votre administrateur.

##### **Procédure**

1. <span style="white-space: pre-wrap;">Ouvrez la page d'index du blog (par exemple </span>`<span class="editor-theme-code">/ressources</span>`).
2. <span style="white-space: pre-wrap;">Le bouton de la barre latérale devient </span>**+ Nouvel article**<span style="white-space: pre-wrap;"> (au lieu de « + Nouvelle page »).</span>
3. Cliquez sur ce bouton.
4. Une fenêtre s'ouvre avec trois champs :
    - **Titre**<span style="white-space: pre-wrap;"> : il deviendra le H1 et le titre SEO. Il pré-remplit le slot </span>`<span class="editor-theme-code">post_title</span>`.
    - **Slug**<span style="white-space: pre-wrap;"> : généré automatiquement à partir du titre, préfixé par </span>`<span class="editor-theme-code">blog-</span>`. Vous pouvez le modifier.
    - **Catégorie**<span style="white-space: pre-wrap;"> : la rubrique de l'article (par exemple transformation digitale, juridique). Elle pré-remplit le slot </span>`<span class="editor-theme-code">post_category</span>`.
5. <span style="white-space: pre-wrap;">Cliquez sur </span>**Créer l'article**.
6. <span style="white-space: pre-wrap;">Une nouvelle page </span>`<span class="editor-theme-code">blog-mon-titre</span>`<span style="white-space: pre-wrap;"> est créée à partir du gabarit blog du site.</span>
7. Vous êtes automatiquement redirigé vers l'éditeur de cette nouvelle page.

<p class="callout success">**Effet automatique —**<span style="white-space: pre-wrap;"> Le module crée la page Dolibarr, le fichier </span>`<span class="editor-theme-code">tpl.php</span>`<span style="white-space: pre-wrap;">, le wrapper Apache </span>`<span class="editor-theme-code">blog-mon-titre.php</span>`<span style="white-space: pre-wrap;"> et pré-remplit les slots </span>`<span class="editor-theme-code">post_title</span>`<span style="white-space: pre-wrap;"> et </span>`<span class="editor-theme-code">post_category</span>`.</p>

### <span style="color: rgb(35, 111, 161);">Anatomie d'un article</span>

Un article créé depuis le gabarit standard contient les slots suivants :

<table id="bkmrk-slottyper%C3%B4lepost_tit" style="width: 100%; border-collapse: collapse; margin: 1rem 0px; font-size: 0.95em;"><colgroup><col></col><col></col><col></col></colgroup><tbody><tr style="background: rgb(25, 5, 45); color: rgb(254, 252, 232);"><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Slot

</th><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Type

</th><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Rôle

</th></tr><tr><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">post_title</span>`

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">texte court

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">H1 et titre SEO de l'article

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">post_meta_description</span>`

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">texte court

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">Meta description SEO (150-160 caractères)

</td></tr><tr><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">post_category</span>`

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">texte court

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">Rubrique affichée en pastille au-dessus du titre

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">post_lead</span>`

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">texte long

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">Chapeau ou accroche en italique sous le titre

</td></tr><tr><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">post_hero_image</span>`

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">image

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">Image principale en pleine largeur en haut de l'article

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">post_body</span>`

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">texte riche

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">Le corps de l'article (éditeur visuel complet)

</td></tr><tr><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">post_secondary_image</span>`

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">image

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">Image illustrative facultative dans le corps

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">`<span class="editor-theme-code">post_secondary_alt</span>`

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">texte court

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">Texte alternatif de l'image secondaire

</td></tr></tbody></table>

<p class="callout info">**Note —**<span style="white-space: pre-wrap;"> La date d'un article n'est pas un slot. Elle est lue automatiquement depuis la base Dolibarr (date de modification, sinon date de création). Vous n'avez pas à la saisir.</span></p>

### <span style="color: rgb(35, 111, 161);">Date et auteur d'un article</span>

La date affichée publiquement suit cette cascade :

1. La date de modification de la page (la plus récente).
2. La date de création si la page n'a jamais été modifiée.

Vous n'avez rien à saisir : à chaque publication d'une modification, la date est mise à jour automatiquement. C'est le comportement standard d'un blog.

<p class="callout info">**Conseil —**<span style="white-space: pre-wrap;"> Pour antidater un article, demandez à votre administrateur Dolibarr de modifier </span>`<span class="editor-theme-code">llx_website_page.date_creation</span>`<span style="white-space: pre-wrap;"> en SQL. Aucune interface dédiée n'est prévue, par souci de simplicité.</span></p>

<span style="white-space: pre-wrap;">L'auteur affiché est généralement géré par un slot dans le gabarit du site (par exemple </span>`<span class="editor-theme-code">post_author</span>`).

### <span style="color: rgb(35, 111, 161);">La page d'index avec son listing automatique</span>

La page d'index du blog (« Ressources », « Blog », etc.) ne nécessite aucune édition manuelle pour ajouter un nouvel article : la liste se met à jour automatiquement.

Lorsque vous publiez un nouvel article :

1. <span style="white-space: pre-wrap;">Le module détecte la nouvelle page de type </span>`<span class="editor-theme-code">blogpost</span>`<span style="white-space: pre-wrap;"> au statut publié.</span>
2. Au prochain rendu de la page d'index, l'article apparaît dans la grille.
3. Image principale, titre, catégorie, accroche, date : tout est lu depuis les slots de l'article.

<p class="callout success">**Conséquence —**<span style="white-space: pre-wrap;"> Vous ne touchez jamais à la page d'index. Vous publiez vos articles. Le listing se met à jour de lui-même.</span></p>

### <span style="color: rgb(35, 111, 161);">La section « À lire également »</span>

Sous chaque article, une section affiche trois articles aléatoires (autres que celui qui est consulté). Aucune configuration n'est nécessaire : la sélection est effectuée par le module à chaque rendu.

### <span style="color: rgb(35, 111, 161);">Modifier un article existant</span>

1. Ouvrez l'éditeur Studio.
2. <span style="white-space: pre-wrap;">Dans la colonne de gauche, dépliez le groupe </span>**blogpost**.
3. Cliquez sur l'article à modifier.
4. L'aperçu se charge. Modifiez les slots normalement (clic dans l'aperçu, inspecteur, etc.).
5. Publiez lorsque vous êtes prêt.

### <span style="color: rgb(35, 111, 161);">Dupliquer un article</span>

Cette fonction est utile pour réutiliser une structure existante :

1. Ouvrez l'article modèle.
2. <span style="white-space: pre-wrap;">Cliquez sur </span>**Dupliquer**<span style="white-space: pre-wrap;"> dans la barre d'outils.</span>
3. <span style="white-space: pre-wrap;">Une fenêtre demande le nouveau slug (préfixé </span>`<span class="editor-theme-code">blog-</span>`) et le nouveau titre.
4. Confirmez.
5. Le module crée la copie avec tous les slots clonés (canonique et traductions).
6. Vous êtes redirigé vers le nouvel article pour le personnaliser.

### <span style="color: rgb(35, 111, 161);">Supprimer un article</span>

**Réservé aux administrateurs —**<span style="white-space: pre-wrap;"> Le bouton « Supprimer » de la barre d'outils n'est visible qu'avec la permission </span>`<span class="editor-theme-code">admin</span>`<span style="white-space: pre-wrap;">. Une confirmation est demandée. La suppression est irréversible : la page Dolibarr, ses slots, son fichier </span>`<span class="editor-theme-code">tpl.php</span>`<span style="white-space: pre-wrap;"> et son wrapper Apache disparaissent définitivement.</span>

**Alternative —**<span style="white-space: pre-wrap;"> Plutôt que de supprimer, utilisez </span>**Retirer du site**. L'article sort du listing public mais reste consultable depuis l'éditeur. Vous pouvez le remettre en ligne plus tard.

### <span style="color: rgb(25, 5, 45);">Récapitulatif</span>

**Vous savez désormais :**

- Comprendre qu'un article correspond à une page Dolibarr Website.
- Créer un nouvel article via l'assistant contextuel sur la page d'index.
- Renseigner les huit slots du gabarit blog standard.
- Comprendre la datation automatique de l'article.
- Constater que le listing se met à jour de lui-même.
- Modifier, dupliquer, retirer ou supprimer un article.

Le chapitre suivant présente le catalogue produit dynamique.

# CHAPITRE 13 — Travailler en plusieurs langues

Si votre site existe en plusieurs langues, ce chapitre vous concerne. Le module est multilingue dès la création du premier slot. Aucune duplication de page n'est nécessaire : une seule page, plusieurs traductions.

### <span style="color: rgb(35, 111, 161);">Le modèle multilingue</span>

Le module repose sur le modèle « une page, plusieurs traductions » :

<table id="bkmrk-conceptdescriptionla" style="width: 100%; border-collapse: collapse; margin: 1rem 0px; font-size: 0.95em;"><colgroup><col></col><col></col></colgroup><tbody><tr style="background: rgb(25, 5, 45); color: rgb(254, 252, 232);"><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Concept

</th><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Description

</th></tr><tr><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">**Langue canonique**

</td><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">La langue principale du site (généralement le français). C'est la valeur de référence.

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">**Langues secondaires**

</td><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">Les autres langues activées sur le site. Chaque slot peut disposer d'une surcharge spécifique pour chacune d'elles.

</td></tr><tr><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">**Valeur par défaut**

</td><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">Définie par le développeur dans le HTML. Sert de filet de sécurité ultime.

</td></tr></tbody></table>

##### **L'ordre de résolution au rendu**

Lorsqu'un visiteur consulte votre site en allemand, le module recherche la valeur d'un slot dans cet ordre :

1. La surcharge dans la langue du visiteur (de\_DE).
2. La valeur canonique (FR par défaut).
3. La valeur par défaut définie dans le code par le développeur.

<p class="callout info">**Conséquence rassurante —**<span style="white-space: pre-wrap;"> Si vous omettez de traduire un slot en allemand, le visiteur voit la version française. Aucune page cassée, aucun texte vide.</span></p>

### <span style="color: rgb(25, 5, 45);">Activer une langue sur votre site</span>

Cette opération s'effectue une fois pour toutes, par le développeur ou l'administrateur, dans le module Website Dolibarr :

1. Rendez-vous dans Accueil → Sites web.
2. Sélectionnez votre site.
3. <span style="white-space: pre-wrap;">Cliquez sur l'onglet </span>**Configuration**.
4. <span style="white-space: pre-wrap;">Dans le champ </span>**Autres langues**<span style="white-space: pre-wrap;">, ajoutez les codes ISO (par exemple </span>`<span class="editor-theme-code">en_US,de_DE,es_ES</span>`).
5. Enregistrez.

<span style="white-space: pre-wrap;">Les langues disponibles correspondent à votre installation Dolibarr (environ 118 langues nativement). Les plus courantes sont : </span>`<span class="editor-theme-code">fr_FR</span>`<span style="white-space: pre-wrap;">, </span>`<span class="editor-theme-code">en_US</span>`<span style="white-space: pre-wrap;">, </span>`<span class="editor-theme-code">de_DE</span>`<span style="white-space: pre-wrap;">, </span>`<span class="editor-theme-code">es_ES</span>`<span style="white-space: pre-wrap;">, </span>`<span class="editor-theme-code">it_IT</span>`<span style="white-space: pre-wrap;">, </span>`<span class="editor-theme-code">pt_PT</span>`<span style="white-space: pre-wrap;">, </span>`<span class="editor-theme-code">nl_NL</span>`<span style="white-space: pre-wrap;">, </span>`<span class="editor-theme-code">pl_PL</span>`.

### <span style="color: rgb(35, 111, 161);">Basculer entre les langues dans l'éditeur</span>

Au-dessus de l'aperçu central, une rangée d'onglets accompagnés de drapeaux représente les langues activées. Le drapeau actif est mis en valeur visuellement.

1. Cliquez sur le drapeau d'une autre langue (par exemple anglais).
2. L'aperçu se recharge dans cette langue.
3. Si vous avez déjà saisi des traductions, elles s'affichent.
4. Sinon, l'aperçu présente la version canonique (français).

<p class="callout info">**Conseil —**<span style="white-space: pre-wrap;"> Ouvrez deux onglets de votre navigateur côte à côte, l'un en français et l'autre en anglais. Vous visualisez en temps réel l'effet de vos traductions sur les deux versions.</span></p>

### <span style="color: rgb(35, 111, 161);">Traduire un slot — méthode rapide</span>

La méthode la plus naturelle consiste à rester focalisé sur la langue affichée :

1. Cliquez sur l'onglet de la langue cible (par exemple anglais).
2. Cliquez sur le texte à traduire dans l'aperçu.
3. L'inspecteur s'ouvre. Le champ principal est prêt à recevoir la traduction.
4. Saisissez la traduction.
5. L'enregistrement automatique l'enregistre comme surcharge pour cette langue.

L'aperçu se met à jour. Pour vérifier que vous n'avez pas écrasé la version française, basculez sur l'onglet français : le texte original doit toujours s'y trouver.

### <span style="color: rgb(35, 111, 161);">Traduire un slot — méthode toutes-langues</span>

Pour saisir d'un coup les traductions dans toutes les langues, sans changer d'onglet :

1. Sélectionnez un slot.
2. <span style="white-space: pre-wrap;">Dans l'inspecteur, dépliez la section </span>**Autres langues**.
3. Vous voyez un champ par langue, avec un drapeau en préfixe.
4. Saisissez chaque traduction.
5. L'enregistrement automatique s'effectue à chaque champ.

<p class="callout info">**Conseil —**<span style="white-space: pre-wrap;"> Cette vue est idéale pour un traducteur professionnel à qui vous donnez accès au Studio avec la seule permission </span>`<span class="editor-theme-code">editTranslations</span>`.</p>

### <span style="color: rgb(35, 111, 161);">Indicateurs visuels de surcharge</span>

Comment savoir d'un coup d'œil quels slots sont traduits et lesquels ne le sont pas ?

##### **Sur les onglets de langue**

L'onglet de la langue actuellement affichée comporte un point coloré si la valeur est une surcharge (différente du canonique). Sur le canonique, aucun point n'est affiché.

##### <span style="color: rgb(22, 145, 121);">Dans la section « Autres langues »</span>

Chaque champ de langue affiche un repère à droite :

<table id="bkmrk-rep%C3%A8resignifications" style="width: 100%; border-collapse: collapse; margin: 1rem 0px; font-size: 0.95em;"><colgroup><col></col><col></col></colgroup><tbody><tr style="background: rgb(25, 5, 45); color: rgb(254, 252, 232);"><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Repère

</th><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Signification

</th></tr><tr><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">**surcharge**

<span style="white-space: pre-wrap;"> (vert)</span>

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">Vous avez saisi une traduction spécifique pour cette langue.

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">**hérite FR**

<span style="white-space: pre-wrap;"> (gris)</span>

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">Aucune traduction. Le visiteur voit la valeur canonique.

</td></tr></tbody></table>

### <span style="color: rgb(35, 111, 161);">Revenir à la valeur canonique</span>

Vous avez traduit un slot mais souhaitez finalement que la langue concernée réutilise la valeur française :

1. Sélectionnez le slot.
2. Dans la section « Autres langues », repérez la langue concernée.
3. <span style="white-space: pre-wrap;">Cliquez sur le bouton </span>**Retour au FR**<span style="white-space: pre-wrap;"> à droite du champ. Il n'apparaît que si une surcharge existe.</span>
4. La surcharge est supprimée. Le visiteur de cette langue verra à nouveau la valeur canonique.

<p class="callout info">**Conseil —**<span style="white-space: pre-wrap;"> Si vous saisissez dans un champ surcharge la même valeur que le canonique, le module supprime automatiquement la surcharge. Cela évite un enregistrement redondant.</span></p>

### <span style="color: rgb(35, 111, 161);">Traductions des fiches produit</span>

Les fiches produit Dolibarr disposent de leur propre éditeur de traductions, distinct de l'éditeur de slots. Pour y accéder :

1. <span style="white-space: pre-wrap;">Tableau de bord du Studio → carte </span>**Traductions produits**.
2. Vous arrivez sur une page à deux colonnes.
3. À gauche, la liste des produits commercialisables.
4. À droite, l'éditeur avec onglets de langue.

##### **Champs traduisibles**

<table id="bkmrk-cat%C3%A9goriechampschamp" style="width: 100%; border-collapse: collapse; margin: 1rem 0px; font-size: 0.95em;"><colgroup><col></col><col></col></colgroup><tbody><tr style="background: rgb(25, 5, 45); color: rgb(254, 252, 232);"><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Catégorie

</th><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Champs

</th></tr><tr><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">**Champs natifs Dolibarr**

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">libellé, description

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">**Champs personnalisés traduisibles**

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">accroche, libellé du bouton, déploiement, compatibilité, support, langues, fonctionnalités, paliers tarifaires

</td></tr><tr><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">**Champs non traduisibles**

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">image principale, URL du bouton, étiquette (ces valeurs sont universelles)

</td></tr></tbody></table>

<p class="callout success">**Synchronisation native —**<span style="white-space: pre-wrap;"> Les modifications effectuées depuis le Studio sont visibles instantanément dans la fiche produit Dolibarr et dans son onglet Traductions natif. Et inversement.</span></p>

### <span style="color: rgb(35, 111, 161);">Récapitulatif</span>

**Vous savez désormais :**

- Comprendre l'ordre de résolution (surcharge → canonique → défaut).
- Basculer entre les langues via les onglets dotés de drapeaux.
- Traduire un slot en mode rapide (par langue) ou tous-langues simultanément.
- Lire les indicateurs de surcharge.
- Revenir à la valeur canonique avec « Retour au FR ».
- Éditer les traductions des fiches produit.

Le chapitre suivant aborde la gestion du blog.

# CHAPITRE 12 — Brouillon, publication et versions

Tout ce que vous saisissez n'est pas immédiatement visible publiquement. Le module utilise un système de brouillons qui vous permet de préparer plusieurs modifications, de les relire, puis de les publier en une seule opération. Ce chapitre détaille ce mécanisme.

### <span style="color: rgb(35, 111, 161);">La distinction essentielle entre brouillon et publication</span>

<table id="bkmrk-%C3%89tatvisibilit%C3%A9brouil" style="width: 100%; border-collapse: collapse; margin: 1rem 0px; font-size: 0.95em;"><colgroup><col></col><col></col></colgroup><tbody><tr style="background: rgb(25, 5, 45); color: rgb(254, 252, 232);"><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">État

</th><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Visibilité

</th></tr><tr><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">**Brouillon**

</td><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">Visible uniquement dans l'éditeur Studio (aperçu central). Les visiteurs du site continuent à voir l'ancienne version.

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">**Publié**

</td><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">Visible publiquement. Les visiteurs voient la nouvelle version dès la publication.

</td></tr></tbody></table>

<p class="callout info">**Note —**<span style="white-space: pre-wrap;"> Le module stocke deux valeurs par slot : </span>`<span class="editor-theme-code">value</span>`<span style="white-space: pre-wrap;"> (la valeur publique) et </span>`<span class="editor-theme-code">value_draft</span>`<span style="white-space: pre-wrap;"> (le brouillon). L'aperçu Studio lit en priorité </span>`<span class="editor-theme-code">value_draft</span>`<span style="white-space: pre-wrap;">. Le rendu public lit uniquement </span>`<span class="editor-theme-code">value</span>`.</p>

### <span style="color: rgb(35, 111, 161);">Repérer ses brouillons en attente</span>

Plusieurs indicateurs visuels signalent la présence de brouillons non publiés.

##### **Sur la liste des pages (colonne de gauche)**

Une pastille orange à côté du titre de la page indique qu'elle contient au moins un brouillon non publié.

##### **Sur la barre d'outils de l'éditeur**

<span style="white-space: pre-wrap;">Le bouton </span>**Publier les modifications**<span style="white-space: pre-wrap;"> apparaît avec un compteur numérique précisant le nombre de brouillons :</span>

- Aucun brouillon : le bouton est masqué.
- Un ou plusieurs brouillons : le bouton est visible avec le compteur (par exemple « Publier les modifications (3) »).

##### **Sur l'inspecteur**

Un slot avec un brouillon en cours porte un repère orange « modifié » à côté de son libellé.

##### **Sur l'aperçu central**

<span style="white-space: pre-wrap;">L'aperçu présente toujours la version brouillon. Pour voir exactement ce que verrait un visiteur, cliquez sur </span>**Voir public**<span style="white-space: pre-wrap;"> dans la barre d'outils, ce qui ouvre la page dans un nouvel onglet.</span>

### <span style="color: rgb(35, 111, 161);">Publier les modifications</span>

Lorsque vous êtes satisfait de votre brouillon :

1. <span style="white-space: pre-wrap;">Cliquez sur </span>**Publier les modifications**<span style="white-space: pre-wrap;"> en haut à droite de la barre d'outils.</span>
2. Une boîte de confirmation s'affiche : « Publier les N modifications de cette page ? »
3. <span style="white-space: pre-wrap;">Cliquez sur </span>**Confirmer**.
4. Une notification verte « Modifications publiées » apparaît en bas à droite.
5. L'aperçu reste identique, puisque la version brouillon est devenue la version publique.
6. Le compteur numérique disparaît, ainsi que la pastille orange dans la barre latérale.

<p class="callout success">**Effet immédiat —**<span style="white-space: pre-wrap;"> Les visiteurs qui ouvrent la page après votre publication voient la nouvelle version. Aucun délai, aucun cache à vider.</span></p>

<p class="callout info">**Conseil —**<span style="white-space: pre-wrap;"> Préparez plusieurs modifications avant de publier. Le bouton publie l'ensemble des brouillons en une seule fois, ce qui évite que les visiteurs voient des versions intermédiaires.</span></p>

### <span style="color: rgb(35, 111, 161);">Annuler les modifications en attente</span>

Si vous changez d'avis et souhaitez tout abandonner pour revenir à la version actuelle du site :

1. <span style="white-space: pre-wrap;">Cliquez sur </span>**Annuler les modifications**<span style="white-space: pre-wrap;"> dans la barre d'outils, à côté de « Publier ».</span>
2. Une boîte de confirmation s'affiche : « Annuler les N modifications de cette page ? Cette action est irréversible. »
3. <span style="white-space: pre-wrap;">Cliquez sur </span>**Confirmer**.
4. L'ensemble des brouillons est supprimé.
5. L'aperçu se met à jour avec la version publique.

<p class="callout warning">**Avertissement —**<span style="white-space: pre-wrap;"> Une fois confirmée, l'annulation efface définitivement vos brouillons. Aucune récupération n'est possible.</span></p>

### <span style="color: rgb(35, 111, 161);">Mettre en ligne ou retirer du site (statut de la page)</span>

Cette fonction ne doit pas être confondue avec « Publier les modifications ». Le bouton agit ici sur la visibilité de la page elle-même, non sur ses contenus.

<table id="bkmrk-boutoneffetpublier-l" style="width: 100%; border-collapse: collapse; margin: 1rem 0px; font-size: 0.95em;"><colgroup><col></col><col></col></colgroup><tbody><tr style="background: rgb(25, 5, 45); color: rgb(254, 252, 232);"><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Bouton

</th><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Effet

</th></tr><tr><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">**Publier les modifications**

</td><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">Bascule les brouillons des slots vers les valeurs publiques. Concerne le contenu de la page.

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">**Mettre en ligne ou Retirer du site**

</td><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">Bascule la visibilité de la page. Une page « Retirée du site » renvoie une erreur 404 ; le wrapper Apache est supprimé.

</td></tr></tbody></table>

##### **Cas d'usage de « Retirer du site »**

- Vous préparez une nouvelle page qui ne doit pas être publique tant que tous ses contenus ne sont pas finalisés.
- Vous souhaitez désactiver une promotion expirée tout en conservant la page pour une réactivation future.
- Une ancienne page que vous ne voulez plus rendre accessible mais que vous préférez conserver dans la base.

<p class="callout success">**Effet de « Mettre en ligne » —**<span style="white-space: pre-wrap;"> Le wrapper Apache </span>`<span class="editor-theme-code"><alias>.php</span>`<span style="white-space: pre-wrap;"> est régénéré et la page redevient accessible. La page canonique et ses pages sœurs (autres langues) basculent simultanément.</span></p>

### <span style="color: rgb(35, 111, 161);">L'historique des modifications</span>

Toutes vos publications sont consignées dans un journal interne (`<span class="editor-theme-code">llx_infrasstudio_revision</span>`). Pour les consulter :

1. Sélectionnez un slot dans l'inspecteur.
2. <span style="white-space: pre-wrap;">Dépliez la section </span>**Historique**<span style="white-space: pre-wrap;"> en bas du panneau.</span>
3. Vous y voyez la chronologie des modifications, avec :
    - la date et l'heure,
    - l'auteur (utilisateur Dolibarr),
    - l'action effectuée (création, mise à jour, publication, annulation).

<p class="callout info">**Note —**<span style="white-space: pre-wrap;"> L'historique vous permet de consulter qui a fait quoi. Une fonction de restauration directe d'une version antérieure n'est pas encore disponible : si vous avez besoin de revenir en arrière, contactez votre administrateur Dolibarr, qui peut récupérer la valeur depuis la base de données.</span></p>

### <span style="color: rgb(35, 111, 161);">Workflow recommandé pour une équipe</span>

Pour les sites édités par plusieurs personnes :

1. Le rédacteur ouvre la page et procède aux modifications. Toutes restent à l'état de brouillon.
2. Le rédacteur partage le lien de l'éditeur avec un relecteur (chef de projet, marketing, juriste, etc.).
3. Le relecteur ouvre la même page dans le Studio. L'aperçu lui présente la version brouillon.
4. Le relecteur valide ou demande des ajustements via un canal externe (Slack, courriel, etc.).
5. Le rédacteur applique les ajustements (toujours en brouillon).
6. Une fois la version validée, le rédacteur ou un publicateur dédié, selon les permissions configurées, clique sur « Publier les modifications ».

<p class="callout info">**À retenir —**<span style="white-space: pre-wrap;"> Le système de brouillon n'est pas un confort optionnel. Il évite les publications accidentelles en cours de rédaction et permet une véritable validation à plusieurs avant que les visiteurs voient le résultat.</span></p>

### <span style="color: rgb(35, 111, 161);">Récapitulatif</span>

**Vous savez désormais :**

- Distinguer un brouillon (privé à l'éditeur) d'une publication (visible publiquement).
- Reconnaître les indicateurs visuels (pastille orange, compteur numérique, repère slot).
- Publier les modifications d'une page en un clic.
- Annuler les brouillons en cas de changement d'avis.
- Distinguer « Publier les modifications » (contenu) et « Mettre en ligne ou Retirer » (visibilité).
- Consulter l'historique d'un slot.
- Mettre en place un processus de relecture collective.

Le chapitre suivant aborde la gestion du multilingue.

# CHAPITRE 11 — Gérer les images et la bibliothèque média

Toutes les images, vidéos et documents que vous utilisez sur votre site transitent par la bibliothèque média. Il s'agit d'un emplacement central : vous téléversez un fichier une seule fois et le réutilisez partout où vous en avez besoin.

#### <span style="color: rgb(35, 111, 161);">Accéder à la bibliothèque</span>

Trois entrées sont possibles :

1. **Depuis le tableau de bord**<span style="white-space: pre-wrap;"> : cliquez sur la carte « Bibliothèque médias ».</span>
2. **Depuis l'éditeur**<span style="white-space: pre-wrap;"> : sélectionnez l'onglet </span>**Médias**<span style="white-space: pre-wrap;"> en haut de la colonne gauche.</span>
3. **Depuis un slot image**<span style="white-space: pre-wrap;"> : cliquez sur le bouton « Choisir une image » qui ouvre la bibliothèque dans une fenêtre.</span>

#### <span style="color: rgb(35, 111, 161);">L'organisation de la bibliothèque</span>

La bibliothèque est gérée par site. Si vous administrez plusieurs sites, chacun dispose de sa propre médiathèque indépendante.

Au sein d'un site, les médias sont classés par type :

<table id="bkmrk-typeformats-accept%C3%A9s" style="width: 100%; border-collapse: collapse; margin: 1rem 0px; font-size: 0.95em;"><colgroup><col></col><col></col></colgroup><tbody><tr style="background: rgb(25, 5, 45); color: rgb(254, 252, 232);"><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Type

</th><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Formats acceptés

</th></tr><tr><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">**Image**

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">JPG, PNG, WebP, SVG, GIF

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">**Vidéo**

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">MP4, WebM

</td></tr><tr><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">**Document**

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">PDF, DOC et autres formats bureautiques

</td></tr></tbody></table>

#### <span style="color: rgb(35, 111, 161);">Téléverser un nouveau média</span>

##### **Méthode A — Bouton « Envoyer un fichier »**

1. <span style="white-space: pre-wrap;">Dans la barre d'outils de la bibliothèque, cliquez sur </span>**Envoyer un fichier**.
2. Sélectionnez un ou plusieurs fichiers depuis votre poste.
3. Le ou les fichiers sont téléversés. Une vignette apparaît dans la grille.

##### **Méthode B — Glisser-déposer**

1. Faites glisser une image depuis votre explorateur de fichiers.
2. Déposez-la directement sur la grille de la bibliothèque.
3. Le téléversement démarre automatiquement.

##### **Méthode C — Pendant l'édition d'un slot image**

1. Vous éditez un slot de type image dans l'inspecteur.
2. <span style="white-space: pre-wrap;">Cliquez sur </span>**Choisir une image**.
3. <span style="white-space: pre-wrap;">La bibliothèque s'ouvre. Un bouton </span>**Envoyer**<span style="white-space: pre-wrap;"> est disponible en haut.</span>
4. Téléversez sans interrompre votre flux d'édition.

<p class="callout info">**Conseil —**<span style="white-space: pre-wrap;"> Pour les photographies, le format </span>**WebP**<span style="white-space: pre-wrap;"> est recommandé. Il offre un fichier 30 à 50 % plus léger qu'un JPG à qualité équivalente. Le module accepte ce format nativement.</span></p>

#### <span style="color: rgb(35, 111, 161);">Retrouver un média existant</span>

Au-dessus de la grille, plusieurs filtres sont disponibles :

- **Recherche**<span style="white-space: pre-wrap;"> : par libellé, référence ou tag.</span>
- **Type**<span style="white-space: pre-wrap;"> : images, vidéos ou documents.</span>
- **Site**<span style="white-space: pre-wrap;"> : si vous administrez plusieurs sites.</span>

La grille se met à jour instantanément. Un défilement infini en bas de page charge les médias suivants par lots de cinquante.

#### <span style="color: rgb(35, 111, 161);">Modifier les métadonnées d'un média</span>

Cliquez sur une vignette. Une fenêtre d'édition s'ouvre, organisée en deux colonnes.

##### **Colonne de gauche — Aperçu et utilisation**

- Aperçu de l'image en taille réelle.
- Liste des pages où le média est utilisé : « Utilisé sur N éléments ».
- Historique des modifications, présenté de manière dépliable.

##### **Colonne de droite — Champs éditables**

<table id="bkmrk-champdescriptionr%C3%A9f%C3%A9" style="width: 100%; border-collapse: collapse; margin: 1rem 0px; font-size: 0.95em;"><colgroup><col></col><col></col></colgroup><tbody><tr style="background: rgb(25, 5, 45); color: rgb(254, 252, 232);"><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Champ

</th><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Description

</th></tr><tr><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">**Référence**

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);"><span style="white-space: pre-wrap;">Identifiant court, réutilisable dans les shortcodes (par exemple </span>

`<span class="editor-theme-code">{{media:ref=hero-1.url}}</span>`

).

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">**Libellé**

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">Nom affiché dans la bibliothèque.

</td></tr><tr><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">**Texte alternatif (canonique)**

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);"><span style="white-space: pre-wrap;">L'attribut </span>

`<span class="editor-theme-code">alt</span>`

<span style="white-space: pre-wrap;"> par défaut. Important pour le référencement et l'accessibilité.</span>

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">**Tags**

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">Mots-clés facilitant la recherche du média.

</td></tr><tr><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">**Traductions par langue**

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">Section dépliable. Un champ par langue pour traduire le texte alternatif.

</td></tr></tbody></table>

<p class="callout success">**Recommandé —**<span style="white-space: pre-wrap;"> Renseignez systématiquement le texte alternatif. C'est ce qui est affiché si l'image ne se charge pas, ce que lit un lecteur d'écran et ce que Google utilise pour comprendre vos images.</span></p>

### <span style="color: rgb(25, 5, 45);">Les variantes générées automatiquement</span>

Lors de chaque téléversement d'image, le module crée automatiquement trois tailles supplémentaires en plus de l'original.

<table id="bkmrk-variantedimensionsus" style="width: 100%; border-collapse: collapse; margin: 1rem 0px; font-size: 0.95em;"><colgroup><col></col><col></col><col></col></colgroup><tbody><tr style="background: rgb(25, 5, 45); color: rgb(254, 252, 232);"><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Variante

</th><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Dimensions

</th><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Usage type

</th></tr><tr><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">**thumb**

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">200 × 200 px

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">Vignettes, galerie

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">**card**

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">640 × 480 px

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">Cartes d'articles, mosaïques

</td></tr><tr><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">**wide**

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">1600 × 1200 px

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">Hero pleine largeur

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">**original**

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">Dimensions natives

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">Téléchargement, impression

</td></tr></tbody></table>

<span style="white-space: pre-wrap;">Les variantes sont générées à la demande. Lors de la première utilisation d'une variante (par exemple </span>`<span class="editor-theme-code">card</span>`), elle est créée puis mise en cache.

#### <span style="color: rgb(35, 111, 161);">Supprimer un média</span>

1. Ouvrez la fenêtre d'édition en cliquant sur la vignette.
2. <span style="white-space: pre-wrap;">En bas à droite, cliquez sur </span>**Envoyer à la corbeille**.

<p class="callout info">**Note —**<span style="white-space: pre-wrap;"> La suppression est en réalité un marquage : le média n'est pas effacé physiquement du disque. Il est simplement signalé comme inactif et n'apparaît plus dans la grille. Vos pages qui le référencent continuent à l'afficher.</span></p>

<p class="callout warning">**Avertissement —**<span style="white-space: pre-wrap;"> Si le média est encore utilisé, la suppression est par défaut refusée. Le module présente la liste des pages concernées. Soit vous remplacez l'image sur ces pages, soit vous forcez la suppression — auquel cas les pages afficheront une image cassée.</span></p>

#### <span style="color: rgb(35, 111, 161);">Réimporter le contenu d'un dossier</span>

Si vous avez ajouté des fichiers sans passer par le Studio (FTP, SCP, ou via l'éditeur Dolibarr Website), ils n'apparaissent pas dans la bibliothèque.

Pour les détecter :

1. <span style="white-space: pre-wrap;">Dans la barre d'outils de la bibliothèque, cliquez sur </span>**Réimporter**.
2. Le module parcourt le dossier physique du site.
3. Les fichiers absents de la bibliothèque sont enregistrés.

<p class="callout info">**Conseil —**<span style="white-space: pre-wrap;"> Le module effectue cette réimportation automatiquement toutes les cinq minutes au maximum lors de l'ouverture de la bibliothèque. Le bouton sert uniquement à forcer une réimportation immédiate.</span></p>

#### <span style="color: rgb(35, 111, 161);">Insérer un média dans un slot de texte riche</span>

1. Vous éditez un slot de type texte riche.
2. <span style="white-space: pre-wrap;">Au-dessus de la barre d'outils, cliquez sur </span>**Insérer un média**.
3. La bibliothèque s'ouvre dans une fenêtre.
4. Sélectionnez ou téléversez une image.
5. Le module insère :
    - <span style="white-space: pre-wrap;">une balise </span>`<span class="editor-theme-code"><img></span>`<span style="white-space: pre-wrap;"> si vous avez choisi une image,</span>
    - <span style="white-space: pre-wrap;">un lien </span>`<span class="editor-theme-code"><a></span>`<span style="white-space: pre-wrap;"> avec le libellé si vous avez choisi un document.</span>

#### <span style="color: rgb(35, 111, 161);">Récapitulatif</span>

**Vous savez désormais :**

- Accéder à la bibliothèque depuis trois entrées différentes.
- Téléverser des médias par bouton, par glisser-déposer ou pendant l'édition d'un slot.
- Filtrer la bibliothèque par recherche, type ou site.
- Modifier les métadonnées (libellé, texte alternatif et traductions, tags).
- Comprendre les variantes générées automatiquement (thumb, card, wide).
- Supprimer un média en respectant ses utilisations.
- Réimporter pour récupérer des fichiers ajoutés hors du Studio.
- Insérer un média au curseur dans un slot de texte riche.

Le chapitre suivant aborde le mécanisme de publication, qui sépare votre travail en cours de la version visible publiquement.

# CHAPITRE 10 — Modifier les textes

La modification d'un texte est l'opération la plus fréquente dans le Studio. Ce chapitre présente les trois méthodes pour y procéder, ainsi que les différents types de champs que vous rencontrerez.

#### <span style="color: rgb(35, 111, 161);">Méthode 1 — Édition directe depuis l'aperçu</span>

C'est la méthode la plus rapide et la plus naturelle.

1. Ouvrez la page que vous souhaitez modifier en cliquant sur son nom dans la colonne de gauche.
2. Dans l'aperçu central, survolez avec la souris : les zones éditables sont entourées d'un cadre orange en pointillés.
3. Cliquez sur le texte à modifier.
4. L'inspecteur s'ouvre à droite avec un champ déjà rempli.
5. Modifiez le texte. L'enregistrement automatique intervient une demi-seconde après votre dernière saisie.
6. L'aperçu se met à jour en direct.

<p class="callout success">**Recommandé —**<span style="white-space: pre-wrap;"> L'indicateur « Enregistré » à côté du champ confirme la sauvegarde en brouillon. Pour rendre la modification visible publiquement, cliquez sur </span>**Publier les modifications**<span style="white-space: pre-wrap;"> en haut à droite.</span></p>

#### <span style="color: rgb(35, 111, 161);">Méthode 2 — Liste « Contenu de la page »</span>

Cette méthode est utile lorsqu'un slot n'est pas directement cliquable, par exemple une image masquée ou une valeur stockée dans un attribut.

1. Ouvrez la page sans cliquer sur l'aperçu.
2. Consultez la colonne de droite.
3. La liste « Contenu de la page » répertorie tous les emplacements éditables.
4. Chaque ligne présente un type, un libellé, un aperçu de la valeur et un repère « modifié » en cas de brouillon en cours.
5. Cliquez sur la ligne souhaitée pour ouvrir son formulaire.

<p class="callout info">**Conseil —**<span style="white-space: pre-wrap;"> Les slots sont regroupés par section (« hero », « pied de page », « appel à l'action », etc.) selon le découpage défini par votre développeur. Cela facilite la navigation sur les pages longues.</span></p>

#### <span style="color: rgb(35, 111, 161);">Méthode 3 — Navigation par sections</span>

Sur les pages longues, vous pouvez utiliser la barre de défilement de l'aperçu pour atteindre la section recherchée, puis cliquer dessus directement.

#### <span style="color: rgb(35, 111, 161);">Les types de champs disponibles</span>

Le développeur a choisi un type pour chaque slot. Ce type détermine l'apparence du formulaire d'édition. Voici l'ensemble des types existants.

##### **Texte court**

Champ d'une seule ligne, sans mise en forme. Convient pour les titres, les libellés et les noms. Une longueur maximale peut être imposée, auquel cas un compteur de caractères est affiché.

##### **Texte long**

Champ multi-lignes sans mise en forme. Les sauts de ligne sont autorisés et automatiquement convertis en retours visuels. Idéal pour une accroche ou un paragraphe simple.

##### **Texte riche**

Éditeur visuel complet (CKEditor) avec barre d'outils étendue.

<table id="bkmrk-outileffetformatpara" style="width: 100%; border-collapse: collapse; margin: 1rem 0px; font-size: 0.95em;"><colgroup><col></col><col></col></colgroup><tbody><tr style="background: rgb(25, 5, 45); color: rgb(254, 252, 232);"><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Outil

</th><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Effet

</th></tr><tr><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">**Format**

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">Paragraphe, Titre 2, Titre 3, Titre 4, Code

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">**Style**

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">Gras, italique, souligné, barré

</td></tr><tr><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">**Couleur**

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">Couleur de texte et couleur de fond, selon la palette de la marque

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">**Alignement**

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">Gauche, centre, droite, justifié

</td></tr><tr><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">**Listes**

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">Listes à puces, listes numérotées, indentation

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">**Liens**

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">Insérer ou supprimer un lien

</td></tr><tr><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">**Insérer un média**

</td><td style="padding: 0.5rem 1rem; border: 1px solid rgb(229, 231, 235);">Ouvre la bibliothèque pour insérer une image au curseur

</td></tr></tbody></table>

<p class="callout info">**Note importante —**<span style="white-space: pre-wrap;"> L'éditeur ne propose pas de bouton « source » pour modifier le HTML brut. Ce choix est délibéré, comme expliqué au Chapitre 3.</span></p>

##### **Image**

Le champ comporte une zone de saisie, un bouton de sélection dans la bibliothèque, un bouton de suppression et une vignette d'aperçu.

1. <span style="white-space: pre-wrap;">Cliquez sur le bouton </span>**Choisir une image**.
2. La bibliothèque média s'ouvre dans une fenêtre.
3. Sélectionnez une image existante ou téléversez-en une nouvelle.
4. L'image est intégrée et la vignette s'affiche.

<p class="callout info">**Conseil —**<span style="white-space: pre-wrap;"> Vous pouvez également glisser-déposer une image depuis la barre latérale Médias directement sur la zone d'image dans l'aperçu central.</span></p>

##### **URL**

Champ texte adapté aux liens. Les mêmes outils que pour les images sont disponibles, par exemple le sélecteur pour insérer un média comme cible.

##### **Icône**

Champ de sélection d'une icône FontAwesome.

1. <span style="white-space: pre-wrap;">Saisissez le nom de la classe (par exemple </span>`<span class="editor-theme-code">fa-solid fa-star</span>`) ou cliquez sur l'une des vingt icônes proposées (étoile, cœur, fusée, etc.).
2. Choisissez la couleur dans le sélecteur.
3. Un aperçu en direct s'affiche.

##### **Couleur**

Sélecteur de couleur HTML5 accompagné d'un champ hexadécimal.

- <span style="white-space: pre-wrap;">Format strict : </span>`<span class="editor-theme-code">#RRGGBB</span>`<span style="white-space: pre-wrap;"> ou </span>`<span class="editor-theme-code">#RRGGBBAA</span>`<span style="white-space: pre-wrap;"> (avec transparence).</span>
- <span style="white-space: pre-wrap;">Bouton </span>**Défaut**<span style="white-space: pre-wrap;"> pour revenir à la valeur initiale.</span>
- Une couleur n'est pas traduisible et reste identique dans toutes les langues.

#### **Nombre**

Champ numérique simple avec validation.

##### **Booléen**

Case à cocher pour un choix oui ou non.

##### **Liste déroulante**

Menu déroulant avec des options définies par votre développeur.

#### <span style="color: rgb(35, 111, 161);">Le panneau d'édition multilingue</span>

Pour les slots de type texte (texte court, texte long, texte riche), l'inspecteur présente trois zones distinctes.

<table id="bkmrk-zonecontenuchamp-pri" style="width: 100%; border-collapse: collapse; margin: 1rem 0px; font-size: 0.95em;"><colgroup><col style="width: 30%;"></col><col></col></colgroup><tbody><tr style="background: rgb(25, 5, 45); color: rgb(254, 252, 232);"><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45); width: 30%;">Zone

</th><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Contenu

</th></tr><tr><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">**Champ principal**

</td><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">La langue actuellement affichée dans l'aperçu (drapeau actif). C'est ici que vous saisissez la majorité du temps.

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">**Autres langues**

<span style="white-space: pre-wrap;"> (dépliable)</span>

</td><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">Un champ par langue prise en charge. Cliquez sur la flèche pour déplier et saisir les traductions.

</td></tr><tr><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">**Options avancées**

<span style="white-space: pre-wrap;"> (dépliable)</span>

</td><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">La valeur canonique partagée entre toutes les langues. À ne modifier qu'en cas de besoin spécifique.

</td></tr></tbody></table>

<p class="callout info">**Note —**<span style="white-space: pre-wrap;"> Au moment du rendu public, le module recherche la valeur dans cet ordre : surcharge dans la langue du visiteur, valeur canonique, valeur par défaut. Le visiteur voit toujours un contenu, même en l'absence de traduction.</span></p>

Pour les slots non textuels (image, couleur, icône, etc.), une seule zone « Valeur (toutes langues) » est proposée. Une image se traduit rarement.

#### <span style="color: rgb(35, 111, 161);">L'enregistrement automatique en pratique</span>

Aucun bouton « Enregistrer » n'est à cliquer. Le module sauvegarde automatiquement votre travail.

1. Vous saisissez du texte.
2. Le module attend une demi-seconde de pause.
3. <span style="white-space: pre-wrap;">L'indicateur passe à </span>**Enregistrement...**.
4. Le serveur reçoit la valeur et l'enregistre comme brouillon.
5. <span style="white-space: pre-wrap;">L'indicateur passe à </span>**Enregistré**<span style="white-space: pre-wrap;"> en vert.</span>

<p class="callout info">**Conseil —**<span style="white-space: pre-wrap;"> Si l'indicateur affiche « Erreur réseau », votre connexion a probablement été interrompue. Utilisez Ctrl+Z pour récupérer votre saisie, attendez le rétablissement de la connexion, puis ressaisissez.</span></p>

#### <span style="color: rgb(35, 111, 161);">Annuler une modification non publiée</span>

Tant que vous n'avez pas publié, plusieurs options de retour en arrière sont possibles :

1. **Annulation locale**<span style="white-space: pre-wrap;"> : utilisez Ctrl+Z dans le champ pour revenir frappe par frappe.</span>
2. **Annulation globale de la page**<span style="white-space: pre-wrap;"> : cliquez sur </span>**Annuler les modifications**<span style="white-space: pre-wrap;"> dans la barre d'outils. Tous les brouillons de la page courante sont alors supprimés.</span>

<p class="callout warning">**Avertissement —**<span style="white-space: pre-wrap;"> Le bouton « Annuler les modifications » est définitif. Une confirmation est demandée. Une fois validée, le brouillon est perdu et la page revient à sa version publique.</span></p>

#### <span style="color: rgb(35, 111, 161);">Récapitulatif</span>

**Vous savez désormais :**

- Cliquer sur un texte de l'aperçu pour l'éditer.
- Utiliser la liste « Contenu de la page » pour les slots non cliquables.
- Reconnaître les neuf types de champs (texte court, texte long, texte riche, image, URL, icône, couleur, nombre, liste).
- Distinguer la valeur d'une langue, la valeur canonique et la valeur par défaut.
- Comprendre le fonctionnement de l'enregistrement automatique en brouillon.
- Annuler une modification avant publication.

Le chapitre suivant aborde la bibliothèque média.

# CHAPITRE 09 — Tour de l'interface Studio

Ce chapitre constitue votre première visite guidée du Studio. Vous allez parcourir l'ensemble des écrans sans encore éditer quoi que ce soit. À la fin, vous saurez où chercher chaque élément et comment vous repérer.

<p class="callout info">**Note —**<span style="white-space: pre-wrap;"> Le module InfraSStudio doit être activé sur votre instance Dolibarr et au moins un site doit être configuré. Si ce n'est pas le cas, consultez d'abord la Partie II.</span></p>

#### <span style="color: rgb(35, 111, 161);">Étape 1 — Accéder au Studio</span>

1. Connectez-vous à votre Dolibarr.
2. <span style="white-space: pre-wrap;">Dans le menu supérieur, cliquez sur </span>**Outils**.
3. <span style="white-space: pre-wrap;">Dans le menu latéral qui apparaît, repérez la section </span>**InfraS**.
4. <span style="white-space: pre-wrap;">Cliquez sur </span>**InfraSStudio**.

Vous arrivez sur le tableau de bord du Studio.

<p class="callout info">**Conseil —**<span style="white-space: pre-wrap;"> Vous pouvez ajouter cette page à vos favoris dans votre navigateur. Vous y reviendrez fréquemment.</span></p>

#### <span style="color: rgb(35, 111, 161);">Étape 2 — Comprendre le tableau de bord</span>

Le tableau de bord constitue votre point d'entrée. Il se divise en plusieurs zones, présentées de haut en bas.

##### **L'en-tête personnalisé**

Une salutation contextuelle (« Bonjour », « Bon après-midi », « Bonsoir » selon l'heure) est suivie de la date du jour. Cet élément constitue un simple repère visuel.

##### **Vos sites**

Une grille de cartes affiche un site géré par carte. Pour chacun, vous retrouvez :

- <span style="white-space: pre-wrap;">Le nom du site, par exemple </span>**monsite**.
- Un lien direct vers le site public, accessible via une icône globe.
- Trois compteurs colorés : pages publiées, pages en brouillon et articles de blog.
- Trois boutons d'action : Éditer, Articles et Produits.

<p class="callout success">**Recommandé —**<span style="white-space: pre-wrap;"> Cliquez sur </span>**Éditer**<span style="white-space: pre-wrap;"> pour entrer dans l'éditeur principal. C'est par cette voie que vous passerez la majorité de votre temps.</span></p>

##### **Statistiques globales**

Quatre indicateurs sont présentés en permanence : nombre de produits publiés, nombre de produits en brouillon, nombre de médias dans la bibliothèque et taille totale en mégaoctets.

##### **Actions rapides**

Cinq cartes cliquables conduisent directement aux opérations courantes :

1. **Nouvel article**<span style="white-space: pre-wrap;"> : créer un billet de blog en deux clics.</span>
2. **Éditer une page**<span style="white-space: pre-wrap;"> : ouvrir l'éditeur unifié.</span>
3. **Gérer les produits**<span style="white-space: pre-wrap;"> : accéder à la section produits dans l'éditeur.</span>
4. **Traductions produits**<span style="white-space: pre-wrap;"> : ouvrir l'éditeur multilingue dédié aux fiches produit.</span>
5. **Bibliothèque médias**<span style="white-space: pre-wrap;"> : accéder à la gestion centralisée des fichiers.</span>

##### **Activité récente**

<span style="white-space: pre-wrap;">Une frise chronologique affiche les huit derniers contenus modifiés (slots et produits), avec un lien </span>**Ouvrir**<span style="white-space: pre-wrap;"> qui vous permet de reprendre votre travail là où vous l'aviez laissé.</span>

##### **Aide à la prise en main**

Un panneau dépliable « Comment utiliser InfraSStudio ? » présente quatre étapes guidées. Il s'avère particulièrement utile pour vos collègues qui découvrent l'outil.

#### <span style="color: rgb(35, 111, 161);">Étape 3 — Entrer dans l'éditeur</span>

<span style="white-space: pre-wrap;">Cliquez sur le bouton </span>**Éditer**<span style="white-space: pre-wrap;"> de la carte d'un site. Vous accédez alors à l'écran central du Studio : l'éditeur en trois colonnes.</span>

<table id="bkmrk-colonner%C3%B4legauche-%E2%80%94-" style="width: 100%; border-collapse: collapse; margin: 1rem 0px; font-size: 0.95em;"><colgroup><col></col><col></col></colgroup><tbody><tr style="background: rgb(25, 5, 45); color: rgb(254, 252, 232);"><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Colonne

</th><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Rôle

</th></tr><tr><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235); vertical-align: top; width: 25%;">**Gauche — Arborescence**

</td><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">Liste des pages du site, regroupées par type (pages standards, articles de blog, en-tête, pied de page). Recherche en temps réel. Compteur de slots par page. Indicateurs visuels pour les brouillons en attente.

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235); vertical-align: top;">**Centre — Aperçu**

</td><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">Aperçu en direct de la page sélectionnée, présenté dans un cadre qui imite un navigateur. Onglets de langue avec drapeaux. Boutons de basculement entre les vues bureau, tablette et mobile.

</td></tr><tr><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235); vertical-align: top;">**Droite — Inspecteur**

</td><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">Lorsqu'aucun slot n'est sélectionné, l'inspecteur présente la liste de tous les emplacements éditables de la page. Lorsqu'un slot est sélectionné, il bascule sur le formulaire d'édition correspondant.

</td></tr></tbody></table>

<p class="callout info">**Conseil —**<span style="white-space: pre-wrap;"> Les trois colonnes sont redimensionnables. Faites glisser les séparateurs verticaux pour ajuster la mise en page à la taille de votre écran.</span></p>

#### <span style="color: rgb(35, 111, 161);">Étape 4 — Le déroulement d'une session d'édition</span>

Voici le déroulement type d'une session d'édition :

1. Vous cliquez sur une page dans la colonne de gauche.
2. L'aperçu se charge au centre, avec la page rendue exactement comme la verra un visiteur.
3. Vous cliquez sur un texte de l'aperçu, par exemple le titre principal.
4. L'inspecteur s'ouvre à droite avec un champ de saisie pré-rempli avec la valeur actuelle.
5. Vous modifiez le texte. Le système enregistre automatiquement après une demi-seconde d'inactivité.
6. L'aperçu se met à jour. À ce stade, votre modification reste à l'état de brouillon, invisible pour les visiteurs du site.
7. <span style="white-space: pre-wrap;">Lorsque vous êtes satisfait, vous cliquez sur le bouton </span>**« Publier les modifications »**<span style="white-space: pre-wrap;"> en haut à droite. Votre travail devient alors visible publiquement.</span>

<p class="callout success">**Recommandé —**<span style="white-space: pre-wrap;"> Préparez plusieurs modifications avant de publier. Le bouton « Publier les modifications » applique en une seule fois l'ensemble des modifications en attente sur la page, ce qui évite que les visiteurs voient des versions intermédiaires incohérentes.</span></p>

#### <span style="color: rgb(35, 111, 161);">Étape 5 — Les boutons de la barre d'outils centrale</span>

Une barre d'actions est présentée au-dessus de l'aperçu. Voici la fonction de chaque bouton, dans l'ordre d'apparition.

<table id="bkmrk-boutoneffetseoouvre-" style="width: 100%; border-collapse: collapse; margin: 1rem 0px; font-size: 0.95em;"><colgroup><col style="width: 30%;"></col><col></col></colgroup><tbody><tr style="background: rgb(25, 5, 45); color: rgb(254, 252, 232);"><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45); width: 30%;">Bouton

</th><th class="align-left" style="padding: 0.6rem 1rem; text-align: left; border: 1px solid rgb(25, 5, 45);">Effet

</th></tr><tr><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">**SEO**

</td><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">Ouvre une fenêtre avec un aperçu du résultat Google en direct. Voir le Chapitre 16.

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">**Dupliquer**

</td><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">Crée une copie de la page courante. Cette fonction est particulièrement utile pour les articles de blog.

</td></tr><tr><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">**Mettre en ligne / Retirer du site**

</td><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">Modifie la visibilité publique de la page. À distinguer de « Publier les modifications » dont la fonction est différente.

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">**Publier les modifications**

</td><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">Publie l'ensemble des brouillons en attente sur la page. Une pastille indique le nombre de modifications concernées.

</td></tr><tr><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">**Annuler les modifications**

</td><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">Supprime tous les brouillons et restaure la version actuellement publiée.

</td></tr><tr style="background: rgb(250, 245, 255);"><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">**Voir public**

</td><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">Ouvre la page publique dans un nouvel onglet du navigateur.

</td></tr><tr><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">**Supprimer**

</td><td style="padding: 0.6rem 1rem; border: 1px solid rgb(229, 231, 235);">Réservé aux administrateurs. Une confirmation est demandée. Voir l'avertissement ci-dessous.

</td></tr></tbody></table>

<p class="callout warning">**Avertissement —**<span style="white-space: pre-wrap;"> Le bouton </span>**Supprimer**<span style="white-space: pre-wrap;"> efface définitivement la page, ses traductions, ses slots, son fichier </span>`<span class="editor-theme-code">tpl.php</span>`<span style="white-space: pre-wrap;"> et son wrapper Apache. Aucun retour en arrière n'est possible. Réservez son usage aux cas véritablement nécessaires.</span></p>

#### <span style="color: rgb(35, 111, 161);">Étape 6 — Naviguer dans la liste des pages</span>

La colonne de gauche est plus puissante qu'il n'y paraît. Voici comment l'exploiter.

##### **Le sélecteur de section**

<span style="white-space: pre-wrap;">En haut de la colonne, deux onglets : </span>**Pages**<span style="white-space: pre-wrap;"> et </span>**Médias**<span style="white-space: pre-wrap;">. Selon la configuration du site, un troisième onglet </span>**Produits**<span style="white-space: pre-wrap;"> peut apparaître si le catalogue dynamique est activé.</span>

##### **La recherche en temps réel**

<span style="white-space: pre-wrap;">Saisissez quelques caractères dans le champ </span>**Rechercher**<span style="white-space: pre-wrap;"> : la liste se filtre instantanément. La recherche porte sur le titre, le slug et la catégorie.</span>

##### **Les groupes de pages**

Les pages sont regroupées par type :

- **page**<span style="white-space: pre-wrap;"> : pages standards (accueil, contact, à propos, etc.).</span>
- **blogpost**<span style="white-space: pre-wrap;"> : articles de blog.</span>
- **other**<span style="white-space: pre-wrap;"> : éléments structurels (en-tête, pied de page, menu).</span>

##### **Les indicateurs visuels**

- Une pastille orange à côté d'une page indique qu'elle comporte des modifications en brouillon.
- <span style="white-space: pre-wrap;">Un nombre entre crochets, par exemple </span>**\[3\]**, donne le nombre de slots éditables sur la page.
- Une icône grisée signale que la page est en mode « Retirée du site ».

##### **Le bouton Nouveau**

Le bouton est situé tout en bas de la liste. Selon le contexte :

- Sur la page d'index d'un blog, il devient « + Nouvel article ».
- Sur les autres pages, il devient « + Nouvelle page ».

#### <span style="color: rgb(35, 111, 161);">Étape 7 — L'inspecteur</span>

L'inspecteur connaît deux états distincts.

##### **État vide : la liste « Contenu de la page »**

Lorsqu'aucun slot n'est sélectionné dans l'aperçu, l'inspecteur présente la liste exhaustive des slots de la page, regroupés par section. Pour chacun :

- Une icône précise le type (texte, image, couleur, icône, etc.).
- Le libellé du slot est affiché.
- Un aperçu de la valeur actuelle est proposé, limité à soixante caractères.
- Un repère orange « modifié » signale qu'un brouillon est en cours.

Cliquez sur n'importe quelle ligne pour ouvrir le formulaire d'édition.

##### **État édition : le formulaire**

Lorsqu'un slot est sélectionné, l'inspecteur bascule en mode édition. Vous y trouvez :

- Un bouton « ← Retour » pour revenir à la liste.
- Le libellé du slot affiché en titre.
- Un champ d'édition principal pour la langue actuellement affichée dans l'aperçu.
- Une section dépliable « Autres langues » pour saisir les versions linguistiques.
- Une section dépliable « Options avancées » qui permet d'accéder à la valeur canonique partagée. Son usage est à réserver à des cas particuliers.

<p class="callout info">**Conseil —**<span style="white-space: pre-wrap;"> L'enregistrement automatique se déclenche une demi-seconde après votre dernière saisie. Un indicateur affiche successivement « Enregistrement... » puis « Enregistré ». Aucun bouton de sauvegarde n'est nécessaire.</span></p>

#### <span style="color: rgb(35, 111, 161);">Étape 8 — Changer de langue dans l'aperçu</span>

Au-dessus de l'aperçu, une rangée d'onglets accompagnés de drapeaux représente les langues activées sur votre site (FR, EN, DE, etc.).

1. Cliquez sur le drapeau d'une autre langue.
2. L'aperçu se recharge dans cette langue.
3. Lorsque vous éditez un slot, le champ principal de l'inspecteur correspond à la langue actuellement affichée.

<p class="callout info">**Note —**<span style="white-space: pre-wrap;"> La langue principale du site (généralement le français) constitue la langue canonique. Les autres langues sont des traductions complémentaires. Lorsqu'une traduction manque, le visiteur voit la version canonique. Le Chapitre 13 détaille ce mécanisme.</span></p>

#### <span style="color: rgb(35, 111, 161);">Récapitulatif</span>

**Vous savez désormais :**

- Accéder au Studio depuis Outils → InfraS.
- Lire le tableau de bord (sites, statistiques, actions rapides, activité récente).
- Entrer dans l'éditeur en trois colonnes.
- Identifier le rôle de chacune des trois colonnes (arborescence, aperçu, inspecteur).
- Reconnaître les boutons de la barre d'outils centrale.
- Naviguer entre les langues via les onglets dotés de drapeaux.
- Comprendre la distinction entre brouillon et publication.

Le chapitre suivant aborde concrètement la modification d'un texte.