Une porte ouverte sur l'informatique libre ...

Nous utilisons les meilleures technologies tout simplement ! Lorsqu'elles n'existent pas, nous les inventons ! Un peu d'AJAX et d'eXtreme Programming, beaucoup de Python, de Dotclear, d'Ubuntu et de paquets Debian. Nos clients ne s'en font pas, ils savent que leurs produits sont à la pointe et le resteront.

Utiliser qemu pour simuler le comportement d'un terminal léger AbulÉdu

Ce soir, voulant comprendre quel bug se produit au collège des missions (un de nos clients AbulÉduPRO) je me suis mis en tête de re-créer un TX à distance ... ce qui semble tout simplement impossible. Attention c'est un article assez technique et comme je n'ai pas trouvé d'informations à ce sujet sur l'internet je me suis dit que c'était important de laisser une trace de toutes ces réflexions et recherches !

L'idée est de pouvoir créer un comportement identique à celui d'un TX qui démarre sur un serveur AbulÉdu, à savoir:

  • requête PXE/DHCP;
  • téléchargement d'un noyau linux;
  • lancement du noyau;
  • vérification du comportement des scripts de lancement pour avoir le tant attendu message "/tmp/info/XDM_SERVER no such file or directory"

Le problème est que je ne suis pas sur le réseau local du client:

(RyXéo)   ==== (internet) ==== (eth1) : (Serveur du Client) : (eth0) ==== (reseau local) ==== (tx)

Voici donc les ruses que j'ai utilisé pour arriver à faire ce que je veux:

  • lancer qemu sur le serveur via ma connexion SSH (-X pour expoter X et -C pour compresser):
ssh login@serveur.du.client -X -C
  • créer une image qemu (10Mo)
