OUTILS
Dans la majorité des cas, une application de laboratoires en ligne implique l’existence de certains composants tels qu’un navigateur, un serveur Web, un serveur d’applications et un serveur de base de données. La plupart des laboratoires en ligne sont conçus sur la base d’une architecture client-serveur.
1. Le navigateur client
On peut actuellement distinguer plusieurs navigateurs clients :
Le client Web léger et universel : Seul le langage HTML est utilisé côté client, ce qui maximise l’accessibilité au site (tous les navigateurs Web sont adaptés). Ce type de client implique une forte interaction entre le navigateur et le serveur Web correspondant.
Le client Web léger : Ce type de client supporte le langage JavaScript. L’utilisation de ce langage améliore l’interactivité, des tests peuvent être faits avant l’envoi des données vers le serveur Web qui se charge de mettre à jour la base de données. L’utilisation de langage JavaScript entraîne des risques supérieurs à celui du client Web léger universel. La portabilité est aussi difficile à garantir car cette option peut être désactivée ou le navigateur ne prend pas en charge le langage JavaScript.
Le client Web alourdi : Les pages Web comportent des composants ActiveX, des applets Java, des plug-in... Une partie importante des tâches est exécutée sur le client ce qui entraîne une évolution de l’interface graphique (graphique dynamique, rafraîchissement automatique...). L’inconvénient majeur de ce type de client est que son déploiement est lourd et que certains navigateurs ne supportent pas les ActiveX. Pour les applets Java, le client doit également incorporer JVM (Java Virtual Machine).
Le client lourd : c’est une application client qui s’exécute presque entièrement sur la machine du client. Ce type de client correspond aux applications Intranet pour lesquelles on maîtrise la configuration du client. L’inconvénient de ce type de client est la nécessité d’installer l’application client sur le poste de chaque apprenant. Dans la plupart des laboratoires en ligne, le client Web léger universel est utilisé avec des applications réalisées et maintenues en langage script (PHP, ASP...) qui s’exécute du côté du serveur. En plus, des clients lourds développés en Java ou C++ sont utilisés, ils s’exécutent sur le serveur d’applications. Avec cette approche, il n’est pas nécessaire de contrôler la configuration des postes clients des apprenants, et on maîtrise parfaitement les applications du côté des serveurs.
2. Les composants et infrastructures d’un laboratoire en ligne
Pour un fonctionnement performant et opérationnel des laboratoires en ligne, un modèle de cinq couches peut être mis en place (Diop 2004). Chacun des composants des couches joue un rôle de communicateur ou de traitement dans le processus d’établissement de connexions et d’interactions entre le poste de l’apprenant et les équipements cibles du laboratoire réel.
Le poste de l’apprenant : C’est un navigateur Web (HTML) standard qui doit offrir le support de formation. C’est donc un dispositif tout à fait courant. La page contient entièrement une interface formatée présentée par le navigateur dans la fenêtre de l’apprenant.
Le serveur LMS (Learning Management System) : C’est un serveur Web qui est le point d’accès principal pour tous les navigateurs clients (apprenant). En fonction de la requête, le serveur Web déclenchera des traitements du côté du serveur DB. Dans tous les cas, le résultat est une page HTML qui peut être affichée par le navigateur HTML standard de l’apprenant. Les requêtes sont des pages réalisées sur les serveurs LMS sous forme de pages en langage script. Ces pages ont accès à toutes les ressources et outils du serveur LMS.
Le serveur DB (Data Base) : Il permet de gérer la persistance de la base de données relationnelle. Cet accès à la base de données nécessite l’utilisation de bibliothèques standards d’accès aux données, telles que ODBC (Open Database Connectivity), JDBC (Java Database Connectivity), etc. Pour des systèmes plus robustes et plus complexes comme les télé-laboratoires, une mise en œuvre d’une couche objet se charge d’extraire les données sur la base de données.
Le serveur d’applications : Il est composé d’applications exécutables qui permettent d’extraire des données et d’exécuter des programmes spécifiques pour les laboratoires en ligne.
Les équipements cibles du laboratoire : Les laboratoires sont composés de machines, d’équipements et d’autres types de composants actifs. Ces équipements peuvent être manipulés directement par l’apprenant en passant par l’intermédiaire des quatre couches ci-dessus (Figure 4).
3. Solutions techniques utilisées
Pour la réalisation concrète, il existe un choix entre différentes technologies conçues pour développer des applications Web ; les plus connus sont : (i) les CGI (Common Gateway Interface), qui ont permis de développer les premiers sites Web dynamiques ; (ii) ASP de Microsoft ; (iii) JSP, les Servlets Java de Sun, Perl, ISAPI de Microsoft, NSAPI de Netscape, Perl de Apache, et PHP. Le plus souvent, des langages comme C++ ou JAVA sont utilisés pour programmer des applications clients/serveurs sur les différentes couches intermédiaires du modèle.
4. Exemple d’utilisation d’un logiciel propriétaire : LabVIEW
LabVIEW est un environnement de développement informatique graphique puissant qui offre, entre autres fonctionnalités spécifiques, les possibilités d’acquisition de données, l’analyse et la présentation de données. Il se caractérise par la souplesse de son langage de programmation modulaire sans recourir à des outils de développement traditionnels complexes ni à l’écriture de nombreuses lignes de codes informatiques.
LabVIEW possède un ensemble d’objets prédéfinis permettant d’établir une connexion en utilisant le protocole de communication TCP/IP et en spécifiant l’adresse IP du serveur ou du client distant puis de transférer ou de recevoir des données. LabVIEW permet de concevoir des applications distribuées d’instrumentation, de mesure et d’analyse. Le logiciel de développement se caractérise par son ouverture à l’intégration avec d’autres applications fonctionnant simultanément avec ou sans dispositifs réels. Signalons en passant que les logiciels commerciaux tels que Matlab, Mathematica et Maple ont maintenant emboité le pas à LabVIEW et permettent eux aussi de répondre aux besoins des concepteurs de laboratoires en ligne. D’autres logiciels libres tels que SysQuacke, Scilab et GNU Octave permettront dans un avenir proche d’atteindre les mêmes objectifs.
5. La solution Macromedia Flash
Il s’agit de l’outil standard de création et de publication de contenus et d’applications dynamiques destinés aux ordinateurs de bureau comme aux périphériques mobiles. Macromedia Flash permet l’intégration des données et un support vidéo de qualité pour développer des applications ou des contenus interactifs pointus.
Macromedia Flash permet de créer des applications liées à des bases de données grâce à un environnement de développement basé sur des formulaires et des fonctions de liaison aux bases de données. Ils facilitent la création d’applications dynamiques et de simulations pour les laboratoires en ligne. Le logiciel commercial Toolbook développé par Asymetrix possède, en plus de son environnement de développement graphique, un langage de programmation objet appelé OpenSript qui le rend, lui aussi, flexible pour les programmeurs.
MODÈLES
Pour effectuer des mesures électroniques et des télé-manipulations sur les réseaux informatiques pour la formation, l’apprentissage et le télétravail collaboratif, nous proposons une autre démarche pour montrer que les technologies de l’information et des communications courantes permettent de réaliser, dans un délai relativement court, des environnements d’apprentissage du type "Laboratoire virtuel de génie électrique" dont les fonctionnalités devraient permettre de :
réaliser des expérimentations en interagissant avec des instruments et des mécanismes distants ;
réaliser des simulations d’expériences en utilisant des modèles numériques ;
analyser les résultats de simulations numériques ;
accomplir des tâches telles qu’effectuer des mesures ou des commandes locales/distantes à l’aide des interfaces matérielles faciles d’utilisation et des outils logiciels en réseau permettant une interaction délocalisée ou non ;
bénéficier à distance, par réseau informatique, des fonctionnalités d’un centre de ressources et d’assistance pédagogique ou technique ;
partager des données et des applications avec d’autres participants dans divers lieux ;
faciliter la collaboration entre les acteurs.
Nous avons procédé par prototypage à la mise en place d’un environnement de formation et d’apprentissage évolutif tel que l’illustrent les figures 5 (Kargné, 1992) et 6.


Pour tester cette fonctionnalité de mesure à distance par CGI, l’auteur a mis en place une expérience qui requiert une interaction entre le formateur et les apprenants, basée sur une architecture client-serveur (Figures 7 et 8). Chaque apprenant utilise un fureteur ainsi qu’un outil de travail collaboratif. L’objectif de l’expérimentation vise à sensibiliser les usagers à l’importance du théorème de Nyquist, une notion fondamentale à maîtriser pour être capable de recouvrer convenablement des signaux originaux. Ce théorème établit la relation entre la fréquence d’un signal et sa fréquence d’échantillonnage. Le formateur choisit le type de signal à diffuser sur le Web à l’aide d’un générateur de signal branché sur la carte d’acquisition du serveur HTTP/CGI. Il s’agit dans ce cas d’une onde sinusoïdale ou de créneaux bruités ou non. Les plages de variations du signal original, ainsi que le canal à utiliser sont communiqués aux apprenants. Ces derniers devraient alors retrouver le signal original. Des scénarios plus complexes qui requièrent d’autres analyses et des traitements peuvent être mis en place. Le formateur peut également observer les tentatives de chaque apprenant et recevoir, par le protocole FTP, les graphiques des signaux effectivement obtenus.

