Text converter
HTML ◄--► BBcode

Présentation du convertisseur Keetag

1. À quoi sert Keetag ?

À quoi sert Keetag ?

Keetag est un convertisseur personnalisable de BBCodes, HTML et bien plus encore.

Euh... C'est quoi un convertisseur ? Et du HTML ? Et des BBCodes ?

La mise en forme d'un texte (mise en gras, titres, insertion d'un lien...), que ce soit sur un forum de discussion, un site Web, un wiki ou un autre support, est assurée par des marqueurs insérés dans le texte, appelés balises.

Exemple : Dans la phrase « Il est [b]impossible[/b] de dépasser la vitesse de la lumière », le [b]...[/b] est une balise. Elle indique que le mot « impossible » devra s'afficher en caractères gras.

Un ensemble de balises constitue un langage de balisage. Il existe de nombreux langages :

  • Les sites Web utilisent le HTML ;
  • La plupart des forums utilisent des variantes de BBCode ;
  • Les wikis (par ex. Wikipédia) utilisent le wikicode ;
  • etc.

Un langage accepté sur un support ne le sera pas sur un autre. Si vous avez rédigé un texte dans un certain langage, mais que vous devez le poster sur un autre support (par exemple, sur deux forums utilisant deux BBCodes différents), vous devrez vérifier et/ou modifier tout le balisage. C'est ici que le convertisseur intervient : il va réaliser ce travail fastidieux à votre place et en un clic.

Concrètement, Keetag vous permet de :

  • Poster un même texte sur plusieurs forums sans perdre du temps à modifier la mise en forme à la main ;

    Exemple : Vous avez mis votre texte en forme avec des balises BBCode anglaises ([bold], [title], [quote]...), mais vous devez le poster sur un autre forum qui utilise des balises BBCode françaises ([gras], [titre], [citation]...). Keetag fera tous ces remplacements automatiquement en une seconde et sans aucune intervention manuelle.

  • Extraire une page Web rédigée en HTML et la convertir en BBCode pour la poster sur un forum ;
  • Convertir en HTML un texte initialement posté sur un forum afin de le mettre en ligne sur un site Web ;

▲Masquer ce texte▲

2. Encore un convertisseur de BBCode ? Il n'en existe pas déjà plein ?

On trouve un certain nombre de convertisseurs sur internet, mais ils ont en commun plusieurs défauts.

Les balises produites par ces convertisseurs sont souvent fausses

Les balises BBCode n'étant pas standardisées, elles varient énormément d'un forum/site à l'autre. Les convertisseurs listent donc eux-mêmes les balises qu'ils estiment « les plus fréquentes », ce qui cause inévitablement des erreurs :

  • Des balises seront insérées par le convertisseur alors que le forum de destination ne les prend pas en charge.

    Exemple : La balise [spoiler] pour cacher du texte est répandue, mais pas prise en charge par tous les forums.

  • Des balises prises en charge par le forum seront mal nommées par le convertisseur.

    Exemple : La mise en gras se fait classiquement avec la balise [b], mais beaucoup de forums utilisent une autre balise à sa place : [bold], [g], [gras]...

Or, à quoi sert un convertisseur « automatique » si l'utilisateur doit finalement faire des corrections... à la main ?

Les convertisseurs personnalisables ne sont pas personnalisés

Certains convertisseurs téléchargeables permettent à l'utilisateur d'ajouter ou modifier les balises qu'il désire. Une excellente chose, mais qui se heurte à des inconvénients pratiques :

  • La personnalisation implique souvent de manipuler directement les expressions régulières, chose que la majorité des gens ne sont pas en mesure de faire.
  • Faute de centralisation, chacun refait le travail de son côté, de façon plus ou moins complète et avec plus ou moins de bugs. Une perte regrettable de temps et d'énergie...

Certains convertisseurs manquent de transparence

Certains convertisseurs n'affichent pas la liste des remplacements auxquels ils procèdent, ce qui est embarrassant pour l'utilisateur.

Quelles balises seront converties ? Devrai-je corriger des choses à la main ? Les balises proposées correspondent-elles à mes besoins ? Etc.

▲Masquer ce texte▲

3. En quoi Keetag est-il mieux que les autres convertisseurs ?

