mardi 5 décembre 2006

L'accessibilité web

Comme le résume Tim Berners-Lee, inventeur du World Wide Web, l'objectif de l'accessibilité Web est de :

« Mettre le Web et ses services à la disposition de tous les individus, quel que soit leur matériel ou logiciel, leur infrastructure réseau, leur langue maternelle, leur culture, leur localisation géographique, ou leurs aptitudes physiques ou mentales."

Pour les personnes handicapées, Internet représente la possibilité grâce à des systèmes informatiques adaptés, d’accéder à des informations et des services jusqu'alors difficilement accessibles.

La situation de l'accessibilité en france

Les services de communication publique en ligne des services de l'Etat, des collectivités territoriales et des établissements publics qui en dépendent doivent être accessibles aux personnes handicapées.

Cette phrase est issue de l'article 47 de la loi n° 2005- 102 du 11 février 2005 pour l'égalité des droits et des chances, la participation et la citoyenneté des personnes handicapées parue au Journal Officiel du 12 février 2005.
Il s'agit ainsi de mettre, en france, le Web au service de l’intégration des handicapés dans la société.
Des lois similaires avaient déjà été votée dans d'autres pays auparavant, néanmoins cette obligation légale a la particularité de fixer un délai de 3 ans et d'intégrer également indirectement l'obligation d'accessibilité numérique aux organismes privés en rendant illégale toute discrimination dans le monde du travail.

Pour respecter cette obligation selon le "Référentiel accessibilité des services Internet de l'administration française" de l'ADAE (Agence pour le Développement de l'Administration Electronique) cité comme référence, il faut suivre les critères fixés par l'association BrailleNet : les critères AccessiWeb. Ceux-ci sont classés en 3 niveaux (bronze, Argent ou Or) qui correspondent aux 3 niveaux des WCAG 1.0 (Web Content Accessibility Guidelines) issus des recommandations internationales développées par la WAI (Web Accessibility Initiative), un département du W3C (World Wide Web Consortium).

samedi 2 décembre 2006

Le Q-learning

Le Q-Learning est un algorithme d'apprentissage par renforcement non supervisé, il est basé sur des Processus de Décision Markoviens.
Cette technique informatique permet de créer un agent capable de choisir une suite optimale d'action. Elle opère ainsi une mémorisation de l'effet d'une action à travers un renforcement choisi et récursif des étapes y ayant ammenées l'agent.

Cette algorithme a notamment été utilisé par des roboticiens pour apprendre à leurs agents à se comporter dans leur environnement.

La théorie du Flow de Mihaly Csikszentmihaly

Le psychologue hongrois Mihaly Csikszentmihaly définit le concept du flow, ou expérience optimale, comme l’expérience que ressentent des individus impliqués totalement lorsqu’ils agissent.
Concentration et plaisir sont éprouvés si fortement qu’il ne reste plus d’attention pour penser aux choses non-pertinentes ou à ses problèmes.

Quatre composantes participent à cette expérience : le contrôle, l’attention, la curiosité, et l’intérêt intrinsèque. Ces composantes font de la théorie du flow une référence précieuse pour tout design pédagogique.

Pour Csikszentmihaly, nous ne devons pas employée notre énergie psychique à tenter vainement de maîtriser l’environnement, mais plutot à diriger notre façon de composer avec lui. Pour lui l’expérience subjective n’est pas un aspect de la vie, mais la vie elle-même.

samedi 25 novembre 2006

Devenez squeaker sous Ubuntu !

Sous Ubuntu edgy, vous trouverez dans les dépots tous les outils en recherchant "squeak" : la machine virtuelle, la doc, le fichier .image, tout pour pouvoir "travailler".

Une fois ceux-ci installés, il vous suffit de lancer l'environnement de "travail" en tapant la commande $ startsqueak

Et voila bienvenue chez Squeak !
Je vous laisse découvrire l'interface.. je sais c'est assez déroutant comme environnement de programmation.. si cela peut vous rassurer des fonctionnalités puissantes en programmation objets offertes par Eclipse en sont issues, et surtout vous allez pouvoir y faire du développement web, de la synthèse de musiques, d'images, de paroles et des graphismes en 2D et en 3D!

Instant Gratification Time
Vous êtes encore la? bravo, votre curiosité va donc être récompensée. Tout d'abord si vous souhaitez avoir une interface en francais, tirez le volet navigator et cliquer la petite planète.
Maintenant, voyons quelques demonstrations alléchantes, soulever le panneau multimédia et cliquer le catalogue d'objets, choississer un jeu. Sympa, non?

