Le Bloc-notes de Windows prend enfin en charge les caractères de fin de ligne Unix/Linux et Mac
Plus de 30 ans après la sortie de l'éditeur de texte

Le , par Michael Guilloux, Chroniqueur Actualités
Le Bloc-notes (ou Notepad) est un éditeur de texte livré avec toutes les versions de Windows depuis Windows 1.0 en 1985, donc depuis plus de trente ans. Comme tout éditeur de texte basique, il génère des fichiers ne comportant pas d'information de formatage ou de styles. Il convient donc notamment à l'édition de fichiers de configuration, de scripts ou de code source. Le Bloc-notes est ainsi l'éditeur par défaut pour afficher le code source des pages HTML dans les navigateurs de Microsoft.

Le Bloc-notes présente toutefois une limitation très gênante : il ne permet pas d'éditer convenablement les fichiers texte en provenance de systèmes Unix/Linux ou Mac, à cause de problèmes d'encodage des retours à la ligne. En effet, les retours à la ligne sont codés sous Windows par CR/LF, c'est-à-dire l'association des caractères ASCII 13 (CR pour Carriage Return, retour chariot) et 10 (LF pour Line Feed, saut de ligne). Les systèmes Unix n'utilisent quant à eux que le caractère ASCII 10 (LF), tandis que les systèmes Mac utilisaient uniquement le caractère 13 (CR). Lorsqu'un fichier provenant d'un système Unix/Linux ou Mac est ouvert dans le Bloc-notes, toutes les lignes sont donc accolées et le retour à la ligne est remplacé par un caractère ressemblant à un petit carré, ce qui rend le texte très difficile à lire.

Il serait pourtant très simple pour Microsoft d'éviter ce désagrément. Il suffirait comme nombre d'éditeurs de texte de scanner le début d'un fichier à la recherche des caractères CRLF, CR ou LF, pour déduire le format utilisé afin de l'afficher correctement. Pour les détracteurs de Microsoft, c'est donc un exemple trivial du fait que l'éditeur ne vise absolument pas l'interopérabilité avec les autres systèmes, mais veut rendre ses utilisateurs dépendants de ses outils et formats propriétaires. Mais ce problème devrait bientôt faire partie du passé.

Après l'ajout du sous-système Windows pour Linux (WSL) pour exécuter des programmes Linux sous Windows 10 et des supports de Tar et OpenSSH dans Windows 10 April 2018 Update, la dernière initiative orientée Linux de Microsoft pour les administrateurs et développeurs est la prise en charge des caractères de fin de ligne des systèmes Unix/Linux, mais également Mac, dans le Bloc-notes.

« Pendant de nombreuses années, le Bloc-notes de Windows ne prenait en charge que les documents texte contenant des caractères de fin de ligne (EOL) Windows - Retour chariot (CR) et saut de ligne (LF). Cela signifie que le Bloc-notes n'a pas pu afficher correctement le contenu des fichiers texte créés sous Unix, Linux et macOS », explique Microsoft dans un billet de blog, avant d'illustrer cela par une capture d'écran du Bloc-notes essayant d'afficher le contenu d'un fichier texte Linux .bashrc, qui contient uniquement des caractères de fin de ligne Unix LF :


Comme vous pouvez le voir, le Bloc-notes n'affiche pas correctement le contenu du fichier, et Microsoft reconnait que « cela a été un désagrément majeur » pour les développeurs, les professionnels de l'informatique, les administrateurs et les utilisateurs finals dans toute la communauté. Mais « aujourd'hui, nous sommes ravis d'annoncer que nous avons résolu ce problème ! À partir de la version actuelle de Windows 10 Insider, Notepad prendra en charge les fins de ligne Unix/Linux (LF), les fins de ligne Macintosh (CR) et les fins de ligne Windows (CRLF) comme d'habitude. » Les nouveaux fichiers créés dans Notepad utiliseront par défaut la fin de ligne Windows (CRLF), mais il sera désormais possible d'afficher, de modifier et d'imprimer les fichiers existants, en maintenant correctement le format de fin de ligne courant du fichier.

Avec cette modification, voici désormais comment s'affiche dans Bloc-notes le contenu du même fichier .bashrc Unix/Linux présenté plus haut :


Sans commentaire ! Le problème d'affichage est bel et bien corrigé. On notera comme autre changement que la barre d'état de Bloc-notes indique aussi le format EOL détecté dans un fichier ouvert.

