Kanjis nationaux

💮

Une des choses intéressantes dans mon étude du kanji est voir comment le système a évolué et a été adapté. Par exemple, à l’origine le nom des pays étrangers n’était pas écrit en katakana, mais en utilisant des kanjis. Par exemple, la Suisse s’écrit スイス (SUISU), mais s’écrivait à l’origine 瑞西 (スイス). Pour certains pays comme la Suisse, l’usage s’est perdu, alors que pour d’autres, notablement l’Angleterre, l’usage perdure. Ce qui intéressant c’est que la pratique d’utiliser des kanji est la seule possibilité en Chine, mais que les pratiques n’ont pas été synchronisées, donc un pays peut être écrit avec des kanji très différents en Chine et au Japon. Par exemple, pour les Japonais, les USA sont représentés par le kanji du riz 米, alors que pour les chinois c’est le kanji de la beauté 美. Pourquoi utiliser des kanjis qui se prononcent MEI pour les États Unis ? Le premier Kanji aurait en fait été qui se prononce A. Mais il est utilisé pour l’Asie.

Le premier kanji pour la Suisse est le même pour les deux pays: congratulations 瑞 par contre, le SU final est représenté par les Japonais par le kanji de 西 ouest alors que pour les chinois c’est le kanji de serviteur 士.

Dans certains cas, le kanji associé avec un pays a perdu son usage originel. veut dire Europe. Naturellement la Chine peut être écrite avec des Kanjis, typiquement 中国 (chūgoku) littéralement le royaume du milieu, c’est assez éloigné de la prononciation chinoise: Zhōngguó. Běijīng (Pékin) s’écrit 北京, et devrait donc à la Japonaise se prononcer Hokkyō, mais en général, c’est la prononciation “internationale” qui est utilisée ペキン (Pekin). Rien n’est simple. 

Pour ceux qui veulent trouver les kanjis des différents pays, ce site contient une table des noms de pays en katakana et en kanji, la première colone contient le nom du pays en kanjis “japonais”, la seconde le kanji qui est en général associé au pays, la troisième contient le nom en katakana, et la quatrième contient le nom en kanji utilisé en chine. Si jamais vous avez de la peine à trouver un pays, écrivez dans les commentaires, j’essayerais de trouver les kanjis.

Les kanjis d’aujourd’hui:
Kanji Kun ON Sig. Note
こめkome ベイBEI Riz Utilisé pour représenter les USA.
つぎtsugi A Prochain, Suivant Utilisé pour représenter l’Asie.
みず misu スイ SUI Congratulation
ma SHI Serviteur Je trouve deux définitions contradictoires pour ce kanji, d’un côté serviteur de l’autre gentilhomme samurai.
西 にち nichi セイ SEI Ouest Utilisé pour représenter l’Espagne.
ス est une prononciation ON plus rare.
うた uta オウ Ō Europe
なか naka チュウ CHŪ Intérieur, Centre
くに kuni ごく GOKU Pays, Royaume Un joyau 玉 dans une boîte 囗
きた kita ホク HOKU Nord
みやこ miako キョウ KYŌ Capitale Ce kanji se retrouve dans 東京 Tōkyō, 京都 Kyōto

Flattr this!

Pendant ce temps, sur le web

NCSA Mosaic Logo

Un des phénomènes que j’ai pu suivre depuis presque le début a été le développement du web. Beaucoup de choses se sont passées depuis l’époque où j’utilisais Mosaic sur les machines de l’Université de Genève. Si je n’ai jamais été un web-designer, j’ai régulièrement bricolé du HTML et suivi l’évolution du langage.

La première version de HTML était une description logique, avec peu ou pas de mise en page. On pouvait sentir une forte influence de LaTex notamment au niveau des structures de liste. Les version subséquentes ont surtout ajouté des tags de mise en page, ce qui fait que l’aspect logique a rapidement été noyé dans la masse. Les CSS et l’émergence des méta-données ont finalement commencé à renverser la tendance.