Pour pouvoir commencer à coder, vous devez faire glisser depuis le panneau de droite les outils transcript et workspace (espace de travail en francais) dans la fenêtre principale. Ces fenêtres sont respectivement les sorties et les entrées de votre programme, vous pouvez faire un clic-droit sur une fenêtre pour voir les outils qui y sont associés.

Pour ceux qui ne connaissent pas Smalltalk, en voici une présentation rapide :

  • Smalltalk c'est seulement 6 mots réservés : nil, true, false, self, super et thisContext !
  • Tout y est objet comme en Ruby
  • Smalltalk est seulement un langage, squeak est un véritable explorateur d'idée, c'est encore mieux que le mind-mapping!

Et c'est tout !.. ok.. voici quelques exemples de codes.
A chaque fois, Copier le code, cliquez gauche puis Executer :

  • Affichage d'une collection d'objets : "#(19 69 15 10 44 78) do: {:each | Transcript show: each printString ;cr}."
  • Jouer des sons : block := { :soundName | (SampledSound soundNamed: soundName) play}. block value: #croak. (ca vous amuse? voici d'autre sons : #scratch, #chirp)

Attention: j'ai remplacé les expressions entre crochets par des accolades (vous devez donc faire l'inverse !), les crochets sont interprétée par dotclear comme des liens. Désolé, un jour, je m'en occuperrai, un jour..

Maintenant si vous voulez devenir un véritable ubunturos-squeaker (rem : on atteint la les sommets de la micro-communauté ;) ), je vous conseille de jeter un coup d'oeil au travail de Stéphane Ducasse.

Et si vous êtes tombé fou-amoureux de l'environnement squeak, allez découvrir le monde merveilleux des Etoys. Pour vous faciliter la vie, à l'instar de Apt ou de Gem, il existe un outil d'installation automatique appelé SqueakMap Package Loader.

Amusez vous bien !

Smalltalk / Squeak

Origine: un des premier langage objet, créé en 1972 au Palo Alto Research Center de Xerox. A partir de Smalltalk, Alan Kay, a ensuite créée Squeak a destination des enfants

Particularité de Smalltalk: tout est objet, typage dynamique, Smalltalk-80 a initié l'usage d'une machine virtuelle, sa communauté est à l'origine de l'utilisation des Design Patterns, de l'Extreme Programming et du refactoring
Particularité de Squeak: fortement orienté multimédia, un environnement de développement évolué

Format: projet.pr

Type d'application: jeux éducatifs, application multimedia, applications web

Outils de dévelopement: un fichier .image pour lancer le RAD dans la VM, Seaside pour le Web

Ressources:

Objective-C

Originel: évolution objet du langage C par Brad J. Cox, utilisé par l'entreprise NextStep

Particularité: typage faible

Format: fichier_source.m, fichier_header.h

Type d'application: logiciel

Outils de dévelopement: tout environnement compatible OpenStep (cocoa, gnustep), interfaceBuilder, Gorm.app

Ressources:

vendredi 24 novembre 2006

Les services Webs

Les services Webs permettent l'échange de données standardisées entre différents languages utilisés sur différentes plateformes. Leur utilisation peut ainsi permettre de mieux intégrer les applications au sein d'une entreprise, mais aussi de faciliter l'échange d'information par des interfaces publiques.

Le format des données échangées est le plus souvent Xml, mais un protocole standart est nécessaire à leur transport sur internet.

Ces protocoles peuvent reposer sur différentes architectures :

  • SOAP/WSDL, Simple Object Access Protocol, est un framework permettant d'établir un procole. S'il fournit un cadre, son intéropérabilité demande une standardisation au niveau applicatif qui peut poser des problèmes de flexibilité en cas de mauvais choix de conception.
  • REST, REpresentational State Transfer, supporte le concept générique d'objet en utilisant le CRUD-pattern présent dans le protocole d'application http. La nécessité d'avoir une structure peut néanmoins en diminuer les performances (par rapport à un service dont l'interface est spécialisée autour d'une tache). Des articles écrits par Joe Gregorio explorent des applications permises par cette architecture.

Xml + Xsl

Origine du Xml: métalangage balisé descendant du SGML définit par le groupe de travail XML présidé par Jon Bosak de Sun Microsystems
Origine de Xsl : langage de présentation par feuille de style définit par une recommandation du W3C datant de novembre 1999, Xsl comprend Xslt qui permet la transformation du Xml en un autre document (Html, PDF..), Xpath qui permet de parcourir du Xml, et XML Formatter s'adressant à des plateformes particulières.

Particularité: standardisation, sémantique forte, déclaration de dtd et/ou de schéma

Format: fichier.xml