Keetag offre un haut niveau de personnalisation

  • Keetag permet de créer des listes de balises exactement adaptées à chaque forum/site. Comme expliqué plus haut, un convertisseur qui prend en charge les balises de tout le monde en même temps ne satisfait en réalité personne. Keetag intègre donc des listes de balises personnalisées par forum, qui ne contiennent que les balises réellement prises en charge par celui-ci.
  • Tous les noms de balise sont permis, les possibilités de nommage ne se limitent pas aux balises standard.

    Exemple : Si un forum utilise une balise « [TexteMasque] » qui n'existe sur aucun autre forum, elle peut être créée dans Keetag.

  • Toutes les combinaisons de langages sont possibles. Keetag ne vous impose pas de schémas de conversion prédéfinis : vous choisissez vous-même le langage de départ et celui d'arrivée.

    Exemple : Avec « seulement » 10 jeux de balises, Keetag est déjà capable de réaliser 90 conversions différentes (10 langages de départ possibles x 9 langages d'arrivée possibles).

Keetag est efficace et sûr

  • Les conversions de Keetag sont sécurisées. Contrairement à une idée (trop) répandue, le BBCode n'est pas une protection contre les injections de code malveillant. Un script de conversion qui ne réalise que des rechercher-remplacer sans contrôler la structure des données laisse quasiment autant de failles de sécurité qu'une saisie directe en HTML. Keetag est équipé d'un moteur de conversion complet qui réalise ces contrôles et vous protège ainsi des tentatives d'injection de code.

    Si vous souhaitez des explications plus détaillées sur la façon dont un script de conversion mal conçu introduit des failles de sécurité, consultez l'article Wikipédia consacré au BBcode.

  • Pas de suppression sèche et incontrôlée des balises non reconnues. Keetag ne cache pas la poussière sous le tapis en décrétant que toute balise qu’il ne reconnaît pas est inutile. Il conserve la balise problématique et la signale, ce qui permet :
    • Dans l'immédiat, de voir les points restants à traiter dans le texte ;
    • Pour l'avenir, d'ajouter le cas manquant à la base de données et d'enrichir ainsi le convertisseur.
  • Keetag est transparent : les listes complètes des remplacements qu'il effectue sont disponibles sur le site.

Keetag ne néglige pas les détails

  • Tient compte des balises de type <code>, à l'intérieur desquelles les balises ne doivent pas être modifiées ;
  • Complète les liens relatifs afin de garantir la validité des hyperliens.
  • ... Et bien d'autres choses (voir la rubrique « Sous le capot de Keetag »)

▲Masquer ce texte▲

Utilisation du convertisseur

1. Quelques conseils d'utilisation

  • Convertissez des textes bien balisés. Convertir un texte mal balisé au départ (par exemple, du HTML invalide) peut donner des résultats inattendus.
  • Gardez une copie de votre texte de départ. Si une balise du langage de départ n'a pas d'équivalent dans le langage d'arrivée, elle sera « nettoyée » pour produire un code qui soit le plus propre possible.

    Par exemple, de nombreux éléments en HTML n'ont aucun équivalent en BBCode et seront supprimés lors de la conversion.

▲Masquer ce texte▲

2. J'ai besoin de convertir un langage qui n'est pas dans liste, comment l'ajouter ?

Vous pouvez indiquer les langages à ajouter grâce au formulaire de contact. L'ajout direct de langages par les utilisateurs est en projet mais n'est pas disponible pour le moment car il implique un certain nombre d'évolutions (création d'un espace membre, contrôle de ce qui est modifié, réflexion sur une interface facile à prendre en main...).

▲Masquer ce texte▲

3. J'ai vu un bug !

« Certaines balises ne sont pas bien converties ! »

Signalez-nous les éventuels bugs avec le formulaire de contact. Toutes les contributions sont les bienvenues !

Nous continuons de travailler à l'amélioration du site :

  • Amélioration du moteur de conversion (ajouts de fonctionnalités, corrections...)
  • Enrichissement des listes de balises (ajouts de nouveaux langages)

« Lors d'une conversion de/vers "Wikipédia.fr", une grande partie des balises ne sont pas converties ! »

Le jeu de balises "Wikipédia.fr" est en phase de tests (bêta) car sa syntaxe est extrêmement complexe et nécessite un certain nombre de développements spécifiques. Nous ajouterons de nouvelles balises au fur et à mesure de ces développements.

▲Masquer ce texte▲