Moi même j’utilise de plus en plus les CSS pour faire la mise en page de mon blog. La mise en page du tableau des kanjis est entièrement contrôlée par le CSS. J’essaye aussi d’ajouter autant de meta-données, notamment pour les acronymes. J’ai aussi finalement pris le temps de voir comment le site apparaît avec d’autres browser, en général, le résultat est plutôt bon. Le code du site valide aussi à présent avec l’engin de validation de iCab. Je regrette que WordPress n’insère pas encore les liens prev and next dans le header, mais au moins il y a déjà les liens vers les archives.

Il y a deux développements aux HTML que j’aimerais bien voir supportés plus largement, il s’agit de MathML et Ruby. Le premier est un langage pour exprimer des équations. L’avantage serait de pouvoir enfin éviter de représenter les équations comme des graphiques, et, je pense aide beaucoup à la publication online d’articles scientifiques.

Le but du second est plus exotique, il s’agit en fait de généraliser l’idée de furigana. Le furigana est le fait d’écrire un texte phonétique ou dessus d’un texte. Il est typiquement utilisé au Japon pour expliquer la lecture des kanjis, mais l’idée peut de fait être généralisée, par exemple pour les acronymes. Je trouve ce sujet intéressant, d’abord car une telle structure m’aiderait pour mon site, mais surtout car c’est une manière de représenter des textes de manière structurée et non linéaire. Malheureusement, ce système est pour l’instant uniquement supporté par Microsoft, et les projets open-source sont à la traîne.

Flattr this!

Bricolons avec SNMP

Ces jours, j’ai commencé à sérieusement bricoler avec le protocole SNMP. C’est un des rares protocoles que j’ai appris à l’université qui soit encore largement utilisé. Je travaille avec le package SNMP4J qui, s’il n’est pas idéal, est relativement complet.

À quoi sert SNMP ? Il s’agit à l’origine d’un protocol pour ‘parler’ aux différents appareils qui forment l’infrastructure du réseau: routeurs, switches etc. Si à l’origine ce protocol était uniquement implémenté dans le matériel haut de gamme, de nos jours, on trouve un petit serveur (agent en langage SNMP) dans la plupart des équipements réseaux, jusqu’aux routeurs ADSL et aux imprimantes réseau. Curieusement, on trouve rarement un agent SNMP sur les PCs ce qui est dommage, cela simplifierait pas mal la vie des administrateurs systèmes.

Un des concepts clefs de SNMP est la MIB, c’est la base de donnée qui représente l’état et la configuration de l’appareil. Chaque élément de la MIB est identifié par une clef (appelée OID) et une valeur, qui est un type de base (string, différentes sortes d’entiers). En structurant les OIDs on peut construire des tables. Que contient la MIB ? Virtuellement n’importe quoi. Cela va depuis le nom de la personne de contact responsable pour l’équipement (OID 1.3.6.1.2.1.1.4.0), jusqu’à la configuration des différentes interfaces réseau.

Pas la peine d’essayer cette commande depuis chez vous, l’imprimante en question est bravement cachée derrière le firewall de JAIST.

Pour utiliser SNMP, sous Unix, on a à disposition une série de commandes. La plus simple est la commande snmpget qui permet de lire une variable de la MIB. Par exemple, j’aimerais savoir ce qui se cache derrière une adresse IP, en l’occurrence une imprimante ici.

snmpget -v 1 -c public ps-is16e0r0.jaist.ac.jp SNMPv2-MIB::sysDescr.0

Le paramètre v spécifie la version de SNMP qu’on va utiliser (1), le paramètre c spécifie la communauté. La communauté est une sorte de mot de passe.

L’imprimante va me répondre:

SNMPv2-MIB::sysDescr.0 = STRING: RICOH IPSiO NX850 2.00 / RICOH Network Printer C model

Le code SNMPv2-MIB::sysDescr.0 est une forme humainement lisible de l’OID 1.3.6.1.2.1.1.1.0. Ensuite vient le type de la réponse (une chaîne de caractères), et enfin la réponse, en l’occurrence le modèle de l’imprimante.

Une commande plus générale est snmpwalk, celle-ci permet d’explorer une portion de la MIB. La commande suivante demande tous les éléments qui font partie des informations de base sur un nœud du réseau (en l’occurrence ma propre machine, sur laquelle j’ai lancé le démon snmpd).

snmpwalk -v 1 -c public 127.0.0.1 1.3.6.1.2.1.1

Le résultat est la séquence d’information suivante:

