Flash informatique 2012 - no 4

Page 1

4

01.05.2012

FlashInformatique.epfl.ch Responsables informatique d’unité, le

de printemps aura lieu le

jeudi 31 mai 2012 à 14h15 en salle SG0211

p/a EPFL - Domaine IT - Station 8 - CH 1015 Lausanne - tél. +41 21 69 322 11

Logiciel libre

dit.epfl.ch/forumIT

DRBD – doublez vos octets

Actualités DIT-info ❚ Mouvement de personnel à la TI

Julia.Paolini@epfl.ch, EPFL, Domaine IT, responsable MySQL Marc.Remy@camptocamp.com, administrateur système de Camptocamp SA

❚ Stagiaire à la SE ❚ Le DIT vous forme

2

Tour de magie pour la pause-café Christian Kauth

27

Analyse Lecture numérique ou le nouvel iPad Laurent Kling

21

À votre service Liberté sur les réseaux fixes Laurent Kling & David Desscan

3

Installations automatisées: Windows 7 Laurent Kling & Julien Aubry

17

Comment marcher droits à l'EPFL ? Laurence Denoréaz

24

DRBD is a free software available under the terms of the GNU GPLv2, supported only by GNU/ Linux operating systems. It’s one of the components that can be used to ensure high availability of the resources installed on the disks/partitions/logicalvolumes it manages. In this collaborative article, we explain how DRBD works and why it is used at EPFL for different applications under production.

Fiche descriptive DRDB

Domaine ✦ réplication de disques/partitions/ volumes logiques

Licence ✦ GNU GPLv2

langue

versions

✦ anglais ✦ 8.3 et 8.4

Alternatives libres

Brèves Le Musée Bolo et la EFGAMP

Logiciel libre DRBD – doublez vos octets Julia Paolini & Marc Remy

1

Automatiser votre installation Linux avec Kickstart Benjamin Barras

8

R: un logiciel libre pour l'analyse de données Frédéric Schütz

13

Prochaines parutions No Délai de rédaction

Parution

5

10.05.12

12.06.12

SP

21.06.12

24.07.12

6

16.08.12

14.09.12

tout public public averti expert

✦ pas à notre connaissance

16

DRBD (Distributed Replicated Block Device) est un logiciel libre sous licence GNU GPLv2 uniquement supporté sur GNU/Linux. Il permet la réplication de périphériques de stockage bloc à bloc, et peut être vu comme un disque RAID-1 réseau. C’est un des composants permettant d’assurer la haute disponibilité des ressources installées sur les disques/partitions/volumes logiques qu’il gère. Dans cet article à multimains, nous allons expliquer ce que d’une part nous avons testé et d’autre part mis en place à l’EPFL pour différentes applications en production.

Alternatives non libres ✦ pas à notre connaissance

Sites Web ✦ drbd.org

Plates-formes

Contexte Le besoin initial est de s’assurer que les données générées par des systèmes sont le plus en sécurité possible. Cela nous a conduits à rechercher un outil permettant la réplication de données garantissant leur consistance de manière transparente et fiable. ../.. Suite page 6


Actualités

DIT-info

Le DIT vous forme…

Dans notre site Web dit.epfl.ch/formation vous trouverez, semaine après semaine, notre calendrier complet pour le 1er semestre, consultez le régulièrement. Plusieurs cours sont organisés à la demande, faites-nous part de vos besoins et nous ferons notre possible pour les satisfaire. Ci-après, voici un aperçu des prochains cours:

❚ ❚

In English ❚ ❚ ❚ ❚ ❚ ❚

MPI, an Introduction to Parallel Programming , weeks 18 et 19 DIT HPC servers usage, week 20 Java, fundamentals of Java, week 21 PHP5 Web Site Development, week 23 Cross-Plateform Mobile Web Apps Development, week 24 Introduction to LaTeX2e, week 25

Windows ❚ ❚ ❚ ❚ ❚

Administration des serveurs et des stations de travail Windows pour délégués, semaine 19 W7, 1 -Installation et configuration, semaine 19 W7, 2 -Dépannage et maintenance, semaine 23 W7, 3 -Support des applications et du système d’exploitation, semaine 24 W7, 4 -Déploiement de Windows 7, semaine 24

❚ ❚ ❚

Mac OS X, optimiser la gestion de vos dossiers et documents, semaine 21 MindManager Pro 8, comment organiser ses idées, semaine 23 Outlook 2010, transition, nouveautés et exercices pratiques, semaines 21 et 24 PowerPoint 2010 pour PC, semaines 20 et23 PowerPoint 2011 pour Mac, semaines 21, 23 et 24 Word 2010, transition, nouveautés et exercices pratiques, semaine 21. cours.dit@epfl.ch

Stagiaire à la SE Le 2 avril, arrivée de Nicolas Argento élève ingénieur à Télécom Lille pour son stage et projet de Master d’une durée de 6 mois. Il travaillera sur la recherche et l’évaluation d’une solution open source pour la mise en place d’un Hybrid Cloud qui consiste à connecter un Private Cloud (sous VMWare) avec un Public Cloud (par exemple sous Amazon Web Services ). Fabien.Figueras@epfl.ch, Domaine IT

LabVIEW ou l’acquisition de données ❚ ❚

Mouvement de personnel à la TI

Core I et II, semaine 21 Real-Time, semaine 22

Programmation ❚ ❚

intro à la programmation d’applications pour iPhone et iPad, semaine 19 Excel 2010, VBA introduction, semaine 19

Linux ❚

Administration Linux: RHEL, Fedora, UBuntu (Eng.), semaine 17

Bureautique ❚ ❚ ❚ ❚ ❚ ❚

Découvrir my.EPFL, semaine 24 Excel 2010, intro et feuilles de calcul, semaines 22 et 23 FileMaker Pro 11, semaines 18, 19 InDesign CS5, semaines 20 et 24 Inform, création de formulaires EPFL, semaine 21 Jahia 6, création de sites Web EPFL, semaine 20

Impressum Revue consacrée aux technologies de l’information, éditée par le Domaine IT de l’EPFL (DIT). Les articles n’engagent que leurs auteurs, sauf ceux qui concernent de façon évidente des prestations officielles (sous la responsabilité du DIT ou d’autres entités). Toute reproduction, même partielle, n’est autorisée qu’avec l’accord de la rédaction et des auteurs.

2 flash informatique

Depuis le début de l’année, Vito De Marinis se consacre au projet de Communication Unifiée de l’EPFL. Au début du mois d’avril, Christian Roch a rejoint le groupe DIT-TI, il va progressivement remplacer Vito comme technicien réseau. Nous souhaitons la bienvenue à Christian et plein succès à Vito dans ses nouvelles fonctions. Yves.Despond@epfl.ch, Domaine IT

Rédacteur en chef: Jacqueline Dousson, fi@epfl.ch Mise en page & graphisme: Appoline Raposo de Barbosa Comité de rédaction: Jean-Daniel Bonjour, Patrice Fumasoli, Florence Hagen, Laurent Kling, Julia Paolini, François Roulet, Christophe Salzmann, Richard Timsit & Predrag Vicei´c

Impression: Atelier de Reprographie EPFL Tirage: 4000 exemplaires Adresse Web: flashInformatique.epfl.ch Adresse: Domaine IT EPFL Station 8, CH-1015 Lausanne Téléphone: +41 21 69 32246 & 32247 Abonnement au FI par e-mail à: fi-subscribe@listes.epfl.ch


À votre service

Liberté sur les réseaux fixes Laurent.Kling@epfl.ch, EPFL -STI, coordinateur informatique à la Faculté des Sciences et Techniques de l’Ingénieur David.Desscan@epfl.ch, EPFL -STI, ingénieur système à la Faculté des Sciences et Techniques de l’Ingénieur

Réseau fixe = adresse Internet fixe ?

Adapting the fixed network to the end user.

Internet relie les ordinateurs avec une adresse unique pour chaque appareil. Pour la norme IPv4 (Internet Protocol version 4), les numéros IP disponibles sont épuisés sur le plan mondial. De ce fait, Adapter le réseau fixe en fonction de l’usager. de nombreux utilisateurs doivent partager une plage d’adresses. Appliquant le principe du premier arrivé, premier servi, l’EPFL avec sa demande en novembre 1986 bénéficie de 2 x 65’535 adresses Amélioration informatique IPv4 reconnues sur un plan mondial. L’article de Richard Timdans la Faculté STI sit Des logiciels libres pour les services IP ? paru dans le FI4/11 décrit ce temps héroïque: flashinformatique.epfl.ch/spip. Notre immersion dans Internet dépasse les rêves les plus fous. php?article2298. L’explosion des connexions sans fil nous permet de joindre sans Sur un plan administratif, la gestion de plus 130’000 numéros est effort n’importe qui pratiquement partout sur la terre. Devant un problème complexe à gérer. Par simplification, ils sont divice déluge d’ondes dans l’éther, les connexions fixes semblent sés par tranches de 256 adresses (sous-réseau ou subnet). Ces désuètes. adresses IPv4 fixes offrent n’importe où sur la terre la possibilité de se connecter depuis son ordinateur à l’EPFL. Cela représente en Réseau fixe = connexions parfaites même temps une facilité et une difficulté. En pratique pour connecter un appareil sur le réseau fixe de l’EPFL, Au premier abord, les câbles qui relient nos ordinateurs de bureau il fallait: à Internet apparaissent comme un vestige d’un temps révolu. En ❚ connaître le sous-réseau réservé pour son laboratoire ou son réalité, la colonne vertébrale utilisée par toutes les entreprises bâtiment, de communication est faite de connexions en fibre optique. Le ❚ activer la prise murale dans le bon sous-réseau, dernier record de transmission est prodigieux, 512 Gbit/s en Alle❚ demander ou réutiliser une adresse IP fixe (qui doit se situer magne de Berlin à Hanovre, en réalité 400 Gbit/s compte tenu de dans ce sous-réseau), la correction d’erreurs (www.t-systems.ch/tsip/en/818084/home/ ❚ brancher physiquement la machine, press/presscenter/2012-03-08-researchers-en). ❚ insérer l’adresse dans l’ordinateur, l’imprimante, le serveur ou En plus d’offrir un débit impressionnant, la qualité de la connexion le poste d’instrumentation, fixe est quasi parfaite. À l’EPFL, votre prise murale offre un débit ❚ introduire les paramètres nécessaires à son fonctionnement: de 100 Mbit/s ou 1 Gbit/s. ◗ le masque du sous-réseau, Combien de fichiers puis je-transférer en 1 seconde ? le ta◗ la passerelle du routeur, bleau ci-dessous vous montre quelques exemples avec des fichiers ◗ les serveurs de nom de domaine DNS (Domain Name Systextes, images et audio. tem). Le temps pour l’entier du processus se EPFL WiFi Record mondial, compte en jours. EPFL nouveau 30 usagers mars 2012 bâtiment en Mbits/s Texte A4, 2000 char, 0.016 Mbit

3

100

1024

409’600

208

6’250

64’000

25’600’000

0.2

5.88

60.23

24’000

Réseau mobile = pas d’adresse IP ?

Sur un réseau mobile, il suffit de se connecter et de s’authentifier. On 2 peut logiquement se poser la ques0.4 1.37 14.03 5’610 Musique 4.24 min. 73 Mbit tion de la différence de traitement 1 Présentation nouvel iPad, images.apple.com/ipad/gallery/images/downloads/IMG_1190.JPG entre appareil mobile et fixe. 2 David Oistrakh, Concerto pour 2 Violons, Bach, BWV 1043: I. Vivace La première règle d’Internet n’est pas violée, il possède une adresse IP À titre de comparaison, une salle de classe partage le point d’accès unique. La seule différence est qu’elle est allouée dynamiquement sans fil entre tous les utilisateurs. Trente portables connectés sur – en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol. la meilleure technologie 802.11n ont accès à un débit simultané Ce mécanisme, DHCP (Dynamic Host Configuration Protocol) perde 3 Mbit/s par équipement (maximum de 100 Mbit/s, mais divisé met de fournir une adresse à la demande: par 30 !) – en.wikipedia.org/wiki/IEEE_802.11. ❚ je désire une adresse, qui est mon fournisseur ? 1

Image 5 Mega Pixel 17 Mbit

1er MAI 2012 - N°4

3


Liberté sur les réseaux fixes ❚ le serveur fournit une adresse IP, ❚ je l’utilise pendant un certain temps (lease time). L’ensemble des paramètres réseau est également fourni par le serveur DHCP. Pour éviter des abus, la connexion DHCP sans fil de l’EPFL est authentifiée, l’anonymat n’existe pas.

Quatre réseaux Internet séparés dans la Faculté STI L’intégration de l’institut de microtechnique de Neuchâtel dans la faculté STI a permis d’observer un réseau Internet partagé entre adresses fixes et dynamiques. Compte tenu du renouvellement important du corps professoral dans la Faculté STI dans la période 2010 — 2020 et des changements d’affectations des locaux, l’ancienne organisation par adresse IP fixe devient rapidement impraticable. Cela peut engendrer ce type de questionnement: ❚ puis-je conserver mes adresses IP ?, ❚ je déménage, puis-je garder mon adresse IP ? ❚ j’arrive, il n’y a plus assez d’adresses IP dans mon sous-réseau, que faire ? ❚ ce laboratoire a volé mes adresses IP ! Pour simplifier le travail des utilisateurs et du responsable informatique, la décision fut prise avec le service de télécommunication du DIT d’offrir des réseaux adaptés à chaque type d’utilisation: ❚ usagers, ❚ imprimantes, ❚ serveurs, ❚ instrumentation et équipement scientifiques.

Dynamique pour les usagers La première idée fut d’offrir un service similaire au réseau sans fil. Le processus de connexion est nettement simplifié: vérifier que la prise est en DHCP; se connecter; et c’est tout ! Le délai passe de jours en minutes, un gain de temps appréciable par tous. Les usagers ne sont pas dépaysés, car c’est le mode par DHCP, principe déjà utilisé à la maison par les FAI (Fournisseur d’Accès Internet). C’est également le paramètre par défaut des systèmes d’exploitation.

configuration manuelle, nombre de chiffres à introduire