qemu-img create pxe.qemu 10Mo
  • télécharger la bootrom de la carte RTL8029 que qemu émule si bien en format ISO parceque qemu sait bien booter sur des cdroms stockés sous forme "d'images iso" (tout est sur une ligne et les "\" de fin de ligne sont pour indiquer que la ligne continue en dessous)
wget "http://www.rom-o-matic.net/5.4.2/build.php?version=5.4.2&F=&arch=\
i386&nic=ns8390%3Artl8029+--+%5B0x10ec%2C0x8029%5D&ofmt=ISO+\
bootable+image+without+legacy+floppy+emulation+%28.iso%29&A=Get+\
ROM" -O rtl8029.iso
  • lancer qemu sur l'image iso qui elle même lancera la requête d'amorçage réseau:
sudo qemu -hda pxe.qemu -cdrom rtl8029.iso -boot d -net tap -net nic,macaddr=52:54:00:12:34:56

Et là on se heurte à un problème quasi insoluble: le lancement de qemu avec l'option "net tap" nous créé une interface "tap0" (côté serveur) qui comporte une ip 172.20.0.1 ... et cette plage d'ip là n'est pas sur 192.168.0.x d'abuledu et donc même si on fait des requêtes DHCP ça "coince" :(

Il faudrait que je prenne le temps de détailler le fonctionnement de qemu, il prendra deux IP, l'une pour l'adresse "externe" de la machine virtuelle et l'autre pour l'adresse "interne" bref un chouilla compliqué :)

Nouvelle ruse: et si je modifie /etc/qemu-ifup pour qu'il prenne l'ip 192.168.0.1 ça a une chance de marcher.

#!/bin/sh
sudo -p "Password for $0:" /sbin/ifconfig $1 192.168.0.1

Problèmes multiples:

  • c'est l'ip d'eth0 du serveur abuledu et "il n'est pas possible d'avoir deux interfaces qui ont une même ip" (je schématise, et mise à jour suite à un échange de mails sur la liste tech de l'abul et une remarque de michel billaud, c'est possible de faire ce que je veux avec un bridge, donc promis la prochaine fois je teste ça);
  • tap0 n'est disponible que lorsque qemu est vraiment lancé;

Ruse suivante:

  • ifconfig eth0 down;
  • lancer qemu;
  • une fois qemu lancé, tap0 est "up" et avec l'adresse ip qui est normalement prise par eth0, je peux donc relancer le serveur dhcp, dns, nfs (etc) ils vont s'accrocher sur tap0 à la place d'eth0 et donc la requête DHCP qui est "dans le qemu" sera servie comme il faut ... waaa;
  • modifier le fichier DHCP pour qu'à la mac adresse du qemu corresponde un "vrai TX" du collège;

Et voilà, j'ai un TX qui boote dans qemu ! J'ai réussi ma mission qui était de valider le démarrage d'un TX à distance, sans TX et ... je n'ai pas le bug que je voulais avoir !

Allez, en bonus j'ai même la vidéo du hold-up au format OGG grâce à istanbul!

 

Notre site a-t-il des problèmes avec Internet Explorer™?

Essai sur les standards ouverts internationaux et les façons de [ne pas] les respecter...

Notre site a été réalisé dans le respect des recommandations XHTML 1.1 et CSS 1 et 2, publiées par un organisme international, le W3C. Le W3C (World Wide Web Consortium) est un rassemblement d'entreprises et institutions présentes dans tous les pays du monde (voir la liste des membres).
Les discussions des groupes de travail du W3C aboutissent à la rédaction de documents qui deviennent les standards d'internet.
La déclaration de conformité de notre site est la petite icône au bas à droite de chaque page. En cliquant dessus, vous pourrez vérifier la validité de chacune des pages de notre site (cette vérification est opérée directement par le moteur de validation du W3C, gratuitement accessible pour ceux qui désirent mettre leur(s) site(s) en conformité). Une phrase de type "This page is valid XHTML 1.1" atteste ainsi de notre respect des standards d'internet (ouverts et internationaux, je le répète), et de l'interopérabilité de nos pages, puisque la recommandation XHTML 1.1 certifie que tout site la respectant sera vu et présenté correctement par un navigateur web la respectant aussi.

C'est là que les choses se gâtent : Microsoft Corporation fait partie des membres du W3C, participe à l'élaboration des recommandations internationales, et de fait est au courant de leur existance autant que de leur contenu. Beaucoup de gens (nous aussi il y a encore quelques temps...) font confiance à Microsoft pour respecter ces recommandations, et les faire respecter à leur navigateur Internet Explorer. Dans la réalité, il n'en est rien : d'après la description technologique d'Internet Exporer, il est écrit que le navigateur respecte les recommandations CSS 1, mais ni pas le XHTML, ni même l'HTML (le langage de base des pages web, qui existe pratiquement depuis la création d'internet) ! Comment peut-on alors espérer voir correctement une page respectant des recommandations internationales avec Internet Explorer ? Ajoutons que ce navigateur ne respecte pas non plus les recommandations WAI, qui permettent à un site d'être correctement vu et utilisé par des personnes atteintes de handicaps. En revanche, Il respecte DHTML, qui ne correspond à aucune recommandation, mais qui permet à Microsoft et ses accolytes de réaliser des sites uniquement utilisables avec Internet Explorer !

Pour continuer sur ce point, il est apparu ces dernières années que Microsoft est devenu roi dans la pratique dans l'utilisation détournée et furtive d'internet, du web et des recommandations ouvertes internationales. Furtive, car Internet Explorer respecte une grande partie de ces standards, mais souvent de manière incomplète. Cette partie incomplète est généralement masquée à l'utilisateur, ou non-utilisée sur les sites dits "compatibles Internet Explorer". Les internautes ne s'aperçoivent donc pas du manque et pensent qu'Internet Explorer est un bon navigateur (il est très rapide, cela peut suffire à certains)... Détournée, car ces mêmes sites emploient des fonctions spécifiques à Internet Explorer, qui ne correspondent à aucune recommandation. Un navigateur «normal» (qui respecte les recommandations) est pris au dépourvu face à ces fonctions inconnues, et il se peut qu'il présente mal le site (ou que certaines fonctionnalités ne soient pas disponibles), et l'utilisateur endoctriné aura comme réflexe premier de penser que le navigateur est mauvais, et qu'il vaut mieux utiliser Internet Explorer...

Exemple concret de standard non respecté

Pris entre autres : le mauvais affichage des images de notre site : celles-ci sont au format PNG pour la plupart. Ce format PNG est aussi une recommandation du W3C. Il permet de de stocker les images dans un format exempt de tout brevet logiciel, il gère la transparence à plusieurs niveaux (canal alpha en termes techniques), il est sans perte de qualité, mais néanmoins compressé pour gagner de la place ; Ce format est donc tout indiqué pour le web, et pour des images d'excellente qualité.

Depuis plus de 4 ans, Microsoft affirme qu'Internet Explorer respecte cette recommendation ouverte, alors qu'il ne sait toujours pas afficher correctement ces images, ou qu'il faut avoir recours à des tours de passe-passe pour qu'il le fasse correctement. Notez qu'une pétition existe pour demander à Microsoft de bien vouloir afficher les PNG correctement dans I.E. !

Sachant que le PNG n'est qu'un exemple parmis une floppée, on comprend vite le découragement d'un webmestre voulant réaliser un site avec un rendu visuel constant d'un navigateur à l'autre... Le moyen «normal» serait simplement de respecter les recommandations, et que les organisations développant les navigateurs les respectent aussi. Malheureusement avec Microsoft ça n'est pas possible. Dans le cas précis du format PNG, les alternatives sont :

  • faire de la «programmation avec des tours de passe-passe» sur le site en utilisant le standard ouvert, et obtenir ainsi un site difficile à maintenir, plein d'astuces de programmation encombrant le code et l'information utile. Cette solution permet à Microsoft de continuer sur sa voie, puisque les webmasters contournent le problème et n'obligent pas l'éditeur à corriger ses logiciels. Les internautes ne voient pas le problème, il est masqué, pour eux «IE» est toujours un bon navigateur.
  • ne pas utiliser le format PNG, mais à la place le GIF, ou un autre format d'image avec transparence. Les formats d'images utilisant la transparence à plusieurs niveaux (canal alpha) sont sans compression, ils donnent donc des images énormes, inadaptées au web. Le GIF ne gère qu'un niveau de transparence (les images sont donc plus crénellées, beaucoup moins «belles» ou moins détaillées). Jusqu'à l'année dernière, le GIF était soumis à des brevets, donc des royalties à payer pour chaque image créée ! Cette solution permet encore à Microsoft de s'en tirer puisque c'est le webmestre qui contourne le problème et dépense plus d'énergie pour convertir ses images, ou plus d'argent pour utiliser un format moins bon !
  • utiliser le format PNG, et risquer d'avoir un site mal rendu par Internet Explorer. Il est possible dans ce cas de sensibiliser l'internaute comme nous le faisons à travers cette page pour qu'il sache ce qu'il en est vraiment. Le webmestre fait son travail, l'internaute est informé, et il est simplement demandé à Microsoft de respecter les standards auquels ils disent adhérer ! Leur logiciel respectant les recommandations, ça pourrait même être un argument commercial en sa faveur, et les utilisateurs seraient sans doute heureux d'avoir le choix entre plusieurs navigateurs au rendu homogène...

Arrêtons là pour les exemples qui sont encore nombreux. Notre but n'est pas de descendre Internet Explorer, mais simplement de vous faire prendre conscience que le web, pour devenir meilleur (mieux vu par les personnes atteintes de handicaps, mieux vu par les personnes travaillant sous des systèmes d'exploitation différents...), doit être normalisé (standardisé) d'une manière ou d'une autre (les sites et les navigateurs doivent parler le même langage). Les internautes doivent être au courant de cette normalisation, et de qui respecte quoi pour se faire une opinion.

Il existe des solutions accessibles (quelque fois gratuites) aux internautes pour voir correctement des sites respectant les recommandations ouvertes : l'utilisation de navigateurs respectant ces recommandations. Ces navigateurs sont en pleine expansion à l'heure actuelle. Le plus implanté est sans doute Mozilla. Utilisable sous Linux, Windows, Mac OS, c'est le remplaçant de Netscape Navigator. C'est un logiciel libre, comme ceux que nous programmons et bien d'autres. Les logiciels libres respectent une philosophie et une éthique fortes.

Depuis le temps, Mozilla a fait des petits : vous pouvez essayer FireFox (le navigateur) et Thunderbird (le lecteur de courrier électronique). Il sont faciles à installer, ultra légers, complètement traduits en français (et dans bon nombre d'autres langues). Les fonctionnalités de firefox vont au-delà de la simple navigation web, et vous trouverez de plus amples détails sur le site de Mozilla en français. Avec Thunderbird, votre courier électronique et votre machine sont à l'abri des virus et des pourriels indésirables... Ces logiciels sont téléchargeables gratuitement, et sont utilisés de plus en plus dans les entreprises qui souhaitent réduire les coûts de licences ou augmenter sensiblement leur intéropérabilité. Essayez-les, vous ne pouvez pas le regretter.

Olivier Cortes
Directeur Technique de RyXéo

 

Télécharger Mozilla Firefox Télécharger Mozilla Thunderbird
 

Web 2.0

Web 2.0 est le terme employé pour distinguer un tournant majeur dans le monde des pages Web. Il regroupe des principes d'utilisation de technologies existantes (XML, XHTML, JavaScript, CSS, HTTP, etc.). Il permet de se rapprocher de l'intéractivité des applications de bureau traditionnelles. L'équipe de R&D, toujours à la pointe des technologies, développe des applications Web 2.0 pour les interfaces d'administration.

 

Python

Le langage interprété Python est aujourd'hui utilisé pour des projets à grande échelle (exemple: Launchpad, applications GNOME). Il n'a plus à faire ses preuves en termes de lisibilité, robustesse et extensibilité. En termes de puissance c'est un concurrent du C#. De nombreuses extensions sont disponibles pour le connecter à toutes les technologies nécessaires pour en faire un langage complet (bases de données, bibliothèques graphiques, expression rationnelles, XML...).

 

Debian / Ubuntu

Les technologies développées par les projets Debian puis Ubuntu permettent la mise en place d'une infrastructure centralisée pour la mise à jour de tous nos serveurs et tous nos postes clients. Les mises à jour de sécurité sont automatiquement répercutées sur les serveurs de nos clients sans que ceux-ci aient à se soucier de quoi que ce soit. Un processus strict assure une qualité constante aux paquets Debian produits par l'équipe R&D.

 

Clients légers

La technologie «clients légers» permet de centraliser la configuration et les systèmes d'exploitation des postes clients. La maintenance des applications est factorisée au maximum (on ne la fait qu'une seule fois pour tout le parc), le temps de démarrage d'une station est réduit, et les pannes matérielles sont oubliées car il n'y a plus de pièces mécaniques dans le poste. Tous les utilisateurs travaillent en commun et partagent leurs fichiers en temps réel, ils peuvent donc travailler à plusieurs sur les mêmes documents.