Une interface procédurale est concue pour libérer l'opérateur d'une charge supplémentaire d'interaction en incluant des procédures que l'opérateur humain devrait effectuer en leur absence. Chaque procédure représentant, sous une forme écrite, le contenu d'une fonction cognitive humaine (par exemple le repérage d'un trajet en automobile tout en conduisant).
Dans une approche centrée sur l'utilisateur, une interface procédurale est basée sur la distinction fondamentale entre tâche à effectuer (but) et interaction avec le dispositif (moyen). Cette distinction permet au système d'assister l'utilisateur dans sa tache en anticipant les moyens nécessaires à la satisfaction de ces besoins.
A l'origine du paradigme multi-agent, l'oeuvre de Minsky, "la société de l'esprit", s'appuie sur le concept de distribution de l'intelligence dans des agents formant une société. Cette approche sert de cadre en Intelligence Artificielle Distribuée et en modèlisation cognitive, du faits de ces avantages:
- une description de l'évolution complexe d'une activité en réseau, par son caractère distribué et parallèle
- une réduction de la complexité dans un domaine peu formalisé, à travers des éléments plus simples, plus facile à appréhender
- une intégration de descriptions qualitatives, quantitatives et symboliques
La modèlisation Multi-agent permet ainsi de distribuer le processus d'évaluation dans chaque agent. Chaque agent est très peu intelligent pour que le système (la société) réalise une fonction donnée collectivement.
Pour identifier le modèle d'agent s'intégrant dans une activité collective, on doit décomposer cette activité en un ensemble de comportements les plus simples possibles.
L'évaluation du SMA reste problèmatique, on peut la construire à travers un benchmark entre différents systèmes selon des critères évaluant l'activité réalisée.

