mardi 9 décembre 2008

Accessibilité Ouèb

L'accessibilité sur un site, ce n'est pas seulement être compatible avec beaucoup de navigateurs, avoir une bonne résolution, et permettre aux 5% d'internautes qui désactivent le Javascript de naviguer confortablement…
C'est aussi faire un WebDesign accessible par les personnes déficientes visuelles.

Quelques chiffres tout simples pour commencer :
  • 10% des hommes souffrent d'une forme de daltonisme.
  • 60 000 personnes non voyantes, en France
  • Entre 1,5 et 3 millions de personnes mal-voyantes en France

Daltonisme


Définition


Handicap dans la perception des couleurs.
Il en existe de nombreuses formes : La perception humaine des couleurs se fait par l'identification de trois couleurs (le rouge, le vert et le bleu).
  • Si la personne perçoit globalement ces trois couleurs, mais avec une ou plusieurs déficiences, ça s'appelle le trichromatisme anormal. (anomalie dans les rouges : protanomalie ; dans les verts : deuteranomalie ; dans les bleus : tritanomalie)
  • S'il manque la perception d'une de ces couleurs, ça s'appelle le dichromatisme. (Si c'est le Rouge qui fait défaut, c'est la protanopie ; si le Vert manque, on parle de deutéranopie ; si c'est le Bleu qui manque : tritanopie)
  • S'il manque deux couleurs sur les trois, c'est le monochromatisme. La personne voit le monde en niveaux de gris, ou avec des couleurs très délavées.

Problèmes rencontrés


Les codes couleurs évidemment… Mais aussi les graphismes peu contrastés.

Solution ?


Ce site vischeck.com est vraiment très pratique pour ça.
Une URL, un choix de pathologie et hop, il vous donne une idée de comment une personne dans ce cas perçoit votre site.

Personnes mal-voyantes / personnes non-voyantes


Définition


  • Être malvoyant

    On est considéré comme malvoyant lorsque l'on a moins de 4/10 après correction


  • Être non-voyant
    On est considéré non-voyant lorsque :
    • on a moins de 1/20 après correction
    • et/ou
    • on a un champ visuel inférieur à 10°


Problèmes


La plupart des problèmes liés au handicap visuel sont dûs à l'utilisation de lecteurs d'écrans ou d'outils de restitution en Braille.
Une personne mal-voyante utilisera ces outils en appoint. Par exemple, conjointement aux outils de zoom.
Une personne non-voyante n'a que cette restitution.
Ces logiciels examinent la page web comme étant du texte séquentiel. Pour avoir une idée du rendu que ça peut avoir, le navigateur Lynx (ou un de ses équivalent) est très pratique.

Solutions


Toutes ces petites recommandations que vous avez pu lire de droite et de gauche prennent leur sens :
  • frames : Y'a pas pire.
    Voilà un exemple de page avec Frames vue par Lynx :
    (le site de la mairie de Sucy-en-Brie, me demandez pas pourquoi, c'est l'premier que j'ai trouvé)
    Derrière les liens FRAME: xxx.htm, il n'y a rien. Juste rien…
    Et quand on se met dans la peau d'une personne mal ou non voyante, le message qui dit qu'on est un peu con d'pas avoir un bon navigateur, il y a de quoi mal le prendre…
    Si vous y tenez, la balise <noframe> permet de proposer un contenu alternatif exploitable. Mais de manière générale, les frames, c'est le mal.

  • les images doivent avoir un texte alternatif (la propriété "alt" du tag <img> ) lorsqu'elles sont significatives.
    Par exemple, "photo d'un plat de choucroute", c'est pas mal pour une photo de plat de choucroute.
    Et " - " c'est pas mal comme texte alternatif pour une image qui a un rôle de séparateur.

  • l'usage des tableaux : à limiter autant que possible.
    La lecture séquentielle de tableau, c'est pas top.
    Pire encore, avec un lecteur d'écran : il risque de lire naïvement horizontalement dans prendre en compte la structure du tableau.
    Toutefois, si on m'en a souvent parlé, je n'ai encore jamais rencontré de problèmes avec ça.
    Bah, de toute façon, les div, c'est mieux.

  • Javascript : Vous vous rappelez de ces 5% de gens qui désactivent javascript ?
    J'avais d'abord pensé « Quels chieurs ! Tant pis pour eux ! C'est leur choix après tout… ». Sauf qu'après m'être essayé au "screen reader" et autres périphériques de restitution pour personnes handicapées visuelle, ben je l'ai désactivé moi même…
    Cela concerne d'avantage les personnes non-voyantes que les personnes mal-voyantes, je pense.
    Lorsqu'un javascript modifie le contenue de la page, mon lecteur d'écran ne s'en apercevait pas (alors que lors d'un changement de page, si). Du coup, certains liens ne semblaient avoir aucun effet, et même si je me doutais qu'il y avait une conséquence quelque part il me fallait chercher "à tâtons" pour trouver la zone effectivement modifiée ou alors réécouter toute la page.
    <noscript> est assez pratique pour proposer une alternative.
    Externaliser ses javascripts dans des fichiers .js, c'est bien, aussi…

  • Bien préciser le langage de la page et s'y tenir
    (de base, la lecture automatique, c'est pas top, mais quand en plus c'est interprété comme une autre langue… >__<)

  • Pas de SMS, par pitié…
    (Si jamais y'avait besoin d'une raison supplémentaire)

  • L'ascii art, c'est assez intrigant…