Comme pour toute modification d'un outil existant depuis longtemps, Microsoft pense qu'il est possible que ce nouveau comportement ne soit pas optimal pour certains utilisateurs. Le géant du logiciel donne donc à ces derniers la possibilité de désactiver ce nouveau comportement et revenir au comportement original de Bloc-notes. Pour ce faire, vous pouvez modifier, à l'emplacement HKEY_CURRENT_USER\Software\Microsoft\Notepad, certaines clés de registre (fPasteOriginalEOL et fWindowsOnlyEOL) pour redéfinir la façon dont le Bloc-notes gère le collage de texte et le caractère de fin de ligne à utiliser lorsque la touche Entrée ou Retour est tapée.

Valeur Valeur activée Valeur désactivée
fPasteOriginalEOL
Par défaut : 0
0 : remplace le caractère EOL du texte qui est en train d'être collé dans le Bloc-notes par le caractère EOL du document ouvert. 1 : le caractère EOL dans le texte collé dans le Bloc-notes n'est pas modifié.
fWindowsOnlyEOL
Par défaut : 0
0 : insère le caractère EOL détecté dans le document ouvert lorsque la touche Retour ou Entrée est tapée. 1: force les fins de ligne Windows CRLF lorsque la touche Retour ou Entrée est tapée. Dans ce mode, le Bloc-notes se comportera comme il l'a toujours fait et ne va pas correctement afficher les fichiers texte Linux et Mac.

Source : Blog Microsoft

Et vous ?

Que pensez-vous de ce changement ? Arrive-t-il trop tard ?
Comment avez-vous l’habitude de gérer l’affichage des fichiers texte des systèmes Linux et Mac sous Windows ?

Voir aussi :

Microsoft rend un échantillon du sous-système Windows pour Linux open source à l'intention des mainteneurs de distributions
Microsoft ajoute le support de Curl et Tar dans Windows 10, accessibles directement depuis la ligne de commande
Microsoft ajoute le support d'un client OpenSSH dans Windows 10, accessible directement depuis la ligne de commande
Microsoft parle des évolutions du sous-système Linux WSL qui vont accompagner la MàJ Creators Fall Update attendue le 17 octobre
Build 2017 : après Ubuntu, Fedora et SUSE annoncés sur Windows 10, les distributions Linux seront également disponibles sur Windows Store


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de chrtophe chrtophe - Responsable Systèmes https://www.developpez.com
le 09/05/2018 à 8:26
Mieux vaut tard que jamais...maintenant que tout le monde utilise autre chose.

Vu l'ouverture vers Linux, c'est logique.
Avatar de datalandia datalandia - Bot Troll en alpha-test https://www.developpez.com
le 09/05/2018 à 9:29
super

manque plus que la coloration syntaxique, les onglets et l’auto-complétion et on aura enfin un truc utilisable...

cela fait depuis presque toujours que j'utilise que notepad++ sous windows, le bloc note au chiotte.
Avatar de Daïmanu Daïmanu - Membre chevronné https://www.developpez.com
le 09/05/2018 à 10:19
Trop tard. Beaucoup trop tard.
Tout comme l'éditeur de commande qu'on ne peut fermer avec Alt+F4 ou bien redimensionner correctement que depuis Windows 10 !

L'article ne précise pas si la boîte de dialogue de sauvegarde offre le choix du format de fin de ligne, j'espère que oui.
Avatar de Jipété Jipété - Expert éminent https://www.developpez.com
le 09/05/2018 à 10:59
Yop !

D'un autre côté, si on réfléchit un peu et qu'on remonte aux origines (la machine à écrire mécanique), il fallait bien deux actions pour renvoyer le chariot au début de ligne et faire monter le papier.
Et ce principe a perduré lors de l'électrification du bazar, et s'est transmis aux premiers terminaux électro-mécaniques (la bonne vieille Télétype par ex.)

D'ailleurs, s'il y a deux touches, c'est qu'il y a une raison, non ?

source
Donc sur ce coup-là c'est Microsoft qui a raison et les *Nix qui se sont foutus dedans.
Avatar de sergio_is_back sergio_is_back - Membre éprouvé https://www.developpez.com
le 09/05/2018 à 13:18
C'est vraiment une modification très mineure qui aurait pu être faîte il y a très longtemps, du coup on voit bien que M$ n'a que très peu de considération pour les utilisateurs avancés...

Microsoft reconnait que « cela a été un désagrément majeur » pour les développeurs, les professionnels de l'informatique, les administrateurs et les utilisateurs finals dans toute la communauté.
Tout est dit avec cette phrase... Un désagrément majeur jamais corrigé....

Perso j'utilise l'excellent Notepad2 qui s'installe en remplaçant le bloc notes traditionnel de Windows (redirection au niveau de la base de registres, des menus contextuels, etc)

