FAQ

Questions fréquentes

Tout ce que vous voulez savoir sur Shell Polish : confidentialité, fonctionnement, intégration, cas d'usage.

Confidentialité

Non. Shell Polish fonctionne entièrement dans votre navigateur. Le traitement est réalisé localement par du JavaScript : aucune donnée ne transite par un serveur, aucun message n'est stocké, aucune analytics n'est collectée sur le contenu.
Oui. Une fois la page chargée, Shell Polish n'a besoin d'aucune connexion internet. Le traitement est 100% local. Vous pouvez aussi télécharger le moteur (shell-polish.js) et l'utiliser en Node.js sans navigateur.
Oui. Vos options de nettoyage, la disposition (vertical/horizontal) et le mode d'affichage (boxé/plein) sont enregistrés dans le localStorage de votre navigateur. Aucun cookie tiers, aucune synchronisation cloud.

Options de nettoyage

Les caractères de bordure placés en début de ligne par les terminaux et certains clients mail : ▎ ┃ │ | > $ #, y compris les numéros de ligne préfixés (42 |). Les lignes appartenant à un tableau box-draw sont préservées.
Les séquences d'échappement ANSI utilisées pour colorer ou styler la sortie terminal (\x1b[32m, \x1b[0m, etc.). Invisibles à l'œil, elles polluent le copier-coller dans un email ou un ticket.
Les terminaux coupent les lignes longues à une largeur fixe (souvent 80 ou 120 caractères). Shell Polish détecte ces coupures artificielles en analysant si la ligne précédente se termine par une ponctuation de fin de phrase. Si non, elle rejoint les deux lignes. Les listes numérotées, les tableaux et les lignes vides sont toujours préservés tels quels.
Elle compresse les espaces multiples et les tabulations en un seul espace, et retire les espaces de fin de ligne. Utile pour aérer les sorties shell ou markdown indentées à la main.
Elle convertit les tableaux box-draw (┌─┬─┐, ╔═╦═╗, etc.) en tableaux Markdown standard. La première ligne est utilisée comme en-tête si elle est détectée, sinon des en-têtes génériques sont générés. Le résultat est lisible dans Notion, Slack, GitHub ou tout éditeur compatible Markdown.
Les horodatages présents en début de chaque ligne de log : format ISO 8601 (2024-01-15T14:32:11.123Z), entre crochets ([2024-01-15 14:32:11]), syslog (Jan 15 14:32:11 host), nginx (192.168.1.1 - - [15/Jan/2024:14:32:11 +0000]), etc.
Les préfixes de niveau de log : [INFO], WARN:, ERROR -, DEBUG, TRACE, FATAL, NOTICE, etc. L'option fonctionne en début de ligne mais aussi juste après un timestamp entre crochets ([2024-01-15 14:32:11] [INFO] message devient [2024-01-15 14:32:11] message). Le contenu du message est conservé, seul le label de niveau est retiré.
Elle normalise les chemins absolus du home utilisateur en notation tilde : /home/alice/projet/ ou /Users/alice/projet/ deviennent ~/projet/. Pratique pour partager des logs sans exposer votre nom d'utilisateur système.
Shell Polish détecte les blocs de stack traces Java, Node.js et Python en repérant les lignes commençant par at ou File "...", line. Si l'option est activée et que le bloc dépasse 3 frames, il conserve la première et la dernière ligne et remplace les frames intermédiaires par (N frames masqués). La première et la dernière frame sont généralement les plus utiles.

À noter : indépendamment de cette option, les lignes de stack trace sont toujours préservées sur leur propre ligne et jamais fusionnées avec le texte courant qui les précède.
Shell Polish détecte les blocs JSON, qu'ils soient seuls dans l'entrée ({"key":"value",...}) ou embarqués au milieu d'un texte (par exemple un message qui décrit un payload, suivi du JSON brut, puis du commentaire suivant). Chaque bloc valide est indenté proprement (2 espaces) et rendu dans un bloc de code, sans toucher au texte qui l'entoure. À l'export Markdown, le JSON est encadré de ```json.
Si la première ligne du message commence par Sujet :, Subject:, Objet :, Re: ou Fwd:, le contenu après les deux-points est extrait comme titre du document. À l'export Markdown, il devient un # en haut du fichier ; à l'affichage HTML, un titre stylé.
Elle applique les règles typographiques françaises : les guillemets anglais ("comme ça") sont remplacés par des guillemets français (« comme ça »), des espaces insécables sont insérées avant les ponctuations doubles (: ; ! ?) et autour des guillemets, et les points de suspension (...) sont remplacés par le caractère typographique correct ().

Intégration

Oui. Téléchargez shell-polish.js depuis la page À propos. C'est un module UMD compatible navigateur et Node.js, sans aucune dépendance. Utilisez ShellPolish.process(text, options) pour obtenir le HTML, le Markdown et le texte brut en un seul appel.
Shell Polish fonctionne sur tout navigateur moderne (Chrome 90+, Firefox 88+, Safari 14+, Edge 90+). Il utilise uniquement des APIs standard : Clipboard API, Blob, CSS Grid, CSS Custom Properties et ES2020. Il ne fonctionne pas sur Internet Explorer.
Pas d'API REST : Shell Polish est délibérément sans serveur. En revanche, la bibliothèque JavaScript shell-polish.js constitue une API programmatique complète : toText(), toHtml(), toMarkdown(), et process().

Export et formats

Trois sorties au choix :
  • Copier : copie le message dans le presse-papiers en deux représentations simultanées, HTML mis en forme et texte brut. Coller dans Notion, Slack, Gmail ou Word garde la mise en forme (titre, tableau, code, listes) ; coller dans un terminal ou un éditeur de code récupère le texte brut.
  • .txt : téléchargement en texte brut, sans formatage.
  • .md : téléchargement Markdown. Inclut le titre extrait du champ Sujet, les tableaux, les listes et les blocs JSON encadrés de ```json.
En mode boxé (activé par défaut), la zone de sortie affiche le contenu avec une largeur maximale d'environ 700 px, centrée dans le panneau, comme une colonne de lecture. En mode plein, le contenu s'étend sur toute la largeur du panneau de sortie. Cliquez sur le bouton dans la barre d'outils pour basculer.