Mon expérience de ce domaine étant encore assez réduite et n'étant pas moi même déficient visuel, il est probable que j'ai oublié des choses. Si vous voyez des trucs à rajouter, je vous en prie, je serai le premier intéressé !

Sans oublier qu'après avoir testé tout ça les yeux fermés, je les ait rouverts et j'ai rangé ces logiciels…

jeudi 23 août 2007

requête utile en SQL

Toutes les langues et leurs abréviations selon la norme ISO 639-1

INSERT INTO `Language` ( `id` , `name` )
VALUES (
'aa', 'Afar'
), (
'ab', 'Abkhazie'
), (
'af', 'Afrikaner'
), (
'am', 'Amhara'
), (
'ar', 'Arabie'
), (
'as', 'Assam'
), (
'ay', 'Aymara'
), (
'az', 'Azerbaïdjan'
), (
'ba', 'Bachkir'
), (
'be', 'Biélorusse'
), (
'bg', 'Bulgarie'
), (
'bh', 'Bihari'
), (
'bi', 'Bêche de mer'
), (
'bn', 'Bengali'
), (
'bo', 'Tibétain'
), (
'br', 'Breton'
), (
'ca', 'Catalan'
), (
'co', 'Corse'
), (
'cs', 'Tchèque'
), (
'cy', 'Wallis'
), (
'da', 'Danois'
), (
'de', ' Allemand'
), (
'dz', 'Dzoungarie, Bhoutan'
), (
'el', 'Grec'
), (
'en', 'Anglais'
), (
'eo', 'Espéranto'
), (
'es', 'Espagnol'
), (
'et', 'Estonien'
), (
'eu', 'Basque'
), (
'fa', 'Perse'
), (
'fi', 'Finlandais'
), (
'fj', 'Fidji'
), (
'fo', 'Féroïen'
), (
'fr', 'Français'
), (
'fy', 'Frison'
), (
'ga', 'Irlandais'
), (
'gd', 'Gallois d\'Écosse'
), (
'gl', 'Galicien'
), (
'gn', 'Guarani'
), (
'gu', 'Goudjerate'
), (
'ha', 'Haoussa'
), (
'he', 'Hébreu'
), (
'hi', 'Hindi'
), (
'hr', 'Croate'
), (
'hu', 'Hongrois'
), (
'hy', 'Arménien'
), (
'ia', 'Interlingua'
), (
'id', 'Indonésien'
), (
'ie', 'Interlingue'
), (
'ik', 'Iupik'
), (
'is', 'Islandais'
), (
'it', 'Italien'
), (
'iu', 'Inupik (Esquimau)'
), (
'ja', 'Japonais'
), (
'jv', 'Javanais'
), (
'ka', 'Géorgien'
), (
'kk', 'Kazakh'
), (
'kl', 'Kalaallisut (Groenland)'
), (
'km', 'Khmer'
), (
'kn', 'Kannada'
), (
'ko', 'Coréen'
), (
'ks', 'Cachemire'
), (
'ku', 'Kurde'
), (
'ky', 'Kirghize'
), (
'la', 'Latin'
), (
'ln', 'Lingala'
), (
'lo', 'Laotien'
), (
'lt', ' Lituanien'
), (
'lv', 'Letton'
), (
'mg', 'Malgache'
), (
'mi', 'Maoris'
), (
'mk', 'Macédoine'
), (
'ml', 'Malayalam'
), (
'mn', 'Mongol'
), (
'mo', 'Moldave'
), (
'mr', 'Marathe'
), (
'ms', 'Malais'
), (
'mt', 'Maltais'
), (
'my', 'Birman'
), (
'na', 'Nauruan'
), (
'ne', 'Népalais'
), (
'nl', 'Hollandais'
), (
'no', 'Norvégien'
), (
'oc', 'Occitan'
), (
'om', 'Oromos'
), (
'or', 'Oriya'
), (
'pa', 'Pendjab'
), (
'pl', 'Polonais'
), (
'ps', 'Pachtoune'
), (
'pt', 'Portugais'
), (
'qu', 'Quechua'
), (
'rm', 'Rhéto-roman'
), (
'rn', 'Roundi'
), (
'ro', 'Roumain'
), (
'ru', 'Russe'
), (
'rw', 'Kinyarwanda'
), (
'sa', 'Sanskrit'
), (
'sd', 'Sindhi'
), (
'sg', 'Sango'
), (
'sh', 'Serbo-croate'
), (
'si', 'Cinghalais'
), (
'sk', 'Slovaque'
), (
'sl', 'Slovène'
), (
'sm', 'Samoan'
), (
'sn', 'Chona'
), (
'so', 'Somali'
), (
'sq', 'Albanais'
), (
'sr', 'Serbe'
), (
'ss', 'Siswati'
), (
'st', 'SotoduSud'
), (
'su', 'Soudanais'
), (
'sv', 'Suédois'
), (
'sw', 'Souahéli'
), (
'ta', 'Tamil'
), (
'te', 'Tegoulu'
), (
'tg', 'Tadjik'
), (
'th', 'Thaï'
), (
'ti', 'Tigrigna'
), (
'tk', 'Turkmène'
), (
'tl', 'Tagal'
), (
'tn', 'Setchwana'
), (
'to', 'Kitonga'
), (
'tr', 'Turc'
), (
'ts', 'Tsonga'
), (
'tt', 'Tatar'
), (
'tw', 'Tchi'
), (
'ug', 'Uigur'
), (
'uk', 'Ukrainien'
), (
'ur', 'Ourdou'
), (
'uz', 'Ouzbek'
), (
'vi', 'Vietnamien'
), (
'vo', 'Volapük'
), (
'wo', 'Ouolof'
), (
'xh', 'Xhosa'
), (
'yi', 'Yiddish'
), (
'yo', 'Yorouba'
), (
'za', 'Zhuangzi'
), (
'zh', 'Chinois'
), (
'zu', 'Zoulou'
);
N'hésitez pas à me communiquer toute faute (j'ai quelques doutes au sujet du 'SotoduSud')