Très léger (pas d'onglets à gogo), il supporte la coloration syntaxique, UTF-8, UTF-16, la numérotation des lignes, et charge les très gros fichiers en un temps record...

Si il y en a qui veulent l'essayer je met l'URL du site : http://www.flos-freeware.ch/notepad2.html
Avatar de Zefling Zefling - Membre expert https://www.developpez.com
le 09/05/2018 à 13:18
C'est pour ça que je ne connais personne utilisant le Bloc-notes (ou lancer par erreur).

En tout cas, c'est déjà un bon point, mais il y en a tellement d'autres qui semblent être resté au XXe siècle que je pense pas que ça va changer grand chose sur son utilisation.
Avatar de Jérôme Deuchnord Jérôme Deuchnord - Nouveau membre du Club https://www.developpez.com
le 09/05/2018 à 13:19
Citation Envoyé par Jipété Voir le message
Yop !

D'un autre côté, si on réfléchit un peu et qu'on remonte aux origines (la machine à écrire mécanique), il fallait bien deux actions pour renvoyer le chariot au début de ligne et faire monter le papier.
Et ce principe a perduré lors de l'électrification du bazar, et s'est transmis aux premiers terminaux électro-mécaniques (la bonne vieille Télétype par ex.)

D'ailleurs, s'il y a deux touches, c'est qu'il y a une raison, non ?

source
Donc sur ce coup-là c'est Microsoft qui a raison et les *Nix qui se sont foutus dedans.
Tout dépend du point de vue. Effectivement, Microsoft semble avoir choisi cette représentation pour des raisons historiques, mais je pense que le choix de GNU/Linux et UNIX est également pertinent : à quoi bon utiliser deux octets pour représenter le fait de passer à la ligne suivante, là où un seul octet (LF) peut suffire ? Mac semble avoir fait le même raisonnement, mais semble avoir préféré choisir le caractère CR... du coup, techniquement, on écrit toujours sur la même ligne
Avatar de Se7h22 Se7h22 - Membre actif https://www.developpez.com
le 09/05/2018 à 15:15
Par contre, si j'ai bien compris, cette nouvelle version permet de bien afficher les fichiers créé sous GNU/Linux, Mac, ou tout autre UNIX-like. Mais par contre il remplace les CR ou LF par CR/LF lors de l'enregistrement. Du coup si on ouvre ensuite ses fichiers sous GNU/Linux on se retrouvera avec deux retour à la ligne, non ? Car il me semble que les éditeurs sous GNU/Linux lisent le CR et le LF comme étant un retour à la ligne. Ou alors c'était il y a quelques années, peut-être que ça a été corrigé depuis… Merci d'avance si quelqu'un peut me confirmer ou non.

Car si c'est le cas, j'espère que personne n'utilisera Bloc-notes, sinon on risque de voir fleurir des fichiers avec plusieurs retours à la ligne sur GitHub ou ailleurs ^^'
Avatar de Le_CuLtO Le_CuLtO - Nouveau membre du Club https://www.developpez.com
le 09/05/2018 à 18:16
Citation Envoyé par Jérôme Deuchnord Voir le message
Tout dépend du point de vue. Effectivement, Microsoft semble avoir choisi cette représentation pour des raisons historiques, mais je pense que le choix de GNU/Linux et UNIX est également pertinent : à quoi bon utiliser deux octets pour représenter le fait de passer à la ligne suivante, là où un seul octet (LF) peut suffire ? Mac semble avoir fait le même raisonnement, mais semble avoir préféré choisir le caractère CR... du coup, techniquement, on écrit toujours sur la même ligne
ars technica a fait un article sur la même news, en expliquant justement pourquoi:
https://arstechnica.com/gadgets/2018...-line-endings/

Cela permet donc en théorie de gérer le soulignement voir de rayer du texte par exemple.
En pratique je ne suis pas sûr que ce soit utilisé, et je préfère donc la sauce UNIX.
Avatar de Jipété Jipété - Expert éminent https://www.developpez.com
le 09/05/2018 à 18:29
Citation Envoyé par Le_CuLtO Voir le message
Cela permet donc en théorie de gérer le soulignement voir de rayer du texte par exemple.
En pratique je ne suis pas sûr que ce soit utilisé, et je préfère donc la sauce UNIX.
Ç'était utilisé au temps des machines mécaniques et autres télétypes, même les LA30, 36, 120 de DEC fonctionnaient ainsi, et je me suis pris 4 pouces rouges, go figure...
Contacter le responsable de la rubrique Accueil