Aller au contenu

« Texte brut » : différence entre les versions

Un article de Wikipédia, l'encyclopédie libre.
Contenu supprimé Contenu ajouté
Wawet76 (discuter | contributions)
→‎Généralités et controverses : Le paragraphe indique "En effet, si l'encodage est inconnu, un texte brut quelconque est inexploitable." C'est exact, et il faut donc plutôt parler de "texte brut UTF-8" plutôt que de "texte brute unicode".
m WPCleaner v1.34 - Correction syntaxique (Balises <nowiki> - Argument dupliqué dans un appel de modèle - Balise span)
Ligne 1 : Ligne 1 :
{{ébauche|informatique}}
{{ébauche|informatique}}
Le '''texte brut''' ou <span>'''texte pur''', </span>traduction de l'anglais ''{{lang|en|plain text}}''<ref name="www.cairn.info">http://www.cairn.info/article.php?ID_ARTICLE=DN_063_0013&DocId=43450&Index=%2Fcairn2Idx%2Fcairn&TypeID=226&BAL=ancgQnI99ifLI&HitCount=9&hits=31af+2d8e+2a02+1b0e+1989+11e3+942+90b+25a+0&fileext=html</ref>, est une notion liée à la représentation du [[texte]] utilisée entre dispositifs électroniques.
Le '''texte brut''' ou '''texte pur''', traduction de l'anglais ''{{lang|en|plain text}}''<ref name="www.cairn.info">http://www.cairn.info/article.php?ID_ARTICLE=DN_063_0013&DocId=43450&Index=%2Fcairn2Idx%2Fcairn&TypeID=226&BAL=ancgQnI99ifLI&HitCount=9&hits=31af+2d8e+2a02+1b0e+1989+11e3+942+90b+25a+0&fileext=html</ref>, est une notion liée à la représentation du [[texte]] utilisée entre dispositifs électroniques.


==Texte brut Unicode (Unicode plain text)==
== Texte brut Unicode (Unicode plain text) ==