MPv2-MIB::sysDescr.0 = STRING: Darwin kt-dhcp01.jaist.ac.jp 8.2.0 Darwin Kernel Version 8.2.0: Fri Jun 24 17:46:54 PDT 2005; root:xnu-792.2.4.obj~3/RELEASE_PPC Power Macintosh
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.255
SNMPv2-MIB::sysUpTime.0 = Timeticks: (69916504) 8 days, 2:12:45.04
SNMPv2-MIB::sysContact.0 = STRING: "Matthias Wiesmann"
SNMPv2-MIB::sysName.0 = STRING: kt-dhcp01.jaist.ac.jp
SNMPv2-MIB::sysLocation.0 = STRING: "JAIST 6th floor"
SNMPv2-MIB::sysServices.0 = INTEGER: 76
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (500) 0:00:05.00
…

Comme dit plus haut, une grande partie des informations dans la MIB sont structurées comme des tables. Par exemple l’imprimante mentionnée plus haut a un table de système de stockage. On peut visualiser cette table grâce à la commande suivante

snmptable -v 1 -c public ps-is16e0r0.jaist.ac.jp 1.3.6.1.2.1.25.2.3

Le résultat est la table suivante:

SNMP table: HOST-RESOURCES-MIB::hrStorageTable

 hrStorageIndex                        hrStorageType hrStorageDescr hrStorageAllocationUnits hrStorageSize hrStorageUsed hrStorageAllocationFailures
              1   HOST-RESOURCES-TYPES::hrStorageRam            RAM                  1 Bytes     301989888     301989888                           0
              2 HOST-RESOURCES-TYPES::hrStorageOther          FLASH                  1 Bytes       8388608       8388608                           0

La même commande sur mon laptop donne les résultat suivants

SNMP table: HOST-RESOURCES-MIB::hrStorageTable

 hrStorageIndex                                hrStorageType     hrStorageDescr hrStorageAllocationUnits hrStorageSize hrStorageUsed hrStorageAllocationFailures
              1         HOST-RESOURCES-TYPES::hrStorageOther     Memory Buffers                256 Bytes             ?             ?                           ?
              2           HOST-RESOURCES-TYPES::hrStorageRam        Real Memory               4096 Bytes             0       2131376                           ?
              3 HOST-RESOURCES-TYPES::hrStorageVirtualMemory         Swap Space               4096 Bytes       2131124   -1073746432                           ?
              4     HOST-RESOURCES-TYPES::hrStorageFixedDisk                  /               4096 Bytes      19504908      15949534                           ?
              5     HOST-RESOURCES-TYPES::hrStorageFixedDisk               /dev                512 Bytes             2             2                           ?
              6     HOST-RESOURCES-TYPES::hrStorageFixedDisk               /dev                512 Bytes             2             2                           ?
              7     HOST-RESOURCES-TYPES::hrStorageFixedDisk              /.vol                512 Bytes          1024          1024                           ?
              8     HOST-RESOURCES-TYPES::hrStorageFixedDisk           /Network                512 Bytes             0             0                           ?
              9     HOST-RESOURCES-TYPES::hrStorageFixedDisk /automount/Servers                512 Bytes             0             0                           ?
             10     HOST-RESOURCES-TYPES::hrStorageFixedDisk  /automount/static                512 Bytes             0             0                           ?

Une autre table très utile est celle qui contient la liste des adresses IP pour un equipement donné.

snmptable -v 1 -c public 127.0.0.1 1.3.6.1.2.1.4.20
SNMP table: IP-MIB::ipAddrTable

   ipAdEntAddr ipAdEntIfIndex  ipAdEntNetMask ipAdEntBcastAddr ipAdEntReasmMaxSize
     127.0.0.1              1       255.0.0.0                1                   ?
  150.65.26.79              5   255.255.254.0                1                   ?
 150.65.239.67              4 255.255.255.128                1                   ?

Donne la liste des interfaces réseaux, dans mon cas, il y en a trois active en ce moment, ethernet (4), wifi (5) et l’interface loopback (1).

La chose intéressante est naturellement de pouvoir visualiser tous les appareils connectés au réseau de manière uniforme. La prochaine fois, j’essayerais de vous parler des notifications (trappes).

Flattr this!