Référence de configuration
Cette page liste les options de configuration disponibles de l’éditeur. Consultez Configuration pour les modèles de mise en place et les conseils d’utilisation.
Sur les petits écrans, faites défiler le tableau horizontalement pour voir toutes les colonnes. Les utilisateurs du clavier peuvent placer le focus sur la zone du tableau et utiliser les touches fléchées.
| Nom | Valeur par défaut | Description |
|---|---|---|
| skin | default | L’apparence du cadre de l’éditeur. La valeur devient une classe sur le conteneur (rte-skin-<value>) : le thème fournit donc dark, gray, blue et rounded-corner, et tout nom que vous mettez en forme vous-même fonctionne aussi. Laissez-la non définie pour le cadre clair par défaut. Voir skin. |
| toolbar | default | Default, basic ou full. Auto configure la barre d’outils avec un ensemble de boutons sur ordinateur. |
| toolbarMobile | mobile | La barre d’outils utilisée sur les appareils mobiles. |
| maxWidthForMobile | 992 | Lorsque l’écran (la fenêtre du navigateur) devient plus étroit que 992, l’éditeur doit utiliser la barre d’outils mobile. |
| timeoutAddToUndo | 900 | Lorsque l’utilisateur tape vite, attendre 900ms avant d’ajouter une entrée d’annulation. |
| enableDragDrop | true | Active ou désactive la prise en charge du glisser-déposer dans l’éditeur. |
| enableObjectResizing | true | Indique si les utilisateurs peuvent redimensionner un objet dans RichTextEditor. |
| readOnly | false | Obtient ou définit une valeur qui indique si RichTextEditor doit être un éditeur HTML actif ou une visionneuse de documents en lecture seule. |
| focusOnLoad | false | Indique si l’éditeur prend le focus au chargement de la page. Si cette propriété vaut true, l’éditeur prend le focus ; si elle vaut false, il ne le prend pas. |
| allowScriptCode | false | Indique s’il faut supprimer tous les éléments script et leur contenu du HTML pour empêcher l’injection de JavaScript. Lorsque cette propriété vaut false (valeur par défaut), Rich Text Editor supprime tous les éléments script et leur contenu du HTML. |
| tagWhiteList | [] | La liste blanche contient la liste des balises qui peuvent être utilisées dans l’éditeur. |
| tagBlackList | [] | La liste noire contient la liste des balises qui ne peuvent pas être utilisées dans l’éditeur. |
| maxHTMLLength | 0 | Obtient ou définit le nombre maximal de caractères, balises HTML comprises, autorisé dans RichTextEditor. La valeur par défaut, 0, signifie aucun maximum. Au-delà de la limite, l’éditeur revient au dernier état valide et déclenche le hook customdialog reachmaxlength. |
| maxTextLength | 0 | Obtient ou définit le nombre maximal de caractères, balises HTML non comprises, autorisé dans RichTextEditor. La valeur par défaut, 0, signifie aucun maximum. Au-delà de la limite, l’éditeur revient au dernier état valide et déclenche le hook customdialog reachmaxlength. |
| styleWithCSS | false | La façon dont le gras, l’italique et le souligné sont enregistrés. Par défaut, ce sont des balises qui sont écrites — <b>, <i>, <u> —, que boldTag et italicTag renomment, et qu’un lecteur d’écran annonce comme une mise en valeur. Définissez true pour enregistrer à la place des styles en ligne (<span style="font-weight: bold">). Core 2.6.8 et versions ultérieures ; auparavant, le résultat dépendait de la fin ou non du chargement du bundle de plugins, si bien que le même contenu pouvait être enregistré de l’une ou l’autre façon. |
| pasteStripThemeStyles | true | Au collage, supprime les styles en ligne qui ne font que répéter le thème propre à l’éditeur. Les navigateurs écrivent les styles calculés dans le HTML copié : le texte copié à l’intérieur de l’éditeur arrivait donc avec les marges, la taille de police et la couleur du thème, qui étaient enregistrées avec le contenu. Les styles définis par l’auteur qui diffèrent du thème sont conservés. Définissez false pour conserver tous les styles collés. Core 2.6.8 et versions ultérieures. |
| smartTypography | true | Remplace ce que tape l’auteur par des caractères typographiques : les guillemets droits deviennent des guillemets courbes, deux traits d’union deviennent un tiret cadratin, trois points deviennent des points de suspension, et (c), (r) et (tm) deviennent ©, ® et ™. Rien n’est modifié à l’intérieur de code, pre ou kbd. Cette fonction appartient au cœur de l’éditeur et est distincte du plugin de correction automatique : autocorrectEnabled: false ne la désactive donc pas. Définissez false pour garder exactement ce qui est tapé ; les quatre options ci-dessous activent ou désactivent chaque substitution séparément. |
| smartTypographyQuotes | true | Les guillemets droits doubles et simples deviennent des guillemets courbes (“ ” ‘ ’), et une apostrophe à l’intérieur d’un mot devient ’ (don’t). |
| smartTypographyDashes | true | Deux traits d’union deviennent un tiret cadratin (—). Un trait d’union seul n’est pas modifié. |
| smartTypographyEllipsis | true | Trois points deviennent un seul caractère de points de suspension (…). |
| smartTypographyTrademarks | true | (c), (r) et (tm) deviennent ©, ® et ™. |
| sanitizerAllowIframes | true | Conserve les éléments <iframe> dans le contenu. S’applique lorsque le filtre de nettoyage du contenu est actif (contentSanitizer, inclus dans le bundle de plugins). Seules les iframes dont le src est en http ou https survivent ; srcdoc, les gestionnaires d’événements et les URL javascript: jamais. Sans liste sanitizerAllowedIframeHosts, chaque iframe conservée est placée dans un bac à sable allow-scripts allow-same-origin allow-presentation : la navigation de la fenêtre principale, les fenêtres contextuelles, les fenêtres modales et les formulaires sont refusés, et une iframe provenant de l’origine de la page elle-même perd aussi allow-same-origin. Définissez false pour supprimer toutes les iframes. |
| sanitizerAllowedIframeHosts | [] | Ne conserve que les iframes de ces hôtes et de leurs sous-domaines, par exemple ["www.youtube.com", "player.vimeo.com"]. C’est le contrôle le plus strict : définissez-le dès que vous savez quelles intégrations vous attendez. |
| maxUploadFileSize | 0 | Taille maximale, en octets, d’un fichier que l’éditeur insère ou envoie. La valeur par défaut, 0, signifie aucune limite. S’applique aux boîtes de dialogue d’image et de document, au collage et au glisser-déposer : au-delà de la limite, le fichier est refusé avant d’être lu, si bien que rien n’est intégré au document et rien n’est envoyé au gestionnaire d’envoi. Le message provient de text_uploadtoobig ; gérez le hook customdialog uploadtoobig pour afficher votre propre boîte de dialogue. |
| allowBase64Images | true | Sans gestionnaire d’envoi ni file_upload_url, une image insérée est intégrée au HTML sous forme d’URL data: en base64. Définissez false pour ne jamais intégrer : l’image est refusée avec le message text_base64disabled (hook customdialog base64disabled), et un gestionnaire d’envoi devient alors nécessaire. Core 2.6.5 et versions ultérieures. |
| base64ImageMaxSize | 204800 | Taille maximale, en octets, d’une image base64 après réduction (200 KB). Une image plus grande est refusée avec le message text_base64toobig (hook customdialog base64toobig). 0 signifie aucun plafond, ce qui correspond au comportement antérieur à core 2.6.5. |
| base64ImageShrink | true | Redimensionne et réencode dans le navigateur les images JPEG, PNG, WebP et BMP avant de les intégrer en base64. Les GIF et SVG ne sont jamais réencodés. Définissez false pour intégrer les octets d’origine lorsqu’ils tiennent sous base64ImageMaxSize. Core 2.6.5 et versions ultérieures. |
| base64ImageMaxDimension | 1600 | Côté le plus long, en pixels, d’une image réduite pour l’intégration en base64. Core 2.6.5 et versions ultérieures. |
| file_upload_url | null | URL vers laquelle l’éditeur envoie par POST les fichiers insérés, collés et déposés, en multipart/form-data. Définissez-la au lieu d’écrire un file_upload_handler. La réponse peut être le {"location": "..."} de TinyMCE, le {"url": "..."} ou le {"urls": {"default": "..."}} de CKEditor, ou READY:<url> ; {"error": {"message": "..."}} et ERROR:<message> sont des échecs, tout comme tout autre corps de réponse. Un file_upload_handler a la priorité lorsque les deux sont définis. |
| file_upload_field | file | Nom du champ de formulaire sous lequel le fichier est envoyé. Les points de terminaison de type CKEditor attendent upload. |
| file_upload_base_path | null | Ajouté devant une URL relative renvoyée par le point de terminaison, pour servir les fichiers envoyés depuis un CDN. |
| file_upload_credentials | false | Envoie les cookies et l’authentification HTTP avec l’envoi, pour un point de terminaison situé sur une autre origine. |
| file_upload_reuse_filename | false | Envoie le fichier sous son nom d’origine. Par défaut, un nom unique est généré, pour que deux utilisateurs qui envoient image.png ne puissent pas s’écraser l’un l’autre. |
| file_upload_headers | null | En-têtes de requête supplémentaires pour l’envoi, par exemple un jeton CSRF. |
| automaticUploads | false | Avec true, l’éditeur envoie sans qu’on le lui demande les images intégrées au contenu sous forme d’URL data: en base64 : après setHTMLCode, et après l’insertion ou le collage de HTML. Il exécute uploadEmbeddedImages() pour vous, avec un debounce de automaticUploadsDelay (300 ms), et ne fait rien quand aucun file_upload_handler n’est configuré. |
| automaticUploadsDelay | 300 | Millisecondes d’attente avant l’exécution de l’analyse automatique, pour que le collage de plusieurs images ne déclenche qu’un seul envoi. |
| uploadRetryCount | 0 | Tentatives supplémentaires après un envoi échoué, avant que l’erreur n’atteigne le callback de votre gestionnaire et l’utilisateur. Chaque tentative déclenche un événement uploadretry. Un envoi annulé, ou dont l’image a été supprimée, n’est jamais relancé. |
| uploadRetryDelay | 1000 | Millisecondes avant la première nouvelle tentative. L’attente double à chaque tentative suivante. |
| autoSave | null | Enregistre le contenu sur votre propre serveur au fil de la saisie : { onSave: function (html) { return promise; }, interval: 2000, indicator: true, retryCount: 3, retryDelay: 5000 }. onSave est obligatoire ; renvoyer une promesse permet à l’éditeur d’indiquer si l’enregistrement a réussi. Un enregistrement échoué est relancé avec un délai qui double à chaque fois, puis de nouveau dès que le navigateur revient en ligne. Consultez les méthodes editor.autoSave pour un contrôle manuel. |
| editorResizeMode | both | both, height ou none. Obtient ou définit le mode de redimensionnement. |
| toggleBorder | true | Indique l’état de ToggleBorder. ToggleBorder est une fonction pratique qui permet de voir les bordures sans avoir à définir border = 1 ou quelque chose de ce genre dans le code. |
| showSelectedBlock | true | Indique s’il faut afficher le bloc sélectionné dans RichTextEditor. |
| showFloatTextToolBar | false | Indique s’il faut afficher la FloatTextToolBar définie par config.controltoolbar_TEXT. |
| showFloatLinkToolBar | false | Indique s’il faut afficher la FloatLinkToolBar définie par config.controltoolbar_A. |
| showFloatImageToolBbar | false | Indique s’il faut afficher la FloatImageToolBbar définie par config.controltoolbar_IMG. |
| showFloatTableToolBar | false | Indique s’il faut afficher la FloatTableToolBar définie par config.controltoolbar_TD. |
| showFloatParagraph | true | Indique s’il faut afficher le FloatParagraph sur le côté gauche. |
| floatParagraphPos | left | Left ou right. Obtient ou définit la position du FloatParagraph. |
| floatParagraphPosX | 0 | Un nombre qui représente la coordonnée horizontale du FloatParagraph, en pixels. |
| floatParagraphPosY | 0 | Un nombre qui représente la coordonnée verticale du FloatParagraph, en pixels. |
| showPlusButton | true | Indique s’il faut afficher le bouton plus de l’éditeur. |
| showTagList | true | Indique s’il faut afficher le sélecteur de balises dans la barre inférieure de l’éditeur. |
| showStatistics | true | Indique s’il faut afficher les statistiques du contenu dans la barre inférieure de l’éditeur. |
| tabSpaces | 4 | Obtient ou définit le nombre d’espaces à insérer lorsque l’utilisateur appuie sur la touche « tab ». |
| enterKeyTag | p | Détermine ce qui se passe lorsque la touche « Entrée » est pressée dans l’éditeur. div, p ou br. |
| htmlcode_forcehexformat | false | Écrit les couleurs sous la forme #993300 au lieu de rgb(153, 51, 0) dans le HTML enregistré. L’éditeur transmet la couleur choisie telle quelle ; c’est le navigateur qui la normalise en rgb() lorsque le style est relu : cette option la convertit donc en sortie. S’applique aux couleurs déjà présentes dans le contenu chargé ou collé comme à celles qu’applique l’utilisateur, et couvre à la fois la couleur du texte et celle de l’arrière-plan. rgba() n’est pas modifié, car un hexadécimal à 6 chiffres ne peut pas porter son canal alpha. |
| paragraphClass | paragraph | Le nom de classe indiqué est ajouté automatiquement au paragraphe lors de la création d’un nouveau paragraphe. |
| insertTableTag | <table></table> | Attributs de tableau par défaut lors de l’insertion d’un tableau. |
| insertRowTag | <tr></tr> | Attributs de ligne par défaut lors de la création d’une ligne de tableau. |
| insertCellTag | <td><br/></td> | Attributs de cellule par défaut lors de l’insertion d’une cellule. |
| url_base | /richtexteditor | Le dossier à partir duquel l’éditeur charge ses propres fichiers : les feuilles de style du contenu et de l’aperçu, le script d’aperçu, la page d’aide et la page More du sélecteur de couleur. Depuis core 2.6.10, lorsque vous la laissez non définie, elle suit le dossier depuis lequel rte.js a été chargé : une installation sur CDN ou dans un sous-dossier ne nécessite donc aucun réglage ; auparavant, elle valait toujours /richtexteditor. Définissez-la pour servir ces fichiers depuis un autre endroit. |
| onready | (aucune) | Depuis core 2.6.10 : une fonction appelée une fois lorsque l’éditeur est construit et que son contenu initial est chargé (l’événement ready). Équivaut à editor.attachEvent("ready", fn). |
| pasteMode | "Auto" | Le traitement du contenu collé : "Auto" conserve la mise en forme et la nettoie, "PasteText" colle toujours du texte brut, "PasteWord" applique toujours le nettoyage Word, et "Disabled" refuse le collage. Ctrl+Shift+V colle du texte brut dans tous les modes sauf Disabled. |
| smartLinkPaste | true | Coller une URL alors que du texte est sélectionné transforme le texte sélectionné en lien au lieu de le remplacer. |
| autoLinkPaste | true | Depuis core 2.6.10 : une adresse web dans du texte brut collé (https://… ou www.…) devient un lien ; la ponctuation finale reste en dehors. Ne s’applique pas avec Ctrl+Shift+V, ni dans un lien ou du code. Définissez false pour coller les adresses en texte brut. |
| linkDefaultProtocol | "http://" | Depuis core 2.6.10 : le protocole ajouté devant une adresse qui n’en a pas, comme example.com tapé dans la boîte de dialogue de lien ou une adresse www. collée. Définissez "https://" pour que les liens soient sécurisés par défaut. |
| pasteMarkdown | false | Depuis core 2.6.10 : avec true, du Markdown collé en texte brut (un README, une conversation, une réponse d’IA) est converti en contenu mis en forme : titres, gras, italique, liens, listes, citations et blocs de code. Le texte qui ne ressemble pas à du Markdown, Ctrl+Shift+V et les collages à l’intérieur de code restent en texte brut. Le résultat est nettoyé comme tout collage. |
| markdownShortcutsEnabled | true | Raccourcis de bloc Markdown tapés au début d’un paragraphe vide : # à ###### pour les titres, - / * pour les puces, 1. / 1) pour les listes numérotées (un autre nombre que 1 définit le début), > pour une citation, [ ] pour une tâche (avec le plugin de liste de tâches), ``` pour un bloc de code, et --- + Entrée pour un filet. Un seul Ctrl+Z rend les caractères tapés. |
| markdownInlineEnabled | true | Mise en forme Markdown en ligne automatique lorsque le délimiteur fermant est tapé : **bold**, *italic*, `code`, ~~strike~~. Le texte tapé ensuite continue sans mise en forme. |
| contentCssUrl | %url_base%/runtime/ richtexteditor_content.css | Indique l’emplacement de la feuille de style utilisée par la zone modifiable. |
| previewCssUrl | %url_base%/runtime/ richtexteditor_preview.css | Indique l’emplacement de la feuille de style utilisée par la fenêtre d’aperçu. |
| previewScriptUrl | %url_base%/runtime/ richtexteditor_preview.js | Indique l’emplacement du fichier JavaScript utilisé par la fenêtre d’aperçu. |
| contentCssText | "" | Obtient ou définit le texte CSS en ligne utilisé par la zone modifiable. Par exemple, "body{background-color:#eee}". |
| previewCssText | "" | Obtient ou définit le texte CSS en ligne utilisé par la fenêtre d’aperçu. Par exemple, "body{background-color:#eee}". |
| editorBodyCssClass | "" | Obtient ou définit la classe de la zone d’édition pour changer de styles. |
| editorBodyCssText | "" | Obtient ou définit le texte CSS en ligne utilisé par le body modifiable. |
| editablePaddingTop | 2 | Définit la marge intérieure (espace) supérieure de la zone modifiable. |
| editablePaddingBottom | 2 | Définit la marge intérieure (espace) inférieure de la zone modifiable. |
| editablePaddingLeft | 2 | Définit la marge intérieure (espace) gauche de la zone modifiable. |
| editablePaddingRight | 2 | Définit la marge intérieure (espace) droite de la zone modifiable. |
| zIndexFullPage | 9999 | Définit le z-index de l’éditeur ouvert en mode plein écran. |
| zIndexFloat | 99999 | Définit le z-index de la barre d’outils flottante de l’éditeur. |
| zIndexDialog | 999999 | Définit le z-index de la boîte de dialogue de l’éditeur. |
| zIndexDropDown | 9999999 | Définit le z-index de la liste déroulante de l’éditeur. |
| fontNameDropDownMinWidth | 90px | Définit la largeur minimale de la liste déroulante fontname. |
| fontNameDropDownMaxWidth | 110px | Définit la largeur maximale de la liste déroulante fontname. |
| tooltipAttribute | rte-tooltip | Définit l’attribut de l’infobulle de l’éditeur. |
| showKeyboardShortcutsInTooltips | true | Affiche le raccourci clavier de chaque bouton de la barre d’outils dans son infobulle ("Bold (Ctrl+B)", ⌘ sur Mac). Le raccourci n’apparaît que dans l’infobulle : les titres des boîtes de dialogue et le nom accessible du bouton restent le simple libellé, et le bouton porte aria-keyshortcuts. |
| keyboardShortcutHints | { bold: "Ctrl+B", italic: "Ctrl+I", ... } | Le raccourci affiché pour chaque commande, indexé par nom de commande. Ajoutez ou remplacez des entrées pour correspondre aux raccourcis que vous liez vous-même. Laissez les raccourcis en dehors des libellés text_* : un libellé sert aussi de titre de boîte de dialogue et de nom accessible, et un pack de langue le remplace. |
| commentMentions | [] | Les personnes qu’un commentaire peut mentionner, sous forme de tableau de { id, name }. Taper @ dans la zone de rédaction d’un commentaire les liste ; en choisir une insère "@Name" et enregistre la mention sur le commentaire. Vide signifie pas de liste de mentions (plugin de commentaires). |
| text_uilocale | défini par chaque pack de langue | La locale du pack de langue chargé (par exemple zh-Hans, de). L’éditeur l’utilise pour nommer les langues dans le menu de langue des passages de texte et dans la liste Translate d’Ask AI, et pour écrire les pastilles de date, via l’API Intl du navigateur. Sans pack chargé, l’anglais est utilisé. |
| controlSelectionClass | rte-control-selected | Définit la classe de la sélection d’un contrôle dans l’éditeur. |
| controlSelectionMargin | 7 | Définit la marge de la sélection d’un contrôle dans l’éditeur. |
| altTextHint | true | Les images sans texte alternatif, ou avec un texte alternatif vide, reçoivent un contour orange en pointillés dans la zone d’édition, pour que les auteurs voient ce qui doit encore être décrit. Uniquement dans l’éditeur ; rien n’est ajouté au HTML enregistré. Définissez false pour masquer le contour. |
| autoHeadingAnchors | true | Donne à chaque titre un id construit à partir de son texte ("Hello World" devient hello-world) un instant après chaque modification, pour que des liens et une table des matières puissent pointer vers lui ; un doublon reçoit -2, -3. Définissez false pour que le cœur cesse d’attribuer des id. Avec le bundle de plugins chargé, le plugin de plan du document garde alors lui-même les id des titres uniques. |
| autoLinkOnType | true | Une URL ou une adresse e-mail tapée dans le texte devient un lien lorsque l’espace qui la suit est tapé. Définissez false pour laisser les adresses tapées en texte brut. |
| backspaceOutdent | true | Retour arrière tout au début d’un élément de liste sort cet élément de la liste sous forme de paragraphe, au lieu de le fusionner avec l’élément du dessus. Définissez false pour fusionner à la place. |
| blockDragHandles | true | Survoler un bloc (paragraphe, titre, liste, tableau...) affiche une poignée de glissement à côté ; faites glisser la poignée pour déplacer le bloc. Définissez false pour masquer les poignées. |
| collabEnabled | true | Permet au plugin de collaboration (yjscollab) de mettre en place editor.collab. Avec false, le plugin ne fait rien : il n’y a pas d'editor.collab. La collaboration ne démarre que lorsque vous appelez editor.collab.attach(...) ; cette valeur par défaut seule n’ouvre aucune connexion. Voir collaboration. |
| collabShowPresence | true | Lorsqu’une session de collaboration est attachée, affiche le panneau qui liste les autres personnes présentes dans le document. Définissez false pour le masquer. |
| collabShowRemoteCursors | true | Lorsqu’une session de collaboration est attachée, affiche les curseurs et les sélections des autres personnes par-dessus le texte. Définissez false pour les masquer. |
| collabTextSync | false | Ce que synchronise une session de collaboration en plus de la présence et du registre de relecture (plugin yjscollab) : false - pas de texte du document ; true - des instantanés de tout le document dans un texte Yjs partagé ; "crdt" - une fusion au niveau du caractère via le moteur CRDT (crdt-engine.min.js), avec repli sur les instantanés lorsque le moteur n’est pas chargé. |
| collabRequireCrdt | false | Avec collabTextSync: "crdt", si le moteur CRDT est absent, désactive la synchronisation du texte au lieu de se rabattre sur les instantanés (la présence et le registre de relecture restent actifs) ; la console indique pourquoi. |
| collabTextName | richtextbox.body | Le nom du texte Yjs partagé qu’utilise la synchronisation par instantanés. Donnez à chaque éditeur d’un même document Yjs son propre nom. |
| aiToolkitEnabled | true | Le plugin AI Toolkit. Définissez false pour le désactiver : aucun bouton, menu ni boîte de dialogue d’IA. Voir AI Toolkit. |
| aiToolkitResolver | null | La fonction qu’appelle l’AI Toolkit pour joindre votre service d’IA (votre propre clé ou votre propre point de terminaison) ; editor.aiToolkit.setResolver(fn) la définit à l’exécution. Sans elle, le toolkit fonctionne en mode démo. La page AI Toolkit décrit la requête et la réponse. |
| aiToolkitAgent | null | La fonction qu’utilise editor.aiToolkit.runAgent(prompt) pour planifier et appliquer des modifications en plusieurs étapes ; setAgent(fn) la définit à l’exécution. Sans elle, runAgent échoue avec un message qui l’indique. |
| aiToolkitAutoToolbarButtons | true | Ajoute automatiquement les boutons d’IA aux barres d’outils. Définissez false pour placer les commandes d’IA dans votre propre chaîne de barre d’outils. |
| aiToolkitActions | (liste intégrée) | Les actions du menu IA : un tableau de { id, section, icon, title, description }. Remplacez-le pour afficher votre propre ensemble. |
| aiToolkitDialogModes | (liste intégrée) | Les modes de la boîte de dialogue Ask AI (Proofread, Rewrite, Translate...) : un tableau de { id, title, description }. |
| aiToolkitChatPrompts | (liste intégrée) | Les prompts de départ que propose AI Chat : un tableau de { id, label, prompt }. |
| aiToolkitTranslateLanguages | (espagnol, français, allemand, italien...) | Les langues que propose Translate : un tableau de { value, label }. |
| aiToolkitOperationHandlers | Les gestionnaires des types d’opérations qu’une réponse de l’IA peut contenir, par type : { myType: function (operation, context) { ... } } ; renvoyez true lorsque le gestionnaire a appliqué l’opération. editor.aiToolkit.registerOperationHandler() en ajoute un à l’exécution. | |
| aiToolkitPersistenceKey | (vide) | Une clé pour ce document. Si elle est définie, l’état de relecture IA (suggestions et décisions) est conservé dans le localStorage du navigateur sous RTE.AIToolkit.<key>, si bien qu’il survit à un rechargement ; elle identifie aussi le document auprès d'aiToolkitSuggestionLedgerUrl. Vide, rien n’est stocké. |
| aiToolkitReviewLogUrl | (vide) | Une URL de votre serveur qui reçoit chaque décision de relecture IA sous forme de POST JSON, pour un journal d’audit. Vide, rien n’est envoyé. |
| aiToolkitSuggestionLedgerUrl | (vide) | Une URL de votre serveur qui reçoit les suggestions IA du document et leurs états sous forme de POST JSON, pour qu’elles puissent être partagées ou restaurées ; nécessite aiToolkitPersistenceKey. Vide, rien n’est envoyé. |
| aiToolkitReviewSyncInterval | 15000 | La fréquence de synchronisation de l’état de relecture avec votre serveur, en millisecondes (au moins 5000). |
| collabLedgerMapName | reviewLedger | Le nom de la map Yjs partagée qui transporte les commentaires, les suggestions et les décisions de relecture IA entre les pairs. |
| onCollabStatus | null | Appelée avec { attached, textSyncMode, requestedTextSync, fallbackReason, yjsBridge, peerCount } au démarrage d’une session, pour que vous puissiez indiquer le mode en vigueur (par exemple un repli du CRDT vers les instantanés). Le même objet est renvoyé par editor.collab.getStatus(). |
| imageHoverQuickBar | true | Survoler une image dans l’éditeur affiche par-dessus une petite barre d’actions sur l’image. Définissez false pour la masquer. |
| imageLazyLoad | true | Les images que l’éditeur insère (depuis une URL, un envoi ou un dépôt) reçoivent loading="lazy" et decoding="async", pour qu’un long document ne charge pas toutes les images d’un coup. Définissez false pour insérer les images sans ces attributs. |
| indentUseMargin | true | Augmenter et diminuer le retrait d’un paragraphe ou d’un titre modifie sa marge, comme dans Word (margin-left pour un texte de gauche à droite). Définissez false pour modifier plutôt sa marge intérieure. Le pas est indentation. |
| inlineMath | true | Permet à editor.applyMathMarkup() d’envelopper les passages $...$ dans <span class="rte-math-inline" data-tex="...">, pour qu’un moteur de rendu mathématique comme KaTeX ou MathJax les dessine. Rien ne se passe tant que vous ne l’appelez pas. Avec false, l’appel ne change rien. |
| placeholderShowOnlyWhenEditable | true | Masque le placeholder lorsque l’éditeur est en lecture seule (readOnly ou setReadOnly(true)) ou en mode commentaires uniquement, et l’affiche de nouveau lorsque l’édition est autorisée. Définissez false pour l’afficher aussi dans un éditeur en lecture seule. (En 2.6.11 et versions antérieures, un éditeur en lecture seule l’affichait toujours.) |
| showFloatLinkUrlPreview | true | Lorsque le curseur se trouve dans un lien, la barre d’outils flottante de lien commence par l’adresse du lien, qui s’ouvre dans un nouvel onglet au clic. Définissez false pour n’afficher que les boutons de la barre d’outils. |
| smartPasteToast | true | Après le nettoyage d’un collage depuis Word ou Google Docs, un court avis le signale. Définissez false pour nettoyer sans rien signaler. |
| tableColumnResize | true | Pointer la bordure entre deux colonnes de tableau affiche un indicateur de redimensionnement ; faites-le glisser pour changer la largeur de la colonne. Définissez false pour désactiver le redimensionnement des colonnes par glissement. |
| tableRowResize | true | Pointer le bord inférieur d’une ligne de tableau affiche un indicateur de redimensionnement ; faites-le glisser pour changer la hauteur de la ligne. Définissez false pour désactiver le redimensionnement des lignes par glissement. |
| aiContextMenu | true | Avec l’AI Toolkit chargé, un clic droit sur du texte sélectionné (trois caractères ou plus) ouvre un menu d’actions IA sur ce texte. Définissez false pour garder le menu propre au navigateur. |
| wordExportFileName | (aucune) | Nom de fichier de base pour editor.exportToWord() (un .doc compatible Word) lorsqu’aucun nom n’est transmis. Non défini, c’est le texte du premier titre h1-h3 qui est utilisé, ou "document". |
| wordExportFontFamily | Calibri, 'Segoe UI', Arial, sans-serif | Police du corps de l’export .doc. Une option transmise à exportToWord() l’emporte. |
| wordExportFontSize | 11pt | Taille de police du corps de l’export .doc. |
| wordExportPageSize | 8.5in 11in | Format de page de l’export .doc, sous forme de taille CSS @page (US Letter par défaut ; "21cm 29.7cm" pour l’A4). Une mise en page déjà portée par le document (affichage paginé) a la priorité. |
| wordExportMargin | 1in | Marges de page de l’export .doc, sous forme de longueur CSS ou de notation abrégée. Une mise en page portée par le document a la priorité. |
| wordExportLandscape | false | Pages en paysage dans l’export .doc. Une mise en page portée par le document a la priorité. |
| docxExportFileName | (aucune) | Nom de fichier de base de l’export .docx lorsqu’aucun nom n’est transmis. Non défini, c’est Export- suivi de la date et de l’heure (YYMMDD-HHMMSS, par exemple Export-261026-153045.docx). |
| docxExportTitle | (aucune) | Le titre enregistré dans les propriétés du fichier .docx. Non défini, le document.title de la page, ou "Document". |
| docxExportAuthor | RichTextEditor | L’auteur enregistré dans les propriétés du fichier .docx. |
| pdfExportFileName | (aucune) | Nom de fichier de base de l’export PDF lorsqu’aucun nom n’est transmis. Non défini, c’est Export- suivi de la date et de l’heure (YYMMDD-HHMMSS). |
| pdfExportTitle | (aucune) | Le titre enregistré dans les métadonnées du PDF. Non défini, le document.title de la page, ou "Document". |
| pdfExportAuthor | (vide) | L’auteur enregistré dans les métadonnées du PDF. |
| pdfExportFont | helvetica | La police de l’export PDF vectoriel (plugin pdfexport) : "helvetica", "times" ou "courier", les polices PDF standard, qui n’ont pas besoin d’être intégrées. Elles ne couvrent que le latin d’Europe occidentale ; voir pdfExportRasterFallback. |
| pdfExportBaseFontSize | 11 | La taille du texte courant du PDF vectoriel, en points ; les titres sont proportionnés à partir de cette valeur. |
| pdfExportHeader | (aucune) | Texte brut centré en haut de chaque page du PDF vectoriel ; {page} et {total} deviennent le numéro de page et le nombre de pages. Non défini, le texte de l’en-tête de page du document (affichage paginé), s’il y en a un. |
| pdfExportFooter | (aucune) | Texte brut centré en bas de chaque page, avec les mêmes {page} et {total}. |
| pdfExportRasterFallback | true | Lorsqu’un document contient des caractères que le PDF vectoriel ne peut pas encoder (tout ce qui sort du latin d’Europe occidentale : chinois, japonais, coréen, cyrillique, grec, arabe...), exportToPdf() et le bouton Export PDF de la barre d’outils utilisent à la place l’export raster html2pdf, qui dessine toutes les écritures, et le signalent dans la console. editor.getPdfUnsupportedText() liste ces caractères. Définissez false pour toujours écrire le PDF vectoriel ; ces caractères s’impriment alors sous la forme "?". En 2.6.11 et versions antérieures, ils s’imprimaient toujours sous la forme "?". |
| pdfExportUnicodeFont | (aucune) | Les octets d’une police TrueType (.ttf, sous forme d’ArrayBuffer ou d’Uint8Array) pour le texte que les polices standard ne peuvent pas dessiner : chinois, japonais, coréen, cyrillique, grec... Avec elle, le PDF vectoriel intègre les glyphes qu’utilise le document (quelques centaines de Ko, même à partir d’une grande police CJK), et ce texte reste sélectionnable et consultable par recherche ; sans elle, voir pdfExportRasterFallback. editor.loadPdfFont(url) récupère une police que vous servez et définit cette option ; rien n’est récupéré tant que vous ne l’appelez pas. Les fichiers CFF (.otf) et les collections (.ttc) sont refusés avec un message dans la console. |
| mentionTrigger | @ | Le caractère qui ouvre la liste des mentions (plugin mentions). La liste ne fonctionne qu’une fois mentionStaticList ou mentionSource défini. |
| mentionStaticList | null | Une liste fixe de personnes pour le déclencheur par défaut : un tableau de { id, label (or name), subtitle (or email) }. Ce qui est tapé après le déclencheur la filtre sur le libellé, le sous-titre et l’id, sans tenir compte de la casse ; si rien n’est tapé, les 50 premières s’affichent. |
| mentionSource | null | Une fonction qui fournit la liste pour le déclencheur par défaut : (query, { trigger }) => un tableau d’éléments, ou une Promise qui en renvoie un. A la priorité sur mentionStaticList. Pour d’autres déclencheurs, utilisez mentionTriggers ou editor.mentions.register(). |
| mentionTriggers | null | Des déclencheurs supplémentaires, chacun de la forme { trigger, source (or search), insertClass, label, renderItem, renderInsert }, par exemple # pour des tags. Les callbacks search(query, done) et les fonctions asynchrones sont acceptés. Un déclencheur qui n’a ni source ni search est ignoré, avec un avertissement dans la console. |
| mentionMaxItems | 8 | Le nombre maximal de résultats affichés par la liste. |
| mentionDebounceMs | 150 | La durée de pause de la saisie, en millisecondes, avant que la source ne soit de nouveau interrogée. Juste après le déclencheur (rien n’étant encore tapé), elle est interrogée immédiatement. |
| mentionInsertClass | rte-mention | La classe de l’élément de mention inséré. Un déclencheur peut définir son propre insertClass. |
| slashCommandTrigger | / | La touche qui ouvre le menu des commandes slash (plugin slash command), tapée en début de ligne ou après une espace, et jamais à l’intérieur de code ou de pre. |
| slashCommandMaxItems | 40 | Le nombre maximal de commandes que le menu slash liste à la fois. |
| documentOutlineEnabled | true | Le panneau de plan du document (plugin documentoutline) : la liste des titres du document, pour passer de l’un à l’autre. Définissez false pour n’avoir ni bouton Outline dans la barre d’outils ni panneau. |
| documentOutlineAutoOpen | false | Ouvre le panneau de plan au démarrage de l’éditeur. |
| documentOutlineMinLevel | 1 | Le niveau de titre le plus élevé que liste le plan (1 à 6). |
| documentOutlineMaxLevel | 6 | Le niveau de titre le plus bas que liste le plan (1 à 6, pas au-dessus de documentOutlineMinLevel). |
| documentOutlineTitle | "Outline" (translated) | Le titre et le nom accessible du panneau. Non défini, c’est le texte du pack de langue qui est utilisé. |
| documentOutlineHint | (texte traduit) | La ligne sous le titre du panneau. |
| documentOutlineEmptyText | (texte traduit) | Ce qu’indique le panneau lorsque le document n’a pas de titres. |
| contentMinimapEnabled | true | Le panneau de minimap (plugin contentminimap) : un petit aperçu de tout le document, sur lequel cliquer pour s’y rendre. Définissez false pour n’avoir ni bouton Minimap dans la barre d’outils ni panneau. |
| contentMinimapAutoOpen | false | Ouvre le panneau de minimap au démarrage de l’éditeur. |
| contentMinimapWidth | 168 | La largeur du panneau en pixels (au moins 148). |
| contentMinimapScale | 0.14 | L’échelle à laquelle l’aperçu dessine le document (0.14 = 14% de sa taille). |
| contentMinimapTitle | "Minimap" (translated) | Le titre et le nom accessible du panneau. |
| contentMinimapHint | (texte traduit) | La ligne sous le titre du panneau. |
| contentMinimapEmptyText | (texte traduit) | Ce qu’indique le panneau tant que le document est vide. |
| accessibilityCheckerEnabled | true | Le panneau du vérificateur d’accessibilité (plugin accessibilitychecker), qui liste des problèmes comme les niveaux de titre sautés, les images sans texte alternatif et les tableaux sans en-têtes, avec des réparations. Définissez false pour n’avoir ni bouton dans la barre d’outils ni panneau. |
| accessibilityCheckerAutoOpen | false | Ouvre le panneau du vérificateur d’accessibilité au démarrage de l’éditeur. |
| accessibilityCheckerTitle | "Accessibility" (translated) | Le titre et le nom accessible du panneau. |
| accessibilityCheckerHint | (texte traduit) | La ligne sous le titre du panneau. |
| accessibilityCheckerEmptyText | (texte traduit) | Ce qu’indique le panneau lorsqu’il ne trouve aucun problème. |
| contentAriaLabel | (aucune) | Le nom accessible de la zone d’édition et le titre du cadre de l’éditeur (plugin a11yenhance), suivis de l’indication sur la touche Échap, par exemple "Article body Press Escape to leave the editing area.". Non défini, c’est le "Rich text editor. Editing area." du pack de langue. Donnez à chaque éditeur d’une page son propre nom. |
| contentLabel | (aucune) | Utilisé comme contentAriaLabel lorsque celui-ci n’est pas défini. |
| a11yEditorLabel | (aucune) | Utilisé comme nom de la zone d’édition lorsque ni contentAriaLabel ni contentLabel ne sont définis (plugin keyboarda11y). En 2.6.11 et versions antérieures, il était sans effet lorsque le bundle de plugins était chargé. |
| a11yEscapeHint | "Press Escape to leave the editing area." (traduit) | Les mots ajoutés après le nom de la zone d’édition, qui indiquent aux utilisateurs du clavier comment quitter l’éditeur. |
| contentLang | (le lang de la page) | Le lang du document d’édition, pour la vérification orthographique et la prononciation des lecteurs d’écran. Non défini, il suit le <html lang> de la page hôte, ou en. |
| a11yReadOnlySuffix | "Read only." | Ce qui est annoncé aux lecteurs d’écran lorsque l’éditeur passe en lecture seule. |
| a11yEditableAgain | "Editing enabled." | Ce qui est annoncé aux lecteurs d’écran lorsque l’éditeur quitte la lecture seule. |
| a11yRovingToolbar | true | La barre d’outils est un seul arrêt de tabulation, et les touches fléchées passent d’un bouton à l’autre (le modèle de barre d’outils ARIA). Définissez false pour que chaque bouton soit son propre arrêt de tabulation. |
| commentHighlightBg | #fff9c4 | Couleur d’arrière-plan du texte commenté (plugin comments). |
| commentHighlightBorder | #f9a825 | Couleur de la ligne sous le texte commenté. |
| trackChangesInsertClass | rte-tc rte-tc-insert | Classe de l’élément qui enveloppe une insertion suggérée (mode suggestion). Modifiez-la pour styliser les suggestions à votre façon. |
| trackChangesDeleteClass | rte-tc rte-tc-delete | Classe de l’élément qui enveloppe une suppression suggérée. |
| onReviewDecisionDenied | null | Appelée avec { entry, action, user } lorsque reviewCanDecide refuse l’acceptation ou le rejet de quelqu’un, pour que vous puissiez lui expliquer pourquoi. |
| reviewCanDecide | null | Une fonction (entry, action, user, editor) qui décide si cet utilisateur peut accepter ou rejeter une suggestion ; renvoyez false pour refuser. Si elle lève une exception, la décision est refusée. |
| restrictedEditingMode | false | Verrouille le document, sauf les zones marquées data-rte-editable="true" (plugin d’édition restreinte), comme un formulaire Word avec des champs à remplir. editor.restrictedEditing marque les zones, active et désactive le verrouillage, et passe d’une zone à l’autre. |
| pageHeaderHtml | (vide) | HTML répété en haut de chaque page en affichage paginé (plugin pagination) ; {page} et {total} deviennent le numéro de page et le nombre de pages. Un en-tête défini dans la mise en page du document a la priorité. |
| pageFooterHtml | (vide) | HTML répété en bas de chaque page en affichage paginé, avec les mêmes {page} et {total}. |
| readabilityWordsPerMinute | 200 | Vitesse de lecture utilisée pour l’estimation du temps de lecture (plugin de statistiques de lisibilité). |
| maxLength | 0 | Le nombre maximal de caractères que peut contenir le document (plugin de limite de caractères) ; 0 signifie aucune limite. |
| maxWords | 0 | Le nombre maximal de mots que peut contenir le document ; 0 signifie aucune limite. |
| charLimitEnforce | true | Empêche la saisie et le collage au-delà de maxLength / maxWords. Définissez false pour seulement compter et signaler (editor.isOverLimit(), l’événement charlimit). |
| charLimitShowCounter | true | Affiche le compteur flottant lorsqu’une limite est définie. |
| sanitizerAllowTags | [] | Noms d’éléments supplémentaires que conserve le filtre de nettoyage du contenu (plugin sanitizer) : noms exacts, caractères génériques "x-*" ou expressions régulières, par exemple ["custom-el", "x-*", /^ui-/]. Les éléments script et les autres éléments exécutables ne sont jamais conservés. |
| sanitizerAllowAttributes | [] | Noms d’attributs supplémentaires que conserve le filtre de nettoyage, sous les mêmes formes, par exemple ["data-cms-*"]. Les attributs de gestionnaires d’événements (on*) ne sont jamais conservés. |
| sanitizerAllowStyleTags | false | Conserve les blocs <style> dans le contenu. Désactivé par défaut : un bloc de style dans un document modifie le style de la page sur laquelle il est affiché. |
| sanitizerGuardLiveDom | true | Surveille aussi la zone d’édition elle-même et la nettoie de nouveau lorsque du contenu exécutable y apparaît par n’importe quelle voie - scripts, attributs on*, URL javascript: - et pas seulement par le collage et setHTMLCode() : contenu arrivant par la synchronisation collaborative, par un autre script de la page ou par une extension du navigateur. Définissez false pour ne nettoyer que ce qui passe par les voies propres à l’éditeur. Le filtre de nettoyage s’exécute dans le navigateur ; vérifiez aussi le contenu sur votre serveur. |
| documentImportMode | replace | L’effet de l’import d’un fichier (plugin document import) : "replace" remplace le document, "insert" insère à l’emplacement du curseur. Le remplacement constitue une seule étape d’annulation. |
| documentImportAccept | .md,.markdown,.html,.htm,.txt,.doc,.docx | Les types de fichiers que propose la boîte de dialogue d’import. |
| documentImportImages | true | Importe les images contenues dans un .docx importé, sous forme d’URI data. Définissez false pour les ignorer dans les fichiers riches en images. |
| documentImportResolver | (aucune) | Une fonction (file) => HTML (ou une Promise qui le renvoie) qui convertit vous-même un fichier, par exemple sur votre serveur. Renvoyez une chaîne pour prendre la main ; tout autre résultat, ou une Promise rejetée, se rabat sur le lecteur intégré. |
| dictationEnabled | false | Active la dictée (plugin dictation) : la parole est tapée dans le document via la reconnaissance vocale du navigateur (Web Speech API). Désactivée par défaut. Dans certains navigateurs, comme Chrome, la reconnaissance s’exécute sur les serveurs de l’éditeur du navigateur : l’audio quitte donc l’appareil de l’utilisateur ; vérifiez que c’est acceptable avant de l’activer. |
| dictationLang | (la langue du navigateur) | La langue à reconnaître, sous forme de balise BCP-47 comme en-US. Non défini, navigator.language. |
| dictationContinuous | true | Continue l’écoute pendant les pauses. Définissez false pour s’arrêter après un seul énoncé. |
| dictationInterimResults | true | Affiche la transcription partielle pendant que l’utilisateur parle encore. |
| dictationAutoPunctuation | true | Met une majuscule à la première lettre de chaque phrase dictée et la termine par un point lorsqu’elle n’a pas de ponctuation propre. |
| commentsEnabled | true | Le plugin comments (commentaires en ligne, réponses, résolution). Définissez false pour le désactiver. |
| trackChangesEnabled | true | Le plugin de suivi des modifications (mode suggestion, acceptation et rejet). Définissez false pour le désactiver. |
| currentUser | null | { id, name, color } - la personne qui édite. Les commentaires, les suggestions, l’historique des révisions et la collaboration enregistrent cette personne comme auteur ; définissez-la dès que vous connaissez l’utilisateur. |
| mentionEnabled | true | Le plugin mentions. Définissez false pour le désactiver. Les mentions n’apparaissent qu’une fois une source définie (mentionStaticList, mentionSource ou mentionTriggers). |
| slashCommandEnabled | true | Le menu des commandes slash (plugin slash command). Définissez false pour le désactiver. |
| slashCommandIncludeAi | true | Liste les actions de l’AI Toolkit dans le menu slash lorsque l’AI Toolkit est chargé. Définissez false pour les exclure. |
| slashCommands | null | Commandes supplémentaires pour le menu slash, enregistrées au démarrage : un tableau de { id, section, title, description, keywords, iconSvg, run }, comme celui que prend editor.slashCommands.register(). |
| galleryEndpoint | (aucune) | Une URL à laquelle la boîte de dialogue de la galerie demande les dossiers et les images (plugin insertgallery). Elle renvoie { currentFolder, currentFolderDisplay, parentFolder, folders: [{ folder, name }], images: [{ url, name, folder, size, source, alt }] }. Non définie, la galerie n’affiche que galleryImages et n’effectue aucune requête. |
| nodeTypesEnabled | true | Le registre des types de nœuds personnalisés (plugin nodetypes). Définissez false pour le désactiver. |
| nodeTypes | (aucune) | Les types de nœuds à enregistrer au démarrage, sous la forme que prend editor.nodeTypes.register() : { name, match, inline, atomic, toJSON, fromJSON, toMarkdown }. Un élément enregistré conserve son balisage à travers le filtre de nettoyage et reçoit une forme Markdown que vous choisissez, au lieu de se réduire à son texte. |
| rubyAnnotationEnabled | true | Annotations ruby (plugin rubyannotation) : des guides de lecture au-dessus du texte d’Asie orientale, écrits sous la forme <ruby> avec <rt>. Définissez false pour les désactiver. |
| rubyAnnotationParentheses | true | Écrit des parenthèses <rp> autour de chaque lecture, pour qu’un lecteur sans prise en charge du ruby affiche "base(reading)" au lieu d’accoler les deux. |
| stateInspectorEnabled | true | L’inspecteur d’état (plugin stateinspector) : un panneau pour développeurs qui montre la structure du document, ses problèmes structurels et un instantané copiable pour les rapports de bug. Définissez false pour le désactiver. |
| stateInspectorToolbarButton | false | Ajoute un bouton de barre d’outils qui ouvre l’inspecteur d’état. Désactivé par défaut ; ouvrez-le avec editor.stateInspector.open(). |
| stateInspectorAutoOpen | false | Ouvre l’inspecteur d’état au démarrage de l’éditeur. |
| stateInspectorLogLimit | 60 | Le nombre d’événements récents de l’éditeur que conserve l’inspecteur (10 à 500). |
| stateInspectorMaxDepth | 24 | La profondeur jusqu’à laquelle l’inspecteur parcourt l’arbre du document (au moins 2). |
| stateInspectorTitle | State inspector | Le titre du panneau. |
| stateInspectorHint | (text) | La ligne sous le titre du panneau. |
| stateInspectorEmptyText | No content to inspect yet. | Ce qu’indique le panneau tant que le document est vide. |
Personnalisation des listes déroulantes
| Nom | Valeur par défaut | Description |
|---|---|---|
| paragraphItems | Normal,H1,H2,H3,H4,H5,H6 | Un ensemble prédéfini de formats de bloc. |
| fontSizeItems | 8,9,10,11,12,13,14,16, 18,24,36,48,60,72,96 | Un ensemble prédéfini de tailles de police. |
| fontNameItems | Arial,Arial Black,Comic Sans MS, Courier New,Tahoma,Georgia,Helvetica, Segoe UI,Sans-Serif,Impact, Times New Roman,Verdana | Un ensemble prédéfini de noms de police. |
| lineHeightItems | 100%,150%,200%,250%,300%, 350%,400%,450%,500%,600% | Un ensemble prédéfini de valeurs d’interligne. |
| inlineStyles | [["Red", "color:red", "color:red"], ["Bold", "font-weight:bold", "font-weight:bold"], ["Mark", "my-cls-mark"], ["Warning", "my-cls-warning"]] | Styles CSS par défaut de la liste déroulante des styles en ligne. [texte, style css, style d’affichage] |
| paragraphStyles | [["Red", "color:red"], ["Bold", "font-weight:bold"], ["Quote", "my-cls-quote"], ["Large Center", "my-cls-largecenter"]] | Styles CSS par défaut de la liste déroulante des styles de paragraphe. [texte, style css, style d’affichage] |
| imageStyles | [["Border", "border:solid 1px gray"], ["Shadow", "box-shadow:0 0 8px gray"], ["Margin10", "margin:10px"], ["Padding:10", "padding:10px"]] | Styles CSS par défaut de la liste déroulante des styles d’image. [texte, style css] |
| linkStyles | [["Margin10", "margin:10px"], ["Padding:10", "padding:10px"], ["BigText", "font-size:36px"]] | Styles CSS par défaut de la liste déroulante des styles de lien. [texte, style css] |
| galleryImages | [] | Images prédéfinies pour la boîte de dialogue de la galerie : une URL, [url, text] ou { url, name, alt }. Vide par défaut (jusqu’à la version 2.6.11, elle listait six images d’exemple sur richtexteditor.com, récupérées depuis notre serveur à chaque ouverture de la galerie). Voir galerie d’images. |
| htmlTemplates | [] | Les modèles que propose la boîte de dialogue Insert Template : [title, html] ou { title, html, description }. Vide par défaut (jusqu’à la version 2.6.11, deux modèles de démonstration portant tous deux le nom "My Doc 1" étaient fournis) ; sans modèle, la boîte de dialogue l’indique. |
| characterItems | Un ensemble prédéfini de caractères. | |
| foreColorItems | Un ensemble prédéfini de couleurs de texte. | |
| backColorItems | Un ensemble prédéfini de couleurs d’arrière-plan. | |
| linkItems | [] | Les adresses que suggère la boîte de dialogue Insert Link, par exemple ["/about", "/contact"]. Vide par défaut (jusqu’à la version 2.6.11, elle suggérait cinq sites de grandes entreprises) ; sans élément, la flèche de suggestion est masquée. |
| imageItems | [] | Les adresses que suggère la boîte de dialogue Insert Image (par URL). Vide par défaut ; sans élément, la flèche est masquée. |
Options des plugins
Les options ci-dessus configurent le cœur de l’éditeur. Tout ce qui suit est apporté par les plugins fournis dans richtexteditor/plugins/. Définissez-les de la même façon — dans l’objet d’options du constructeur, ou globalement sur RTE_DefaultConfig avant la création d’un éditeur.
Aperçu des builds compilés depuis les sources : nouvelles options de plugins
Ces options existent dans les plugins actuels compilés depuis les sources, mais ne sont pas incluses dans tous les bundles publiés ni dans les ressources de démo actuelles de ce site. Utilisez un build de plugins testé et assorti ; définir une option n’ajoute pas une fonctionnalité manquante à un runtime plus ancien.
| Option | Valeur par défaut | Description |
|---|---|---|
aiToolkitImageResolver | null | Builds avec génération d’images : (prompt: string) => Promise<string>. Votre résolveur renvoie une URL d’image HTTPS ou une URL data d’image PNG/JPEG/WebP/GIF, d’au plus 6,000,000 caractères. Le plugin n’appelle aucun fournisseur de lui-même. Gardez les identifiants du fournisseur sur votre serveur ; appliquez votre politique d’envoi et de stockage avant d’enregistrer les images générées. |
galleryAcceptedExtensions | null | Builds avec galerie : un tableau comme [".jpg", ".png"] qui remplace les formats qu’indique et qu’autorise la boîte de dialogue Insert Gallery. Réglez-le sur ce qu’accepte votre point de terminaison d’envoi. |
commentMentions | [] | Builds avec mentions dans les commentaires : [{ id, name }] fournit les personnes suggérées après @ dans la zone de rédaction des commentaires. L’id et le nom de la personne choisie sont conservés avec le commentaire. C’est une liste de suggestions, et non une autorisation ni un service de notification ou d’e-mail ; votre application doit fournir ces fonctions séparément. |
tableRowDrag | true | Builds avec glissement des lignes : définissez false avant de créer l’éditeur pour masquer les poignées de glissement des lignes. Les lignes d’en-tête restent fixes. Les tableaux fusionnés ou irréguliers, le contenu en lecture seule ou en mode commentaires uniquement et le mode suggestion refusent les déplacements non pris en charge ; un déplacement de ligne n’est pas enregistré comme suggestion. Échap annule un glissement. |
tableColumnDrag | true | Builds avec glissement des colonnes : définissez false avant de créer l’éditeur pour masquer les poignées de glissement des colonnes. Déplace les cellules de toutes les lignes avec la largeur de la colonne ; une colonne de numéros de ligne reste en première position. Les tableaux fusionnés ou irréguliers et le mode lecture seule, commentaires uniquement ou suggestion refusent les déplacements non pris en charge. Échap annule un glissement. |
IA
Toutes les interfaces IA fonctionnent avec votre propre clé : l’éditeur appelle une fonction que vous fournissez et ne communique jamais lui-même avec un fournisseur.
| Option | Valeur par défaut | Description |
|---|---|---|
ghostText | false | Active la complétion en ligne en texte gris. Tab accepte, Échap ignore. |
ghostTextResolver | null | async ({ before }) => string. Nécessaire pour que ghostText fasse quoi que ce soit. |
aiToolkitReviewLegacyLayout | true | Utilise l’ancienne disposition du panneau AI Review. |
aitoolkit_skip_auto_css | true | Désactive l’injection automatique de la feuille de style de l’AI Toolkit lorsque vous fournissez la vôtre. |
Aides à la saisie et à la rédaction
Comportements qui se déclenchent pendant la saisie de l’auteur. Tous peuvent être désactivés individuellement.
| Option | Valeur par défaut | Description |
|---|---|---|
autocorrectEnabled | true | Interrupteur général du plugin de correction automatique. Il ne désactive pas la typographie intelligente du cœur de l’éditeur - voir smartTypography. |
autocorrectCapitalize | true | Met une majuscule à la première lettre d’une phrase. |
autocorrectSpelling | true | Applique la liste intégrée des fautes d’orthographe courantes. |
autocorrectTypography | true | Guillemets typographiques, tirets et points de suspension produits par le plugin de correction automatique. Le cœur de l’éditeur effectue les mêmes substitutions de lui-même ; pour les arrêter, définissez smartTypography sur false. |
autocorrectReplacements | null | Votre propre table de remplacements { from: to }, fusionnée avec celle intégrée. |
emojiAutocompleteEnabled | true | Tapez :shortcode: pour insérer un emoji. |
emojiShortcodes | { … } | Redéfinit ou complète la table des codes courts vers les emojis. |
foldHeadingsEnabled | true | Titres repliables dans la surface d’édition. |
typewriterModeEnabled | false | Garde la ligne du curseur ancrée verticalement pendant la saisie. |
typewriterAnchor | 0.5 | La position de la ligne du curseur, de 0 (en haut) à 1 (en bas). |
focusModeEnabled | false | Estompe tous les blocs sauf celui qui contient le curseur. |
dragHandleEnabled | true | Affiche la poignée de glissement des blocs dans la marge. |
dragHandleKeyboard | true | Autorise la réorganisation des blocs au clavier (Alt+Up / Alt+Down). |
formattingMarkPilcrow | true | Affiche les pieds-de-mouche lorsque les marques de mise en forme sont activées. |
formattingMarkBlocks | true | Dessine le contour des blocs lorsque les marques de mise en forme sont activées. |
formattingMarkInvisibles | true | Révèle les espaces, les tabulations et les espaces insécables. |
permanentPenClass | "rte-pen" | Classe appliquée au texte du stylo permanent. |
permanentPenStyle | { … } | Objet de style en ligne pour le texte du stylo permanent. |
titleCaseSmallWords | "a an and as at …" | Les mots laissés en minuscules par Change Case → Title Case. |
formatPainterProperties | [ … ] | Les propriétés CSS que copie l’outil de reproduction de la mise en forme. |
readabilityStats | true | Affiche les statistiques de facilité de lecture dans la barre d’état. |
localDraft | false | Conserve un brouillon local pour que le contenu survive à un rechargement accidentel. |
Blocs, structure et renvois
Contenu structurel : encadrés, colonnes, listes numérotées, notes de bas de page, renvois et table des matières.
| Option | Valeur par défaut | Description |
|---|---|---|
text_inlinecode | "Inline code" | Libellé et infobulle du bouton de code en ligne dans la barre d’outils (commande "inlinecode", qui émet un simple élément <code>). |
calloutTypes | [ … ] | Les types d’encadrés disponibles (info, warning, …). |
calloutDefaultType | "info" | Le type d’encadré inséré lorsqu’aucun n’est choisi. |
columnsDefaultCount | 2 | Les colonnes créées par le bloc de colonnes. |
legalListClass | "rte-legal-list" | Classe appliquée aux listes juridiques à plusieurs niveaux. |
legalListSeparator | "." | Séparateur entre les numéros de niveau (1.1.1). |
legalListSuffix | "." | Caractère final après le dernier niveau. |
lineNumberStart | 1 | Premier numéro de ligne. |
lineNumberInterval | 1 | Affiche un numéro de ligne toutes les N lignes. |
lineNumberRestart | "continuous" | "continuous" ou redémarrage à chaque page. |
lineNumberGutter | 38 | Largeur de la marge, en pixels. |
footnotesTitle | "Footnotes" | Titre affiché au-dessus de la liste des notes de bas de page. |
footnotesNumbering | "decimal" | Style de marqueur pour la numérotation des notes. |
footnotesMarkerPrefix | "" | Texte avant chaque appel de note. |
footnotesMarkerSuffix | "" | Texte après chaque appel de note. |
crossRefFigureLabel | "Figure" | Libellé utilisé pour renvoyer à une figure. |
crossRefTableLabel | "Table" | Libellé utilisé pour renvoyer à un tableau. |
crossRefMissingText | "[reference not found]" | Affiché lorsque la cible d’un renvoi a disparu. |
tocTitle | "Contents" | Titre de la table des matières générée. |
tocMinLevel | 1 | Niveau de titre le plus élevé inclus. |
tocMaxLevel | 3 | Niveau de titre le plus bas inclus. |
tocPageNumbers | "auto" | Affiche les numéros de page dans la table des matières. |
mathDialogSamples | [ … ] | Équations de départ proposées dans la boîte de dialogue d’équation. |
tableNumberSeries | "numeric" | Série de numérotation pour les numéros de ligne des tableaux. |
tableNumberHeader | "#" | Texte d’en-tête de la colonne des numéros de ligne. |
Mise en page, export et import
Tout ce qui transforme le document en fichier ou en page imprimée. L’export s’exécute dans le navigateur ; rien n’est envoyé.
| Option | Valeur par défaut | Description |
|---|---|---|
paginationEnabled | false | Affiche le document sous forme de pages distinctes. |
pageFormat | "A4" | Format de page utilisé par la pagination et l’export. |
pageOrientation | "portrait" | "portrait" ou "landscape". |
pageMargins | { top: 1, right: 1, bottom: 1, left: 1 } | Marges, en pouces. |
paginationShowPageNumbers | true | Affiche les numéros de page dans l’affichage paginé. |
paginationShowPageCount | true | Affiche « sur N » à côté des numéros de page. |
docxExport | true | Active l’export .docx (généré dans le navigateur, sans serveur). |
wordExport | true | Active l’export HTML compatible Word. |
documentImport | true | Active l’import .docx. |
pdfExport | true | Active l’export PDF vectoriel balisé. |
html2pdfScriptUrl | null | Chemin vers html2pdf pour la voie PDF raster ; omettez-le pour ne garder que la voie vectorielle. |
markdownExportEnabled | true | Active Copier / Télécharger au format Markdown. |
emailWrapWidth | 640 | Largeur de tableau utilisée par l’export HTML pour e-mail. |
emailInlineProperties | [ … ] | Propriétés CSS intégrées en ligne aux éléments pour les clients de messagerie. |
watermarkText | "DRAFT" | Texte du filigrane. |
watermarkImage | null | Filigrane image ; remplace le filigrane texte. |
watermarkMode | "tile" | "tile" ou une seule marque centrée. |
watermarkOpacity | 0.18 | Opacité du filigrane, de 0 à 1. |
watermarkAngle | -30 | Rotation, en degrés. |
watermarkColor | "#94a3b8" | Couleur du filigrane. |
watermarkFontSize | 48 | Taille de police du filigrane, en pixels. |
watermarkPrint | false | Inclut le filigrane à l’impression. |
Médias, liens et données
Les résolveurs vous permettent de fournir votre propre source de données. Chacun est une simple fonction : votre point de terminaison et vos identifiants restent donc les vôtres.
| Option | Valeur par défaut | Description |
|---|---|---|
autoEmbedEnabled | true | Transforme une URL YouTube ou Vimeo collée en intégration responsive. |
autoEmbedResolver | null | (url) => URL d’intégration https, ou null pour refuser. Ajoutez vos propres fournisseurs. |
bookmarkResolver | null | (url) => métadonnées pour les cartes d’aperçu de lien. |
bookmarkFaviconService | "/favicon-proxy?domain=" | Point de terminaison des favicons pour les cartes de signets. Faites-le pointer vers votre propre proxy. |
diagramResolver | null | Fournissez un moteur de rendu Mermaid ; aucun n’est inclus. |
diagramSamples | [ … ] | Diagrammes de départ proposés dans la boîte de dialogue d’insertion. |
drawingWidth | 640 | Plugin de dessin (drawing.js, prochaine version) : largeur du canvas en pixels CSS. |
drawingHeight | 360 | Plugin de dessin (prochaine version) : hauteur du canvas en pixels CSS. |
drawingColors | [6 colours] | Plugin de dessin (prochaine version) : les échantillons de couleur proposés pour le stylo et le surligneur. |
text_insertdrawing | "Drawing" | Plugin de dessin (prochaine version) : libellé du bouton insertdrawing dans la barre d’outils. |
chipResolver | null | (query) => éléments de pastilles intelligentes. |
chipDateFormat | null | Chaîne de format pour les pastilles de date. |
mergeFields | [ … ] | Champs de fusion disponibles. |
mergeFieldPrefix | "{{" | Délimiteur ouvrant. |
mergeFieldSuffix | "}}" | Délimiteur fermant. |
mergeFieldMissing | "placeholder" | Ce qu’il faut afficher lorsqu’un champ n’a pas de valeur. |
Langue, direction et accessibilité
L’éditeur est fourni en 67 langues. La direction et le comportement d’accessibilité se configurent en plus.
| Option | Valeur par défaut | Description |
|---|---|---|
defaultTextDirection | null | "ltr", "rtl", ou null pour hériter. |
textDirectionAutoDetect | false | Détecte la direction à partir du texte en cours de saisie. |
textDirectionSwapAlign | true | Inverse l’alignement lorsque la direction change. |
rtlUserInterface | "auto" | Inverse la barre d’outils et les boîtes de dialogue pour les locales RTL. |
a11yEnhance | true | Noms et rôles accessibles sur l’interface de l’éditeur. |
dialogA11y | true | Piégeage du focus et étiquetage dans les boîtes de dialogue. |
keyboardA11y | true | Tabindex itinérant sur les barres d’outils, pour que Tab permette de sortir de l’éditeur. |
readAloudRate | 1.0 | Débit de parole pour la lecture à voix haute. |
readAloudHighlight | true | Met en évidence le texte à mesure qu’il est prononcé. |
textPartLanguages | 24 languages | Les langues proposées par la liste déroulante Language : [{ code, label, dir }]. WCAG 3.1.2. |
textPartLanguageHighlight | true | Soulignement en pointillés des expressions marquées pendant l’édition. Uniquement dans l’éditeur ; jamais sérialisé. |
Surface d’édition et zones
Atteindre les positions qui n’ont aucun nœud pouvant contenir un curseur, et piloter plusieurs zones modifiables depuis une seule barre d’outils.
| Option | Valeur par défaut | Description |
|---|---|---|
gapCursorKeys | true | Flèches / Home / End permettent de sortir d’un tableau ou d’un autre bloc piégeant situé en bordure du document. |
gapCursorClick | true | Cliquer dans l’espace vide autour du contenu pour y insérer un paragraphe. |
gapCursorHint | true | Affiche une indication d’insertion à une frontière de hauteur nulle entre deux blocs. |
multiRootGroup | null | Les instances qui partagent ce nom de groupe se comportent comme un seul éditeur, avec une seule barre d’outils visible. |
multiRootName | container id | Le nom de cette zone dans l’API de groupe (getHTML, focusRoot, …). |
multiRootToolbarHost | null | L’élément (ou son id) dans lequel déplacer la barre d’outils active. null la laisse en place. |
layoutTableOutline | true | Contour en pointillés autour des tableaux de mise en page pendant l’édition. Un tableau marqué role="presentation" est invisible par conception ; c’est le seul moyen de voir ce que vous modifiez. Uniquement dans l’éditeur. |
shadowStyleAdoption | true | Copie les feuilles de style de l’éditeur dans la shadow root qui le contient. Sans cela, l’éditeur fonctionne correctement mais s’y affiche entièrement sans style, car aucune feuille de style du document ne franchit une frontière de shadow DOM. Sans aucun coût en dehors d’une shadow root. |
shadowStyleSources | null | URL de feuilles de style supplémentaires à copier aussi à travers la frontière du shadow DOM — vos propres surcharges d’habillage. Chaîne ou tableau. |
Des styles issus de votre propre CSS
Remplit les listes déroulantes Quick Styles à partir des classes déjà présentes dans les feuilles de style de la page, au lieu de les retaper dans la configuration.
| Option | Valeur par défaut | Description |
|---|---|---|
importStyles | false | Interrupteur général. À activer explicitement, car sur une page utilisant du CSS utilitaire, la liste des classes est énorme. |
importStylesSheets | null | Les feuilles à lire : chaîne ou RegExp comparée au href, ou fonction. null = toutes celles qui sont lisibles. |
importStylesExclude | /^(rte|ck|mce|…)/ | Liste de noms de classes à exclure, appliquée en plus de l’exclusion automatique du CSS de l’éditeur. |
importStylesFilter | null | (className, selector, bucket) => false pour ignorer, ou une chaîne pour renommer. |
importStylesReplace | false | Remplace les styles configurés au lieu de s’y ajouter. |
importStylesLimit | 100 | Plafond par liste déroulante. Ce qui est écarté est signalé, jamais tronqué silencieusement. |
Sécurité et vérification du contenu
Filtrage et validation. Ce sont les options sur lesquelles portera une revue de sécurité.
| Option | Valeur par défaut | Description |
|---|---|---|
contentSanitizer | true | Filtre par liste d’autorisation en entrée, en sortie et sur le DOM actif. Laissez-le activé. |
spellCheckEnabled | true | Marque la zone modifiable avec spellcheck="true" pour le correcteur du navigateur. |
spellCheckResolver | null | (text) => [{ word, offset, length, suggestions }] depuis n’importe quel service dont vous avez la licence. |
linkCheckResolver | null | (urls) => résultats d’accessibilité des URL pour le vérificateur de liens. |
linkCheckMixedContent | true | Signale les liens http:// sur une page https://. |
linkCheckUnsafeSchemes | ["javascript:", "data:", …] | Schémas signalés comme dangereux. |
Historique des révisions
Des versions nommées du document, conservées dans le navigateur et éventuellement envoyées à votre serveur.
| Option | Valeur par défaut | Description |
|---|---|---|
revisionHistoryEnabled | true | Définissez false pour désactiver le plugin d’historique des révisions. |
revisionHistoryKey | (page path + query) | Depuis core 2.6.10 : la clé sous laquelle sont stockées les versions de CE document. Réglez-la sur l’identifiant de l’enregistrement dans un CMS, surtout lorsque l’URL n’identifie pas le document. Les builds antérieurs partageaient une seule liste pour tout le site. |
revisionHistoryMaxEntries | 50 | Nombre de versions conservées ; les plus anciennes sont supprimées en premier. |
revisionHistoryAutoSnapshotMs | 0 | Crée automatiquement une version toutes les N ms lorsque le contenu a changé ; 0 = uniquement à la demande. |
revisionHistorySnapshotBeforeRestore | true | Depuis core 2.6.10 : la restauration conserve d’abord le contenu courant sous forme de version "Before restoring …", pour qu’une restauration par erreur puisse être annulée. false = l’ancien comportement, qui abandonnait le travail non enregistré. |
revisionHistoryUrl | "" | Envoie chaque version à cette URL en POST JSON. |
revisionHistoryRequestHeaders | null | En-têtes de ce POST, sous forme d’objet ou de fonction qui en renvoie un (par exemple un jeton d’authentification). |
onRevisionHistorySyncError | null | (detail) => appelée lorsqu’un POST échoue ; la version reste conservée localement. |