Type d'application: les flux de données standardisées (les WEB services), les fichiers de configuration (logiciel ou interface), le stockage de données (fichiers et Base de données)

Outils de dévelopement: votre éditeur de texte, un bon parseur supportant Xpath, une base de donnée supportant Xquery (langage de requête des bases de données xml)

Ressources:

URI, Uniform Resource Identifiers

D'après le rapport du W3C, un URI identifie une ressource unique.
Toute collision sur la nature de la ressource est donc à éviter. Mais l'allocation d' une seule URI à une même ressource identifiée différemment selon le contexte n'est pas considéré comme une collision.

Le concept d'URI englobe ceux d'URN et d'URL :

  • URN, Uniform Resource Name, qui repose sur un engagement institutionnel garantissant sa persistance et sa validité. (par exemple: le numéro ISBN d'un livre)
  • URL, Uniform Resource Locator, qui rend accessible des ressources avec des protocoles réseau existants.

L'URI d'un objet se compose syntaxiquement d'un schéma (mailto, ftp, http..),du caractère ":" et d'une adresse dont le format dépend du schéma.

Pour des raisons de sémantique, voir de référencements, il peut être utile au responsable d'un site d'effectuer de l'URL-rewriting afin de faciliter l'accès aux ressources pour les utilisateurs et les robots.

dimanche 19 novembre 2006

La méthode Scrum

Scrum est une méthode agile de développement dont l'esprit rappel un jeu collectif, le terme Scrum renvoyant à une mêlée de rugby. En pratique, l'équipe agit de façon à réaliser les fonctionnalités par itérations de 30 jours, appelées sprints. Scrum utilise un vocabulaire original pour définir un projet :

  • Burndown Chart : le graphique du nombre d'heures restantes à être travaillées, durant un sprint.
  • Product Backlog : la liste de l'ensemble des fonctionnalités à réalisées
  • Scrum : une réunion de motivation et d'orientation quotidienne en 15 minutes à partir du travail accompli et de ce qui reste à faire.
  • Scrum Master : Personne faisant office d'ambassadeur entre l'équipe de développement et les intervenant extérieur, il a pour but d'isoler l'équipe des influences extérieures durant un sprint.

Trois acteurs sont essentiels à un projet SCRUM :

  • le product owner représente le client, disponible pour orienter l'équipe, il ordonne le travail en mettant à jour le product backlog.
  • Le scrum master protège de toutes perturbations la dynamique de l'équipe en solutionnant ses problèmes non techniques.
  • l'équipe s'auto-gère sans hiérarchie interne

samedi 11 novembre 2006

La Loi de Fitts

La loi de fitts appartient aux modèles du mouvement humain . A travers des expériences de pointage régulier entre 2 cibles (protocole communément appelé paradigme de Fitts), Fitts observe le rapport entre la taille des cibles et leurs distances.
Fitts démontre ainsi corrélativement que les cibles les plus petites et/ou éloignées nécessitent plus de temps pour être atteintes.

La loi de Fitts est la suivante MT = a + b log2(2A/W). Sa reformulation proposée par Scott MacKenzie (dite de Schannon) est néanmoins plus performante et facile à utiliser : MT = a + b log2(A/W + 1).
Elle calcule ainsi le temps (MT) d'atteinte une cible d'une taille W à une distance A, a et b sont des constantes déterminées par régression linéaire, et le calcul du log correspond à l'index de difficulté (ID) mesuré en "bits" (car en base 2). La réciproque de b est l'index de performance (IP) en "bits/seconde", taux humain du traitement de l'infomation nécessaire à un mouvement.

La mauvaise prise en compte du taux d'erreurs à pousser Crossman en 1960 à proposer de différencier : la taille de la cible de sa taille effective.

Le Droit du Travail

Le Droit du Travail Francais est l'ensemble des règles qui régissent les relations entre les employeurs et les salariés. Il définit ainsi le cadre légal de tout contrat et régule ainsi les processus d'embauche, et de licienciement.

Coté ressources, le site gouvernemental Légifrance publie les informations sur la législation, les règlements et le droit francais, on y trouve notamment :

  • les Lois et décrets
  • les Codes
  • les Conventions collectives
  • les Traités internationaux validés par la France
  • les Jurisprudences constitutionnelles, administratives, et judiciaires

Les Tests de Performance

Les tests de performance permettent de quantifier expérimentalement l'efficience d'interfaces usagers. Partant du fait que les performances sur des tâches simples et fréquentes affectent significativement l'usabilité, on cherche à détecter des problèmes ponctuels d'efficience à partir d'une quantification des performances des usagers.

Les tests de performances sont une méthode courante mais pas standardisée de l'ergonomie. En pratique, à partir de fichiers de logs, on étudie les mesures importantes suivantes :

  • le Temps d’exécution et temps moyen/variabilité.
  • le Taux d’erreur (= nombre d erreurs / nombre d'essais).
  • le Nombre d'opérations élémentaires (keystroking et autres dispositifs, mouvements et cognitions).
  • la Courbe d'apprentissage (moyenne sur les n 1ères/dernières).
  • la Stabilité ou variabilité

A partir du taux d'erreur, du temps d'exécution moyen, et temps de correction moyen, on peut aussi calculer le débit moyen réel de commandes/sec. d'une interface.

D'après E. Fimbel, on peut typiquement choisir le nombre de sujets en vue de résultats significatifs selon les paramètres mesurés :

  • 6-10 sujets pour les temps d'exécution moyens.
  • 12 sujets et plus pour les taux d'erreurs.
  • 20-30 sujets pour l'ensemble des usagers.

Néanmoins la granularité des résultats, le nombres de facteurs observés et la complexités de la tache nécessite un nombre de sujet adapté.

samedi 4 novembre 2006

L'analyse des organisations

L'analyse des organisations étudie comment fonctionne une organisation : ses structures, ses relations avec son environnement, la manière dont les décisions s’y prennent, ses formes de division du travail et de coopération, la manière dont réagissent les individus et les groupes qui y travaillent.

En sociologie, les organisations sont des construits culturels qui permettent aux hommes d'orienter leurs comportements. Elles ne nécessitent qu'un minimum de coopération entre ces participants afin de maintenir leurs automie d'agents libres.
De plus, l'étude de l'organisation en tant que système implique le dépassement de concepts unitaires tels celui de bureaucratie. Dans leurs travaux D.S. Pugh, D.J. Hickson et al. utilisent ainsi une approche multidimenssionnelle selon 7 facteurs contextuels : origine, histoire, type d'appropriation et de controle, taille, charte, technologie, localisation et dépendance à l'extérieur.

On peut étudier une organisation selon deux modes de raisonnements : stratégique et systèmique.

Le raisonnement stratégique est un raisonnement heuristique qui permet l'élaboration et la vérification empiriques d'hypothèses qui sont induites à partir des problèmes rencontrés par les participants d'une organisation.
Le raisonnement stratégique repose sur les prémisses suivant :

  • On étudie une organisation d'après l'analyse du comportement des acteurs, lesquels développent chacun leur propre stratégie opportuniste, selon leur rationnalité qui est limitée, et avec l'objectif de maximiser leurs gains.
  • On identifie le jeu entre les acteurs à travers les rapports entre les contraintes objectives limitant les zones d'incertitudes, et les stratégies de chacun d'entre eux.
  • On intègre l'ensemble des comportements selon le cadre du jeu qui fait adhérer les acteurs aux buts communs de l'organisation, à travers leurs propres stratégies "gagnantes".

Le raisonnement systèmique identifie l'interdépendance rationnelles des effets et des causes observées au sein du système. Le raisonnement systèmique repose sur les prémisses suivant :

  • la logique causale systèmique doit reconnaitre l'ensemble des relations au seins du système
  • les relations et actions possibles au sein du système orientent ses acteurs dans leurs choix objectifs
  • tout changement des rapports entre acteurs nécessitent une modifications des systèmes auquels ils appartiennent

Du point de vue de l'analyse des organisations, les deux raisonnements sont complémentaires : le raisonnement systèmique peut étudié les caractéristiques des jeux de pouvoir, systèmes identifiés par le raisonnement stratégique.

En conclusion, ce double raisonnement multi-échelle sur les jeux de pouvoir permet de dépasser la complexité des phénomènes multiples d'autorégulation au sein d'une organisation. Michel Crozier et Erhard Friedberg y voient ainsi une méthodologie efficace d'identification de systèmes d'action concrète.

La prospective

La prospective est l'étude des avenirs possibles.

Alors qu'à travers une projection linéaire on cherche à prédire les évolutions futures, la prospective étudie plusieurs futurs possibles selon des scénarios. Ces scénarios peuvent intéragir entre eux et permettent une interprétation politique particulière.
Cette approche offre une présentation plus riche et complexe des risques et des opportunités à venir. La prospective permet ainsi de mieux faire face aux incertitudes de l'avenir en envisageant des hypothèses moins conventionnelles.

Des organismes gouvernementaux utilisent ces techniques, ainsi le National Intelligence Council (NIC) américain met à notre disposition un outil de simulation sur leur site. Le groupe prospective du sénat francais met à notre disposition une liste de liens utiles.