lundi 30 avril 2007

La PS3 fait plouf

Certes, ça fait un moment qu'on le sait, qu'elle a fait plouf, mais je ne m'étais pas encore moqué...
C'est un peu une idée qui me trottait dans la tête depuis quelques temps : La XBox360, la PS3 et un peu la Wii sont sensées être des consoles "next gen", ou "new gen" maintenant qu'elles sont sorties. Or, tout le monde sait que la fin d'une génération dans le jeu vidéo est toujours marquée par l'effondrement d'un géant de cette industrie.

Nous avions donc cherché (c'était un peu avant la sortie de la wii) qui pourrait s'effondrer. La réponse nous a semblé très simple : Microsoft ne peut pas tomber, ils n'ont pas tous leurs œufs dans le même panier et ils ont les reins bien trop solides. Nintendo non plus : ils ont des fonds incommensurables à l'abri et surtout, ils n'ont pas de concurrents sur leur créneau.

Restait donc Sony, qui a certes fait un peu d'argent avec la PS2, mais n'a pas tant de marge que ça (ils s'étaient déjà fait mal avec le DVD) et qui, avec la PS3, met tous ses œufs dans le même panier (jeu vidéo et blue-ray).
Le retard énorme de la sortie de la PS3 ne plaide pas en leur faveur, et leur a surtout fait perdre beaucoup d'exclusivités.

Les choix techniques sont également très risqués : obtenir de meilleurs performances au détriment de l'accessibilité. Que ce soit pour les consommateurs, avec un prix prohibitif (malgré la vente "à perte" de Sony, autre prise de risque...) ou pour les développeurs, avec des technologies extrêmement difficiles à maîtriser.

Un bon exemple de ce parti pris concerne le blue-ray : la technologie blue-ray est théoriquement meilleurs que la technologie HD-DVD. Oui, mais...
Elle est également beaucoup plus difficile à utiliser. De fait, les possibilités du blue-ray ne sont pas utilisées à leur maximum, alors que celles du HD-DVD beaucoup mieux.
Du coup, certains testeurs qui ont vu un film en HD-DVD et en blue-ray, trouvent le film en HD-DVD meilleur que celui en blue-ray.

Les paris sont ouverts, mais moi, j'aurais des actions chez Sony, je les vendrais très vite...

Les informaticiens sont parfois poètes...

La traditionnelle erreur 404 un peu modifiée sur un site de chercheurs très sérieux : > à voir ici < (apparemment pas visible sous IE).

mercredi 11 avril 2007

Compilation !

Après avoir retrouvé, trié, regroupé les sources ; après m'être fait une juste assez bonne compréhension du code pour pouvoir y toucher ; après avoir retrouvé toutes les dépendances (et dans la bonne version) et refait les linkages ; après avoir corrigé certains soucis de code (heu... Oui, le code qu'il y avait dans les sauvegarde n'aurait jamais pu compiler en l'état, curieux...)...
Bref, après bien des efforts, j'ai enfin pu recompiler le code !

La mauvaise nouvelle, c'est que la partie client du logiciel ne trouve pas la caméra... Et je crains que ça ne soit une histoire de driver.
Quoi qu'il en soit, c'est une bonne avancée, déjà.