4. Confidentialité et vie privée

  • Les échanges entre vous et le site sont chiffrés par HTTPS (matérialisé par le fameux petit cadenas à gauche de la barre d'adresse de votre navigateur), qui empêche les tiers d'intercepter ce que vous envoyez ou recevez de Keetag.
  • Les textes que vous convertissez ne sont en aucun cas divulgués à des tiers.
  • Pas de dépossession : en utilisant Keetag, vous conservez l'intégralité des éventuels droits de propriété intellectuelle que vous pouvez détenir sur les textes convertis.
  • Aucune donnée vous concernant n'est enregistrée (adresse IP...).

▲Masquer ce texte▲

Sous le capot de Keetag...

1. Keetag reconnaît de nombreuses formes de balises...

Keetag gère les remplacements basiques...

  • Paires de balises sans paramètres.

    Ex : <strong>…</strong>

  • Paires de balises avec paramètres.

    Ex : <span style="color:red">…</span>

  • Balises autofermantes sans paramètres.

    Ex : <br/>

  • Balises autofermantes avec paramètres.

    Ex : <img src="…"/>

  • ...

... et les moins basiques...

  • Balises à traiter différemment selon qu'un paramètre a été précisé ou non.

    Ex : [url]lien[/url] et [url=lien]Texte[/url].

  • Balises demandant ou non des guillemets.

    Ex : [quote=Roger] ou [quote="Roger"] selon les forums.

  • Balises différentes donnant un même résultat.

    Ex : [color=red] et [red] pour colorer le texte en rouge.

  • Balises à contenu partiellement généré.

    Ex : [youtube]dQw4w9WgXcQ[/youtube] pour insérer la vidéo https://www.youtube.com/watch?v=dQw4w9WgXcQ.

  • Gestion des (très) nombreuses façons d'indiquer une taille de police.

    - Tailles absolues chiffrées : <font size="18px"> / [size=18px] / [size=18pt]...
    - Tailles absolues nommées : <big> / <small>...
    - Tailles relatives par multiplicateur : <font size="+1"> / [size=2]...
    - Tailles relatives par pourcentage : [size=150]...

  • Balises à fermeture implicite.

    Ex 1 : en BBCode, la puce [*] pour marquer un élément de liste.
    Ex 2 : en Textile, le marqueur « bq. » en début de ligne pour indiquer une citation.

  • ...

▲Masquer ce texte▲

2. ... Et il sait combiner les balises entre elles

Un convertisseur ne peut pas se contenter d'identifier les balises, il doit aussi savoir les combiner entre elles. Au premier abord, on se dit qu’un convertisseur est juste une liste de correspondances entre des noms de balises. En réalité, cela ne suffit pas car une balise dans le langage de départ peut ne pas avoir la même structure dans le langage d’arrivée. Keetag gère toutes les combinaisons de balises possibles, notamment :

  • Une paire de balises correspond à une balise autofermante et/ou le contenu de la balise devient le paramètre.

    Ex : [img]lien[/img] <=> <img src="lien"/>

  • Le contenu de la balise doit parfois aussi renseigner le paramètre...

    Ex : [url]lien[/url] => <a href="lien">lien</a>

  • ... sauf si un paramètre a été précisé au départ, auquel cas, il ne faut plus utiliser le contenu de départ comme paramètre d’arrivée, sinon le paramètre de départ serait perdu (une petite aspirine ?).

    Ex : [url=lien]Texte[/url] => <a href="lien">Texte</a>

  • Un nombre peut changer d’unité

    Ex :[size=18px] <=> [size=12pt]

  • L’information contenue dans le paramètre de départ peut être implicite dans la balise d’arrivée.

    Ex : <p style="text-align:center">Texte</p> <=> [center]Texte[/center]

  • ...

▲Masquer ce texte▲

3. Keetag vise à produire un code propre et utilisable

  • Fermeture des balises dans le bon ordre.

    Ex : La conversion de ce HTML en BBCode :
    <span style="font-weight:bold"><span style="font-style:italic">Hello world</span></span>
    donnera bien  [b][i]Hello world[/i][/b]
    et non pas       [b][i]Hello world[/b][/i]

  • Pour les textes en HTML, utilisation intelligente de la balise <p> (paragraphe) au lieu d'enchaîner les <br> (sauts de ligne).
  • Pour les textes en HTML, Keetag reconnaît les styles présents dans le code.

    Ex : pour le soulignement, le convertisseur reconnaîtra la balise <u> (balise dédiée au soulignement) mais aussi <span style="text-decoration:underline"> (balise générique assortie d'un style « souligner »).

  • Les balises génériques sont reconnues et différenciées.

    Ex : <span style="color:red"> et <span style="text-decoration:underline">

  • Keetag garantit la validité des hyperliens en transformant des liens relatifs en liens absolus. Beaucoup de convertisseurs négligent cette étape, ce qui produit des textes avec de nombreux liens morts !

    Ex : un lien <a href="aide.html"> présent dans une page de site-alpha.fr redirige normalement vers https://site-alpha.fr/aide.html. Mais ceci ne fonctionne que tant que la page contenant le lien se trouve sur site-alpha.fr. Si le texte est copié sur site-beta.fr, le lien pointera vers https://site-beta.fr/aide.html, autrement dit une page inexistante.
    Pour éviter cela, Keetag transformera explicitement le lien <a href="aide.html"> en <a href="https://site-alpha.fr/aide.html">

  • Keetag cherche des équivalences autant que possible afin de ne pas perdre de contenu.

    Ex : <input type="radio"> en HTML deviendra « [ ] » en BBCode, au lieu d’être sèchement supprimé.

  • Application intelligente des types inline et block.

    Ex : une citation en BBcode ([quote]) sera automatiquement encadrée par des retours à la ligne, même s’il n’y avait aucun retour dans le texte HTML de départ.

  • Prise en compte des balises [code], à l'intérieur desquelles les balises ne doivent pas être converties.
  • Retrait des paramètres inutiles.

    Ex : en HTML, les attributs Javascript tels que « onclick ».

  • Retrait des balises non signifiantes.

    Ex : <aside> sert à segmenter la page en HTML mais n'a pas d'intérêt au niveau de la mise en forme du texte.

▲Masquer ce texte▲