4 flash informatique

DHCP, un seul choix

Cet accès simplifié n’est possible que dans des locaux sécurisés. Toujours dans cet objectif de sûreté, le regroupement de postes de travail permet d’activer des mécanismes de contrôle sur les commutateurs (switch) identifiant les machines aux comportements suspects. Dans le cas de tentative d’attaque avec le protocole ARP (Address Resolution Protocol) la sanction est très rapide: déconnexion automatique de l’ordinateur pendant 15 minutes !

Où est mon ordinateur ? Les chercheurs ont besoin de travailler à distance sur leur appareil. Si celui-ci est dans un réseau dynamique, il faut aussi pouvoir s’y connecter: ❚ activer le VPN ❚ trouver son ordinateur. Dans l’ancien modèle, le poste avait une adresse fixe avec un nom DNS fixe qui étaient facilement mémorisés. Dans le nouveau fonctionnement, ce n’est guère plus compliqué: ❚ il suffit d’utiliser l’outil réseau dynamique DNS de l’EPFL (network.epfl.ch/cgi-bin/tequila/dyndns.pl) qui permet de retrouver son appareil en deux étapes: ◗ sur le poste de travail, identifier l’adresse MAC de son ordinateur: 00:23:5E:98:5E:27; ◗ après la connexion VPN, utiliser l’adresse dynamique: M00235E985E27.dyn.epfl.ch. ❚ introduire son ordinateur dans Active Directory, car cet outil gère également le nom dynamiquement, par exemple stiitpc1.sti.intranet.epfl.ch.

dyn.epfl.ch


Liberté sur les réseaux fixes

Sécuriser les imprimantes Nos imprimantes connectées sur le réseau peuvent intégrer un serveur d’impression qui contient un système d’exploitation. De ce fait, elles peuvent être la cible d’attaques provenant d’Internet. Pour imprimer directement sur l’imprimante on doit utiliser une adresse IP fixe. Ces imprimantes sont regroupées dans un sous-réseau coupé de l’extérieur. Ainsi un pirate ne pourra pas directement utiliser ce périphérique comme cheval de Troie.

Une relique sur le campus Si vous doutez encore de l’utilité du réseau fixe, il peut être intéressant d’observer l’édifice Odyssea situé à l’est du campus le long de la route cantonale.

Regrouper les serveurs Le consumérisme technologique a engendré un curieux phénomène: l’envahissement de locaux, salles de réunion ou dépôts, par des appareils informatiques bruyants et dégageant de fortes chaleurs. Cela va provoquer, en plus des demandes de réseaux fixes, des demandes de systèmes d’évacuation de l’excédent de la chaleur. Ce processus peut même atteindre un seuil critique où les nuisances deviennent intolérables pour les voisins. Ainsi des salles ont perdu leurs affectations d’origine pour se transformer en infrastructures pour serveurs improvisées. Le montant de la mise en place d’un local serveur est important. Il égale ou dépasse le prix du matériel si on tient compte de l’ensemble des coûts, y compris de l’énergie nécessaire à l’alimentation et au refroidissement des ordinateurs. Devant la prolifération de ces emplacements inadaptés, et pour éviter la création onéreuse d’un lieu dédié, nous désirons occuper les locaux serveur existant dans l’EPFL. Heureusement la faculté SV a accepté d’héberger les premiers éléments d’une vision mutualisée qui est maintenant la politique officielle de notre institution. Pour permettre une transhumance facile des serveurs, deux conditions doivent être réunies: ❚ être au format 19" ❚ éviter les modifications logiques = adresses IP fixes En conséquence, une plage d’adresses IP est réservée pour les serveurs, ainsi le déplacement vers les locaux ad hoc est largement simplifié.

Protéger l’instrumentation et les équipements scientifiques Ce volet est actuellement en développement, il sera le sujet d’un nouvel article.

Contact

Odyssea (photo avec droits limités: Alain Herzog)

Est-il ? ❚ une installation de base jump, ❚ un tremplin olympique en attente d’une piscine, ❚ un nœud désaffecté du réseau sans fil de Swisscom. Rattrapée par l’évolution technologique, la fonction originelle de ce bâtiment des radiocommunications construit en 1993 par Rodolphe Lüscher fut rapidement abandonnée. Sa raison d’être, un relais dans l’infrastructure hertzienne nationale, fut avantageusement remplacée par un minuscule câble en verre d’une pureté exceptionnelle. ■

Cette nouvelle organisation a été mise en service le 19 janvier 2011, le responsable de ces projets d’infrastructures informatiques est David Desscan pour la faculté STI. ❚ Pour le réseau, le site Web est: sti.epfl.ch/it/reseau et en anglais sti.epfl.ch/it/network. ❚ Pour l’hébergement de serveur au format 19", le site Web est: sti.epfl.ch/it/page-59131-fr.html et en anglais sti.epfl.ch/it/ page-59131-en.html.

1er MAI 2012 - N°4

5


DRBD – doublez vos octets ../.. Suite de la première page

Ce qu’il permet de faire ? Ce logiciel est édité et supporté par la société Linbit. Un bon schéma valant mieux qu’un long discours, voici celui qui vous attend sur la page d’accueil du site de DRBD [1].

Schéma explicatif DRBD – tiré du site http://www.drbd.org/

Les deux serveurs sont nommés nœuds, dont un est primaire: c’est lui qui reçoit les informations des couches supérieures. L’autre nœud est secondaire et passif et ne sera actif qu’en cas de panne du nœud primaire. DRBD agit donc comme un système de réplication de type RAID-1 , ni plus, ni moins. Il s’assure que les données soient les mêmes sur les 2 nœuds. Cela signifie que si vous effacez vos données sur un nœud, elles seront aussi effacées sur l’autre ! Ce N’est donc PAS un système de sauvegarde, ni de haute disponibilité en soi! Par contre, concernant ce dernier cas, il est une des briques de base qui peut être utilisée pour en construire un.

À quel niveau cela intervient ? Comment cela fonctionne-t-il? On ne le répétera jamais assez, DRBD intervient au niveau du bloc, il n’est donc pas conscient de ce qui se passe au niveau des couches supérieures! Il est donc utile en cas de pannes hardware disque sur le nœud primaire, car le nœud secondaire est vivant et à jour et peut donc être mis comme actif.

Il est fortement conseillé, pour des raisons de performances, d’avoir une interface réseau dédiée entre les 2 nœuds de la réplication DRBD. Celle-ci devant être de préférence directe, c’est-àdire avec un câble droit, ce qui élimine le risque de perte de données dû aux éventuels problèmes réseau (perte d’un switch, etc.). Il y a plusieurs types de synchronisation possibles (référencés sous l’option protocol): A réplication asynchrone: les écritures sur le nœud primaire sont considérées comme définitives/validées une fois écrites sur le disque local et placées dans le buffer d’envoi TCP. B réplication semi-synchrone: les écritures sur le nœud primaire sont considérées comme définitives/validées une fois écrites sur le disque local et reçues par le nœud secondaire. C réplication synchrone: les écritures sur le nœud primaire sont considérées comme définitives/ validées une fois que le nœud secondaire lui a confirmé que lui aussi a écrit les données. La synchronisation de type protocol C est logiquement la plus utilisée. C’est le paramétrage qui assure la sécurité maximale des données. En interne, DRBD utilise un système de round-robin à 4 positions pour s’assurer que les données sont synchrones. Si un décalage de plus de 4 positions se produit, le système ne sait plus où se trouvent les bonnes données et il est arrêté. L’erreur est inscrite dans les traces du système et une intervention manuelle, ainsi que la lecture de la documentation concernant le SplitBrain [2], s’impose. Il faut également faire attention à la version utilisée, car les commandes ont évolué de la version 8.3 à la version 8.4 (version la plus récente à la date de rédaction de cet article).

À quoi peut-on l’appliquer ? Nous, Camptocamp, utilisons déjà des systèmes de fichiers reposant sur DRBD pour plusieurs applications, voici des exemples de ce qui a été mis en place à l’EPFL: GED: stockage des index Lucene, et des fichiers binlog de MySQL. Infoscience: stockage des publications. MyEPFL: stockage de la base de données PostgreSQL. Le service Subversion (SVN) de l’EPFL: stockage de la configuration Apache des dépôts et leurs données. Il est possible pour MySQL de stocker la base de données sur un système de fichiers où DRBD est installé mais attention, seuls les moteurs transactionnels (InnoDB et Falcon) sont supportés.

Avantages / Inconvénients ? Les plus ❚ ❚ ❚ ❚ Configuration réseau – tiré du site mysql.com

6 flash informatique

La facilité de la mise en place: les paquets sont à installer, ou les sources à compiler (mais sans grand problème). La réplication synchrone et transparente pour les applications. Outil robuste et fiable. Open source.


DRBD – doublez vos octets

Les moins

Julia

Uniquement testé et pas encore implémenté, je m’y suis intéressée plus particulièrement pour le mettre en place pour MySQL. Comme dit plus haut, les tests de DRBD ont été faciles à réaliser, les tests de la couche de management (heartbeat-pacemaker) sont un peu plus délicats, il faut bien lire la documentation pour comprendre les impacts des paramètres. On pourrait être tentés de comparer DRBD à la réplication MySQL, mais ce sont deux outils différents qui répondent à deux besoins distincts. Avant de choisir l’un ou l’autre, il faut se pencher sur ses besoins, et les limitations des outils. De plus, il est possible de combiner les deux technologies pour bénéficier des avantages de chacune, comme illustré sur le schéma ci-dessous.

❚ ❚

Pour être efficaces, les serveurs doivent être géographiquement proches (réduction de la latence). Pour l’instant, pas plus que deux nœuds. Avant la version 2.6.33 du noyau Linux, le module drbd est un module externe, il faut donc installer un paquet séparément depuis une autre source que la distribution utilisée. Et lors de mises à jour du noyau, il faut parfois attendre que le paquet du module drbd soit lui aussi mis à jour. Si le lien réseau entre les deux nœuds n’est pas direct et dédié, DRBD peut générer du trafic sur le réseau sur lequel se trouve les machines (en fonction de l’application qui l’utilise; cette remarque est à modérer, car il existe un paramètre DRBD qui permet de limiter le trafic).

Aller un peu plus loin C’est bien joli, allez vous me dire, j’ai mes deux nœuds qui sont synchronisés, si je perds mon nœud primaire que se passe-t-il ? Et bien pour l’instant, rien, c’est-à-dire que le service est interrompu. Comme dit plus haut, DRBD s’occupe uniquement de la réplication des blocs. Si vous souhaitez gérer les deux nœuds, il vous faudra mettre en place sur eux une couche supplémentaire d’administration. Celle-ci se divise en deux: ❚ La première dite inférieure, gère la communication entre les nœuds; vous aurez le choix entre les logiciels Heartbeat, corosync et OpenAIS. ❚ La seconde dite supérieure, gère les ressources du cluster, celles-ci pouvant être des adresses IP, des services (Apache, Tomcat, etc.), des systèmes de fichiers; le logiciel pacemaker permet la gestion de ces ressources (quelles ressources tournent sur quel nœud, dans quel ordre, sous quelles conditions). Il est également possible de configurer DRBD en mode master/ master (dual-primary mode), mais il faut alors un système de fichiers supportant les accès concurrents (comme GFS, GFS2 et OCFS2) et utiliser corosync car les autres ne les supportent pas.

Conclusion

Combinaison de DRBD et de la réplication MySQL – tiré du site mysql.com

Le nœud primaire est noté comme étant active server, le nœud secondaire comme étant passive server. Le nœud actif a le rôle de maitre MySQL et les 3 machines au bas du schéma sont les slaves. Sans rentrer dans le détail, cette configuration permet de faire du fail-over grâce à DRBD et du load-balancing grâce à la réplication MySQL.

Note [1] www.drbd.org [2] www.drbd.org/users-guide-emb/s-resolve-split-brain.html

Camptocamp Actuellement nous sommes très satisfaits de cet outil que nous avons mis en production sur: ❚ Les plates-formes suivantes: RHEL 5 Tikanga

DRBD 8.3

RHEL 6 Santiago

DRBD 8.4

Debian 6 Squeeze

DRBD 8.3

❚ Les systèmes de fichiers ext3 et ext4 Aucune perte de données n’a été à déplorer concernant l’expérience cumulée, nous n’avons vraiment pas eu d’incidents liés à DRBD, juste quelques arrêts avec le passage en Split-Brain, résolus sans problème avec la page citée en référence.

Article du FI-EPFL 2012 sous licence CC BY-SA 3.0 / J. Paolini & M. Remy

GLOSSAIRE

RAID-1: configuration miroir où les données sont répliquées à l’identique sur chaque disque. round-robin: méthode permettant de choisir une ressource parmi une liste. Si celle-ci n'est pas disponible, on essaye la suivante, puis ainsi de suite jusqu'à ce que la fin de la liste soit atteinte. L'on revient ensuite à la première de la liste, etc.

1er MAI 2012 - N°4

7


Logiciel libre

Automatiser votre installation Linux avec Kickstart Benjamin.Barras@epfl.ch, EPFL - Domaine IT - responsable de la plate-forme Unix à l’EPFL

Kickstart is an automated and unattended method, for the installation and configuration of operating systems GNU/Linux RedHat and derivatives. Kickstart est une méthode automatisée et sans surveillance, d’installation et de configuration pour les systèmes d’exploitation GNU/Linux RedHat et dérivés.

Fiche descriptive Anaconda (Kickstart)

Domaine ✦ Installation de systèmes d’exploitation Linux

Licence

langue

version

✦ GPLv2

✦ anglais

✦ Fedora (version)

Un exemple commenté servira de fil conducteur dans cet article, et on pourra toujours compléter ses connaissances sur le sujet par la suite en se basant sur la documentation officielle 3 qui est très bien fournie.

