# À la découverte d'Unicode/Applications

Sommaire
Le contexte
* Héritage de la télégraphie à Unicode ^
* Unicode : institutions et versions (renommer le chapitre: et standard) ⪾
Les textes Unicode
* La notion de caractère 𝓌
* Présentation du répertoire ⺇
* Propriétés de caractère ϐ
* Codage (UTF-8, UTF-16 et UCS-2)
* Applications ✉
* Fonctionnalités usuelles et algorithmes ض
Pour les développeurs
* Programmation ⚙
* International Components for Unicode ⚙⚙
* Conformance ☑
Annexes
* Liste de symboles utiles ≠
* Quelques alphabets 𝛼
* Exemples de textes 原
* Saisie des caractères Œ ✍ ⌨
* Glossaire A
* Autres lectures sur Unicode 📖
Sommaire
Le contexte
* Héritage de la télégraphie à Unicode ^
* Unicode : institutions et versions (renommer le chapitre: et standard) ⪾
Les textes Unicode
* La notion de caractère 𝓌
* Présentation du répertoire ⺇
* Propriétés de caractère ϐ
* Codage (UTF-8, UTF-16 et UCS-2)
* Applications ✉
* Fonctionnalités usuelles et algorithmes ض
Pour les développeurs
* Programmation ⚙
* International Components for Unicode ⚙⚙
* Conformance ☑
Annexes
* Liste de symboles utiles ≠
* Quelques alphabets 𝛼
* Exemples de textes 原
* Saisie des caractères Œ ✍ ⌨
* Glossaire A
* Autres lectures sur Unicode 📖
[ Modifier le sommaire ]
Unicode est en progression constante, surtout sur Internet. Aujourd'hui, on peut considérer qu'il s'agit du jeu de caractères standard à utiliser partout où du texte doit être utilisé, sauf spécifications contraire, notamment lorsque la compatibilité avec des systèmes dont la conception est vieille de plusieurs dizaines d'année est recherchée.
Toutefois, il faut garder à l'esprit que si une application utilise es caractères Unicode, elle n'est pas pour autant toujours conformes à tous les critères de conformité définis par le standard.
L'utilisation d'Unicode comme jeu de caractère par une application se bases souvent sur l'un de standards UTF-8 u UTF-16.
De par sa nature, UTF-8 est d'un usage de plus en plus courant sur internet, et dans les systèmes devant échanger de l'information. L'UTF-16 est en particulier utilisé dans les environnements Windows.

## Environnements
### Éco-systèmes Gnu, Linux et compatibles

UTF-8
Il s'agit également du standard Unicode le plus utilisé dans les éco-systèmes Gnu, Linux et compatibles.

### Windows

L'UTF-16 est en particulier utilisé dans les environnements Windows. Dans ce système, les API dites Unicode utilisent ce standard.
Il en va de même des systèmes de fichiers NTFS, Virtual FAT, Joliet (cédéroms) et ReFS qui utilisent un jeu de caractères UTF-16 pour les noms de fichiers.

## Environnements réseaux

Dans les systèmes modernes, le partage de fichier sur réseau est conçu pour échanger des noms de fichier Unicode.
* C'est le cas de Samba (connu dans Windows sous le nom de "voisinage réseau") à partir des versions Windows NT, 200x, XP
* C'est aussi le cas d'Active directory et de certains protocoles FTP
* RFC 5198: Unicode Format for Network Interchange

### Limites du DOS

Le système DOS et les logiciels associés n'ont pas été adaptés aux évolutions de l'Unicode. L'incapacité de ces logiciels à s'adapter au monde moderne a conduit à la désuétude de leur usage.

### Matériel électronique

Unicode (en l’occurrence UCS-2) est également considéré dans les plus basses couches du logiciel, en prise directe avec le matériel.
C'est le cas de l' UEFI Shell Specification (May 22, 2012 Revision 2.0 Errata “A”).
UTF-16 ou bien l'UCS-2 est le standard de chaînes de caractères utilisé par l'UEFI.
Unicode est également utilisé par le logiciel multiboot Grub 2.0.

## Logiciels et formats de fichiers
### Bureautique

À priori, Unicode est le standard sous-jacent utilisé par des logiciels devant représenter du texte comme Microsoft Office, OpenOffice.
Dans OpenOffice 3.2.1, des caractères Unicode sont proposés dans le menu «Insertion → caractères spéciaux».

### Navigation Internet

À priori, Unicode est le standard sous-jacent utilisé par des logiciels devant représenter du texte comme Firefox, Chrome.

### Développement logiciel

À priori, Unicode est le standard sous-jacent utilisé par des machine virtuelles comme l'environnement Java ou l'environnement dot Net.
Des langages récents comme Perl et Python offrent également une assez bonne approche d'Unicode.
Des langages hérités comme les scripts shells Unix ne prennent pas en compte spécifiquement l'Unicode et peuvent présenter des aspects particuliers.
Ce point est traité plus en profondeur dans le chapitre Programmation.

## Internet et télécommunications
### SMS

Sur téléphones mobiles et dans les SMS Unicode n'est pas toujours disponible.

### Sites internet

Unicode est le codage de base de nombreux sites internet parmi lesquels on trouve pour ne donner que deux exemples et non des moindres, le site de Wikipédia et le site du parlement européen. Concrètement, le codage utilisé est UTF-8.

### Limites du courriel

Dans ses origines nord-américaines, le courriel est une chose qui contient du texte ASCII. Les caractères qui peuvent être utilisés étaient d’abord ASCII, puis des encodages régionaux. Aujourd’hui, certains logiciels supportent également l’UTF-8, ce qui permet d’augmenter le nombre de caractères différents que l'on peut utiliser dans un même courriel.
Avec la technologie MIME (Multipurpose Internet Mail Extensions), différents fichiers informatiques peuvent être joints au courriel.
L'utilisation du format HTML pour la structuration ou la mise en forme des courriels est possible, mais souffre d'un manque important d'interopérabilité,. Il en est de même du recours aux feuilles de style en cascade (CSS) pour leur présentation.
UTF-8 et les caractères régionaux ne sont pas toujours interopérables, en fonction du logiciel de messagerie utilisé par le destinataire et de sa localisation géographique.

## Références

* ↑ http://x86asm.net/articles/uefi-programming-first-steps/
* ↑ http://www.gnu.org/software/grub/manual/grub.html
* ↑ souligné en 2007 par le séminaire Mail HTML du W3C anglais W3C HTML Mail Workshop, 24 May 2007, Paris, France
* ↑ anglais David Greiner, A Guide to CSS Support in Email: 2007 Edition, Campaign Monitor