[[Image:Vim-(logiciel)-utf-8-explorateur.png|thumb|right|upright=2|Visualisation de texte brut unicode à traverse l'éditeur de texte Vim, avec l’explorateur de fichiers (à gauche) et l’édition d’un fichier Unicode (à droite)]]
[[Image:Vim-(logiciel)-utf-8-explorateur.png|thumb|right|upright=2|Visualisation de texte brut unicode à traverse l'éditeur de texte Vim, avec l’explorateur de fichiers (à gauche) et l’édition d’un fichier Unicode (à droite)]]
Ligne 16 : Ligne 16 :
* la distinction entre le texte brut et d'autres formats de données dans le même flux est du ressort de protocoles supérieurs et n'est pas spécifié par le standard Unicode lui-même.
* la distinction entre le texte brut et d'autres formats de données dans le même flux est du ressort de protocoles supérieurs et n'est pas spécifié par le standard Unicode lui-même.


==Généralités et controverses==
== Généralités et controverses ==
La notion de texte brut peut se retrouver dans un [[Fichier informatique|fichier]] ou dans un [[courriel]].
La notion de texte brut peut se retrouver dans un [[Fichier informatique|fichier]] ou dans un [[courriel]].


Ligne 25 : Ligne 25 :
En pratique, on peut avoir généralement à préciser, d'une manière ou d'une autre, le répertoire de caractères ou l'encodage associé à un format texte brut. En anglais, on peut donc dire ''plain ASCII text'' ou ''plain UTF-8 text''. En français on dira plus facilement ''texte brut UTF-8'' ou ''texte brut ISO-8859-1 ''pour du texte en français, ou ''texte brut ASCII'' dans des contextes en langue anglaise ou protocolaires. En effet, si l'encodage est inconnu, un texte brut quelconque est inexploitable.
En pratique, on peut avoir généralement à préciser, d'une manière ou d'une autre, le répertoire de caractères ou l'encodage associé à un format texte brut. En anglais, on peut donc dire ''plain ASCII text'' ou ''plain UTF-8 text''. En français on dira plus facilement ''texte brut UTF-8'' ou ''texte brut ISO-8859-1 ''pour du texte en français, ou ''texte brut ASCII'' dans des contextes en langue anglaise ou protocolaires. En effet, si l'encodage est inconnu, un texte brut quelconque est inexploitable.


==Histoire==
== Histoire ==


La notion de texte brut est implicitement assez ancienne puisque vraisemblablement elle remonte au moins, si ce n'est à la notion de machine à écrire, aux premiers langages de programmation utilisant cette technologie.
La notion de texte brut est implicitement assez ancienne puisque vraisemblablement elle remonte au moins, si ce n'est à la notion de machine à écrire, aux premiers langages de programmation utilisant cette technologie.
Ligne 31 : Ligne 31 :
Dès 1958 et 1961, le fait de concevoir des programmes en [[Algol (langage)|Algol]] n'a vraisemblablement pas pu être réalisé sans avoir recours à la notion de texte brut. Tout comme la langage DEL en 1969 (RFC 5).
Dès 1958 et 1961, le fait de concevoir des programmes en [[Algol (langage)|Algol]] n'a vraisemblablement pas pu être réalisé sans avoir recours à la notion de texte brut. Tout comme la langage DEL en 1969 (RFC 5).


<nowiki>Le 30 avril 1975, la RFC 680 fait déjà référence à la notion de texte brut, sans pour autant le définir.</nowiki>
Le 30 avril 1975, la RFC 680 fait déjà référence à la notion de texte brut, sans pour autant le définir.


Le 21 novembre 1977, un effort de la [[DARPA]]<nowiki> aboutit à la RFC 733, </nowiki>''Standard for the Format of Arpa Network Text Messages'', qui définit un standard de protocole pour les messages texte.
Le 21 novembre 1977, un effort de la [[DARPA]] aboutit à la RFC 733, ''Standard for the Format of Arpa Network Text Messages'', qui définit un standard de protocole pour les messages texte.


<nowiki>Le 13 aout 1982, la RFC 822, </nowiki>''Standard for the Format of Arpa Network Internet Messages'' définit un format de texte brut particulier, limité aux seuls caractères de l'ASCII, en en excluant certains des caractères de contrôle et en introduisant des séquences d'échapement multi-octet (''quoted printable'').
Le 13 aout 1982, la RFC 822, ''Standard for the Format of Arpa Network Internet Messages'' définit un format de texte brut particulier, limité aux seuls caractères de l'ASCII, en en excluant certains des caractères de contrôle et en introduisant des séquences d'échapement multi-octet (''quoted printable'').


<nowiki>En septembre 1993, la RFC 1951 introduit la notion de texte brut (</nowiki>''plain text'')<ref>RFC 1521
En septembre 1993, la RFC 1951 introduit la notion de texte brut (''plain text'')<ref>RFC 1521
Network Working Group
Network Working Group
[http://tools.ietf.org/html/rfc1521 http://too]
[http://tools.ietf.org/html/rfc1521 http://too]
Ligne 46 : Ligne 46 :
La notion de texte brut a également été clarifiée par le standard Unicode entre {{quand|1992 et 2012}}.
La notion de texte brut a également été clarifiée par le standard Unicode entre {{quand|1992 et 2012}}.


==Protocoles==
== Protocoles ==


L'usage du texte brut peut varier entre protocole et fichier. Le protocole spécifie généralement l'encodage utilisé et selon le protocole la longueur du texte peut ne pas être limitée.
L'usage du texte brut peut varier entre protocole et fichier. Le protocole spécifie généralement l'encodage utilisé et selon le protocole la longueur du texte peut ne pas être limitée.


===Fichier texte===
=== Fichier texte ===
{{loupe|fichier texte}}
{{loupe|fichier texte}}
Un fichier a généralement une taille limitée, alors qu'un protocole peut transférer un flot de données virtuellement infini. Il est généralement admis qu'un système de fichier ne fournit pas d'information sur l'encodage utilisé pour encoder un texte brut donné. Cette information essentielle est alors déterminée à travers un ensemble d'heuristiques.
Un fichier a généralement une taille limitée, alors qu'un protocole peut transférer un flot de données virtuellement infini. Il est généralement admis qu'un système de fichier ne fournit pas d'information sur l'encodage utilisé pour encoder un texte brut donné. Cette information essentielle est alors déterminée à travers un ensemble d'heuristiques.


===Texte brut dans un courriel===
=== Texte brut dans un courriel ===
{{loupe|Courriel et Unicode}}
{{loupe|Courriel et Unicode}}


<nowiki>La notion de standardisation du texte brut dans les courriel est abordée par la RFC 2646, </nowiki>''The Text/Plain Format Parameter'', de 1999<ref>
La notion de standardisation du texte brut dans les courriel est abordée par la RFC 2646, ''The Text/Plain Format Parameter'', de 1999<ref>
http://www.ietf.org/rfc/rfc2646.txt
http://www.ietf.org/rfc/rfc2646.txt
</ref><nowiki> et la RFC 3676, </nowiki>''The Text/Plain Format and DelSp Parameters''<ref>
</ref> et la RFC 3676, ''The Text/Plain Format and DelSp Parameters''<ref>
http://www.ietf.org/rfc/rfc3676.txt
http://www.ietf.org/rfc/rfc3676.txt
</ref>.
</ref>.


<nowiki>La notion de texte brut est également abordée dans la RFC 2046</nowiki><ref>
La notion de texte brut est également abordée dans la RFC 2046<ref>
http://www.ietf.org/rfc/rfc2046.txt
http://www.ietf.org/rfc/rfc2046.txt
</ref>. Cette RFC précise que la notion de texte brut s'accompagne de la définition d'un encodage des caractères. Toutefois, il se peut que cette RFC ne traite que des problématiques de longueur des lignes, sans définir exactement ce qu'est le texte brut.
</ref>. Cette RFC précise que la notion de texte brut s'accompagne de la définition d'un encodage des caractères. Toutefois, il se peut que cette RFC ne traite que des problématiques de longueur des lignes, sans définir exactement ce qu'est le texte brut.


==Évolutions et perspectives==
== Évolutions et perspectives ==


=== Balisage===
=== Balisage ===
<nowiki>La RFC 2482, </nowiki>''Language Tagging in Unicode Plain Text'', discute des perspectives de balisages du texte brut Unicode<ref>
La RFC 2482, ''Language Tagging in Unicode Plain Text'', discute des perspectives de balisages du texte brut Unicode<ref>
{{ouvrage
{{ouvrage
|sous-titre=Request for Comments: 2482
|sous-titre=Request for Comments: 2482
Ligne 77 : Ligne 77 :
}}</ref>.
}}</ref>.


===Texte brut approché en mathématiques===
=== Texte brut approché en mathématiques ===
La note technique 28 de l'Unicode traite de la problématique de la représentation des symboles mathématiques sous forme de texte brut approché et aborde des notions techniques dépassant les limites de la définition du texte brut<ref>
La note technique 28 de l'Unicode traite de la problématique de la représentation des symboles mathématiques sous forme de texte brut approché et aborde des notions techniques dépassant les limites de la définition du texte brut<ref>
{{ouvrage
{{ouvrage
|titre=Unicode Technical Note #28
|titre=Unicode Nearly Plain-Text Encoding of Mathematics
|titre=Unicode Nearly Plain-Text Encoding of Mathematics
|version=Version 3
|version=Version 3
Ligne 130 : Ligne 129 :
'''1 '''void IHBMWM(void)
'''1 '''void IHBMWM(void)
'''2 '''{
'''2 '''{
'''3 '''γ<span>’</span> = γ • √(1 + I_2);
'''3 '''γ’ = γ • √(1 + I_2);
'''4 '''υ = γ + γ_1 + i • Δ;
'''4 '''υ = γ + γ_1 + i • Δ;
'''5 '''α_inc = α_0 • (1 − (γ • γ • I_2/γ’)/(γ’ + υ));
'''5 '''α_inc = α_0 • (1 − (γ • γ • I_2/γ’)/(γ’ + υ));
Ligne 139 : Ligne 138 :
'''10 '''Γ = 1/T_1 + γ_1;
'''10 '''Γ = 1/T_1 + γ_1;
'''11 '''I_2sF = (I_2/T_1)/(Γ + i • Δ);
'''11 '''I_2sF = (I_2/T_1)/(Γ + i • Δ);
'''12 '''β<span>’_</span>2 = υ • (υ + γ • I_2sF);
'''12 '''β’_2 = υ • (υ + γ • I_2sF);
'''13 '''β = √β<span>’_</span>2;
'''13 '''β = √β’_2;
'''14 '''α_coh = 0.5 • γ • α0 • (I_2sF <span></span>(γ + υ)/(γ’ • γ’ − β<span class="">’_</span>2))
'''14 '''α_coh = 0.5 • γ • α0 • (I_2sF • (γ + υ)/(γ’ • γ’ − β’_2))
'''15 '''<span></span>((1 + γ/β) • (β − υ)/(β + υ)
'''15 '''• ((1 + γ/β) • (β − υ)/(β + υ)
'''16'''<span>   </span>− (1 + γ/γ’) • (γ’ − υ)/(γ’ + υ));
'''16'''   − (1 + γ/γ’) • (γ’ − υ)/(γ’ + υ));
'''17 '''}
'''17 '''}
'''18 '''α_1 = α_inc + α_coh;
'''18 '''α_1 = α_inc + α_coh;

Version du 29 mars 2015 à 16:37

Le texte brut ou texte pur, traduction de l'anglais plain text[1], est une notion liée à la représentation du texte utilisée entre dispositifs électroniques.

Texte brut Unicode (Unicode plain text)

Visualisation de texte brut unicode à traverse l'éditeur de texte Vim, avec l’explorateur de fichiers (à gauche) et l’édition d’un fichier Unicode (à droite)

La notion de fichier texte se rapproche donc des propriétés que le standard Unicode attribue au format nommé plain text en langue anglaise et signifiant texte brut :

  • le texte brut représente le contenu basique et échangeable et inter-opérable du texte ;
  • le texte brut représente seulement les caractères contenus, sans leur apparence (ceci signifie que seule un numérotation des caractère est utilisée, la police de caractères étant fournie par un mécanisme indépendant) ;
  • le texte brut peut être affiché de diverses façons et nécessite un processus de rendu pour le rendre visible ;
  • si la séquence de texte brut est donnée à des processus de rendu divers rien ne garanti que le texte aura la même apparence (la police de caractères ou la couleur par exemple peuvent varier) ;
  • les différents processus de rendu du texte doivent rendre le code lisible dans une intention de lecture (ceci revient à éviter le problème des mojibake) ;
  • la contrainte de lisibilité contraint les apparences possibles ;
  • le standard Unicode définit le texte brut ;
  • la distinction entre le texte brut et d'autres formats de données dans le même flux est du ressort de protocoles supérieurs et n'est pas spécifié par le standard Unicode lui-même.

Généralités et controverses

La notion de texte brut peut se retrouver dans un fichier ou dans un courriel.

La notion de texte brut (plain text) a comme la notion de texte enrichi (fancy text) été introduite par Unicode[1].

Linux Information Project en donne une vision plus restrictive dans laquelle seuls les 96 caractères américains de l'ASCII peuvent faire partie du texte brut, la limite à la seule langue anglaise excluant de ce fait les caractères accentués des langues étrangères[2].

En pratique, on peut avoir généralement à préciser, d'une manière ou d'une autre, le répertoire de caractères ou l'encodage associé à un format texte brut. En anglais, on peut donc dire plain ASCII text ou plain UTF-8 text. En français on dira plus facilement texte brut UTF-8 ou texte brut ISO-8859-1 pour du texte en français, ou texte brut ASCII dans des contextes en langue anglaise ou protocolaires. En effet, si l'encodage est inconnu, un texte brut quelconque est inexploitable.

Histoire

La notion de texte brut est implicitement assez ancienne puisque vraisemblablement elle remonte au moins, si ce n'est à la notion de machine à écrire, aux premiers langages de programmation utilisant cette technologie.

Dès 1958 et 1961, le fait de concevoir des programmes en Algol n'a vraisemblablement pas pu être réalisé sans avoir recours à la notion de texte brut. Tout comme la langage DEL en 1969 (RFC 5).

Le 30 avril 1975, la RFC 680 fait déjà référence à la notion de texte brut, sans pour autant le définir.

Le 21 novembre 1977, un effort de la DARPA aboutit à la RFC 733, Standard for the Format of Arpa Network Text Messages, qui définit un standard de protocole pour les messages texte.

Le 13 aout 1982, la RFC 822, Standard for the Format of Arpa Network Internet Messages définit un format de texte brut particulier, limité aux seuls caractères de l'ASCII, en en excluant certains des caractères de contrôle et en introduisant des séquences d'échapement multi-octet (quoted printable).

En septembre 1993, la RFC 1951 introduit la notion de texte brut (plain text)[3].

La notion de texte brut est par la suite clarifiée par d'autres RFC, notamment en 1999.

La notion de texte brut a également été clarifiée par le standard Unicode entre 1992 et 2012[Quand ?].

Protocoles

L'usage du texte brut peut varier entre protocole et fichier. Le protocole spécifie généralement l'encodage utilisé et selon le protocole la longueur du texte peut ne pas être limitée.

Fichier texte

Un fichier a généralement une taille limitée, alors qu'un protocole peut transférer un flot de données virtuellement infini. Il est généralement admis qu'un système de fichier ne fournit pas d'information sur l'encodage utilisé pour encoder un texte brut donné. Cette information essentielle est alors déterminée à travers un ensemble d'heuristiques.

Texte brut dans un courriel

La notion de standardisation du texte brut dans les courriel est abordée par la RFC 2646, The Text/Plain Format Parameter, de 1999[4] et la RFC 3676, The Text/Plain Format and DelSp Parameters[5].

La notion de texte brut est également abordée dans la RFC 2046[6]. Cette RFC précise que la notion de texte brut s'accompagne de la définition d'un encodage des caractères. Toutefois, il se peut que cette RFC ne traite que des problématiques de longueur des lignes, sans définir exactement ce qu'est le texte brut.

Évolutions et perspectives

Balisage

La RFC 2482, Language Tagging in Unicode Plain Text, discute des perspectives de balisages du texte brut Unicode[7].

Texte brut approché en mathématiques

La note technique 28 de l'Unicode traite de la problématique de la représentation des symboles mathématiques sous forme de texte brut approché et aborde des notions techniques dépassant les limites de la définition du texte brut[8].

Alors que les mathématiques sont un langage international, en tout ou partie, leur représentation informatique a pu être négligée lors de la création de différents systèmes de codage des caractères. Toutefois, ces symboles ont bénéficié d'une forte prise en charge par l'Unicode [9], à partir de la version 3 et de l'an 2000[10].

Les mathématiques posent la question de l'expression non linéaire, c'est-à-dire des expressions pouvant nécessiter un format particulier dans l'espace de la page, comme les fractions ou les matrices. Des systèmes de codages comme ISO 8859-1 et Windows 1252 se limitaient à des caractères limités relatifs aux quarts et à leur multiples (¼, ½, ¾). Ceci a conduit les scientifiques à utiliser des outils tels que LaTeX ou MathML.

Unicode permet d'exprimer de nombreuses expressions mathématiques avec du texte pratiquement brut et lisible. D'un point de vue technique ce format serait légèrement formaté par des balises, éventuellement. Ce format est un format linéaire mais peut aussi être affiché sous forme formatée éventuellement. Dans la note Unicode Nearly Plain-Text Encoding of Mathematics Version 3[11], ces deux variantes sont nommées linear format (format linéaire), pour un affichage sous forme de texte brut, et built-up presentation format (format visuel) pour un affichage bénéficiant d'un affichage complexe.

Exemple de programmation de formules mathématiques en C++ en texte brut ASCII :

    1  void IHBMWM(void)
    2  {
    3      gammap = gamma * sqrt(1 + I2);
    4      upsilon = cmplx(gamma + gamma1, Delta);
    5      alphainc = alpha0 * (1 - (gamma * gamma * I2/gammap)/(gammap + upsilon));
    6      if (!gamma1 && fabs(Delta * T1) < 0.01)
    7          alphacoh = -half * alpha0 * I2 * pow(gamma/gammap, 3);
    8      else
    9      {
   10          Gamma = 1/T1 + gamma1;
   11          I2sF = (I2/T1)/cmplx(Gamma, Delta);
   12          betap2 = upsilon * (upsilon + gamma * I2sF);
   13          beta = sqrt(betap2);
   14          alphacoh = 0.5 * gamma * alpha0 * (I2sF * (gamma + upsilon)/(gammap * gammap - betap2))
   15                     * ((1 + gamma/beta) * (beta - upsilon)/(beta + upsilon)
   16                     - (1 + gamma/gammap) * (gammap - upsilon)/(gammap + upsilon));
   17      }
   18      alpha1 = alphainc + alphacoh;
   19  }

et en texte brut Unicode en format linéaire :

    1  void IHBMWM(void)
    2  {
    3      γ’ = γ • √(1 + I_2);
    4      υ = γ + γ_1 + i • Δ;
    5      α_inc = α_0 • (1 − (γ • γ • I_2/γ’)/(γ’ + υ));
    6      if (!γ_1 || fabs(Δ • T1 ) < 0.01)
    7          α_coh = −0.5 • α0 • I2 • pow(γ/γ’, 3);
    8      else
    9      {
   10          Γ = 1/T_1 + γ_1;
   11          I_2sF = (I_2/T_1)/(Γ + i • Δ);
   12          β’_2 = υ • (υ + γ • I_2sF);
   13          β = √β’_2;
   14          α_coh = 0.5 • γ • α0 • (I_2sF • (γ + υ)/(γ’ • γ’ − β’_2))
   15                  • ((1 + γ/β) • (β − υ)/(β + υ)
   16	               − (1 + γ/γ’) • (γ’ − υ)/(γ’ + υ));
   17      }
   18      α_1 = α_inc + α_coh;
   19  }

Le format linéaire Unicode affiche les indices sous forme d'indices, tandis que le format visuel Unicode afficherait également les fractions sous forme de fractions.

Notes et références

  1. a et b http://www.cairn.info/article.php?ID_ARTICLE=DN_063_0013&DocId=43450&Index=%2Fcairn2Idx%2Fcairn&TypeID=226&BAL=ancgQnI99ifLI&HitCount=9&hits=31af+2d8e+2a02+1b0e+1989+11e3+942+90b+25a+0&fileext=html
  2. http://www.linfo.org/plain_text.html
  3. RFC 1521 Network Working Group http://too ls.ietf.org/html/rfc1521
  4. http://www.ietf.org/rfc/rfc2646.txt
  5. http://www.ietf.org/rfc/rfc3676.txt
  6. http://www.ietf.org/rfc/rfc2046.txt
  7. Language Tagging in Unicode Plain Text : Request for Comments: 2482,
  8. Unicode Nearly Plain-Text Encoding of Mathematics, (présentation en ligne, lire en ligne) Dernière Version: http://unicode.org/notes/tn28/
  9. Barbara Beeton, Asmus Freytag, Murray Sargent III, Unicode Technical Report
    1. 25 “Unicode Support for Mathematics”, http://www.unicode.org/reports/tr25
  10. http://www.cairn.info/revue-document-numerique-2002-3-page-51.htm
  11. Murray Sargent III, Plain-Text Encoding of Mathematics, Publisher Text Services, Microsoft Corporation,

Voir aussi

Articles connexes