Situation actuelle Il peut paraître absurde d’utiliser à ce jour un vieil outil qui a plus de dix ans. Bien au contraire, c’est un bel outil et les machines virtuelles lui ont donné une seconde vie. En effet, il existe des outils 4 pour fabriquer des machines virtuelles, et ils permettent l’utilisation d’un fichier kickstart. On se retrouve donc avec une machine virtuelle toute prête en moins de dix minutes, ce qui reste remarquable. De plus, lors de déploiement massif, Kickstart a un gros avantage par rapport aux déploiements classiques par image, c’est qu’il est indépendant du matériel. Vous pouvez utiliser le même fichier Kickstart sur du matériel différent, et vous retrouverez votre système d’exploitation tel que vous l’avez souhaité.

Quelques règles

Autres alternatives libres ✦ ✦ ✦ ✦

boot.fedoraproject.org (BFO) Ubiquity (Debian) AI (OpenSolaris) FAI (fai-project.org)

Alternatives non libres ✦ Unattended Windows ✦ Jumpstart (Solaris)

Sites Web ✦ Projet et téléchargement: fedoraproject.org/wiki/Anaconda

Plates-formes

Introduction Kickstart est une méthode d’installation automatisée pour les distributions GNU/Linux RedHat 1, et dérivées (Fedora, CentOS, ScientificLinux, ...), qui permet d’installer notre système d’exploitation de manière simple et rapide. Il suffit d’indiquer à l’installeur 2 à l’aide d’un fichier texte, la configuration souhaitée.

1 2 3 4 5 6

Le fichier kickstart est un simple fichier texte, composé de sections, qui doivent être écrites dans l’ordre, soit: ❚ La section des commandes ou Kickstart Options: permet de définir les paramètres de base de votre système et contient une liste d’éléments identifiés par un mot-clé suivi de ses paramètres. Une documentation très complète concernant ces mots-clés, ou options, est fournie de la part de RedHat 5 et de Fedora 3. Cette section requiert des mots-clés obligatoires, et seule la documentation officielle nous permet de les connaître. ❚ La section %packages: c’est la plus difficile à paramétrer, car peu documentée, ici l’outil graphique ou un fichier existant peut nous aider à démarrer rapidement. Cette section se termine obligatoirement par %end 6. ❚ Les sections %pre et %post: permettent d’écrire un script de pré-installation ou de post-installation, c’est la seule manière de configurer notre système de manière précise (mais nous verrons cela en détail un peu plus loin). Elles doivent également se terminer par %end 6 et l’ordre entre les deux n’a pas d’importance.

On peut également installer Ubuntu avec kickstart, mais je ferai un article dédié sur ce sujet Anaconda: fedoraproject.org/wiki/Anaconda Kickstart (Fedora): fedoraproject.org/wiki/Anaconda/Kickstart Appliance Creator pour Fedora & Virt Install pour RedHat par exemple Kickstart Options (RHEL 6): docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/s1-kickstart2-options.html Sauf pour RHEL 5.x

8 flash informatique


Automatiser votre installation avec kickstart # # # #

kickstart file automatically generated by anaconda. Version: RHEL 6.2 (Desktop 32-bit) C'est uniquement pour une raison de présentation, si certains mots-clés et leurs paramètres associés sont écrits sur plusieurs lignes.

# Première section: Paramètres # ----------------------------install url --url=http://linuxline.epfl.ch/RHEL/ws-6/update2/32-bit-x86/i386 lang en_US.UTF-8 keyboard fr_CH-latin1 # Rappel: Une seule ligne network --onboot=yes --device=eth0 --bootproto=static --hostname=ditsbpc13.epfl.ch --ip=128.178.1.55 --netmask=255.255.255.0 --gateway=128.178.1.1 --noipv6 --nameserver=128.178.15.8 rootpw --iscrypted $1$kdpwm93n$ByTxRuyrZsYcZvHqKYE4a0 firewall --service=ssh authconfig --enableshadow --passalgo=sha512 selinux --disabled timezone --utc Europe/Zurich # On efface tout et on crée une partiton de 8Gb pour /, 2 Gb pour le swap bootloader --location=mbr clearpart --all part / --size=8000 --fstype=ext4 part swap --size=2000 firstboot --disabled # Pour Fedora, on ajoute le repository update # repo --name=f16-updates --baseurl=http://mirror.switch.ch/ftp/mirror/fedora/linux/updates/16/i386/ reboot # Deuxième section: Paquetages # ----------------------------%packages @base @client-mgmt-tools @core @debugging @basic-desktop @desktop-debugging @desktop-platform @directory-client @fonts @general-desktop @graphical-admin-tools @input-methods @internet-applications @internet-browser @java-platform @legacy-x @network-file-system-client @office-suite @print-client @remote-desktop-clients @server-platform @workstation-policy @x11 mtools pax python-dmidecode oddjob sgpio genisoimage wodim abrt-gui certmonger pam_krb5 krb5-workstation gnome-pilot libXmu %end # Troisième section: Post-installation # ------------------------------------%post %end

Important ❚ ❚

❚ ❚ ❚

Les éléments qui ne sont pas obligatoires peuvent être ignorés. Un élément obligatoire manquant obligera l’installeur à poser la question à l’écran comme si vous faisiez une installation manuelle. À éviter, bien sûr, si l’on souhaite avoir une installation totalement automatique. Des commentaires peuvent être ajoutés à l’aide du symbole # au début d’une ligne. Chaque mot-clé ainsi que ses paramètres associés doivent être écrits sur une seule ligne. La documentation peut changer d’une version à l’autre. Toujours bien regarder la documentation correspondante à la version du système d’exploitation installé.

Premier fichier kickstart Vous pouvez créer votre fichier kickstart de trois manières différentes: ❚ à la main: ce que l’on fait toujours après avoir récupéré un modèle; ❚ à l’aide d’un outil graphique: Kickstart Configurator; ❚ lorsque l’on fait une nouvelle installation, quelle que soit la méthode, notre installeur va automatiquement générer un fichier /root/anaconda-ks.cfg, qui contient tous les paramètres que vous avez fournis lors de votre installation, et qui se trouve sous la forme d’un fichier texte avec la syntaxe kickstart. Il suffit dès lors de l’éditer et de le modifier afin de le faire correspondre à vos besoins. Pour notre premier exemple, récupérons un fichier kickstart créé par anaconda et qui va nous servir à installer, par exemple, une version de RedHat (voir ci-dessus).

1er MAI 2012 - N°4

9


Automatiser votre installation avec kickstart

Commentaires sur la première section Le mot-clé install et sa méthode d’installation (cdrom, harddrive, nfs ou url) doivent être sur deux lignes différentes et consécutives. La méthode d’installation permet de définir où se trouve notre source et comment y accéder (en règle générale nfs ou http). Exemples: install harddrive --partition=<part> --dir=/<dir> # Exemple: # harddrive --partition=hda3 --dir=/repository install nfs --server=<server> --dir=/<dir> # Exemple: # nfs --server=xxx.epfl.ch --dir=/export/fedora install url --url http://<server>/<dir> ou url --url ftp://<server>/<dir> # Exemple: # url --url http://mirror.switch.ch/ftp/mirror/ # fedora/linux/releases/16/Everything/i386/os

lang permet de définir la langue utilisée par défaut pour notre système d’exploitation. On trouvera la liste complète des paramètres dans le fichier /usr/share/system-config-language/ locale-list. keyboard configure le type de clavier par défaut de notre système. La liste complète des paramètres figure dans la documentation. network configure nos périphériques réseau. Les différents périphériques sont différenciés par le paramètre --device=. La seule difficulté est qu’on ne connait pas à l’avance le nom des périphériques, seul le fichier /root/anaconda-ks.cfg peut nous aider. Exemples: # Une ligne par périphérique network --onboot=yes --device=eth0 --bootproto=dhcp network --onboot=no --device=wlan0 --noipv4 --noipv6

rootpw permet de fixer le mot de passe root, il est recommandé de mettre la version encryptée du mot de passe et d’utiliser l’algorithme SHA-512 ou SHA-256 (Secure Hash Algorithm) à la place de MD5. Exemple: # SHA-256 rootpw --iscrypted $5$abcde ... dkCQbYyk2

firewall permet de configurer le pare-feu, il faut utiliser la documentation si l’on veut faire une configuration avancée. selinux est utile si l’on souhaite changer la configuration par défaut. timezone est obligatoire. Fort heureusement pour nous, nous sommes en Europe et le paramètre est toujours le même. authconfig est riche en paramètres puisqu’il sert à configurer aussi bien l’identification que l’authentification (ldap, kerberos, ...). Il permet aussi de définir l’algorithme de hachage des mots de passe (MD5, SHA-256/SHA-512). La seule manière de bien configurer notre système est de faire sa configuration sur une machine de test déjà installée à l’aide de la commande:

10 flash informatique

authconfig --kickstart ...paramètres... # Exemple (les paramètres doivent être sur une # seule ligne): authconfig --kickstart --enableshadow --passalgo=sha512 --enableldap --ldapserver=ldap.epfl.ch --ldapbasedn=o=epfl,c=ch --enableldapauth --enableforcelegacy --enableldaptls --disablefingerprint --enablemkhomedir --updateall

Sur les versions récentes, on peut aussi faire: authconfig --savebackup=myConfig

avant toute manipulation, et authconfig --restorebackup=myConfig

avant de faire d’autres essais. Les paramètres sont nombreux, mais pas tous présents, c’est pourquoi il est parfois utile de prendre la commande ci-dessus telle quelle et de la mettre dans la partie post-installation. Pour le partitionnement du disque, les mots-clés bootloader (démarrage du système), clearpart (effacement des partitions) et part (partitionnement) sont tous intimement liés. C’est la seule partie délicate, car vous pouvez détruire tout ce que contient votre unité de stockage. Il est recommandé de faire des essais sur une machine de test afin de bien comprendre comment se comporte l’installeur avec ces instructions. Ici aussi, la dénomination des disques n’est pas connue à l’avance et en cas de problèmes, il faut récupérer le fichier /root/anaconda-ks.cfg pour comprendre ce qui se passe. Voici quelques exemples de partitionnement dont on peut avoir besoin: # On réinstalle sur des partitions (sda1 & sda2) # déjà existantes # Elles seront reformatées, mais on ne touche pas # les autres partitions # bootloader --location=mbr part / --onpart=sda1 part swap --onpart=sda2 # On efface tout et on partitionne de manière # automatique # bootloader --location=mbr clearpart --all part --recommended # Si l'on ne veut pas toucher au Master Boot # Record (mbr) # On pourra utiliser l'option suivante # bootloader --location=partition

La documentation nous fournit ici une multitude de possibilités. Seuls l’expérience et des tests permettent de bien comprendre et de configurer correctement cette partie essentielle pour notre système d’exploitation. firstboot permet de désactiver une série de questions lors du premier démarrage. reboot redémarre automatiquement la machine une fois l’installation terminée.


Automatiser votre installation avec kickstart

Test Comme nous l’avons vu dans le texte précédent, il est souvent utile de faire quelques essais avant de bien construire son fichier kickstart. Si nous avons un déploiement massif, on peut se permettre de faire une installation manuelle sur une machine afin d’en récupérer le fichier /root/anaconda-ks.cfg. Mais si nous avons juste une machine à installer, nous pouvons utiliser un fichier kickstart qui ne contient que le strict minimum afin de faire une installation automatique et d’en récupérer ce même fichier. On procédera de manière itérative, mais automatique, afin d’atteindre notre but. Cela nous sera toujours utile, le jour où nous devrons réinstaller la même machine pour une quelconque raison. Voici un exemple d’un fichier kickstart minimal: # Version: RHEL 6.2 (Desktop 32-bit) install url --url=http://linuxline.epfl.ch/RHEL/ws-6/ update2/32-bit-x86/i386 lang en_US.UTF-8 keyboard fr_CH-latin1 network --bootproto=dhcp rootpw --iscrypted $1$abcde ... qwrPNHQJqJy/ authconfig --enableshadow --passalgo=sha512 selinux --disabled firewall --disabled timezone --utc Europe/Zurich bootloader --location=mbr clearpart --all part / --size=8000 --fstype=ext4 part swap --size=2000 firstboot --disabled reboot %packages @Desktop mtools %end