Une Fonction Cognitive caractérise le processus cognitif mis en oeuvre pour la production d'une activité, lors d'une tache données.
L'ingénierie cognitive part de l'hypothèse que toute activité trouve sa source dans la mobilisation de la cognition pour l'execution d'une tache, ainsi les connaissances aquises sur la cognition permettent de mieux étudier l'activité.
Les fonctions cognitives sont décrites selon 3 termes:
- son role, a quoi sert t-elle?
- son contexte, lors de quelle situation sert-elle?
- ses ressources, de quoi a t-elle besoin pour servir?
On peut ainsi à travers ces fonctions mieux resituer les normes de conceptions dans leurs futur contexte d'utilisation.
Lors de la conception itérative d'une interface, ces fonctions permettent des avancées multiples:
- en ergonomie, l'analyse d'une tache selon sa décomposition hiérarchique etant insuffisante, la dimension cognitive lors d'une activité en situation écologique est essentielle afin d'y adapter l'interface
- en gestion des connaissances, l'assimilation d'une fonction est dépendante du contexte et nécessite un traitement de l'information adéquat
- en intelligence artificielle, la prise en compte de ces fonctions cognitives permet une co-conception entre cognition artificielle et naturelle
Les fonctions cognitives permettent ainsi de mieux accompagner l'homme dans ses expériences vécues. Cette approche est nécessaires à partir du constat des limites du concept de représentation, ce concept majeur de la cognition n'étant pas étudiable directement.
La CIF (Classification Internationale du Fonctionnement) publiée par l'OMS en 2001, décrit le processus du fonctionnement et du handicap dans une approche multidimensionnelle:
"l'état de fonctionnement ou de handicap d'une personne est le résultat de l'interaction dynamique entre son problème de santé et les facteurs contextuels".
Au dela du médical, un handicap est ainsi le résultat d'une relation complexe entre:
- le problème de santé (maladies, troubles, lésions, traumatismes, )
- les facteurs personnels d'une personne
- les facteurs externes, circonstances dans lesquelles vit cette personne
Une société peut diminuer les handicaps de sa population en mettant à sa disposition des facilitateurs. La gestion des Handicaps n'est donc pas seulement une problèmatique personnelle mais bien une question de société.
Ainsi, en conception l'approche Universal Design (ou Design for All) souhaite amplifier la réalisation d'un environnement, de produits et de services accessibles et utilisables par le plus grand nombre de personnes possibles.
7 principes ont été identifiés pour soutenir cette approche:
- Etre utile et vendable à des personnes aux capacités diverses
- Convenir à un large éventail de choix et de capacités individuelles
- Etre d'un usage aisé, quels que soient l'expérience, les connaissances et le niveau de concentration courant de l'utilisateu
- Transmettre effectivement à l'utilisateur les informations nécessaires quelles que soient ses capacités sensorielles et les conditions ambiantes
- Minimiser le hasard et les conséquences d'actes involontaires ou accidentels
- Pouvoir être utilisé efficacement, confortablement et avec un minimum de fatigue
- Disposer d'une taille et d'espace suffisant pour l'approche, la préhension et la manipulation quelles que soient la taille, la posture ou la mobilité de l'utilisateur
Le refactoring consiste à restructurer le code source pour améliorer sa lisibilité et simplifier sa maintenance.
Martin Fowler dans son livre "Refactoring" a proposé un catalogue de refactorings pour le langage Java.
Les refactoring ne sont pas une affaire de gout personnel, aussi les tests sont essentiels à cette pratique.
Plusieurs environnements de développement orienté objet actuels dont Eclipse (et ses plugins comme Prorefactor) permettent l'appliquation automatiquement de ces refactorings.
Trois phases dans le développement itératif :le développement initial en utilisant le prototypage rapide et des changements incrémentaux, l'ajout de nouvelles fonctionnalités, la consolidation (Restructurer le logiciel, Introduire des patrons de conception, Utiliser des refactorings).
Trois catégories de refactorings se produisant fréquemment dans les logiciels orientés objets : la Création des méthodes "template", séparer comportement commun des pièces spécialisées, Optimisation des hiérarchies de classes, généralisation et spécialisation, augmenter la cohésion et diminuer le couplage par l'Introduction de relations de composition
Les tests unitaires (Test Driven Development (TDD) ouTest First Development (TFD)), sont codés afin de provoquer l'exécution d'un code et l'évaluer par l'analyse du résultat.
Une test unitaire possède les caractéristiques suivantes:
- Automatique, en général après compilation du composant à tester
- Executable en masse
- Diagnostic binaire: comportement correct ou présence d'une anomalie
- Répétable, indépendemment de l'environnement
- Disponible, sur la partie du code source accessible que vous testez
Une programmation pilotée par les tests, préconisée en XP, apporte les bénéfices suivant:
- Détecter rapidement la plupart des régressions potentielles
- Anticiper les dépassements de délait
- Maitriser la qualité externe par formalisation des besoins de l'utilisateur, on parle alors de tests fonctionnels
- Mieux réagir aux changements imprévus, en confortant chaque étape d'une approche itérative
- Documenter le code sur les bonnes facons de l'utiliser
- Mesurer l'état d'avancement d'un projet
Le framework Junit (utilisable sous eclipse) permet d'exécuter en séquence des tests .
Le développement agile est un style de développement logiciel itératif centré sur les personnes et qui met l'accent sur la satisfaction du client à travers l'intégration continue d'un logiciel entièrement fonctionnel.
Nommée en l'honneur du agilemanifesto participant à sa reconnaissance (cf. site de l'agillealliance), on retrouve l'approche agile dans différentes méthodes :
- Extreme Programming (XP)
- Rational Unified Process (RUP)
- Scrum
- Feature-Driven Development (FDD)
Le développement agile repose sur des principes simples et naturels:
- la satisfaction et l'implication du client
- l'accent mis sur les capacités individuelles et l'expertise
- la collaboration, la confiance et la communication
- le développement itératif, simple et robuste
- l'intégration continue
- l'adaptation aux changements
L'InfoVis ou visualisation de l'information, se focalise sur l'information, souvent abstraite, à la recherche de nouvelles métaphores visuelles pour représenter l'information et comprendre quelles sont les tâches analytiques qu'elles peuvent supporter.
L'InfoVis repose sur les techniques de la visualisation scientifique, des interfaces humain-ordinateur , de l'exploitation de données, et de l'imagerie et des graphiques.
Après avoir collecté des données brutes par un processus automatique, l'utilisateur extrait un sous-ensemble de données intéressantes organisées, maintenus dans une base de données relationnelle. Cette organisation peut ensuite être associée à une structure visuelle par association d'attributs des données aux attributs visuels.
La représentation visuelle est manipulable interactivement par l'utilisateur, le supportant dans ces tâches: la découverte, la prise de décision, l'explication.
La logique est l'étude de la nature, des concepts, de la vérité, des jugements et, de la validité des raisonnements, classiquement elle repose sur:
- une syntaxe
- une sémantique
- un système de preuve
George Boole(1847) est le premier à traiter la logique d'Aristote comme une algèbre et participe ainsi avec Gottlob Frege à la naissance de la logique propositionnelle, voici quelques éclaircissements:
- Une proposition désigne un énoncé considéré du point de vue formel de la logique.
- Des énoncés descriptifs d'un état de fait et susceptibles d'être vrais ou faux sont appellés des fonctions de vérité
- Une proposition simple prend la forme d'une variable propositionnelle (p, q, r,...)
- Les opérateurs logiques sont au nombre de 5: Négation, Conjonction, Disjonction, Implication, et Bi-implication
Toutefois la logique propositionnelle ne permet pas d'exprimer la quantité de chaque variable, ce manque a été comblé par la logique des prédicats à travers ses fonctions, ses quantificateurs et ses prédicats (concepts formulés à l'aide de variables libres).
L'avénement de l'ordinateur est aussi celui de la logique binaire et plus encore..
Des langage.. tel prolog
Le Marketing Interactif représente une évolution du marketing reposant sur une nouvelle approche du consommateur, la décision d'achat étant percue comme le fruit d'un échange continu entre vendeur et acheteur pendant lequel le contrôle de l'information est partagé.
Le marketing interactif apparait du fait de l'extension des moyens de communication à travers les Ntic et d'une disperssion des consommateurs, il vise à :
- définir une démarche marketing offrant une totale satisfaction à un consommateur plus exigeant
- séduire clients et consommateurs de manière durable
- concevoir un système de gestion de base de données efficace
- bénéficier du potentiel des Ntic
- adapter l'offre à la personnalisation
- intégrer la stratégie de l'entreprise et demeurer profitable
Pratiquement les campagnes peuvent comprendre plusieurs cycles intègrant:
- affiliation
- e-mailing
- jeux en ligne
- couponing
- personnalisation...
Origine: l'Unified Modeling Language (normalisé par l'OMG en 1997) remplace toutes les notations de modèlisation informatique
Particularité: langage répandu de modèlisation
Format: graphique
Type d'application: support d'analyse, de conception , de programmation, et de génération de code dans les projets orientés objets, il peut aussi faciliter le reeverse engineering
Outils de dévelopement: crayon+papier, eclipse+plugin omondo, kde+umbrello uml modeller
Ressources:
- le plugin omondo
Personnes handicapées ou âgées dépendantes en france:
- 1 francais sur 10 est concerné
- 5 Millions de francais rencontrent des difficultés dans leur vie quotidienne (ouvrir une porte, monter un escalier, sortir de son logement, se déplacer à l'extérieur, communiquer...)
- 6,5 millions de francais ont plus de 65 ans
- 1,5 millions de personnes souffrent d'un handicap significatif
(source: Handroit.com)
La suppléance améliore les facteurs environnementaux et subjectifs, ainsi que la participation à la vie sociale par une compensation des incapacités de la personne. Face aux handicaps et au viellissement des sociétés occidentales, la suppléance s'intéresse à de nombreuses aspects de la vie humaine:
- Dispositifs d'assistance pour la restauration ou l'amélioration des fonctions motrices, sensorielles, cognitives, de communication, adaptation à l'environnement.
- Orthèses, prothèses,
- Habitat intelligent (Domotique ou " Smart Home ") : interfaces, capteurs de l'environnement, assistance informatique,
- Interaction homme-machine : techniques d'interaction, interfaces, aides techniques, conception pour tous,
- Modélisation des comportements humains : cognitifs, psychophysiques, psychologiques,
- Assistance à l'éducation et à la rééducation, ergonomie des systèmes d'assistance,
- Plateformes d'évaluation,
- Dimension sociale: vie publique et privée,
- Assistance à distance : télé-assistance, télédiagnostic, télé-réhabilitation.
Voici un exemple abouti d'aide à la suppléance:
- Care-O-bot, robot allemand (institut de Fraunhofer) polyvalent, il peut rechercher des objets réclamés par l'utilisateur, allumer la télé, arroser les plantes, rappeler la prise des médicaments. Pour l'utiliser, l'utilisateur peut sélectionner une action ou un objet sur l'écran d'une tablette tactile, en cas de doute Care-O-Bot prend une photo et l'envoie à l'utilisateur afin qu'il confirme son choix.
Origine: dévelopé à partir de 1996 depuis le SGML et HTML puis norme du W3C(1998)
Particularité: outil du web sémantique, structure son contenu selon une DTD
Format: toutes sortes de fichiers bien formés, ou validés selon une DTD
Type d'application: représentation des connaissances, stockage des données et traitements sémantiques sur celles-ci
Outils de dévelopement: un parser pour la manipulation,
Ressources:
- Xml.org
- un cours
- une page de liens
Origine: évolution du pascal nommé ainsi en l'honneur de Blaise Pascal(17éme Siècle)
Particularité: compilation rapide, intégration poussée avec Delphi
Format: un fichier compilé
Type d'application: prototypage et application machine
Outils de dévelopement: Delphi
Ressources:
Origine du Html: définit par Tim Berners-lee(1989) à partir du SGML
Origine des CSS: Hà¥kon W. Lie(1994) aboutissant à la recommandation CSS1 (1996)
Particularité: l'hypertexte, distinction du fond par rapport à la forme
Format: fichier.html ou équivalent, avec importation du fichier.css
Type d'application: le WEB, l'échange d'information, la "vue" d'une application
Outils de dévelopement: votre éditeur de texte et votre navigateur (firefox de préférence)
Ressources:
- une liste de 200 outils
- the webdeveloper's handbook
- un optimiseur de css
- Html
- Css tricks
- W3C validateurs
- Caractères ASCII
- Comment rendre compatible son site avec tous les navigateurs ?
- Visualiser son site sous 6 navigateurs avec browsershots
- Evaluer la taille de sa page
- Générateur de feuille de style
- codes couleurs
- Palette de couleurs
- Harmonie des couleurs
- Puces
- formarchitect
- Buttons
- Polices
- List-o-matic
- color scheme generator
- vischek
Origine: le "LiveScript" de Netscape(1992) dont la licence a été racheté et renommé par Sun
Particularité: la fonction XMLHTTPRequest
Format: script.js intégré au html ou importé, les fonctions sont appelées à travers des événements
Type d'application: conception Ajax, amélioration de la réactivité d'un site, affichage publicitaire
Outils de dévelopement: votre éditeur de texte et votre navigateur
Ressources:
- le framework Ajax openrico
Origine: créé par Guido van Rossum (1989) et nommé en l'honneur des Monty Python
Particularité: structure le code selon son indentation
Format: script.py
Type d'application: scripts Blender et serveur Zope, application
Outils de dévelopement: le compilateur, ipython, eclipse+plugin, Boa constructor+wxpython
Ressources:
- pydev
- Wiki wikipython.flibuste.net
- Plongez au coeur de Python
- Un serpent dans mon singe avec Blender et Python
- le cgkit
- ipython pour de l'"interactive python" en ligne de commande
Origine: Oak développé par Sun(1991), renommé et intégré à netscape en 1995
Particularité: portabilité élevée, applet, servlet, des librairies pour tout faire
Format: fichier.java(->.class->.jar), page.jsp
Type d'application: jeux pour mobiles, site Web, application Web, logiciel
Outils de dévelopement: eclipse, le compilateur de sun, netbeans,
Ressources:
- hibernate
- spring
- tapestry
- hsqldb
- tomcat
- le sysdeo tomcat plugin
- le plugin de Lomboz pour les pages.jsp
- Portail Java for U
- Pour débuter en Java avec Eclipse, il existe une excellente présentation presque complète par jm doudoux , je vous conseille aussi de jeter un coup d'oeil aux codes chez J2S si vous êtes bloqué.
Origine: successeur du C, défini par Bjarne Stroustrup ajoutant des éléments de POO
Particularité: les pointeurs, les makefiles
Format: fichier.h d'entête pour la définition, et fichier.cpp pour la déclaration
Type d'application: temps réel, outils système
Outils de dévelopement: eclipse+plugin CDT ou un éditeur de texte, le compilateur g++, glade+ GTK pour les interfaces
Ressources:
- le plugin CDT pour eclipse
- le site de l'inventeur du langage
- la meilleure introduction (à mon gout)
- un guide de développmenet
Le travail collaboratif repose sur un environnement informatisé visant à favoriser la collaboration entre pairs, échanger des connaissances et partager des ressources et des compétences, pour réussir un projet commun.
Les premières applications logicielles furent la messageries élèctronique et le groupware. Aujourd'hui foisonnent de multiples outils devant répondre à des problématiques de collaboration spatiales et temporelles:
problématiques spatiales
- accès aux ressources: wiki, portail, intranet, groupware, bureau virtuel, BdD, P2P
- distance: messagerie instantanée, VoIP, Visio-conférence
- socialisation des savoirs: Forum, Blog, FAQ, outils de gestion des compétences
problématiques temporelles
- calendrier: agenda et planning partagé
- asynchronie: boite mail, aggrégateur RSS
- prise de décision: SBC, SE
- recherche: moteurs, outils de cartographie
Ces technologies reconstruisent des mécanismes de communication, de coopération et de coordination (les 3 C du travail collaboratif) au coeur de la chaine de valeur des entreprises. Aussi le travail collaboratif nécéssite une exploration des processus métier mais aussi du capital humain de connaissances et de compétences travaillant en réseaux dans une entreprise.
Origine: dialecte(1975) issu du LISP (1958)
Particularité: programmation fonctionnelle à travers des listes et une utilisation massive de la récursivité,
Format: script
Type d'application: intelligence artificielle, initiation pédagogique
Outils de dévelopement: votre éditeur et l'interpréteur du MIT, DrScheme
Ressources:
Origine: créé par Yukihiro "Matz" Matsumoto et nommé en référence à Perl
Particularité: tout est objet, une conception web accélérée par Ruby on Rails (RoR)
Format: script.rb, du Erb intégré au html
Type d'application: prototypage, conception de site web selon le modèle MVC, application GTK
Outils de dévelopement: eclipse + plugins ou un éditeur de texte, le compilateur, glade+libglade+GTK pour les interfaces, RoR pour la conception Web(avec BdD, serveur fcgi...)
Ressources:
- le plugin RDT pour eclipse
- le RAD radrails
- mieux connaitre irb (indispensable!)
- les fichiers de configuration pour vim
- mes propres billets
- les bases du langage
- mon guide préféré: the unofficial guide
- un excellent guide par le code
- le parser Xml REXML et un tutorial
- un générateur graphique SVG
- zentest pour réaliser des tests unitaires
- manier le moment ou s'évalue votre code avec lazy.rb
- intégrer un navigateur à votre appli avec Ruby-Gecko
- générer un exe windows avec Exerb
- des exemples intéressants
- les interfaces graphiques avec FOX
- ruby/password permet de vérifier les mots de passes
- Xmlmapping, l'activeRecord du Xml?
- le scientific ruby community wiki
La théorie de l'information (en cours..)
Les graphes servent à modéliser des structures relationnelles comportant un ensemble d'entités et des relations liant ces entités entre elles. Un graphe G=(V,E) est en un ensemble fini de sommets V et un ensemble d'arêtes E (des couples (u,v)).
Leurs visualisation respectent certaines règles de conception:
- Minimiser le nombre d'intersections, la surface occupée par le dessin, la longueur totale des arcs, la longueur maximale d'un arc, la variance de la longueur des arcs, le nombre total d'inflexions des arcs, le nombre maximal d'inflexions par arc, la variance du nombre d'inflexions des arcs
- Maximiser l'angle minimal entre deux arcs issus du même sommet
De plus, il existe différentes représentations classiques:
- sur une grille orthogonale
- hiérarchique, surtout utilisé pour les diagrammes acycliques orientés (DAG)
- par visibilité, a partir d'un squelette ou les sommets sont axes horizontaux (avant substitution) et les segments axes verticaux
- par augmentation, le résultat y est influencé par l'ajout d'arcs factices
- par champ de force, les arcs y sont segment de droites
- par subdivision, en sous-graphe
Il existe aussi des techniques de représentation adaptées à des cas plus particuliers:
- en 3D
- matricielle, à partir de la matrice de connectivité
- temporelle
- par aggrégation
La navigation doit être facilité par différentes techniques:
- zoom et pan vers une zone
- focus + contexte, telles les distorsions fisheyes
Les arbres constituent une classe particulière de graphes. Un arbre peut être considéré comme un graphe orienté ou les arcs divergent de la racine, un graphe acyclique connexe.
Sa description possède un vocabulaire qui lui est propre:
- pour un arc (u, v) donné, on dira que u est le parent de v et que v est le fils de u
- un noeud sans fils est une feuille de l'arbre
- si chaque noeud possède un maximum de 2 fils, l'arbre est dit binaire
- un sous graphe d'un noeud se nomme sous-arbre
- le nombre de noeud reliant un noeud à la racine représente sa profondeur
- la hauteur d'un arbre est sa profondeur maximale
Classiquement un arbre est représenté par un diagrammes en noeud mais il existe aussi des techniques de représentation adaptées à des cas plus particuliers:
- les techniques des graphes
- la représentation circulaire, on y place les fils sur des cercles concentriques
- la représentation verticale-horizontale, elle concerne les arbres binaires (un fils dans chaque direction de l'axe)
- l'application des nombres de Strahler, représentant visuellement l'importance des sous-arbres
- les treemaps par remplissage de l'espace d'un parent par ses fils, améliorable par ombrage
- le sunburst, comparable à une treemap de profondeur circulaire
- les arbres à glacon, comparable à une treemap de profondeur horizontale
- les arbres hyperboliques (en espace 2D ou 3D)
- les arbres coniques, arborescence classique en 3D, à la navigation améliorable par des jeux de lumière
Fekete et Plaisant ont montré que matériellement nous pouvons afficher jusqu'à un million d'items sur un écran 1600x1200. Des optimisations particulières permettent et interagir avec de manière fluide. Au-delà de cette limite, la navigation peut être facilitée par différentes techniques d'agrégation et dévellopement interagissant avec la représentation des noeuds. On peut ainsi déterminer la partie la plus pertinente de la hiérarchie à afficher dans l'espace disponible à l'aide des degree-of-interest trees de Card et Nation, combinant trois catégories de zoom (géométrique, sémantique et une notion de degré d'intérêt), les noeuds situés à l'extérieur de la zone focale sont agrégés et ceux sous le focus sont décomposés en leurs parties.
Le visual data-mining vise à mieux exploiter le potentiel de notre système de perception lors d'une activité de data-mining
L'utilisateur effectuant une recherche à l'aide d'un système de visualisation, parcoure différentes étapes: exploration des données, analyse des données, et présentation des données:
- exploration, à partir de la fouille des données, l'utilisateurs passe une requête
- analyse, étape d'extraction des connaissances, l'utilisateur effectue des traitements
- présentation, le choix incombe à l'utilisateur et dépend de la nature des données:
A chaque étapes, la visualisation est pertinente:
- l'exploration peut etre facilité par la manipulation de l'espace de vue: localisation, échelle/zoom sur un nombre limité de données, distorsion (hyperbolique par exemple)
- l'analyse des données peut être facilité par l'interraction homme-machine: transformation des données par des outils statistiques, transformation du tracage des données par un mappage significatif), transformation des vue par feedback navigationnel
- la présentation des données peut être enrichie par une contextualisation pertinente
La cartographie sémantique est une élaboration et utilisation de représentations visuelles de données abstraites pour amplifier la cognition (source: glossaire de la société Ontologos).
Cette activité renvoit à la sémiologie graphique qui recherche la transcription dans le système graphique d'un signe facilitant sa communication.
Une carte est à la fois:
- visuelle d'après les mécanismes de la perception humaine ( loi de la gestalt, et limites physiques du système visuel) et selon le type de représentation (arborescence, graphes, diagrammes...), et de perspective (2D, 3D...) choisis
- culturelle elle véhicule un message qui doit être accessible sémantiquement, adaptée à son objectifs et son utilisateur
- enactive elle permet une recherche par coévolution avec son auteur, la navigation (échelle/représentations multiples...) est une recréation à chaque instant du couple objet/sujet, aussi la construction de connaissance nécessite une familiarisation par exploration des données
Sur internet, dans les documents et dans les bases de données, cette représentation est nécessaire du fait de la surcharge informationnelle et son objectif est donc complémentaire à celui de réalisation du web sémantique. Des structures xml existent déja:
- XGMML visualisable notamment avec openJgraph
- Map Description Language (MDL), langage de description de cartes XML, permet de décrire de manière formelle les connaissances qui vont constituer une carte mais aussi, le processus qui permet de la construire.
- SVG et ses possibilités de visualisation
L'équipe condillac de l'université de savoie portent ainsi ses travaux sur la modélisation des connaissances et des systèmes, avec pour objectif de résoudre la problématique sur la présentation de l'information afin de permettre un accès aux connaissances de manière optimale.
Voici d'autre outils existant:
- la société Trivium et ses arbres de la connaissances
- le visual thesaurus de thinkmap
- Omnigator
- Kartoo
- FAS.research
- WebBrain
- Miner3D
- Inxight
- KwMap
- Mapstan
- they rule
- visualanalytics
Voici des outils du monde open-source en rapport avec la modèlisation des connaissances ou simple affichage de graphes utilisant xml:
Selon l'AFNOR la couleurs est la qualité de la sensation visuelle produite par des radiations optiques, soit directes, soit réfléchies, diffuses ou transmises par un corps.
Aussi son étude concerne différentes approches:
- physique, la lumière est visible entre 400 nm pour le bleu et 700 nm pour le rouge
- physiologique, les cônes responsables de la vision des couleurs prédominent dans une région appelée fovéa, au centre de la rétine.
- pathologique, 8% de la population mâle présente des défauts de la vision des couleurs comme discriminer le rouge du vert et le bleu du jaune
- enactive, nous ne voyons pas les couleurs du monde, nous construisons notre propre espace chromatique.
- applicative, leurs usages permet d'établir une palette personnalisée pour un utilisateur, participer à la réalisation d'une tâches cognitives, ou fixer des règles de conception (utile en traitement numérique de l'image notamment).
- psychologique, les couleurs affecteraient nos émotions
D'un point de vue cognitif, on peut:
- mettre une information en évidence, la couleur est plus adéquate que la taille ou la forme des signes pour l'identification
- mieux localiser des informations
- mieux classifier des informations, en facilitant leurs discriminations
- eviter d'utiliser plus de 6 couleurs différentes
- suivre les habitudes colorimétriques d'un lieu de travail
- respecter la symbolique culturelle dans l'utilisation des codes couleur
- fournir une légende si le nombre de couleurs est important
- choisir des combinaisons de couleurs pour les symboles et les fonds (images colorées+fonds achromatiques et réciproquement)
- exprimer des différences par des couleurs contrastées pour et exprimer des similitudes par des couleurs peu contrastées
- mettre des données en évidence par des couleurs claires, brillantes et saturées
Percevoir c'est connaitre par les sens
Les gestaltistes historiques, Koffka, Koehler, et Wertheimer (KKW) considèrent la perception comme directe et immanente au relationnel avec la réalité, d'ou l'importance qu'y exercent l'espace et le temps. Les KKW ont ainsi mis en évidence des mécanismes Top-Down(prégnance naturelle, familiarité) et Bottom-Up(groupement par proximité et similitude, destin commun, ségrégation figure/fond) permettant de dégager la bonne forme selon sa prégance dans un contexte particuliers. Toute perception différencie figure et fond qui sont réversibles selon la prégnance de l'un sur l'autre, le fond n'etant jamais percu mais structurant contextuel de la perception.
Revenons sur les grands principes de la gestalt:
- Groupement par proximité: à conditions égales, les stimuli en plus grande proximité(spatiale ou temporelle), auront une plus grande possibilité d'être groupés.
- Groupement par ressemblance: à conditions égales, les stimuli les plus ressemblants entre eux auront la plus grande possibilité d'être groupés.
- Groupement par bonne forme: les stimuli qui forment une bonne figure(bonne continuité, destin commun, symétrie, fermeture, et cloture) auront une tendance à être groupés.
De ces grands principes, on a dégager les lois de la perception suivantes :
- La forme est nettement distincte du fond, elle est close et structurée, le contour semble lui appartenir
- Le résultat phénoménal dépend de l'action convergente des facteurs objectifs(relations géométriques, relations de contraste, etc.) et des facteurs subjectifs(fixation, attention, etc.)
- Le tout est plus que la somme des parties et réciproquement
- La forme ou figure résiste mieux au changement que le fond. Le seuil différentiel de luminance de la figure y est plus élevé.
Ces travaux ont été réactualisés par la théorie écologique de Gibson (1979), pour qui percevoir un objet consiste essentiellement à percevoir ce que l'on peut faire avec cet objet. Il récupère ainsi la notion de prégnance à travers le concept d'affordance, défini comme la perception des potentialités d'actions qu'offre l'environnement à un moment donné et pour un organisme donné.
De plus, il appronfondit l'approche gestaltiste en identifiant l'importance du couplage action-perception: l'être humain ne percoit pas des unités d'information (image, son, pression, etc.) mais des flux sensoriels. L'extraction des invariants de ces flux nous permet d'appréhender le monde qui nous entoure, la perception active consiste donc à agir sur ces flux de facon contrôlée afin de faciliter l'extraction des invariants.
Ce billet est un état des lieux sur la portée du concept WEB 2.0 et une réflexion sur les apports potentiels d'un cogniticien au sein de projets 2.0.
La notion de WEB 2.0, au dela du buzz, lance le défi d'une architecture de participation aux entreprises sur le web. La conférence Web 2.0 à San Francisco a ainsi cherché à mieux délimiter la portée du concept:
- le web est la nouvelle plateforme de développement
- les services-web proposés sont des applications indépendantes des terminaux-utilisateurs
- les interfaces utilisateur sont dites légères reposant sur AJAX
- la navigation au sein du web n'est plus séquentielle
- le web devient sémantique et compréhensibles par des machines
- le commerce en ligne suit le principe de la longue queue
- le web propose de nouveaux services basés sur le Mashup (mélanger du contenu provenant d'autres sites, afin de créer un site nouveau)
- ces nouveaux services sont mis en valeur par leurs utilisateurs
Actuellement nous disposons déja de nombreux outils permettant la participation des utilisateurs, la création de communautés collaboratives, la décentralisation et le partage des données:
- Flux RSS, permettant la syndication et l'agrégation de contenus
- AJAX, permettant à une application web de fonctionner asynchroniquement avec un serveur et sans avoir à recharger la page
- Blogs, permettant de diffuser des contenus , individuellement ou en groupe
- Planet, permettant d'aggréger au sein d'un site des billets en provenance de blogs différents
- Wiki, permettant à une communauté d'intérêt de publier collectivement sans restrictions
- Podcasts, permettant d'encapsuler des fichiers multimédias dans un flux RSS
- Tagging, permettant d'organiser du contenu par mots clés
- peer 2 peer, permettant le partage non centralisé de fichiers entre utilisateurs
- Bittorent, permettant de mutualiser la bande passante de ceux qui l'utilisent
En france, une communauté s'organise. Pour travailler dans un tel domaine, il faut donc au cogniticien les compétences informatiques suivantes:
Un cogniticien compétant peut offrir à un projets web 2.0 de nombreux avantages:
- une approche transversale et synthétique des problèmes en adéquations avec la réalisation de Mashup
- des méthodes de KM permettant d'accélérer les cycles de développement
- des notions avancées en ergonomie cognitive lors de la conception des interfaces WEB 2.0
- des connaissances en facteurs humains afin d'améliorer l'acceptabilité de l'application au sein d'une entreprise
- in progress...
Le web sémantique
- la gestion des documents
- faciliter les échanges par des normes
- permettre à 2 interlocuteurs de rejoindre leurs points de vue
- interfacer la vision d'une machine avec celle de son utilisateurs
Il existe différents outils
- protége
- swoogle un moteur de recherche d'ontologie
Après le web2.0 et le web sémantique, voyons comment la cognitique permet d'envisager une informatique plus cognitive et sociale
Nous pouvons faire reposer cette approche sur quelques grans points:
- La communication sur le web vue comme une interaction située entre entités autonomes d'agents artificielles ou humain qui coopèrent en vue de résoudre un problème
- L'examen sociale d'une situation de communautés (d'acteurs, de pratique, ou de gout)
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.
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:
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:
Les systèmes de substitution sensorielle transforment des stimuli propres à une modalité sensorielle en des stimuli d'une autre modalité sensorielle.
Un tel système est décomposable en trois éléments distincts: des capteurs qui permettent la conversion d'une forme d'énergie (photonique, sonore, mécanique ou autre) en signaux interprétables par un système de couplage qui est responsable de l'activation coordonnée de stimulateurs.
La stimulation s'adresse en général à des récepteurs cellulaires d'organes sensoriels et est ainsi consommatrice d'énergie électrique qui peut être convertie en énergie sonore (prothèses visuo-sonores) ou mécanique (prothèses visuo-tactiles).
Les propriétés ergonomiques jouent un grand rôle concernant l'acceptation de ces dispositifs, nécessitant:
- un dispositif léger et autonome
- le système idéal doit pouvoir se mettre et s'enlever aisément
- la robustesse du dispositif
Le e-learning désigne une méthode d'acquisition des savoirs ou de construction des connaissances utilisant des interactions (acteur-acteur ou acteurs-ressources) relayées par un système informatique, potentiellement en réseaux.
La notion de e-learning s'inscrit ainsi dans le cadre des formations à distance, tel l'enseignement par correspondance. Cette forme d'apprentissage est-elle surtout le fait de la prolifération des PC reliés au web et des NTIC offrant les possibilités suivantes:
- s'affranchir des limites de lieu et de temps
- offrir plusieurs moyens de communication
- profiter du multimédia
- proposer des liens complémentaires la formation
En conséquence de ces contraintes, l'organisation du contenu pédagogique doit:
- construire des parcours d'apprentissage personnalisés (en fonction des connaissances de base, expériencs, objectifs)
- définir des modules cohérents qui suivent une progression logique et qui comprenent des moyens d'évaluations et des rappels reformulés.
Un tuteur de elearning doit avoir des compétences pédagogiques mais aussi des compétences techniques et des capacités de dialogues orientées vers l'aide à apporter aux élèves.
De plus, pour ne pas perdre la valeur ajoutée de la communication formelle et informelle entre apprenants, les plates-formes de e-learning doivent fournissent des outils qui permettent de créer des classes virtuelles permettant aux membres d'échanger des idées, confronter leurs expériences.
L'informatique antiquité renaissance au XXeme siecle logique von newman Turing miniaturisation Personnal Computer réseaux internet nanotechnologie
Le web sémantique doit permettre aux applications de mieux apprémender le sens de l'information qu'elles véhiculent et exploitent. Il repose pour cela sur une formalisation de la connaissance. Pour sa réalisation, le W3C(traductions de ces recommandations consultables ici) a proposé les trois standards suivant :
- l'Extensible Markup Language ou XML, pour fournir les règles et la syntaxe de définition des documents et données structurés ;
- le Resource Description Framework ou RDF, un vocabulaire structuré pour la description des propriétés des documents ;
- le Web Ontology Language ou WOL, pour caractériser une zone ontologique de connaissance.
Le data-mining consiste en la sélection, exploration, modification et modélisation de grandes bases de données afin de découvrir des relations entre les données jusqu'alors inconnues.
Son utilité est grande dès lors que l'entreprise possède un grand nombre d'informations stockées sous forme de bases de données, mais sans connaissance préalable du domaine et sans expérience, il est souvent très difficile d'explorer une masse énorme d'information à l'aide de ces outils.
Il existe des logiciels open-source de data-mining:
La recherche opérationnelle utilise la modélisation mathématique pour formuler et analyser rigoureusement les problèmes de décision complexes auxquels peuvent être confrontés des individus ou des organisations.
Un problème comporte un certain nombre de variables, chacune ayant un domaine fini, et un certain nombre de contraintes. "Une contrainte implique une ou plusieurs variables, demandant de définir les combinaisons autorisées et celles qui sont interdites (la difficulté étant de s'assurer que celles ci permettent une optimisation, 2 contraintes contraires ne signifiant rien mathématiquement).
Trouver une solution(maximisation ou minimisation) consiste alors à affecter une valeur à chaque variable, de telle sorte que la totalité des contraintes soient satisfaites.
Un problème linéaire peut se poser sous l'une des 3 formes suivantes:
- standart, du type: Ax <= b ; x >=0; Max(c,x);
- canonique, du type: Ax = b ; x >=0; Max(c,x);
- générale, du type: Ax <= b sur N, Ax = b sur M; x >=0, y ?; Max(c,x);
Informatiquement, on optimise à l'aide d'un solveur( expl: méthode du simplexe) pour obtenir les valeurs des variables, solutions du modèles.
L'algorithme du simplexe ne sachant travailler que sur une forme canonique, il peut etre nécessaire de connaitre les transformations suivantes:
- passage d'une forme canonique à une forme standart , pour cela on pose une équivalence algébrique.
- passage d'une forme standart à une forme canonique , pour cela on pose desvariables d'écart pour satisfaire les inégalités du systèmes.
- passage d'une forme générale à une forme canonique , pour cela on utilise comme ci dessus des variables d'écart, de plus on remplace les variables non signées par un changement du type: x =u - v avec u,v >0.
La modèlisation 3D a débuter en avec le z-buffer et s'est enrichie de nombreuses nouvelles techniques comme le.
Ses techniques nécessites l'applications de connaissances en algèbre et géométrie ainsi qu'en optique.
Dynamiquement on peut simuler... par une approche multi-échelle permettant..
MERISE (Méthode d'Etude et de Réalisation Informatique pour les Systèmes d'Entreprise) est une méthode de conception, de développement et de réalisation de projets informatiques. Elle permet le suivi du cycle d'abstraction pour la conception des systèmes d'information.
Merise découpe un projet en phases successives:
- Schéma directeur: il définit le système d'information cible, les scénarios et étapes intermédiaires pour l'atteindre
- Etude préalable: la base de référence qui oriente les choix définissant la structure de l'application à développer
- Etude détaillée: elle décrit de facon exhaustive l'application qui devra être développée (interfaces graphiques, traitements et imprimés)
- Etude technique: elle fixe les méthodes et normes techniques à utiliser afin d'optimiser les structures physiques de données et les traitements
- réalisation: la production d'un programme testé
- Mise en oeuvre: installation du logiciel développé (paramétrages, récupération d'anciennes données et formation)
- Qualification: phase finale du projet, elle effectue un bilan à partir de tests dans l'environnement réel de travail
Son approche de conception sépare l'étude des données de celle des traitements, en avancant progressivement par niveau :
- Niveau conceptuel : produit la représentation abstraite des données et des traitements, une fois les dépendances fonctionnelles identifiées(quoi faire ? avec quelles données ?):
nommer chaque entité (table)
nommer les attributs de chaque entité et choisirs leurs types.
utilisation d'une clé primaire comme identifiant unique de chaque table, de préférence incrémentée automatiquement. (cf modèle relationnel de CODD)
- Niveau logique : transformation et raffinement des résultats du niveau conceptuel, estimation en temps et en volume du futur système (qui ? ou ?), soouvent une approche relationnelle des données.
- Niveau physique : adapte les résultats du niveau logique aux contraintes du matériel et du logiciel utilisés (comment ?):
Comment organiser les dépendances fonctionnelles?
- A travers la mise en place d'un Schéma de relation, cadre de la table
- En diminuant les redondances selon les 6 formes normales, usuellement on en utilise 3:
FN1: une seule information par case (donc beaucoup de redondance): Si un attribut prend plusieurs valeurs, alors ces valeurs doivent faire l'objet d'une entité supplémentaire en association avec la première.
FN2: les attibuts non clés sont en dépendance fonctionnelle avec une clé unique meme si composée (NB: sans réorganisation, on peut utiliser l'ajout d'un champ identifiant)
FN3: il ne doit pas existé de dépendances entre les attributs non-clés.Toute relation admet une décomposition (sans perte d'information) en troisième forme normale.
- A travers un schéma relationnel ou MCD
- Respect des contraintes d'intégrité (individuelles, intra-relation, inter-relations, dynamiques, temporelles)
Les intérets d'un SGDB sont:
- Tout est stocké dans un seul fichier
- Partager ce fichier entre plusieurs utilisateurs
- Reprendre en cas de panne
- Chasser incohérences et redondances
- Assurer confidentialité et droits d'accès
- Séparation données-traitements-vues
Commandes SQL
Elles se regroupent en 4 catégories:
- DDL (Data Definition Language) pour définir et modifier la structure de BD: CREATE,ALTER,DROP
- sur les bases: USE, CREATE DATABASE, ALTERDATABASE
- sur les tables: CREATE TABLE, ALTER TABLE, CREATE INDEX, CREATE RULE, CREATE TRIGGER, SELECT, INSERT ,DESC
- DML (Data Manipulation Language) pour interroger et mettre à jour les données: SELECT, INSERT,DELETE,UPDATE
- DCL (Data Control Language) Gestion des privilèges de niveau compte
- DQL (Data Query Language) permet d'effectuer les requetes:
- Selection de tuples: select * from tables where
- Projection sur les attributs: select attributs from tables where
- Opérateurs: NOT, AND, OR, *, /, +, -, =, <>, <, >, >=, <=, between, in, like, exists, unique, all, any, DISTINCT, union, intersect
- Relation: produits cartésien, jointure inner join () on
- Tri: order by
- Aggrégation: count(), sum(), avg(), max(), min(), VARP, STDEVP, ...having
- groupe: group by ...having
- Alias: as
Le traitement numérique de la parole (ou TNP) a différentes applications:
- rehaussement de la parole dans un contexte bruité
- compression de la parole
- synthèse et reconnaissance de la parole
Physiologiquement, l'air, arrivant depuis les poumons par la trachées, produit une énergie qui met en mouvement les cordes vocales en passant à travers la glotte. A l'aide la langue, qui peut modifier la structure du conduit oral, des nuances infines de sons de paroles peuvent alors être engendrés (fricatives, occlusives, liquides, et nasales).
En TNP, on étudie ce signal par différentes techniques :
- Pour réaliser le traitement numérique de la parole, celle ci doit étre découpée en trame. A l'aide d'une fonction de fenêtrage ou d'appodisation (hanning, blackman, hamming, chebmin, kaiser, bartlett, chebyshev), on augmente la résolution dynamique
- On peut utiliser la technique du zero-padding permettant une augmentation de la densité spectrale
- Sur chaque trame, on décompose l'onde acoustique en ondes sinusoà¯dales de différentes fréquences au moyen d'une analyse de Fourier. On parle à ce sujet de transformation de fourier à court terme (TFCT).
- Par une estimation de l'amplitude relative de chaque type d'onde, on peut obtenir un spectrogramme. Un spectrogramme est une représentation tri-dimensionnelle, o๠l'axe x correspond au temps, l'axe y à la fréquence et le degré de noirceur à l'amplitude relative, on percoit ainsi les structures dominantes de la parole et de la voix humaine, c.-à -d. les formants (les «tâches épaisses» du milieu) et les fréquences harmoniques.
- des outils d'estimation statistique peuvent être utiles à un débruitage ou à la reconnaissance vocale.
On observe que le signal de parole humaine combine différentes composantes:
- des trames voisée qui présentent un caractère périodique ou pseudo-périodique
- des trames non-voisées ou aléatoire
- des bruits voisées combinaisons des précédent
- une période fondamentale ou de pitch, durée séparant 2 fermeture de glottes (son inverse se nomme fréquence laryngienne), elle atteind 80 à 200Hz pour les hommes, 150 à 450Hz pour les femmes et 600Hz chez les enfants.
- des formants, pics de fréquences de l'enveloppe spectrale
On différencie aussi les types de bruits pouvant couvrir la parole:
- Un bruit blanc, correpond à un signal aléatoire dont la densité spectrale de puissance (= TF de la fonction d'auto-corrélation) est constante, c'est-à -dire que l'énergie du signal est uniformément répartie sur l'étendue des fréquences. La fonction d'autocorrélation d'un tel bruit est une impulsion de Dirac elle est nulle pour toutes les valeurs de t sauf pour t=0. Concrètement, on parlera de bruit blanc en considérant un bruit, de moyenne nulle (il est toujours possible de s'y ramener), dont le spectre de densité de puissance est constant sur la bande passante utile des signaux considérés, sans se préoccuper de l'extérieur. Un signal blanc est donc une séquence de signaux aléatoires, non corrélés et de même variance.
- Un bruit rose est un bruit blanc à spectre borné.

La notion de modèle recouvre toute représentation d'un système réel, qu'elle soit mentale ou physique, exprimée sous forme verbale, graphique ou mathématique.
Grace à l'ordinateur on peut désormais implémenter la simulation de ces modèles, on peut ainsi rapidement vérifier la validité d'un modèle et progresser beaucoup plus vite dans le processus de mise au point de la théorie sous jacente.
3 types de modèles sont ordinairements considérés, ils sont dits:
- Prédictif(prospective analogique), normatif a partir d'idées, à support d'anticipation.
- Prescriptifs(procéduralisation syntaxico-sémantique), normatif a partir d'idées.
- Descriptif(rationalisation syntaxico-sémantique), a partir de faits.
La réalisation d'un modèle nécessite une approche méthodique de la situation (par exemple sur l'analyse du travail des utilisateurs).
Comme point de départ les modèles de prescription et description syntaxico-sémantiques reposent notament sur la construction de taxonomies (ou ontologie de concepts).
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 francaise" 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).
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 facon à 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
Une réflexion sur le futur du web et de ses services, plusieurs futurs donc.
Rappelons les grandes travaux en courts:
- web semantique
- web convergence des fluxs et services
- web participatif
- stockage en ligne
- applications en ligne
- géolocalisation
- ...
Ce qu'il manque encore:
- des outils de visualisations évolués
- des outils de capitalisations évolués
Scénarios: visualisation et visibilite
- réalité augmentée
- mondes virtuels
- la présentation de l'information, à travers de multiples vues(une localisation, une échelle, un contexte), personnalisables
- une cartographie mentale, le cartographe est cogniticien
- une nouveau territoire, la conquete du cyberspace en terme de visibilité, liens , réseaux sociaux et communautés deviennent de véritables machines de guerres économiques en vue de posséder le plus de liens alimentant son google juice
L' Unified Modeling Langage est un langage de modélisation objet(donc encapsulation, agrégation, héritage), formel, défini par un métamodèle. L'UML permet de modéliser les finalités d'un logiciel selon 2 type de diagrammes:
Les diagrammes de structure:

- Les diagrammes de classes : utilisés pour la représentation des classes, interfaces et leurs relations d'association, d'héritage, d'implémentation ou d'utilisation. Ce sont les diagrammes les plus utilisés. Ils sont susceptibles d'intervenir à tous les niveaux d'abstraction aussi bien en phase d'analyse que de conception et de génération de code.

- Les diagrammes d'objets : représentent une photographie des relations entre instances de plusieurs classes à un instant donné.
- Les diagrammes de composants : représentent typiquement les relations et les contrats entre composants exécutables d'un système.
- Les diagrammes de déploiement : représentent la topologie d'un réseau informatique et la répartition de différents composants sur les différentes noeuds de ce réseau.
Les diagrammes dynamiques:
- Les diagrammes des cas d'utilisation : permettent de structurer la formulation des besoins des utilisateurs vis-à -vis d'un système en unités réutilisables.
- Les diagrammes d'activité : correspondent dans les grandes lignes à la bonne vieille notion d'organigramme. Ils permettent en particulier de modéliser l'exécution de tâches parallèles.
- Les diagrammes d'état : représentent le comportement dynamique d'un seul objet. Ils spécifient le cycle de vie d'un objet et la manière dont celui-ci réagit à la survenue de différents évènements.
- Les diagrammes de séquence : représentent une succession chronologique d'échanges de messages entre une collection d'objets. Ils sont souvent utilisés pour documenter le déroulement d'un scénario d'un cas d'utilisation.
- Les diagrammes de communication (ou de collaboration cf.UML 1.0) : contiennent la même information que les diagrammes de séquence mais en insistant sur l'aspect structurel des objets en interaction plutôt que sur l'aspect chronologique.
L'approche XP repose sur les principes suivants:
- des cycles par itérations successives: réunion de planification->réalisation des taches-> pré-version du logiciel au client.
- des pratiques: cycles itératifs pilotés par le client, travail d'équipe auto-organisé, programmation pilotée par les tests( tests unitaires, tests d'acceptation, test interactifs).
- des valeurs: communication, feedback, simplicité, courage.
origine: la réalisation de Basecamp par David Heinemeier Hansson
domaine: framework web pour Ruby sous licence MIT
fonctionnalitées: ORM, Ajax, conventions, structures d'information, modèle MVC, scripts d'autogénération(scaffold, test, et migration )
url: http://www.rubyonrails.org/
ressources:
- ma rubrique Ruby
- la ruby_on_rails_cheat_sheet par Dave Child
- des plugins
- des framework ajax: prototype et script.aculo.us
Un design pattern est une solution reconnue à problème récurrent. La connaissance de ces design patterns évite d'utiliser un processus d'erreurs et ainsi aide les développeurs à réussir du premier coup.
Un design pattern correspond au meilleur ensemble de classes résolvant un problème technique, connu sous un nom unique. Leurs utilisations repose sur des principes avancés de conception objet, en voici quelques uns:
Creationnels
- le Singleton (Singleton), instance strictement unique d'une classe auquel on accède uniquement par référence, il y a ainsi privatisation du constructeur permettant une gestion des ressources efficaces (graphiques, sonores...).
- le Prototype (Prototype) afin d'obtenir des copies exactes d'objet sans connaitre leurs types
- la Fabrique Abstraite (Abstract Factory)
- le Monteur (Builder)
- la Fabrique (Factory Method)
Structuraux
- le Composite (Composite), composite, composant(fils de composite) et feuille(composant san fils)
- la Facade (Facade), une interface unifiée et haut niveau à un sous-système composé de plusieurs interfaces
- l'Adaptateur (Adapter)
- le Pont (Bridge)
- le Décorateur (Decorator)
- le Poids-Mouche, ou Poids-Plume (Flyweight)
- le Proxy (Proxy)
Comportementaux
- la Chaine de responsabilité (Chain of responsability)
- la ommande (Command)
- l'Interpréteur (Interpreter)
- l'Itérateur (Iterator) permet de parcourir une liste d'item homogène
- le Médiateur (Mediator)
- le Memento (Memento)
- l'Observateur (Observer)
- l'Etat (State)
- la Stratégie (Strategy)
- le Patron de Méthode (Template Method)
- le Visiteur (Visitor)
Architecturaux
- les Couches logicielles
- le Modèle Vue Contrôleur (MVC) dissocie le modèle des données, la représentation graphique et la logique de contrôle
- les Frameworks
Partant d'une source de lumière(onde visible de 380-780 nm), décomposable en Teinte, Luminance et Saturation, cette image est numérisée par teintes trichromiques à l'instar de l'appareil visuel humain.
L'image diffère du son dans son analyse, passant d'une étude temporelle(te) à une étude spatiale(matrice x,y) à l'aide d'un capteur CCD. Les connaissances acquises sur le sujet ont ainsi permis une adaptation de leurs numérisation aux limites physiologiques de l'utilisateur. Ainsi une vision automatisée permettant l'extraction d'attributs physiques et sémantiques et un suivit intelligent, ou le filtrage de bruits.
Il existe différents codages des données pour restituer la perception d'une image:
- RGB: les couleurs y sont décrites par combinaison des trois couleurs primaires, chacune ayant une valeur allant de 0 à 255 codées sur un octet.
- YcbCr: Y représente la luminance, et Cb et Cr les deux chrominances(composées de la teinte et de la saturation). Son intérêt est d'être adapté aux performance de l'oeil humain, beaucoup moins sensible aux informations de couleurs qu'aux informations de luminosité.
On distingue les images bitmap, tif, gif, png, jpeg suivant la méthode de compression utilisée.
Concernant le Traitement Numérique de l'Image ou TNI plus directement, des traitements sont alors possibles par l'utilisation de filtres: chroma-keying, débruitage, et détection des contours...
Remarque: La vidéo est une suite d'images, soit une dimension temporelle supplémentaire à traiter, elle peut être codée selon les rapports suivants: nombre de lignes/distance, raffraichissements/persistence rétinienne, trame/durée utile pour une ligne.
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:
Aux débuts des années 80, des versions Unix propriétaires apparurent(cf. l'histoire des hacker), Richard Stallman (cf. l'épisode de l'imprimante) lanca alors le projet GNU (Gnu's Not Unix) afin d'en réaliser une alternative gratuite.
La GNU General Public License (GPL) afférente est la forme de licence OSS la plus connue. Le projet GNU n'est pas devenu un système d'exploitation à part entière mais une légion de programmes GNU ayant une énorme popularité.
Fortement aidés par l'existence du Web, le projet de système d'exploitation Linux, vu le jour en 1991. Linus Torvalds, s'inspira de minix, il posta son code source dans un forum de discussion sur l'Internet avec le message que chacun pouvait concourir au développement.
Linux a ainsi offert un système d'exploitation au projet GNU, de sorte qu'il constitue maintenant une alternative entièrement gratuite à Unix.
Linux n'est pas l'unique système d'exploitation OSS. Il existe également BSD, autre cousin d'Unix.
Suite au développement de linux et de plusieurs projets OSS, un certain nombre d'acteurs importants sur le marché soutiennent désormais des distributions et concourent à leur développement.
Selon l'Open Source Définition (OSD), un logiciel libre avantages de standarts ouverts, de cout(monétaires),
L'Internet est le facteur facilitant des nombreux projets OSS. Le projet vit à travers un ou plusieurs sites web, listes d'envoi, groupes de discussion, ce qui peut ainsi fédérer une communauté pour le porter. L'organisation d'une communauté est variable, elle va d'un groupe isolée de programmeurs, à des structures hiérarchique (cf. le projet Linux?)
De plus des sites (Sourceforge.net) offrent une infrastructure pour des projets débutants.
L'entreprise qui collabore bonifie son image et gagne une large base de développeurs.
Le modèle de développement des logiciels libres est actuellement toujours en étude:
- comment est organisée une communauté qui réussie? selon quelles dimenssions et à quelle
vitesse?
- ce modèle est-il économiquement viable? la vente de services permet elle de générer des revenus uniquement de maintenance ou des bénéfices sont-ils possibles?
- la viralité de certaines licences (cf. le tableau des types de licence) qui protége le code d'une réutilisation commerciale ne sont-elles pas un frein à l'innovation?
La réalité augmentée (RA) a vu le jour avec les travaux de Sutherland(1965) basé sur un casque suivi par un capteur de mouvement. Dans les années 80 la RA a surtout été utilisés dans un cadre militaire, pour l'affichage d'informations sur les visières des pilotes d'avions. Durant les années 90, la RA se développe en:
- Médecine
- Maintenance
- ingénierie/production
- architecture
- robotique
- loisirs
- IHM
- visualisation scientifique
- education
La RA nécessite donc une approche multidisciplinaire:
- informatique graphique
- interaction homme-machine
- vision
- recherche autour du travail collaboratif
Voici une liste d'entreprises présentes en RA:
- uratek
- microopticalcorp
- medlibre
- sony sc avec une démonstration
La RA est une étape majeure dans la réalisation d'interfaces plus naturelles et dont la transparence de l'usage nous renvoit au concept de couplage fonctionnel présent en approche enactive.
Remarque: le MIT s'intéresse ainsi à la réalisation d'une informatique wearable, et des possibilités offertes par le reality mining.
La réalité virtuelle consiste à utiliser des techniques d'imagerie en trois dimensions pour faire basculer une personne dans un monde imaginaire mais qui a l'air réel.
On peut faire remonté l'utilisation de la réalité virtuelle à l'époque préhistorique. Les peintures rupestres, figurant les centres d'intérêt de nos sociétés, appartenaient probablement à une méthode d'éducation par abstraction de la réalité. Ainsi la grotte, par un environnement plus sur et des modèlisations simplifiés, offrait déja de nombreux avantages pédagogiques que nous redécouvrons à travers la VR.
Plusieurs usages de la RV sont possibles :
- jeux
- mondes virtuels
- visites virtuelles (musée, reconstitution historique...)
- exploration d'un prototype 3D (architecture, automobile...)
- incarnation à distance (médecine, militaire...)
- formation (métier, éducation...)
- recherche (cognition, marketing...)
S'éloigner du réel pour rendre une réalité plus abstraite permet de mieux expliquer et comprendre cette réalité. La RV permet égalemenet d'optimiser le processus d'apprentissage en aidant le formé à se concentrer sur la tâche et sous-tâches à apprendre (en réduisant la charge cognitive), à mieux comprendre la tâche, à choisir les raisonnements adéquats mais aussi en l'aidant à optimiser l'utilisation des interfaces.
Les quatre conditions suivantes participe à l'immersion dans le virtuel:
- l'interaction en temps réel (une limite du délai de réaction de l'ordre de 100 ms, en fonction des sens et des réponses motrices exploités)
- le travail de modélisation et de numérisation du monde virtuel, et son interfacage avec le sujet
- le choix des interfaces comportementales (sensorielles et motrices)
- une immersion pseudo-naturelle la plus efficace possible dans le monde virtuel