Commentaires sur la deuxième section Dans la section %packages, une entrée par ligne, on spécifie soit un groupe (@) de paquetages ou juste un nom de paquetage. La difficile lecture du fichier repodata/*comps*.xml, qui se trouve dans votre distribution, permet de connaître la liste complète des groupes et des paquetages (balises XML). Spécifiez les groupes avec le nom ou l’ID de groupe complet décrite dans ce fichier et les paquetages individuels par leur nom. Pour un groupe dont le nom figure explicitement sous la rubrique %packages, les paquetages marqués mandatory (dans le fichier xml) sont toujours installés, ainsi que ceux marqués comme default, ceux marqués comme optional ne le sont pas. Si l’on souhaite modifier ces options par défaut, il suffit d’inclure ou d’exclure les paquetages. On utilise un tiret (moins) pour spécifier un paquetage ou un groupe à exclure de l’installation. Par exemple: -@base -autofs

7

Commentaires sur la troisième section La partie %post est essentiellement un script, généralement écrit en GNU bash 7, mais qui peut être changé de la manière suivante: %post --interpreter /usr/bin/python # Mon script python %end

L’expérience montre que la partie post-installation devient de plus en plus difficile à écrire. Cela est dû au fait que l’installeur tourne dans un environnement de plus en plus restreint et qui de plus n’est pas votre environnement final. Les longs scripts écrits il y a de nombreuses années pour cette partie sont donc déconseillés aujourd’hui. La solution à ce problème est simple et elle est prévue par votre système, on finalise l’installation au premier démarrage de votre machine. Cela a un avantage, c’est que l’on tourne vraiment dans l’environnement réel et définitif, mais l’inconvénient c’est que cela peut prendre du temps (par exemple pour les mises à jour). La méthode recommandée est d’utiliser un service au démarrage de la machine qui exécute un script. Ce dernier vérifie qu’il n’a pas déjà été exécuté, et si tel est bien le cas, il utilise le (long) script que vous avez écrit et qui se trouve simplement encapsulé dans ce service. Ce dernier est déjà prévu par votre système et s’appelle rc.local, voici le squelette d’une post-installation: %post cat <<EOF > /etc/rc.d/rc.local #!/bin/sh # # On vérifie que le script n'a pas déjà été # exécuté if [ ! -e /root/myFile ]; then # # Mon script shell (à cause du #!/bin/sh ci# dessus) # # On marque que le script a été exécuté touch /root/myFile fi exit 0 EOF # On active le service /bin/chmod +x /etc/rc.d/rc.local %end

Et un exemple complet d’un script de post-installation: %post # # rc.local cat <<EOF > /etc/rc.d/rc.local #!/bin/sh # # Si le fichier /root/post-install n'existe pas, # on exécute le script if [ ! -e /root/post-install ]; then # # On met ici les instructions post-install à # exécuter au premier boot # # Log echo `date` > /root/post-install.log echo 'Begin post-installation script at first boot' >> /root/post-install.log # # Update yum -y -q update # # Clefs ssh

Redhat & Fedora ont utilisés busybox dans des versions précédentes (RHEL < 6 & Fedora < 14)

1er MAI 2012 - N°4

11


Automatiser votre installation avec kickstart cd /root mkdir .ssh chmod 755 .ssh cat <<EOF> .ssh/authorized_keys ssh-dss AAkTW... too long ...bGK2 barras@epfl.ch EOF # # Some configuration cp /etc/profile /etc/profile.orig cat <<EOF>> /etc/profile export HISTTIMEFORMAT=" %d.%m.%Y-%T " export HISTFILESIZE=1000 EOF # # Ajouter un utilisateur LOCAL useradd -c "Toto Local" -d /home/toto -u 500 toto usermod -p '$5$abcd$nfrql32Mc ... HfiiTyk2' toto # # Log echo `date` >> /root/post-install.log echo 'End post-installation script at first boot' >> /root/post-install.log # # On crée le fichier /root/post-install puisque # le script a été exécuté touch /root/post-install fi exit 0 EOF # # On active le service chmod +x /etc/rc.d/rc.local %end

Ne pas oublier de poser le fichier ks.cfg dans le dossier myIso si l’on n’utilise pas les autres méthodes (http ou nfs). Il faut ensuite refaire l’image ISO: mkisofs -o myBoot.iso -b isolinux.bin -c boot.cat \ -no-emul-boot -boot-load-size 4 \ -boot-info-table myIso

Quelle que soit la méthode d’amorçage choisie, vous pouvez passer ce paramètre ks=... au noyau (par exemple: à l’invite de démarrage), le noyau passera l’information au programme d’installation qui cherchera alors votre fichier kickstart. Par exemple: # Démarrez l'installation du système et saisissez # la commande suivante à l'invite: linux ks=cdrom:/ks.cfg ou linux ks=http://xxx.epfl.ch/dossier/ks.cfg ou linux ks=nfs:xxx.epfl.ch:/export/kickstart/ks.cfg

Vous trouverez toutes les possibilités disponibles pour le chargement du fichier kickstart dans la documentation officielle Anaconda Boot Options 8 sous le mot-clé ks. Pour plus de détails concernant le passage de paramètres au démarrage, je vous conseille de lire mon article sur ce sujet 9.

Installation avec kickstart Le plus important est de dire à notre installeur que l’on souhaite faire une installation via kickstart. Pour cela nous devons indiquer au boot, quelle que soit la méthode, où se trouve notre fichier texte. En règle générale, l’installation se fait depuis un CD/DVD (ISOLINUX), un disque externe (EXTLINUX), PXE (PXELINUX), clef USB (SYSLINUX), mais dans tous les cas vous devez passer le paramètre ks= dans le fichier de configuration de votre amorce. Exemple complet avec un cdrom:

Article du FI-EPFL 2012 sous licence CC BY-SA 3.0 / B. Barras

# Répertoire de montage & monter l’image pour # récupérer les fichiers mkdir iso sudo mount -o loop boot.iso ./iso # On récupère les fichiers qui se trouvent dans # le dossier isolinux mkdir myIso cp iso/isolinux/* ./myIso # On se donne les droits d’écriture chmod 644 myIso/isolinux.*

On édite le fichier myIso/isolinux.cfg, et on lui rajoute ces quelques lignes: LABEL Install from cdrom KERNEL vmlinuz APPEND initrd=initrd.img ks=cdrom:/ks.cfg LABEL Install from http KERNEL vmlinuz APPEND initrd=initrd.img http://xxx.epfl.ch/dossier/ks.cfg LABEL Install from nfs KERNEL vmlinuz APPEND initrd=initrd.img ks=nfs:xxx.epfl.ch:/export/kickstart/ks.cfg

8 9

Anaconda Boot Options: fedoraproject.org/wiki/Anaconda/Options Personnaliser vos images ISO Linux: flashinformatique.epfl.ch/spip.php?article2203

12 flash informatique


Logiciel libre

R: un logiciel libre pour l'analyse de données Frederic.Schutz@isb-sib.ch, statisticien au SIB Institut Suisse de Bioinformatique

R is the best choice of software for data analysis in different fields. It is, however, not very well known, even though it is one of the biggest successes in the free software world. Outil de choix pour l’analyse de données dans différents domaines, le logiciel R est peu connu, alors qu’il est l’un des grands succès du logiciel libre.

Fiche descriptive R

Domaine ✦ Statistique, représentations graphiques

Licence

langue

version

✦ GPLv2+

✦ multilingue

✦ 2.15

Autres alternatives libres ✦ NumPy/SciPy/MatPlotLib/Mayavi ✦ Octave

Alternatives non libres ✦ S-Plus ✦ SAS ✦ SPSS

Sites Web ✦ Projet et téléchargement: www.r-project.org

Il reste cependant relativement peu connu à l’extérieur de la communauté de ses utilisateurs, malgré qu’il ait eu les honneurs d’un article le présentant dans le New York Times 1 (journal qui l’utilise également pour préparer des infographies dans ses propres pages). R est l’un des grands succès du logiciel libre; le fait que le logiciel soit libre a permis qu’une importante communauté de statisticiens répartis dans le monde entier participent au développement, une situation qui n’aurait pas été possible avec les alternatives non libres. Contrairement à d’autres logiciels de statistiques qui se basent sur une interface graphique, R est un langage de programmation. Développé à partir de 1993 par Ross Ihaka et Robert Gentleman, il implémente le langage S originellement conçu pour l’analyse de données par John Chambers (devenu entre-temps l’un des développeurs de R) 2. L’intérêt majeur de R est l’importante collection de packages développés autour du logiciel de base, et qui garantit à la majorité des utilisateurs, quel que soit leur domaine, qu’ils trouveront l’infrastructure nécessaire pour gérer leurs données, les analyser et les représenter graphiquement. À ce jour, plus de 3700 packages sont disponibles dans CRAN (Comprehensive R Archive Network) 3, le réseau de serveurs miroirs qui soutient la diffusion de R. De plus, plusieurs projets annexes se sont formés, avec en tête Bioconductor 4 et ses 550 packages dédiés à l’analyse de données provenant des sciences de la vie. Dans ce domaine en particulier, les auteurs de nouvelles méthodes statistiques mettent la plupart du temps à disposition un package R, augmentant ainsi l’attrait du logiciel.

R est-il le bon outil pour moi ?

Plates-formes

«I believe R currently represents the best medium for quality software in support of data analysis.» John M. Chambers, 2008

Introduction Le logiciel de statistiques R (également appelé GNU S) est de plus en plus utilisé pour effectuer des analyses statistiques dans bon nombre de domaines. Dans la communauté des sciences de la vie, en particulier, il s’est imposé comme l’outil de choix pour un grand nombre de chercheurs, et a également beaucoup d’adeptes dans le monde de la finance.

Vous avez des données à traiter; peut-être devez-vous réaliser des résumés sous forme de graphiques, ou extraire des informations particulières, et vous vous demandez si R est l’outil qu’il vous faut. Avant toute chose, il n’y a aucun doute que R n’est pas forcément facile d’accès. Comme pour tout langage de programmation, il est nécessaire d’apprendre les rudiments du langage avant de pouvoir l’utiliser, et il est difficile d’être immédiatement productif. Des interfaces graphiques, telles que R Commander 5, existent également, et permettent d’utiliser des menus pour lancer certaines commandes et en voir le résultat immédiatement. Elles nécessitent quand même de comprendre les bases du logiciel (les résultats affichés seront ceux de la ligne de commande), et ne permettent généralement d’exécuter que des commandes basiques. Plusieurs cours sont disponibles sur la place lausannoise, permet-

1

www.nytimes.com/2009/01/07/technology/business-computing/07program.html?_r=1&pagewanted=all

2

Le nom de R est un jeu de mot, à la fois sur le prénom des auteurs et sur le nom du langage de programmation S

3

cran.r-project.org/ www.bioconductor.org socserv.mcmaster.ca/jfox/Misc/Rcmdr/

4 5

1er MAI 2012 - N°4

13


R: un logiciel libre pour l'analyse de données tant une bonne prise en main du logiciel. Cependant, cet investissement ne sera utile que si vous l’utilisez régulièrement par la suite. Si vous n’avez besoin que de faire un graphique ici et là, d’autres outils sont sûrement plus adaptés – sans même devoir penser à Excel, décrié (à raison) par la plupart des experts dans le domaine. Pour savoir si R contient des outils permettant d’analyser le type de données qui vous intéresse, vous pouvez consulter les CRAN Task Views disponibles sur le site Web du projet 6, et qui détaillent les différents packages classés par catégorie (finance, optimisation, génétique, etc.). Pour les programmeurs expérimentés, il faut un peu de temps pour s’habituer aux idiosyncrasies du langage, en particulier si on recherche une vitesse d’exécution élevée. Ainsi, l’utilisation de boucles (l’instruction for() classique disponible dans la majorité des langages de programmation) est à éviter le plus possible, car elle est peu efficace. Les boucles sont avantageusement remplacées par des fonctions quelquefois plus compliquées d’emploi, mais qui permettent d’agir sur l’entier d’un vecteur de données plutôt que de le traiter élément par élément, un peu à la façon des fonctions vectorisées de Matlab ou d’Octave. De manière générale, R n’est pas le logiciel le plus réputé pour ses performances, que ce soit en temps d’exécution ou pour la gestion de la mémoire 7.

Installation

fig. 1 – l’environnement de travail par défaut de R dans Windows

Utilisation Fonctionnalités de base L’installation de base de R donne accès à toutes les fonctionnalités standard pour faire de la statistique. Il connaît ainsi toutes les distributions classiques, de même que les tests d’hypothèses standard et différents modèles tels que les modèles linéaires. Les graphiques sont l’un des points forts de R, qui offre différents outils pour les réaliser 12. Le site Web de la R graph gallery 13 donne un grand nombre d’exemples de graphiques réalisés avec R, et inclut le code source nécessaire pour les reproduire. Voici un exemple tout simple d’analyse statistique avec R (le caractère > en début de ligne indique que le reste de la ligne est une commande tapée par l’utilisateur ; les autres lignes correspondent aux résultats retournés par R). Le signe # indique le début d’un commentaire (tout le reste de la ligne est ignoré). Il est possible de lire des données extérieures de plusieurs façons, entre autres en utilisant la commande read.table() qui peut lire soit des fichiers textes, soit accéder directement à une URL,

R est distribué principalement via le site d’archives du projet, CRAN. Des versions sont disponibles pour Linux, Mac et Windows. Des paquets prêts à être installés sont disponibles pour différentes distributions Linux, et des installeurs sont fournis pour Mac et Windows. L’installation de base ne pose généralement aucun problème particulier, et aucune dépendance particulière (autres que celles gérées par les gestionnaires de paquets sous Linux) n’est nécessaire. Sous Linux, une fois installé, R se présente sous la forme d’une interface en ligne de commande acceptant les instructions que vous lui donnerez. Sous Windows et Mac, un environnement de développement basique est fourni (fig. 1). Il est néanmoins fortement recommandé d’utiliser l’un des nombreux environnements disponibles qui rendront votre travail bien plus facile et efficace. On peut citer le mode ESS (Emacs speaks statistics) pour Emacs, qui permet de lancer R sans > data <- read.table("http://lausanne.isb-sib.ch/~schutz/data/class.txt") sortir de l’éditeur, ou Rstudio 8 et > head(data) # affiche les premières lignes du jeu de données StatET 9 (basé sur Eclipse) sous Name Gender Age Height Weight 1 JOYCE F 11 51.3 50.5 Windows. Sur cette plate-forme, il 2 THOMAS M 11 57.5 85.0 existe aussi des éditeurs qui offrent 3 JAMES M 12 57.3 83.0 le coloriage syntaxique du code R, 4 JANE F 12 59.8 84.5 5 JOHN M 12 59.0 99.5 tel que Tinn-R 10 ou Notepad++ 11. 6 LOUISE

F

12

56.3

77.0

6

cran.r-project.org/web/views/

7

L’une des catégories citées dans la note précédente est justement High Performance Computing, et décrit tous les packages R qui peuvent améliorer ses performances.

8

rstudio.org www.walware.de/goto/statet www.sciviews.org/Tinn-R/ notepad-plus-plus.org et sourceforge.net/projects/npptor Voir le manuel R Grahical Manual, rgm2.lab.nig.ac.jp/RGM2 addictedtor.free.fr/graphiques/

9 10 11 12 13

14 flash informatique


R: un logiciel libre pour l'analyse de données par exemple: Nous avons ici les données de taille et poids de 19 adolescents. La variable data est de type dataframe, c’est-à-dire sous forme de tableau où chaque colonne représente une variable différente (de type arbitraire) et chaque ligne une observation. La commande > summary(data) Name Gender ALFRED: 1 F: 9 ALICE: 1 M: 10 BARBARA: 1 CAROL: 1 HENRY: 1 JAMES: 1 (Other): 13

Age Min.: 11.00 1st Qu.: 12.00 Median: 13.00 Mean: 13.32 3rd Qu.: 14.50 Max.: 16.00

Height Min.: 51.30 1st Qu.: 58.25 Median: 62.80 Mean: 62.34 3rd Qu.: 65.90 Max.: 72.00

nous donne un résumé de chacune des variables: Un diagramme de dispersion nous permet de représenter graphiquement la taille en fonction du poids. En plus des données que l’on veut représenter (les composants Age et Height), la fonction nous permet de spécifier le type et la couleur des points (choisie en fonction du sexe) et les légendes des axes:

summary()

> plot( data$Age, data$Height, col=data$Gender, pch=21, bg=data$Gender, xlab="Age", ylab="Taille", main="Diagramme de dispersion")

La commande lm() nous permet d’obtenir la régression linéaire de la taille en fonction de l’âge. La formulation Height ~ Age (taille en fonction de l’âge) permet de spécifier quelle variable correspond à l’observation et quelle variable est explicative. Le résultat peut être stocké dans une variable, et réutilisé plus loin (par exemple, on pourrait obtenir des informations détaillées sur le modèle à l’aide de la commande summary()): > model <- lm( Height ~ Age, data=data) > model Call: lm(formula = Height ~ Age, data = data) Coefficients: (Intercept) Age 25.224 2.787

Dans la dernière ligne, nous obtenons l’ordonnée à l’origine et la pente de la droite de régression. Nous pouvons également calculer la corrélation entre ces deux variables, qui vaut 0.81:

alors besoin de l’un des nombreux packages supplémentaires disponibles pour R. Certains sont disponibles avec l’installation de base, et doivent simplement être chargés en mémoire à l’aide de la commande require(). Les autres peuvent généralement être téléchargés et installés directement depuis le logiciel, soit via la ligne de commande ou l’interface Weight graphique. Sous Windows, l’option Min.: 50.50 Install package(s) du menu Pac1st Qu.: 84.25 kages permet de choisir les packages Median: 99.50 Mean: 100.03 d’intérêt et de les installer facilement. 3rd Qu.: 112.25 Certaines distributions Linux (en parMax.: 150.00 ticulier Debian et Ubuntu) proposent également ces outils parmi les packages du système, assurant ainsi leurs mises à jour automatiques et la gestion des dépendances avec la version du logiciel de base.

Aide et support R est livré avec une fonctionnalité d’aide intégrée, contenant une page par commande R, que l’on peut appeler en tapant simplement ?commande ou help(commande). Très complètes, ces pages comprennent généralement un exemple d’utilisation, que vous pouvez directement lancer pour voir comment la commande fonctionne (ainsi, la commande example(lm), donnera un exemple complet d’utilisation d’un modèle linéaire dans R, y compris les graphiques pertinents). Elles sont néanmoins relativement techniques, et sont probablement plus utiles comme aidemémoire pour quelqu’un qui connaît déjà la fonction que pour un débutant. De plus, le problème qui se pose souvent (y compris pour les utilisateurs expérimentés) est de savoir quelle est la commande à utiliser, voire même de connaître l’existence d’une commande qui pourrait être utile dans une analyse donnée. Il est également possible de chercher un mot-clé dans toutes les pages d’aide (avec la commande help.search("motcle")). Un certain nombre de manuels sont disponibles sur le site du projet; s’ils fournissent de bonnes références, ils ne sont pas non plus forcément idéaux pour des débutants. Le tutoriel proposé 14 est Diagramme de dispersion

> cor( data$Height, data$Age) [1] 0.8114343

> abline(model)

70 – O O O

65 – Taille

Le langage R utilise un modèle de programmation-objet relativement léger et transparent pour l’utilisateur, mais qui permet de simplifier bon nombre d’opérations. Ainsi, la variable model que nous avons définie est un objet, de type lm (modèle linéaire). Pour ajouter la droite de régression sur le graphique que nous avons dessiné, la commande abline() peut directement prendre comme paramètre le modèle créé précédemment, et, reconnaissant le type d’objet, en extraire les informations dont il a besoin:

O

O

O

O

60 –

O O O

O

| 14

| 15

O O O

O O

O

| 12

| 13

55 –

Le résultat est donné sur la figure 2.

Fonctionnalités plus avancées Si vous avez besoin d’aller plus loin, soit que vous ayez des analyses moins standard à effectuer ou que vous travailliez avec des données qui ont besoin d’un traitement particulier, vous aurez

| 11

| 16

Age fig. 2 – diagramme de dispersion de nos données, avec la droite de régression correspondante

1er MAI 2012 - N°4

15


R: un logiciel libre pour l'analyse de données très complet (peut-être même un peu trop, pour un débutant). Un grand nombre d’autres tutoriels sont disponibles sur divers sites Web, de même que de nombreux livres. Certains d’entre eux sont dédiés à l’utilisation de R dans un domaine particulier (biostatistique, finance, etc.) et peuvent être précieux pour le débutant. On peut recommander en particulier les livres de P. Dalgaard (en anglais) et de P. Lafaye de Micheaux (en français). Pour la recherche d’informations en ligne, le nom très court du logiciel est malheureusement un handicap, et peut provoquer quelques difficultés avec les moteurs de recherche. Si ces derniers se sont améliorés et reconnaissent souvent R comme le nom d’un logiciel, il est utile de connaître l’existence de Rseek 15, un moteur dédié à R. La mailing-liste principale concernant R, R-help 16, est fréquentée par les développeurs principaux et beaucoup d’autres personnes compétentes, et les archives sont riches en discussions intéressantes. Il est utile de savoir que certains développeurs ne prennent pas de gants quand ils répondent aux questions, pouvant donner l’impression que le climat de la liste est hostile, mais le problème est mineur.

Conclusion R est un projet extrêmement dynamique, avec un développement rapide et plusieurs nouvelles versions par année. Le revers de la médaille est qu’il est souvent nécessaire de le mettre à jour, les packages les plus récents nécessitant généralement la dernière version du logiciel, qui n’est pas toujours entièrement compatible avec les versions précédentes. Une telle mise à jour nécessite la réinstallation complète du logiciel. C’est un logiciel mature et la panoplie étendue d’outils qu’il offre fait que tout utilisateur qui doit effectuer des analyses statistiques trouvera probablement chaussure à son pied. La grande communauté d’utilisateurs et le nombre élevé de documents disponibles font qu’il n’est pas compliqué d’apprendre à l’utiliser, à condition d’être prêt à s’investir un peu sur le long terme.

Références Site Web ❚

www.r-project.org

Livres ❚ ❚

DALGAARD, Peter. Introductory statistics with R. Springer, 2008. LAFAYE DE MICHEAUX, Pierre, DROUILHET, Rémy & LIQUET, Benoit. Le logiciel R: Maîtriser le langage - Effectuer des analyses statistiques. Springer, 2011.

Article du FI-EPFL 2012 sous licence CC BY-SA 3.0 / F. Schütz

14 15 16

cran.r-project.org/doc/manuals/R-intro.html www.rseek.org/ stat.ethz.ch/mailman/listinfo/r-help

16 flash informatique

Brèves

Le Musée Bolo et la EFGAMP Depuis plus de soixante ans, les jeux vidéo influencent notre manière de penser et de vivre ensemble; ils sont, de ce fait, partie intégrante de notre patrimoine culturel. Un peu partout, se sont mis en place des espaces pour conserver ce patrimoine, tel le Musée Bolo à Lausanne. Dans le but de regrouper ces acteurs européens en matière de conservation du patrimoine lié aux jeux vidéo, la fédération EFGAMP (European Federation of Game Archives, Museums and Preservation Projects) est née à Rapallo, Italie le 24 mars 2012. Cette fédération répertorie le patrimoine numérique, recueille et diffuse les connaissances sur la conservation numérique, renforce la société européenne de l’information, représente ses membres et partenaires dans les autres communautés de préservation numérique au niveau mondial, fait avancer les conditions de préservation numérique et et aide à l’accessibilité du patrimoine du divertissement numérique. Voici quelques institutions reconnues de sauvegarde du patrimoine numérique: AIOMI, association italienne pour le multimédia interactif, www.aiomi.it. Computerspielemuseum, musée des jeux numériques allemand, www.computerspielemuseum.de. MO5.COM, association française dédiée à la préservation et la diffusion au public du patrimoine numérique, www.mo5. com. National Media Museum/ National Video Game Archive projet entre le musée anglais du multimédia et la Nottingham Trent University, www.NationalMediaMuseum.org.uk. Bolo Museum & Fondation Mémoires Informatiques, musée hébergé depuis 2002 dans les locaux de la Faculté Informatique et Communications de l’EPFL, www.bolo.ch & www.memoires-informatiques.org, lire aussi l’article du FI 10/11, La disparition programmée de l’ordinateur, flashinformatique.epfl.ch/spip.php?article2498. Espace Turing, musée des sciences du numérique, mathématiques et patrimoine informatique de l’université de Nice - Sofia Antipolis www.espace-turing.fr. Silicium, association toulousaine rassemblant les vieux ordis et les vieilles consoles pour continuer à les faire revivre, www.silicium.org. Association WDA (France) www.wda-fr.org, … ■


À votre service

Installations automatisées: Windows 7 Laurent.Kling@epfl.ch, EPFL -STI, coordinateur informatique à la Faculté des Sciences et Techniques de l’Ingénieur Julien.Aubry@epfl.ch, EPFL -Domaine IT, informaticien à Poséidon

Install your customized computer in 40 minutes Installez votre ordinateur sur mesure en 40 minutes

Pour la Faculté STI, Windows XP représente encore 58% des postes de travail visibles dans Active Directory (chiffres de mars 2012). 800 700 600

Amélioration informatique dans la Faculté STI

500 400 300

Chacun de nous a été confronté à un ordinateur qui nécessite une remise en état complète: ❚ un système d’exploitation obsolète, ❚ une machine attaquée par des virus, ❚ un appareil fraîchement arrivé. Pour cette activité complexe, on doit suivre des recettes cabalistiques dignes des meilleurs sorciers. Un travail d’amélioration est réalisé en commun par le Domaine IT de l’EPFL avec le service informatique de la Faculté STI pour permettre à chacun de disposer des outils les plus efficaces possibles. Un point important est la simplicité des moyens offerts, en effet les responsables informatiques au niveau des laboratoires sont souvent des miliciens qui désirent résoudre facilement des problèmes quotidiens. Pour assurer à chacun une liberté de choix de la plate-forme et compte tenu du parc actuellement installé, trois systèmes d’exploration ont été retenus pour ces projets: ❚ Windows 7 en 64 bits, ❚ OS X Lion en 64 bits, ❚ Linux en 64 bits. Le premier outil est un service pour l’installation automatique de Windows 7, fruit de la collaboration entre le DIT (Julien Aubry) et la STI-IT (David Desscan & Laurent Kling); il est réservé aux responsables informatiques et sera disponible par étape: Mai 2012, tests et phase pilote Juin 2012, production EPFL-STI Septembre 2012, production EPFL Le site Web pour ce service est install-os.epfl.ch/. Il permettra également de faire face à la fin de vie de Windows XP et son remplacement par Windows 7. Pour mémoire, le cycle de vie de Windows XP (windows.microsoft.com/en-us/windows/ products/lifecycle): Début

31 décembre 2001

Fin vente

30 juin 2008

Fin OEM

22 octobre 2010

Fin support

8 avril 2014

200 100 0

2000

XP

Vista

7

Un PC à cœur ouvert Nos machines se décomposent en trois éléments: 1 le matériel 2 le système d’exploitation (Operating System) 3 les logiciels Dans cette description deux éléments essentiels ont été oubliés: ❚ les pilotes (drivers), ❚ les besoins spécifiques de l’utilisateur. Matériel

Système

Pilotes

Logiciels

Besoins

schémas d’un ordinateur

Pilotes à bord Dans un antagonisme ancestral, deux tribus d’ingénieurs se font face en méprisant cordialement l’adversaire: ❚ les concepteurs de matériel qui idolâtrent le silicium, ❚ les concepteurs de logiciel qui, réunis dans différents clans aux noms exotiques (Java, Python, C), ne jurent que par algorithme et beautés du code. Situés entre ces deux groupes, les responsables informatiques doivent leur extorquer des bribes d’informations pour permettre à nos machines d’exister. En effet, comment imaginer une séparation totale de l’esprit par rapport aux réalités physiques ? Sans le 1er MAI 2012 - N°4

17


Installations automatisées: Windows 7 savoir, vous avez déjà été exposé aux relents de cette guerre avec des questionnements comme: ❚ où est le pilote ? ❚ il faut upgrader votre driver (ou votre pilote n’est pas à jour), ❚ pourquoi ma carte vidéo ne fonctionne pas ? ❚ pourquoi le son ne fonctionne plus ? Chaque matériel possède un logiciel spécifique lié au système d’exploitation appelé pilote (driver). Il est souvent associé au programme contenu dans le composant physique dénommé progiciel ou firmware. Ce pilote permet au chef d’orchestre (système d’exploitation) de diriger son ensemble (matériels) en exécutant une partition (application) propre à chaque musicien (composant). Le rôle d’interface entre les équipements et l’application rend les pilotes indispensables.

La recherche du Graal Une version artisanale de l’installation d’un ordinateur consiste à procéder à ces étapes: ❚ le système d’exploitation, ❚ les pilotes, ❚ les mises à jour, ❚ les logiciels. La durée d’installation pour un poste de Windows 7, 64 bits, représente un jour de travail. La première idée qui vient à l’esprit est de réaliser un moule informatique: ❚ faire le processus en entier, ❚ créer une copie conforme, ❚ reproduire l’image sur tous les ordinateurs identiques. Cela requiert deux conditions obligatoires, figer le matériel et les logiciels. On industrialise le clonage, mais chaque modification de l’environnement nécessite l’adaptation du modèle. Possible dans un monde bureautique, cette approche s’échoue devant les bancs de sable mouvant des besoins scientifiques. Dans l’idéal, l’installation automatique doit: ❚ accepter différents constructeurs, ❚ intégrer le maximum de mises à jour du système, ❚ être capable d’offrir des combinaisons spécifiques, une par utilisateur. Si une configuration sur mesure pour chaque usager est l’objectif ultime, ce projet s’arrête à un agencement distinct pour chaque laboratoire.

Quatre étapes pour installer automatiquement Windows 7 1– créer une clé USB de démarrage Pour découpler l’installation de l’infrastructure, le démarrage se fait sur une clé USB. La création de celle-ci est particulièrement simple: ❚ disposer d’un poste de travail Windows 7, ❚ monter un volume réseau, ❚ connecter une clé USB vierge, ❚ exécuter le programme, il efface la clé USB, la formate et copie le contenu du disque de démarrage.

18 flash informatique

à gauche: démarrage de l’installation, sélection de la langue, choix du disque; à droite: installation des pilotes, désignation de l’unité de l’utilisateur, machine terminée

2- démarrer l’installation L’installation utilise le réseau fixe, la seule condition est de disposer d’une prise DHCP. Pour la Faculté STI, voir l’article Liberté sur les réseaux fixes dans ce numéro.

3- choisir la langue et le disque Après un démarrage rapide et une authentification de l’administrateur, il faut définir la langue et le disque dur. Ces deux étapes sont automatisables, mais la nécessité de choisir le volume permet de tenir compte de circonstances particulières comme plusieurs supports.

4- Définir l’utilisateur Après une installation entièrement automatique, le système à jour est disponible. Miraculeusement, les pilotes sont implantés correctement. Le seul travail est la personnalisation de l’appareil: ❚ Authentifier le responsable informatique: ◗ montage sécurisé du serveur d’application. ❚ Collecte des informations de l’utilisateur final: ◗ numéro identité EPFL (SCIPER), ◗ numéro d’inventaire, ◗ changement du mot de passe administrateur. ❚ Exécution automatique des installations selon la hiérarchie du client.

La hiérarchie EPFL intégrée Chaque personne de l’EPFL est enregistrée au 5e niveau d’une hiérarchie. Pour prendre un exemple, Julien Aubry désire installer un ordinateur pour Laurent Kling. EPFL P P-DIT DIT-SB Julien Aubry EPFL STI STI-SG STI-IT Laurent Kling EPFL STI STI-DEC CF-STI Laurent Kling


Installations automatisées: Windows 7 Dans ce cas, l’utilisateur appartient à deux structures liées à deux fonctions différentes, l’informaticien ne fait pas forcément partie de la même structure, qu’importe, car: ❚ l’administrateur est identifié, ❚ l’usager est défini, ❚ le rattachement de celui-ci est choisi. En conséquence, l’utilisateur peut hériter de deux configurations distinctes pour ses deux ordinateurs situés à deux endroits… Dans un principe subsidiaire, le plus grand contenant définit la configuration commune à toute l’EPFL: EPFL

Antivirus Open Office Microsoft Office 2010

Puis, pour la faculté STI, deux utilitaires sont installés: STI

7zip Foxit

Pour les services généraux, STI-SG, uniquement un lecteur de film est installé: STI-SG

VLC

Et finalement, pour les informaticiens de la faculté STI-IT, les outils d’administration de Windows sont installés: STI-IT

Remote Server Administration Tools

C’est la somme de toute la hiérarchie qui définit la machine finale. Dans une version ultérieure de l’outil, il sera possible de créer plusieurs configurations au niveau de l’unité. <?xml version="1.0"?> <Install> <Mandatory> <Name> <label>Anti-Virus</label> <Execute>setup.exe</Execute> <Args>/Silent /Install=Agent ...</Args> </Name> ... </Mandatory> <EN> ... <Name> <label>Openoffice-3.3.0_en</label> <Execute>setup.exe</Execute> <Args>-qn</Args> </Name> </EN> <FR> ... <Name> <label>Openoffice-3.3.0_fr</label> <Execute>setup.exe</Execute> <Args>-qn</Args> </Name> </FR> <Manufacturer> <Name> <label></label> <Execute></Execute> <Args></Args> </Name> </Manufacturer> </Install>

Les mécanismes internes Le choix s’est porté sur les méthodes fournies par Microsoft. Seul le programme pour la post-installation fut développé. Celui-ci crée la liste de logiciels en fonction de la hiérarchie de l’utilisateur, puis les installe sans intervention (unattended). WDS (Windows Deployment Services) est l’application qui permet le déploiement d’installations réseau et la personnalisation de celles-ci. Il est nécessaire d’employer un serveur WDS Windows 2008 R2 64 bits pour procurer dynamiquement les pilotes spécifiques à un modèle d’ordinateur. Le DVD de Windows 7 comprend deux fichiers essentiels pour l’installation: ❚ le démarrage (boot.vim), ❚ l’image (install.vim). Deux catégories de pilotes sont obligatoires pour le déroulement correct du processus par le réseau: disque et réseau fixe. Certaines technologies sont apparues après le 22 octobre 2009, date de sortie de Windows 7. En conséquence, il est nécessaire d’incorporer dans ces deux images les pilotes des composants disponibles après cette date: ❚ SATA 2, ❚ USB 3.0, ❚ cartes réseau fixes. Pour les spécialistes, c’est la commande DISM.exe contenue dans l’outil WAIK (Windows Automated Installation Kit for Windows 7) qui permet cet ajout. Les PC supportés sont les ordinateurs de référence disponibles dans l’outil Business to Business de l’EPFL (à la date d’aujourd’hui cinq configurations pour les portables, trois pour les postes fixes avec les constructeurs Dell, HP et Lenovo). L’interface entre le matériel et le système d’exploitation étant réalisée, il faut intégrer l’ensemble des mises à jour dans l’image d’installation (install.vim). Ce travail doit être répété pour chaque nouveau composant physique (car il possède un pilote) et lors des mises à jour de sécurité chaque 2e mardi du mois. Pour éviter que chaque administrateur doive refaire ce processus, Julien Aubry le fait pour l’ensemble de la communauté EPFL. Ensuite, une version réduite de Windows appelé WinPE est générée (Windows Preinstallation Environment) qui permet le démarrage sous trois formes: ❚ clé USB, ❚ image ISO, ❚ réseau (Boot PXE). Dans la première étape de ce projet, seules les deux premières méthodes sont mises à disposition. L’installation complète par le réseau (Boot PXE) est prévue dans une phase ultérieure. Le dernier élément nécessaire est la création d’un fichier de réponse XML qui définit les transitions internes avec un éditeur graphique. Ces modules invisibles pour le client autorisent le fonctionnement correct de l’outil WDS.

configuration en XML des installations

1er MAI 2012 - N°4

19


Installations automatisées: Windows 7

choix des pilotes pour un constructeur

Pilotes ad hoc L’arrivée de l’allocation dynamique des pilotes simplifie le travail réalisé en amont (fig. 5): avant: intégration de tous les pilotes pour toutes les machines supportées, après: création de groupe associé à un filtre spécifique à un modèle d’ordinateur. Ce changement permet d’éviter des conflits et réduit la taille de l’image d’installation. Le seul bémol est le temps nécessaire pour déterminer la relation entre matériel et pilotes qui ralentit légèrement le processus.

Une installation sur mesure Le principe hiérarchique est décrit au début de cet article. Sur le plan opérationnel, le serveur est organisé selon la même hiérarchie de l’EPFL. Chaque niveau hiérarchique renferme un dossier Script contenant la description des installations à réaliser.

breuses méthodes qui permettent de s’affranchir de l’intervention de l’utilisateur.

Des informations préservées L’ensemble des paramètres définis pour l’administrateur, l’utilisateur et la machine sont conservés dans la base de registre: [HKEY_LOCAL_MACHINE\SOFTWARE\EPFL\computer] "hier1"="epfl" "hier2"="sti" "hier3"="sti-sg" "hier4"="sti-it" "Inventaire"="bXXXXXX"

Le découplage de chaque niveau de la hiérarchie offre un tri facile de tous les ordinateurs installés pour une unité. Ainsi, on peut facilement imaginer une liaison avec des outils externe comme l’inventaire GLPI décrit dans l’article: Aider l’utilisateur et le responsable informatique paru dans le FI4/11, flashinformatique. epfl.ch/spip.php?article2300.

Conclusion: unus pro omnibus, omnes pro uno

hiérarchie du serveur d’application

Le fonctionnement automatique nécessite un mode d’installation silencieuse. Celui-ci dépend de l’encapsulation de l’application. Comme point de départ, le site Web AppDeploy contient de nom-

20 flash informatique

Une curieuse succession d’événements ont conduit la célèbre phrase un pour tous, tous pour un du roman d’Alexandre Dumas à s’inscrire en latin dans la coupole du palais fédéral suisse, fr.wikipedia.org/wiki/Unus_pro_omnibus,_omnes_pro_uno. Toute proportion gardée, cette devise peut s’appliquer à ce projet. Le DIT met à disposition de tous les informaticiens de notre institution le savoir-faire et la ténacité dans le maintien de cette solution. Chacun contribue à l’édifice en incorporant l’installation de logiciels spécifiques. La centralisation autorise une économie d’échelle importante. Pour un responsable informatique, la durée épargnée est appréciable, d’un jour de travail à quarante minutes, temps qui peut être utilisé pour des activités plus valorisantes. Des solutions basées sur les mêmes principes pour Macintosh et Linux permettront d’étendre ce service dans le futur. ■


Analyse

Lecture numérique ou le nouvel iPad Laurent.Kling@epfl.ch, EPFL -STI, coordinateur informatique à la Faculté des Sciences et Techniques de l’Ingénieur

New iPad, gadget or new paradigm? Nouveau iPad, gadget ou évolution significative ?

Devant chaque évolution technologique, on peut s’attendre à deux réactions: ❚ négative, c’est un gadget qui ne sert à rien, ❚ positive, essayons, cela représente peut-être une nouvelle manière de travailler. Si le progrès tient ses promesses, ces deux attitudes disparaissent avec le temps. Finalement, tout le monde passe aux nouveaux modèles en oubliant allègrement les réticences passées. Au premier abord, le nouvel iPad ne se distingue pas de son prédécesseur, les changements semblent insignifiants. Dès que l’appareil est allumé, on reste béat devant la qualité de l’écran qui représente bien plus que la simple lecture des caractéristiques techniques. Cette transformation me rappelle quelques progrès sur lesquels je ne désire plus revenir: ❚ noir et blanc à la couleur, ❚ terminal alphanumérique à l’écran graphique, ❚ papier zébra à l’imprimante laser. La première imprimante LaserWriter possédait une résolution de 300 DPI (points par pouce), soit 12 points par millimètre. Avec 10 points par mm, l’écran du nouvel iPad en est très proche. D’un écran d’ordinateur, on passe à celle de la page imprimée. Tous les textes sont d’une lisibilité parfaite. Les autres liseuses numériques font pâle figure devant cette révolution. Le premier iPad devient flou face à une telle perfection. Je n’évoque même pas les appareils utilisant la technologie d’encre électronique dont le temps de réponse est rédhibitoire. En 1984 devant le premier Macintosh, j’aurais pris comme extraterrestre toute personne qui m’aurait annoncé que dans le futur, je disposerais d’un engin portable, tactile, couleur avec une définition quatre fois supérieure et pesant moins que 1/10e de son poids. premier Macintosh 1984

dernier iPad 2012

9 pouces

9.7 pouces

72 DPI

264 DPI

pixels

512 x 342

2048 x 1536

couleur

noir/blanc

couleur

7484 g

662 g

diagonale de l’écran résolution

poids

La proportion conservée de 4/3 (1.33) est plus agréable à l’œil, proche de celui d’une feuille A4 (√2 = 1.41). Le texte paraîtrait écrasé avec le format plus oblong de la télévision haute définition en 16/9 (1.77).

bureau Macintosh 128k sur le nouvel iPad

Vecteurs ou pixels En 1963, époque où la majorité des programmeurs utilisaient encore des cartes perforées comme interface utilisateur, Ivan Suntherland élabore la première interface graphique pour sa thèse au MIT. En combinant un ordinateur de la taille d’une pièce avec un oscilloscope, il créa la première métaphore d’un logiciel de dessin, Sketchpad. Le faisceau électronique dessinait les vecteurs représentant lignes, textes et symboles. Il développa ainsi les principes toujours employés actuellement. La notion de coupure d’une fenêtre sur un espace infini est pratiquée par chacun de nous quand nous nous déplaçons dans une fenêtre informatique.

En 1963, la première interface graphique – www.cl.cam.ac.uk/techreports/ UCAM-CL-TR-574.pdf

Poursuivant cette logique de vecteurs, Tektronix développa le premier terminal graphique utilisable par tous, la série 4000. En 1983, le modèle le plus avancé, 4054, possédait une définition 1er MAI 2012 - N°4

21


Lecture numérique ou le nouvel iPad théorique de 4096 x 3125 points. Son seul défaut était la nécessité de rafraîchir régulièrement tout l’écran, car il n’était pas possible d’effacer un trait. À la même époque apparaissaient les premières cartes couleur de 1024 x 768 pixels. La différence de résolution était flagrante, 786’000 pixels comparés aux 12’800’000 points.

Quadrature du cercle

Finalement, la colorimétrie est celle d’un moniteur couleur bien calibré. Combiné avec une dynamique de rendu quasiment parfait, le nouvel iPad offre une qualité très élevée aux photographes. Dans ce graphique, la courbe blanche représente l’espace de couleur perçue par un être humain, le triangle noir le résultat produit par un écran théorique (méthode additive, la somme des rouge, vert et bleu génère le blanc).

La division de l’écran en pixels pose un problème fondamental. Si vous essayez de dessiner un disque ou une ligne en remplissant un papier quadrillé, le résultat apparaît grossier. Pour éviter les escaliers, la méthode la plus simple d’un point de vue informatique et de tracer le cercle au double de sa taille puis de le réduire de moitié. Cette technique s’appelle anti crénelage (antialiasing) et tous nos appareils modernes l’utilisent maintenant.

0.700 –

0.600 – Green 0.500 –

Red

D6500 0.400 – –

> 0.300 –

0.200 – new iPad iPad 2 iPhone 4 écran théorique

Disque en noir et blanc, anticrénelé et doublement de la résolution 0.100 –

Un écran LCD est confronté exactement à ces problèmes, il utilise les mêmes solutions. Quand la résolution atteint des sommets, plus de 200 DPI, vos yeux n’aperçoivent plus les limites des carrés. Le texte apparaît plus net. C’est l’exploit réalisé avec cet objet contenant 2048 x 1536 pixels. L’agrandissement de la portion commune entre le bureau d’un Macintosh 128k avec une icône sur cette nouvelle tablette montre le progrès obtenu depuis 26 ans.

Bureau Macintosh 128k superposé avec une icône de l’iPad de 3ème génération

Couleurs photographiques Il ne faut pas oublier que chaque pixel est composé de trois couleurs possédant chacune un transistor transparent. Avoisinant dix millions, le nombre de transistors devient totalement vertigineux. Le principal problème de leur taille microscopique est un effet de contagion, l’allumage d’un pixel entraîne l’allumage des pixels adjacents (crossover). La solution retenue est audacieuse, éloigner les connexions électriques des transistors avec une couche transparente de quelques microns. Supprimant le défaut, cela offre également une plus grande séparation des pixels donc une meilleure lisibilité: www.displaysearchblog.com/2012/03/how-applesqueezes-four-times-the-number-of-pixels-into-its-new-ipadretina-display/.

22 flash informatique

Blue 0.000 –| 0.000

| 0.100

| 0.200

| 0.300

| 0.400

| 0.500

| 0.600

| 0.700

u’

Espace colorimétrie IEC, Copyright© 1990-2012 by DisplayMate® Technologies Corporation.

Une autonomie conservée Le quadruplement des pixels et la technologie 4G LTE engendrent naturellement une consommation accrue d’énergie. De plus, le processeur possède 4 GPU [Graphique Processeur Unit, unité de calcul graphique] offrant des performances remarquables. Pour éviter de se retrouver en panne sèche au milieu d’un vol transatlantique, Apple a quasiment doublé la batterie intégrée (de 25 à 42.5 W/h). À titre de comparaison, celle d’un iPhone 4S est de 5.3 W/h. Avec cet apport, le temps d’utilisation reste supérieur à 10 h, probablement plus si on n’emploie pas le réseau et qu’on ne regarde pas des vidéos. Si les appareils évoluent, certaines habitudes subsistent. Périodiquement j’entends des discussions sur la manière la plus efficace pour prolonger la durée de vie d’une batterie lithium-ion polymère: ❚ Toujours décharger complètement son iPad, iPhone, MacBook. ✗ cela est même contre indiqué, car cela réduit la durée de vie de votre équipement. C’est un reliquat d’une ancienne technologie (effet mémoire de la batterie Nickel Cadmium) ✓ réaliser un cycle complet 1x par mois pour la maintenir en bonne forme. ❚ Je peux utiliser ma tablette uniquement 3 ans, 1000 cycles de charge complets. ✗ si vous rechargez régulièrement votre appareil. 5 recharges à 20 % = 1 cycle de charge à 100 %. ❚ N’importe quelle prise USB peut charger mon iPad. ✗ si le connecteur n’est pas capable de fournir au minimum 1.1 A, l’iPad ne se chargera pas (la norme USB définit un courant de 0.5 A).


Lecture numérique ou le nouvel iPad ✓ si l’appareil est un Mac récent, il est capable de fournir l’énergie supplémentaire: support.apple.com/kb/ HT4049?viewlocale=fr_FR&locale=fr_FR. ❚ Je peux travailler et charger en même temps. ✗ sur un ordinateur. ✓ avec le chargeur d’origine. ❚ Le chargeur est spécifique. ✓ c’est une alimentation à découpage acceptant une grande étendue de tension (100 - 240 V) avec un courant élevé [10 W = 2 A pour 5 V]. Il est préférable de l’utiliser. ❚ Je n’éteins pas automatiquement l’appareil. ✗ l’extinction automatique à 1 minute prolonge la batterie. La durée de verrouillage par code est indépendante. ❚ Il est possible de régler facilement la luminosité pour économiser l’énergie. ✓ l’astuce est la suivante: double click sur le bouton application, suivi d’un balayage de gauche à droite pour avoir le panneau de contrôle ❚ Bluetooth est activé, mais je ne sais pas pourquoi. ✗ Bluetooth est une connexion sans fil à faible portée. Elle consomme de l’énergie, à activer si on utilise un périphérique avec cette norme. ❚ Je suis fatigué de recevoir des e-mails toute la nuit. ✗ il est possible de configurer son client pour récolter les messages électroniques uniquement quand on ouvre l’application mail (suppression Push). ❚ Je suis ennuyé de voir les réseaux WiFi avoisinants en déplacement. ✗ désactiver la connexion automatique et/ou le WiFi ❚ Je n’utilise pas le GPS ✓ dans ce cas, il faut désactiver le récepteur GPS incorporé ! Le site Apple explique ces principes: www.apple.com/fr/batteries/; et les bonnes habitudes: www.apple.com/fr/batteries/ipad.html.

Une dictée vocale qui joue à cache-cache Une autre nouveauté qui peut passer inaperçue est la dictée vocale. Cette fonction n’est pas facile à activer, il faut procéder en trois étapes: Ajouter un clavier français: Réglages, Général, clavier, claviers internationaux, ajouter un clavier; activer le clavier français (France, pas le français canadien ni le suisse français). Ensuite il faut personnaliser son aspect: Cliquez sur la flèche, Choisir une apparence visuelle QWERTZ Finalement, il faut activer la dictée vocale. Le résultat après ces manipulations ésotériques correspond à nos attentes, un clavier suisse avec la dictée vocale active. L’opération est réussie si un microphone apparaît à gauche de la barre d’espace en éditant un texte. N’oubliez pas de supprimer le clavier suisse français, car il est maintenant inutile !

clavier français au format QWERTZ

Pour l’allemand, il faut faire les mêmes opérations en choisissant le clavier allemand (Allemagne). Cerise sur le gâteau, si la connexion internet est absente, votre clavier virtuel s’est adapté en supprimant cette fonction. Ensuite, on peut discuter directement devant son iPad. Cet article a d’abord été écrit, puis dicté sur cet appareil. La reconnaissance vocale n’est pas toujours exacte, cependant la capacité de sélectionner avec son doigt la partie défectueuse, puis énoncer le remplacement est parfaite. La durée d’enregistrement maximum est celle d’un paragraphe. La ponctuation est comprise, virgule, tiret, ouverture et fermeture des parenthèses et le point.

Un retour difficile Quand je reviens sur mon iPad de la première génération, le changement est flagrant, les pixels apparaissent, et une certaine nostalgie me saisit. Je laisse avec regret à mon fils le dernier iPad qu’il a acheté en économisant sou après sou. ■

Responsables informatique d’unité, n’oubliez pas notre rendez-vous printanier. Le prochain ForumIT de printemps aura lieu le jeudi 31 mais 2012 à 14h15 en salle SG0211 Le programme détaillé pour parviendra par e-mail dit.epfl.ch/forumIT

1er MAI 2012 - N°4

23


À votre service

Comment marcher droits à l’EPFL ? Laurence.Denoréaz@epfl.ch, EPFL - Domaine IT, responsable des accréditations

Accreditation and current status (April 2012) of the associated rights at EPFL. Description des droits actuels (état avril 2012) intégrés au système d’accréditation des personnes à l’EPFL.

Le système d’accréditation des personnes à l’EPFL permet aux individus accrédités d’avoir accès à diverses prestations fournies par des services de l’EPFL de manière contrôlée et sécurisée. Les gestionnaires de prestations de l’EPFL, qui souhaitent en sécuriser l’accès, peuvent demander la création d’un nouveau droit

au bureau Accred. Les applications informatiques associées à ces prestations transmettent au serveur d’authentification Gaspar la vérification du fait que le demandeur est bien titulaire du droit correspondant. Chaque droit bénéficie d’un profil par défaut et il est rattaché à un rôle (parfois deux) dans l’application ACCRED. Pour attribuer un droit à une autre personne, il faut être titulaire du rôle auquel il est associé. Le détenteur d’un droit ne peut pas le déléguer. Chaque titulaire d’un rôle dans l’application Accred bénéficie automatiquement des droits qui sont rattachés à ce rôle, sauf si le droit a été explicitement désactivé. Cette attribution peut se répercuter à partir du niveau le plus haut pour lequel il a été attribué, jusqu’à tous les sous-niveaux de l’arborescence de l’EPFL. La personne qui est titulaire du droit Billets CFF pour le niveau 1 EPFL, sera également titulaire de ce droit jusqu’aux unités de

Libellé

Nom

Description

accreditation

Accréditation

Droit d’accréditer des personnes

adminad

Administrateurs AD délégués

Personnes bénéficiant d’une délégation d’administration sur une unité organisationnelle dans Active Directory

admindiode

Administration des accès DIODE

Administration des accès DIODE

admingaspar

Administration des comptes GASPAR

Administration des comptes GASPAR

adminroles

Attribution des rôles

Attribution des rôles

cartevisite

Cartes de visites

Cartes de visites

confirmdistrilog

Confirmdistrilog

Validation de commandes de logiciels soumis à autorisation

controlesf

Contrôle des services financiers

Identification des utilisateurs SAP et contrôle des flux pour le droit inventaire

demdetrav

Demande de travaux

Demande de travaux

demvm

Demandes d’hébergement de machines Demandes d’hébergement de machines virtuelles et gestion associée. virtuelles

distrilog

Accès au service distrilog

Accès au service distrilog

ficheporte

Fiches de portes

Droit permettant aux COSEC de créer des fiches pour l’unité / les unités dont ils sont responsables

gestionprofils

Gestion des profils personnels

Gestion des profils personnels

impression

myPrint (en test)

Prestation myPrint. Droit d’imprimer sur le compte d’une unité.

intranet

Accès Intranet

Droit d’accès à l’Intranet EPFL

inventaire

Inventaire

Accès à l’application inventaire du CCSAP

payonline

Gestion des instances de paiement en ligne Mise à jour, activation de l’instance ou consultation des paiement enregistrés

railticket

Billets CFF

shopepfl

Commande EPFL

smssmtp

Envoi de SMS par email

Envoi de SMS par email (enregistrement)

smsweb

Envoi de SMS par le Web

Envoi de SMS par le Web

sre

Services Réseau EPNET

Services Réseau EPNET

substitutiondistrilog

Suppléance gestion des logiciels (en test)

Droit de suppléance pour la gestion des logiciels

vpnguest

Accès Réseau pour Hôtes

Accès Réseau pour Hôtes

Commande de billets CFF en ligne d’articles/produits

Liste des droits de l’accréditation en avril 2012

24 flash informatique

internes

Commande d’articles/produits aux couleurs de l’EPFL et facturation internes


Comment marcher droits à l’EPFL ? niveau 4 de l’Ecole (1 EPFL, 2 Faculté, 3 Institut, 4 Laboratoire). Les droits permettent d’accéder à des prestations, ressources ou applications. Ils peuvent être de type administratif, logistique ou informatique. Certains droits laissent l’utilisateur autorisé accéder directement à une prestation donnée (imprimer, commander des cartes de visites, accéder à l’intranet, etc.), alors que d’autres (services réseau EPNET, création de comptes guest, etc.) autorisent le titulaire à créer et/ou gérer l’accès et des ressources pour d’autres personnes pas nécessairement connues de l’application ACCRED. Certains droits permettent encore de valider une commande (confirmdistrilog) ou de prendre l’identité d’une autre personne (substitutiondistrilog). Prenons par exemple, le droit adminad qui permet à une personne de bénéficier d’une délégation d’administration sur une ou plusieurs unités organisationnelles dans le service d’annuaire Active Directory et qui est rattaché au rôle respinfo. Nom adminad Libellé Administrateurs AD délégués Personnes bénéficiant d’une délégation d’administration Description sur une unité organisationnelle dans Active Directory. Responsable Alain Gremaud Rôles administrateurs

Responsable informatique

Attribution par defaut pour les statuts

Aucun

Attribution par defaut pour les classes

Aucune

Autorisations par unités

EHE: Interdit EPFL: Autorisé

Droit: Administrateurs AD délégués

On remarque dans le tableau ci-dessus que le champ Description est un lien dynamique, qui redirige sur la page d’information de la ressource concernée. Les champs Attribution par défaut pour les statuts et Attribution par défaut pour les classes permettent de limiter son attribution en tenant compte du statut (personnel, hôte, hors-epfl, étudiant, etc.) et de la classe (apprenti, stagiaire, assistant, personnel technique ou administratif, etc.).

Active directory adminad (Administrateurs AD délégués) – Lié au rôle respinfo, ce droit permet à une personne de bénéficier d’une délégation d’administration sur une ou plusieurs unités organisationnelles dans le service d’annuaire Active Directory . Plus d’infos à ce propos sur la page: winad.epfl.ch/core/index. asp?newcateg=15.

Communication gestionprofils (Gestion des profils personnels) – placé sous le rôle respcomm, il permet à son titulaire de gérer les profils d’autres personnes dans l’application profil personnel. people.epfl.ch.

Finances (respadmin) controlesf (Contrôle des services financiers) – ce droit permet l’identification des utilisateurs SAP et le contrôle des flux pour le droit inventaire. payonline (Mise à jour, activation de l’instance ou consultation des paiements enregistrés) – ce service met à votre disposition un canal d’encaissement électronique pour vos manifestations, conférences, vente de services, etc.

Gestion administrative (respadmin) cartevisite (Cartes de visites) – ce droit permet de faire des commandes de cartes de visite en ligne pour les personnes de l’unité pour laquelle on en est titulaire. railticket (Billets CFF) – permet d’effectuer les commandes de billets CFF pour le personnel des unités sous votre contrôle d’accréditation. inventaire – permet l’accès à l’application inventaire du CCSAPOS. shopepfl (Commande d’articles/produits internes EPFL) – permet de commander des produits dans la boutique du SHOP EPFL, située dans la librairie-papeterie La Fontaine au Rolex Learning Center.

Impression

Les droits classés par thèmes

myPrint ou impression (Droit d’imprimer sur le compte d’une unité) – l’objectif de cette prestation est d’homogénéiser le processus d’impression/copie à l’EPFL et d’introduire la comptabilisation.

Gestion des accréditations et des accès

Infrastructure

accreditation (Accréditation) – placé sous la responsabilité du rôle respaccred, il permet d’accréditer des personnes dans l’unité pour laquelle on est titulaire de ce droit. adminroles (Attribution des rôles ) – aussi rattaché au rôle respaccred, il permet la redistribution des différents rôles de l’accréditation à d’autres personnes. admingaspar (Administration des comptes GASPAR) – dépendant des rôles respinfo et respaccred, ce droit permet de gérer les comptes Gaspar d’autres personnes (création du compte, mise à jour du mot de passe, etc.). Le compte Gaspar est utilisé par Tequila/Shibboleth pour authentifier les utilisateurs de la plupart des applications Web à l’EPFL.

demdetrav (Demande de travaux) – ce droit est rattaché au rôle respinfra (Responsable infrastructures) permet d’enregistrer une demande pour des travaux de mise en œuvre ou de modification d’installations liées aux bâtiments, pour des prestations (sécurité, signalisation, etc.) et des commandes de mobilier. ficheporte (Fiches de portes) – permet aux COSEC de créer des fiches pour l’unité / les unités dont ils sont responsables.

Logiciels confirmdistrilog (Validation de commandes de logiciels soumis à autorisation) – dépendant du rôle respadmin, ce droit est réservé aux Validateurs dans Distrilog, dont la mission est de 1er MAI 2012 - N°4

25


Comment marcher droits à l’EPFL ? vérifier que la demande de logiciel coûteux qui a été soumise est dûment légitimée. Un justificatif le plus détaillé et le plus clair possible doit être rédigé. Les demandes, transmises par courriel, seront alors soit acceptées, soit refusées par la personne choisie pour la validation. distrilog (Accès au service distrilog) – ce droit, lié au rôle respinfo, est réservé exclusivement aux personnes accréditées avec le statut personnel pour des raison de licences conclues entre les fournisseurs de logiciels et l’EPFL. Pour les personnes externes à l’EPFL et accréditées avec un statut hôte, c’est le responsable informatique de l’unité qui installe les logiciels nécessaires au travail de la personne sous son propre nom et qui les désinstalle du poste informatique au départ de la personne. Les demandes d’exception pour obtenir le droit distrilog doivent être envoyées à l’adresse de courriel: accred@ epfl.ch, qui évaluera et validera ou refusera la demande le cas échéant. Tout logiciel fourni par Distrilog ne peut être installé que sur des machines dûment enregistrées dans l’inventaire. Il existe quelques exceptions qui permettent d’installer un logiciel sur une machine privée, mais cela est autorisé pour autant qu’il y ait eu une installation préalable sur une machine de L’EPFL (avec no d’inventaire). substitutiondistrilog (Droit de suppléance pour la gestion des logiciels) – ce droit, en test, est rattaché au rôle respinfo. Il permet à son titulaire de gérer les logiciels pour une autre personne, qui doit elle-même bénéficier du droit distrilog et du statut personnel, en prenant son identité pour une unité donnée.

L’authentification se fait par Tequila (avec mot de passe GASPAR) et un quota mensuel permet d’éviter tout abus. sre (Services Réseau EPNET) – permet d’accéder et de gérer des services réseau de base, tels les demandes de raccordements informatiques d’adresses IP, etc. vpnguest (Accès Réseau pour Hôtes) – permet d’octroyer aux visiteurs de courte durée sur le campus un accès temporaire à Internet à l’EPFL. Pour toute demande d’information complémentaire concernant ces différents droits, nous vous prions d’envoyer un email à l’adresse: accred@epfl.ch.

Références ❚

ECOLE POLYTECHNIQUE FEDERALE DE LAUSANNE. Active Directory. Site de la Faculté des Sciences et Techniques de l’Ingénieur STI. [en ligne]. sti.epfl.ch/ad (consulté le 15 avril 2012). ECOLE POLYTECHNIQUE FEDERALE DE LAUSANNE. ACCRED. Site de l’accréditation [en ligne]. http://accreditation.epfl.ch (consulté le 15 avril 2012). ECOLE POLYTECHNIQUE FEDERALE DE LAUSANNE. Domaine IT. DIT. Site du DIT-EPFL [en ligne]. dit.epfl.ch/ (consulté le 15 avril 2012). LECOMMANDEUR, Claude. Tequila aime Shibboleth. Flash Informatique [en ligne]. 2006, FI 1/06. flashinformatique.epfl.ch/ spip.php?article996 (consulté le 15 avril 2012). ■

Machines Virtuelles demvm (Demande d’hébergement de machines virtuelles) – le DIT met à disposition des services centraux et des facultés de l’École un service d’hébergement de machines virtuelles. Les personnes autorisées peuvent accéder à la gestion des VM pour demander de nouvelles machines virtuelles ou des modifications des caractéristiques des machines existantes, ainsi que consulter et modifier les demandes en cours.

Sécurité informatique admindiode (Administration des accès DIODE) – placé sous le rôle respinfo, ce droit permet de renforcer la sécurité du réseau de l’EPFL en fermant l’accès depuis l’extérieur aux machines clientes et en restreignant le nombre de serveurs visibles de l’extérieur.

Réseau informatique (respinfo) intranet (Accès Intranet) – permet d’accéder au réseau interne de l’EPFL. smssmtp (Envoi de SMS par email) – service réservé aux systèmes d’alarme de serveurs et et aux autres services d’alerte nécessitant une passerelle email. smsweb (Envoi de SMS par le Web) – permet aux personnes bénéficiant du statut personnel de l’EPFL d’envoyer des SMS à but professionnel via une Interface Web conviviale.

26 flash informatique

GLOSSAIRE

Active directory: méta annuaire intégré dans Windows 2000, 2003 et Windows XP, qui permet de référencer et d'accéder à un ensemble des ressources suivantes: usagers, partage de fichiers, imprimantes et ordinateurs. COSEC: correspondant en sécurité de l'EPFL. Gaspar: coffre fort des mots de passe du système d'identification et authentification de l'EPFL. Tequila/Shibboleth: Tequila et Shibboleth sont deux outils d’authentification et de contrôle d’accès ayant des fonctionnalités similaires. Tequila a été développé à l’EPFL alors que Shibboleth est un produit du projet Internet2. Ces deux outils permettent d’authentifier des utilisateurs d’applications Web, de contrôler l’accès de ces utilisateurs ainsi que d’obtenir des informations sur ces mêmes utilisateurs, et ceci dans un environnement fédéré – flashinformatique.epfl.ch/spip. php?article996.


Actualités

Tour de magie pour la pause-café Christian.Kauth@epfl.ch, EPFL - président de PolyProg

At the coffee break. – How old are you ? – Just guess my age, I’ll answer by younger or older. Easy, you rub your hands: a classical dichotomy will do it ! – However I’ll lie to you every now and then, but never twice in a row. How do you tackle this?

< < >

>

> < >

< >

< >

< >

< >

< >

< >

> < >

Ce problème est extrait de l’Helvetic Coding Contest 2012 qui s’est déroulé avec grand succès le 17 mars à l’EPFL. Ne cessant de puiser sa motivation dans le renouveau, toujours avec passion et originalité, l’organisateur PolyProg a déclenché un véritable feu d’idées qui se propageait à grande allure. Les 110 jeunes têtes, venant des quatre coins de la Suisse, ont tout donné ! Sponsorisée par OpenSystems et AdNovum, ce fut une journée passée à résoudre des problèmes algorithmiques sans jamais perdre le sourire, que demander de plus ?

< >

Une pépite de l’Helvetic Coding Contest

< < >

< >

Autour d’une tasse de café. – Quel âge avez-vous ? – Devinez, je réponds par plus jeune ou plus âgé Facile, vous vous frottez les mains: une petite dichotomie et c’est réglé ! – Par contre je me permets de vous mentir de temps à autre, mais jamais deux fois de suite. Comment vous y prenez-vous ?

<

Pour N possibilités initiales (les 100 années dans notre cas, mais N valait 106 lors du concours), une telle stratégie nécessite ⎡log2(N) ⎤ questions, soit 20 lors de l’hc2. Il s’agit d’une recherche binaire, connue sous le nom de dichotomie. Dès que votre vis-à-vis recourt au mensonge, vous avez droit à 200 questions, soit dix fois plus, et à 2 âges-solutions pour compenser l’incertitude. Un premier réflexe pourrait être de répéter chaque question de la dichotomie jusqu’à ce que vous receviez deux fois la même réponse de suite. Là vous savez que votre vis-àvis ne ment pas (par les règles du jeu, il n’a pas le droit). Par contre s’il est rusé, il peut alterner entre vérité et mensonge ! Une stratégie un peu plus raffinée serait donc de forcer la vérité par un mensonge antécédent. Ceci peut se faire en demandant une valeur extrême (par exemple les 100 années à votre jeune visà-vis). S’il répond par plus âgé, il ment et au tour suivant il devra être honnête. Malheureusement vous pouvez partir du principe que votre vis-à-vis est assez rusé pour ne pas mentir dans une situation pareille.

Une stratégie élégante

Ne soyez pas glouton Si votre vis-à-vis disait toujours la vérité, une manière efficace pour trouver son âge (un nombre entier entre 1 et 100), serait de couper avec chaque question en deux parties égales l’ensemble des solutions possibles. Si les parties ne sont pas égales, vous risquez de vous retrouver avec la plus grande partie, donc pour minimiser le nombre de questions dans le pire des cas, la coupure au milieu est souhaitable.

Les solutions possibles à ce problème sont légion, mais elles ont toutes en dénominateur commun de combiner répétition et relation entre les questions. Toutes demandent de l’ingéniosité et remplissent leur inventeur de grande satisfaction. Je vous propose de vous creuser un peu les méninges avant de poursuivre votre lecture. La suite des 4 questions XYYX permet de résoudre le problème. Prenons X inférieur à Y et coupons ainsi l’ensemble des solutions en 3 parties. Pour chacune des 16 réponses possibles (plus jeune ou plus âgé pour chacune des 4 questions), vous pouvez écarter au moins une des 3 parties. Dans 8 cas, les réponses sur les 2 questions Y sont identiques et correspondent à la vérité. Si au contraire, elles sont opposées, une des deux réponses sur les questions X doit être honnête. Comme ces deux réponses sont 1er MAI 2012 - N°4

27


Tour de magie pour la pause-café identiques dans 4 cas supplémentaires, elles doivent être franches ! L’analyse des 4 cas restants est laissée à la discrétion du lecteur, mais le tableau suivant résume la situation. Réponse Implication X

Y

Y

X

< < < < < < < < > > > > > > > >

< < < < > > > > < < < < > > > >

< < > > < < > > < < > > < < > >

< > < > < > < > < > < > < > < >

X

vector<int> a(1000002,-1); int X, Y; bool r1, r2, r3, r4; bool l, m, r;

// // // //

possible ages third cuts responses to queries 1 to 4 left, middle & right feasibility

// [1] initialize candidate ages for (unsigned int i=1; i<a.size(); i++) a[i] = a[i-1] + 1;

Y

while (a.size()>2) { // [2] define ternary-search cuts X = (a.size()-2)/3+1; Y = a.size()-1-(a.size()-2)/3-1; // r1 r2 r3 r4

[3] ask oracle = ask_age((a[X]+a[X-1])/2.0); = ask_age((a[Y]+a[Y+1])/2.0); = ask_age((a[Y]+a[Y+1])/2.0); = ask_age((a[X]+a[X-1])/2.0);

// [4] evaluate feasibilities (0: truth, 1: lie) l = false; m = false; r = false; for (int c1=0; c1<2; c1++) for (int c2=0; c2<2-c1; c2++) for (int c3=0; c3<2-c2; c3++) for (int c4=0; c4<2-c3; c4++) { l |= !(( r1^c1) || ( r2^c2) || ( r3^c3) || ( r4^c4)); m |= !((!r1^c1) || ( r2^c2) || ( r3^c3) || (!r4^c4)); r |= !((!r1^c1) || (!r2^c2) || (!r3^c3) || (!r4^c4)); }

Comme vous ne pouvez pas savoir à l’avance quelle partie sera éliminée, l’optimisation du pire cas réclame de couper l’ensemble des solutions en 3 parties égales. Choisissant X et Y selon les critères d’une recherche ternaire, cette stratégie ne nécessite pas plus de 136 questions, 4log 3– (N), 2 dans le pire des cas.

// [5] filter ages if (!l && !m) else if (!l && !r) else if (!m && !r) else if (!l) else if (!r) else if (!m) }

printf("Your age is %d or %d\n", a[0], a[a.size()-1]);

La solution en C++ Chaque idée, chaque algorithme se laissent implémenter avec plus ou moins d’élégance, souvent synonyme de brièveté. Suite à une question, vous devez interpréter la réponse obtenue (< – plus jeune ou > – plus âgé) en fonction de la sincérité de l’interlocuteur (vérité ou mensonge). Le tableau ci-dessous montre les interprétations.

< >

vérité < >

a = vector<int>(a.begin()+Y+1, a.end()); a = vector<int>(a.begin()+X, a.begin()+Y+1); a = vector<int>(a.begin(), a.begin()+X); a = vector<int>(a.begin()+X, a.end()); a = vector<int>(a.begin(), a.begin()+Y+1); a.erase(a.begin()+X, a.begin()+Y+1);

mensonge > <

En substituant < par 0, > par 1, vérité par 0 et mensonge par 1, l’opération logique de cette table de vérité correspond à celle d’une porte XOR, le symbole ^ en C++. 0

1

0

0

1

1

1

0

➋ définir les coupures (au un et deux tiers des éléments), ➌ poser les questions pour XYYX et ➍ évaluer la faisabilité de l’ensemble solution selon l’astuce XOR et en simulant chaque combinaison de vérité et mensonge. Cette étape peut se faire alternativement par look-up dans la table réponse-implication ci-dessus. Reste à ➎ écarter l’ensemble des solutions à rejeter. Le code ci-dessus implémente l’algorithme en C++.

La prochaine pause-café Vous avez aimé cette petite énigme et vous êtes d’humeur à en croquer d’autres ? Alors, ne vous retenez pas et visitez l’ensemble des problèmes du concours sur hc2.ch. Au plaisir de vous accueillir à la prochaine édition de l’Helvetic Coding Contest ! ■

La suite coule de source. ➊ Définissez un vecteur a contenant tous les âges possibles en ordre croissant sur lequel vous allez faire une recherche ternaire. Celle-ci consiste à ISSN 1420-7192


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.