Flash informatique 2011 - no 9

20
FlashInformatique.epfl.ch p/a EPFL - Domaine IT - Station 8 - CH 1015 Lausanne - tél. +41 21 69 322 11 22.11.2011 9 tout public public averti expert Actualités DIT-info 6 z Nouveau stagiaire à la Téléinformatique z Nouvelles têtes au groupe Exploitation VMWorld Copenhagen Fabien Figueras & Eric Krejci 7 FlashiPhone: MobileIT François Roulet 10 Gutenberg, Helvetica et Steve Jobs Laurent Kling 14 Eunis 2011 à Dublin en Irlande, en plein dans les nuages ! Christian Zufferey 18 Analyse Feelin’ Groovy Maciej Macowicz 1 Petite introduction à la gestion électronique de documents Patricia Plaza Gruber 9 Mot-croisé: HÉBERGEMENT Julia Paolini, Frédéric Rauss & Esteban Rosales 20 Comment faire? Solution du concours ou Ada, Alan et la pomme Appoline Raposo 12 Prochaines parutions No Délai de rédaction Parution 10 01.12.11 20.12.11 1 12.01.12 31.01.12 2 09.02.12 28.02.12 page 12 Concours étudiants La solution Feelin’ Groovy Maciej.Macowicz@epfl.ch, EPFL – Domaine IT - KIS, développeur Groovy Yet another programming lan- guage for the JVM (Java Virtual Machine), allows for agile pro- gramming on the Java platform. In this article we first introduce the context of the JVM lan- guages, then we present Groovy as it can be seen by Java devel- opers. We conclude by sketch- ing the libraries and frameworks available within the Groovy eco- system. Groovy, un langage de program- mation pour la JVM (machine virtuelle Java), permet la pro- grammation agile sur la plate- forme Java. Dans l’article, nous introduisons le contexte des langages de la JVM, puis nous présentons le langage Groovy du point de vue d’un développeur Java et énumérons les biblio- thèques/frameworks disponibles dans l’écosystème Groovy. Le langage Java fut conçu par la société Sun Microsystems dans les années 1990 en tant que langage de programmation par objets moderne offrant la robustesse, la gestion dynamique de la mémoire (ra- masse-miettes) ainsi que les mécanismes internes de programmation concurrente (multi-threading). Java est très portable (compiler une fois, exécuter partout = Compile Once, Run Everywhere) car il s'appuie sur la machine virtuelle Java (JVM=Java Virtual Machine), implémentée sur la plupart des architec- tures et systèmes d’exploitation. La pre- mière implémentation de Java (1.0) est apparue chez Sun Microsystems en jan- vier 1996, nous en sommes actuellement à la version 1.7. Conçu dès le départ comme une plate- forme de programmation universelle plutôt qu’un simple langage de programmation, doté de riches bibliothèques standard de composants logiciels, Java a rapidement gagné du terrain. Il s’est décliné en plusieurs versions (profils), ciblant une vaste gamme de matériels allant des dispositifs mobiles (téléphones, smartphones) aux applications Web critiques. Au fil du temps, le langage a subi plusieurs améliorations (généricité, annotations…) et les bibliothèques standard se sont considérablement enrichies en passant de 211 classes en version 1.0 de la plate-forme Java à 3777 classes en version 1.6. En 2011 la plate-forme Java accompagnée d’innom- brables bibliothèques de composants logi- ciels s’avère très complète. Au début des années 2000, Java était large- ment enseigné et utilisé; il occupait la pre- Analyse

description

journal informatique de l'Ecole Polytechnique Fédérale de Lausanne du 22 novembre 2011

Transcript of Flash informatique 2011 - no 9

Page 1: Flash informatique 2011 - no 9

FlashInformatique.epfl.ch

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

22.11.20119

tout public public averti expert

ActualitésDIT-info 6

z Nouveau stagiaire à la Téléinformatique

z Nouvelles têtes au groupe Exploitation

VMWorld Copenhagen Fabien Figueras & Eric Krejci 7

FlashiPhone: MobileIT François Roulet 10

Gutenberg, Helvetica et Steve Jobs Laurent Kling 14

Eunis 2011 à Dublin en Irlande, en plein dans les nuages ! Christian Zufferey 18

AnalyseFeelin’ Groovy

Maciej Macowicz 1

Petite introduction à la gestion électronique de documents Patricia Plaza Gruber 9

Mot-croisé: HÉBERGEMENT Julia Paolini, Frédéric Rauss & Esteban Rosales 20

Comment faire?Solution du concours ou Ada, Alan

et la pomme Appoline Raposo 12

Prochaines parutions

No Délai de rédaction Parution

10 01.12.11 20.12.11

1 12.01.12 31.01.12

2 09.02.12 28.02.12

page 12

Concours étudiantsLa solution

Feelin’ [email protected], EPFL – Domaine IT - KIS, développeur Groovy

Yet another programming lan-guage for the JVM (Java Virtual Machine), allows for agile pro-gramming on the Java platform. In this article we first introduce the context of the JVM lan-guages, then we present Groovy as it can be seen by Java devel-opers. We conclude by sketch-ing the libraries and frameworks available within the Groovy eco-system.

Groovy, un langage de program-mation pour la JVM (machine virtuelle Java), permet la pro-grammation agile sur la plate-forme Java. Dans l’article, nous introduisons le contexte des langages de la JVM, puis nous présentons le langage Groovy du point de vue d’un développeur Java et énumérons les biblio-thèques/frameworks disponibles dans l’écosystème Groovy.

Le langage Java fut conçu par la société Sun Microsystems dans les années 1990 en tant que langage de programmation par objets moderne offrant la robustesse, la gestion dynamique de la mémoire (ra-

masse-miettes) ainsi que les mécanismes internes de programmation concurrente (multi-threading). Java est très portable (compiler une fois, exécuter partout = Compile Once, Run Everywhere) car il s'appuie sur la machine virtuelle Java (JVM=Java Virtual Machine), implémentée sur la plupart des architec-tures et systèmes d’exploitation. La pre-mière implémentation de Java (1.0) est apparue chez Sun Microsystems en jan-vier 1996, nous en sommes actuellement à la version 1.7.Conçu dès le départ comme une plate-forme de programmation universelle plutôt qu’un simple langage de programmation, doté de riches bibliothèques standard de composants logiciels, Java a rapidement gagné du terrain. Il s’est décliné en plusieurs versions (profils), ciblant une vaste gamme de matériels allant des dispositifs mobiles (téléphones, smartphones) aux applications Web critiques. Au fil du temps, le langage a subi plusieurs améliorations (généricité, annotations…) et les bibliothèques standard se sont considérablement enrichies en passant de 211 classes en version 1.0 de la plate-forme Java à 3777 classes en version 1.6. En 2011 la plate-forme Java accompagnée d’innom-brables bibliothèques de composants logi-ciels s’avère très complète.Au début des années 2000, Java était large-ment enseigné et utilisé; il occupait la pre-

Analyse

Page 2: Flash informatique 2011 - no 9

2 flash informatique22 22 NOVEMBRE 2011 - N° 9flash informatique

mière place dans l’index TIOBE 1 avec 30 % de popularité; certains parlaient alors de la fin de l’histoire des langages de program-mation.

Langages de programmation agile

Les années 2000 ont amené la programmation agile, très attirante pour les développeurs, ainsi que l’avènement de langages agiles Python ou Ruby, plus dynamiques que Java. Les langages agiles permettent de programmer naturellement et rapidement ce qu’on a dans la tête au lieu de réfléchir comment transposer ce qu’on a dans la tête pour que le compilateur comprenne enfin. Une telle facilité de programmation repose sur un système de types dynamique (on parle alors de duck typing, où toutes les propriétés d’un objet sont déterminées au moment de son utilisation... par analogie: si je vois un oiseau qui vole comme un canard, cancane comme un canard, et nage comme un canard, alors j’appelle cet oiseau un canard). À cela s’ajoutent les mécanismes de program-mation fonctionnelle, permettant les manipulations de fonctions par les programmes (contrairement à la programmation impéra-tive ou objet, où la fonction peut seulement être appelée). Notons que les langages de programmation agile sont souvent moins performants à l’exécution que les langages statiques, la dyna-mique et la liberté laissée au développeur nécessitent de multiples vérifications pendant l’exécution du programme; dans le cas de langages statiques, la plupart des vérifications sont effectuées à la compilation.

Langages pour la plate-forme Java

La plate-forme Java présente un grand intérêt (on y trouve tout ce dont on peut avoir besoin), on a donc vu fleurir une panoplie de langages de la JVM, de plus haut niveau que Java, permettant les styles de programmation variés, et offrant l’accès aux composants logiciels de la plate-forme.

Parmi ces langages, citons:Jython et JRuby, portages de Python et Ruby,Scala, langage statique, mixte objet-fonctionnel et doté d’un sys-

tème de types très puissant,

Groovy, extension dynamique et fonctionnelle de Java, et finalement

Clojure, un dialecte de Lisp. À titre d’anecdote, mentionnons les implémentations d’Ada, de Cobol, et même de Pascal pour la JVM 2.Groovy 3 et Scala 4 représentent des objectifs de conception très différents, nous en détaillerons quelques points. Scala est un lan-gage académique (conçu à l’EPFL par l’équipe du Prof. Odersky), mais très pragmatique. Conçu en tant que langage extensible (scalable), Scala est censé couvrir un maximum de domaines d’application et garantir de hautes performances à l’exécution. Scala permet la programmation objet et fonctionnelle; statique-ment typé, il est doté d’un système de types très évolué, permet-tant de réduire et simplifier le code source (moteur d’inférence sur les types) et permet la surcharge des opérateurs. Sa syntaxe est très épurée et élégante, mais très différente de Java; Scala est interopérable avec Java, on peut aisément utiliser les classes Java depuis Scala, mais l’utilisation dans l’autre sens est parfois plus délicate. La bibliothèque standard de Scala étend la biblio-thèque standard de Java et fournit les abstractions d’acteurs pour la programmation concurrente. Finalement, Scala peut être utilisé en tant que langage de programmation ou en tant que script, et depuis quelques années gagne en popularité, dans l’index TIOBE il arrive à la 50e place parmi tous les langages utilisés 5.

Groovy

Groovy est un langage créé par les développeurs pour les déve-loppeurs en tant que langage agile et dynamique pour la plate-forme Java, doté de fonctionnalités inspirées par Python, Ruby et Smalltalk, destiné aux développeurs Java avec la syntaxe très proche de Java. Groovy, langage dynamiquement typé (duck ty-ping), offre des mécanismes de programmation fonctionnelle à travers les fermetures (closures) et permet la surcharge des opé-rateurs. L’interopérabilité avec Java est parfaite dans les deux sens (Java > Groovy et Groovy > Java). Tout comme Scala, Groovy peut être utilisé en tant que langage de programmation ou en tant que script. La popularité de Groovy est pour le moment similaire à Scala (dans l’index TIOBE il est placé entre la 51e et la 100e place); dans la catégorie de langages agiles, Groovy est devancé de loin par Python (8e) et Ruby (11e).

Feelin’ Groovy

1 www.tiobe.com/index.php/content/paperinfo/tpci/index.html2 en.wikipedia.org/wiki/List_of_JVM_languages3 groovy.codehaus.org4 DUBOCHET, Gilles. Scala. Flash Informatique 9/2010. EPFL 2010. flashinformatique.epfl.ch/spip.php?article2221 5 en octobre 2011 Java occupe toujours la première place dans l’index TIOBE, mais son taux d’utilisation est tombé à 18%

ImpressumRevue 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 par-tielle, n’est autorisée qu’avec l’accord de la rédaction et des auteurs.

Rédacteur en chef:Jacqueline Dousson, [email protected] en page & graphisme: Appoline Raposo de BarbosaComité de rédaction:Jean-Daniel Bonjour, Patrice Fumasoli, Florence Hagen, Laurent Kling, Julia Paolini, François Roulet, Christophe Salzmann, Richard Timsit & Predrag Viceic

Impression: Atelier de Reprographie EPFLTirage: 4000 exemplairesAdresse Web: flashInformatique.epfl.chAdresse: Domaine IT EPFLStation 8, CH-1015 LausanneTéléphone: +41 21 69 32246 & 32247Abonnement au FI par e-mail à: [email protected]

Page 3: Flash informatique 2011 - no 9

3322 NOVEMBRE 2011 - N° 9

Groovy est apparu pour la première fois en 2004, en tant langage dynamique pour la JVM, défini par la spécification JSR-241. Son développement n’a vraiment commencé qu’en 2006, la version 1.0 du compilateur est sortie en 2007; actuellement (automne 2011) le système Groovy est arrivé à la version 1.8.2 et bénéficie toujours de l’enthousiasme de son équipe de développeurs et du soutien de l’entreprise VMWare. Notons enfin que, afin de palier aux problèmes de performances de Groovy, une version plus sta-tiquement typée du langage est en cours de développement chez Google sous le nom de Groovy++ 6.Dans la suite de l’article, nous nous intéresserons aux avantages de Groovy pour un programmeur Java (j’ai derrière moi plus de treize ans de développement Java). Les observations présentées ci-dessous sont tirées d’un exemple grandeur nature concret: je suis actuellement en train de préparer une nouvelle version du moteur de recherche de l’EPFL. Search.epfl.ch d’aujourd’hui est une appli-cation Java/J2EE utilisant plusieurs frameworks Java (dont Struts). Avant de commencer le développement de la nouvelle version du moteur de recherche, j’ai voulu vérifier si une technologie plus moderne pourrait convenir pour le développement. Je me suis fixé les critères suivants: z support du langage par l’IDE Intellij IDEA. J’utilise cet IDE

depuis 2003 et je trouve qu’il mérite pleinement son slogan: développer avec plaisir;

z interfaçage bidirectionnel avec le code Java, permettant l’in-tégration des frameworks Java (Struts2, Sitemesh);

z rapidité de compilation et d’exécution;z possibilité de prototypage rapide et de programmation explo-

ratoire;z traitement de XML rapide et flexible;z accès aux bases de données SQL rapide et flexible.Mon choix s’est initialement porté sur Scala et Groovy, Scala fut rapidement écarté, car: 1 le support par l’IDE est très moyen et parfois instable,2 la compilation est lente,3 l’intégration avec Java est unidirectionnelle (Java depuis Sca-

la); l’intégration dans l’autre sens (Scala depuis Java) est plus délicate et nécessite des conversions explicites.

J’ai donc choisi Groovy pour le développement. Par rapport aux critères ci-dessus: le support de Groovy par l’IDE est très bon pour développer dans un langage dynamique (surtout accompagné d’analyseur CodeNarc 7); Groovy s’interface avec Java dans les deux sens, il est donc possible d’utiliser les frameworks Java et d’y ajouter des classes Groovy et/ou Java sans aucune difficulté. Rien à signaler non plus pour la rapidité de compilation, quant aux performances du code généré dans Groovy: pour le moment je n’ai trouvé aucun problème, les premiers tests de charge ont démontré la tenue à la charge de 200 requêtes/s alors que la charge réelle ne dépassera pas 50 requêtes/s, Groovy reste donc suffisamment performant et satisfait aux besoins.Les possibilités de prototypage rapide et de programmation explo-ratoire méritent plus d’attention, la première impression générale que donne Groovy est qu’on peut programmer et arriver très vite aux résultats concrets; de plus, le passage depuis Java est agréable, on peut commencer par coder pratiquement en Java, ensuite on utilise dans le code de plus en plus de fonctionnalités spécifiques à Groovy. Afin de donner un avant-goût de Groovy, voici le code de tri rapide (code 1), très proche de l’algorithme original8.

Nous allons maintenant présenter quelques fonctionnalités re-présentatives de Groovy.

GroovyBeansLes composants JavaBeans largement utilisés dans Java sont inu-tilement compliqués: on impose l’implémentation de méthodes getX et setX pour chaque attribut exposé. En Groovy ces méthodes sont implicites, il est néanmoins possible de les redéfinir si on veut effectuer un traitement avant l’accès à l’attribut. Les construc-teurs sont optionnels, on peut instancier un objet en passant une map de paramètres d’instance nommés (code 2).

OpérateursGroovy fournit une panoplie d’opérateurs, dont ?., qui permet la navigation dans la hiérarchie d’objets sans avoir à vérifier si l’objet est nul, et ?: (elvis), qui simplifie l’expression conditionnelle (code 3).

Feelin’ Groovy

6 code.google.com/p/groovypptest/7 codenarc.sourceforge.net8 Groovy définit plusieurs conventions, par exemple la variable it représente la valeur courante de l’itération courante

def quickSort(list) { if (list.size() < 2) return list def pivot = list[list.size().intdiv(2)] return (quickSort( list.findAll{ it < pivot}) +list.findAll { it == pivot } +quickSort(list.findAll { it > pivot }))}assert quickSort([’paul’, ’henri’, ’jacques’]) == [’henri’, ’jacques’, ’paul’]

code 1 – tri rapide en Groovy

class Personne { String nom String prenom int age}Personne papet= new Personne (nom: ’Soubeyran’, prenom: ’César’, age: 59)assert papet.name == ’Soubeyran’assert papet.getName() == ’Soubeyran’

code 2 – GroovyBean

Page 4: Flash informatique 2011 - no 9

4 flash informatique44 22 NOVEMBRE 2011 - N° 9flash informatique

Personne p... nom= (p != null) ? p.getNom(): null; // Java... nom= p?.nom // Groovy... nom = (p.getNom()!= null) ? p.getNom() : "unknown"; // Java... nom = p.nom?: ’unknown’ // Groovy... nom = (p!= null && p.getNom()!= null) ? p.getNom() : "unknown"; // Java... nom = p?.nom?: ’unknown’ // Groovy

code 3 – opérateurs

9 download.oracle.com/javase/tutorial/essential/exceptions/runtime.html

Chaînes de caractèresGroovy propose trois types de chaînes: les chaînes à la Java, les chaînes évaluées (GString), qui peuvent comporter les expressions et les chaînes multiligne (code 4).

String p=’Ugolin’String n=’Soubeyran’/* chaîne évaluée */String u= "$p - $n"assert u == ’Ugolin - Soubeyran’/* chaîne multiligne */String sql= """SELECT * FROM annuaire WHERE age < 35"""

code 4 – chaînes de caractères

Expressions régulièresLes expressions régulières en Java sont lourdes à utiliser, l’essen-tiel est noyé dans la syntaxe trop complexe (échappement pour plusieurs caractères, la classe Matcher à sémantique compliquée). En Groovy, les expressions régulières sont plus simples à utiliser, le résultat est assez convaincant (sans toutefois égaler Perl) (code 5).

FermeturesUne fermeture (closure) est une fonction anonyme qui peut être appelée, stockée dans une variable, passée en paramètre ou bien composée avec d’autres fermetures. Voici quelques exemples (code 6).

CollectionsGroovy fournit trois types de collections: les intervalles (ranges), listes et maps. Les manipulations de collections sont simples grâce aux nombreuses méthodes et opérateurs (code 7).

Traitement d’exceptionsJava impose le traitement d’exceptions (blocs try ... catch) pour tous les fragments de code censés lever une exception et en effec-tue les contrôles à la compilation. Dans la pratique cela résulte en plusieurs blocs catch vides, à moins d’utiliser les astuces (sous-classes des exceptions non traitées comme par exemple RunTi-meException 9). Groovy lève ces contraintes, les exceptions non traitées sont simplement passées à l’appelant.

Feelin’ Groovy

def text = ’Groovy est bien’def pattern= ~/(G|g)roovy/ // syntaxe spéciale pour les e.r., chaînes entre ~/ et /assert ’Groovy est bien’ =~ /(G|g)roovy/ // =~ vrai si la chaîne contient un fragment conforme à l’e.r.assert !(’Groovy est bien’ ==~ /(G|g)roovy/) // ==~ vrai si toute la chaîne est conforme à l’e.r.assert text ==~ /(G|g)roovy.*$/ //assert "a b c".split(/\s/) == [’a’, ’b’, ’c’] // chaine -> liste via split + e.r.assert ("a b c" =~ /\S/).collect { it } == [’a’, ’b’, ’c’] // chaine -> liste via e.r.new File("pagnol.txt").eachLine{ // imprimer toutes les lignes contenant ’jean’ ou ’florette’ line-> if (line =~ /[Jj]ean|[Ff]lorette/) println line}/* on sélectionne seulement le premier et le troisième mot dans une séquence de trois mots */assert "eau des collines".replaceAll(~/(\w+) (\w+) (\w+)/, ’$1 - $3’) == ’eau - collines’

code 5 – expressions régulières

for (int i=0; i< 10; i++) { System.out.println(i); } // boucle Java/* boucles Groovy avec fermetures prédéfinies */times(10) { println it } // { println it } : fermeture, paramètre de times0.upto(9) { println it }(0..<10).each { println it }/* juste nombres impairs */(0..10).findAll{ it%2 }.each { println it } // fermeture {it%2}= prédicat passé à findAll, {println it} = param. de each/* fermeture définie par le développeur */def benchmark(Closure c) { // c = fermeture (code!) passée en paramètre à la fonction long elapsed= System.currentTimeMillis() // on récupère la valeur de l’horloge c.call() // on appelle le code passé en paramètre (le code peut être long) return System.currentTimeMillis()-elapsed // à la fin on calcule le temps d’exécution et on le retourne}long elapsed= benchmark { sleep(1000) } // sleep (...) est le bloc de code passé en paramètre.

code 6 - fermetures

Page 5: Flash informatique 2011 - no 9

5522 NOVEMBRE 2011 - N° 9

Traitement de XMLLe traitement des données XML est très fréquent dans les appli-cations Web. L’analyse et la transformation de XML en objets du domaine d’application (la désérialisation) est très lourde en Java; au fait, même si le développeur a le choix entre plusieurs parsers XML (DOM, SAX et JDOM), voire des bibliothèques de plus haut niveau (Apache Digester), il ne peut que rarement échapper à la création d’une hiérarchie de classes correspondante à la structure du document XML.En Groovy la situation est différente, les parsers XML créent un objet qui permet de manipuler l’information en utilisant les mêmes noms dans le code et dans les balises XML. Le développeur n’a pas à connaître les détails, l’objet en question est pourvu de tous les mécanismes nécessaires. Regardons de près la désériali-sation de XML sur un document XML (code 8 et 9). La sérialisa-tion de XML est également très concise grâce aux builders, par exemple le document XML peut être généré par le code 10.

Accès aux bases de données SQLGroovy fournit les mécanismes de haut niveau également pour accéder aux bases de données SQL, dans l’esprit similaire au traite-ment de XML; pas besoin de créer les hiérarchies de classes dans la couche de persistance. Les fermetures permettent l’accès aisé aux résultats, et les composants de la bibliothèque standard de Groovy prennent soin de la bonne gestion de connexions, d’instructions et d’ensembles de résultats (code 11).

Ecosystème GroovyGroovy est un langage de programmation qui suscite un grand intérêt de développeurs, par conséquent on a vu apparaître plu-sieurs frameworks et bibliothèques Groovy:Grails: développement d’applications Web inspiré de RailsGriffon: développement de clients richesGaelyk: environnement de programmation d’applications Web

sur le Google App Engine

Feelin’ Groovy

<annuaire> <personne prenom="Ugolin" nom="Soubeyran"> <age>30</age> <adresse rue="rue des Romarins" numero="12" localite="Bastides Blanches"/> </personne> <personne prenom="César" nom="Soubeyran"> ... </personne> <personne prenom="Florette" nom="Cadoret"> ... </personne> <personne prenom="Jean" nom="Cadoret"> ... </personne></annuaire>

code 8 – exemple de données XML

def xml= new XmlSlurper().parse("data/eau_des_colinnes.xml") // lecture et analyse du fichierxml.personne.each { // afficher toutes les personnes println "${[email protected]()}, ${[email protected]()}, ${it.age} ans"}def comparerPersonnes = { a, b -> // comparer deux personnes, ordre décroissant [email protected]().compareTo([email protected]())?: [email protected]().compareTo([email protected]())}xml.personne.findAll().sort { a,b -> comparerPersonnes(a,b) }.each { // trier la liste de personnes et l’afficher print "${[email protected]()}, ${[email protected]()}, ${it.age}" println " -- ${it.adresse.@numero}, ${it.adresse.@rue}, ${it.adresse.@localite}"}println (xml.personne.collect{Integer.valueOf(it.age.text())}.sum()/xml.personne.size()) // calculer la moyenne d’âge

code 9 – lecture de données XML

/* Listes */def l=[’jean’, ’paul’, ’jacques’]assert l.class.name == ’java.util.ArrayList’ // liste de Groovy est une liste Javaassert l.findAll{ it.startsWith(’j’) } == [’jean’, ’jacques’] // sélectionassert l.any { it.startsWith(’p’)} // prédicat: au moins un élémentassert l.findAll{ it.startsWith(’j’) }.every { it.startsWith(’j’)} // prédicat: tous les élémentsassert l*.toUpperCase() == [’JEAN’, ’PAUL’, ’JACQUES’] // application à tous les élémentsassert l[0] == 'jean' // premier élément de la listeassert l[-1] == 'jacques' // dernier élément de la listel+= ’henri’ // ajout d’un élémentl-= ’paul’ // suppression d’un élémentassert l == [’jean’, ’jacques’, ’henri’]l.each { println it } // itération simplel.eachWithIndex { it, idx -> printf "%3d: %s\n", idx, it } // iteration avec indexassert l.sort () == [’henri’,’jacques’,’jean’] // tri ascendant, ordre lexicographiqueassert l.sort {a,b-> b.compareTo(a)} == [’jean’,’jacques’,’henri’] // tri descendant, ordre lexicographiqueassert l.sort {it.size()} == [’jean’, ’henri’, ’jacques’] // tri ascendant par longueurassert l.sort {-it.size()} == [’jacques’, ’henri’, ’jean’] // tri descendant par longueur/* Maps */def age=[jean:28, paul:30, jacques:32]assert age.jean== 28

code 7 – collections

Page 6: Flash informatique 2011 - no 9

6 flash informatique66 22 NOVEMBRE 2011 - N° 9flash informatique

DIT-info

Nouveau stagiaire au groupe Téléinforma-tique

Nous souhaitons une très cordiale bienvenue à Philippe Gagnon qui a commencé son stage le 1er novembre. Changeant d’orientation, ce stage lui permettra de compléter sa formation, à côté de son brevet fédéral en informatique de gestion. En travaillant avec l’équipe de techniciens DIT-TI pendant ces douze prochains mois, il aura l’occasion de découvrir la cuisine du réseau. Nous espérons qu’il profite au maximum des opportunités de ce stage pour sa future carrière dans le domaine informatique.

[email protected], Domaine IT

Actualités

Nouvelles têtes au groupe Exploitation

Le groupe Exploitation accueille deux nouveaux collaborateurs.Nils Schätti. Arrivé le 1er octobre dans l’équipe

HPC pour succéder à Pascal Jermini qui nous a quitté début mai. Nils participera à l’adminis-tration du grid et des clusters de calcul.

Funda Cubuk. Arrivée le 1er novembre au sein de l’équipe stockage pour y effectuer un stage d’un an; elle succèdera à Fabien Borloz qui nous quittera fin novembre. Funda reprendra les développements du site Web de gestion des salles serveurs.

Nous souhaitons à tous les deux la bienvenue et un plein succès dans leur nouvelles fonctions.

[email protected], Domaine IT

Easyb, Spock et Geb: environnements de tests Gradle: outil de construction des logiciels (considéré comme suc-

cesseur de maven).

Conclusion

Nous avons présenté le langage de programmation agile Groovy que nous utilisons pour le développement depuis plusieurs mois. Force est de constater que Groovy tient la plupart des promesses et permet de passer très rapidement des idées au code, et cela malgré quelques particularités, parfois difficiles à comprendre. Il est important de dire que, dans notre contexte d’utilisation, Groovy ne remplace pas Java, c’est son complément de valeur; dans une application Java restera valable pour les parties sta-

Feelin’ Groovy

tiques, critiques, ou tout simplement écrites il y a longtemps qui fonctionnent bien et qui n’ont pas besoin d’être réécrites. Quant à Groovy, il sera utilisé pour les parties nécessitant plus d’agilité.

Références sur Groovy

Il existe une multitude de ressources traitant de Groovy, un bon point de départ est le livre de Venkat Subramaniam, intitulé Pro-gramming Groovy édité dans la série Pragmatic Programmer en 2008 (ISBN 1-934356-09-3). Le livre de référence sur Groovy c’est Groovy in Action de Dierk König, édité chez Manning en 2007 (ISBN 1-932394-84-2, deuxième édition revue et corrigée prévue pour 2012). Finalement le compilateur de Groovy peut être téléchargé sur le site Web groovy.codehaus.org; on y trouve égale-ment la documentation et de nombreux exemples. n

def bastides= [’César’: ’Soubeyran’,’Ugolin’: ’Soubeyran’, ’Manon’, ’Cadoret’ ]def builder =new groovy.xml.MarkupBuilder()builder.annuaire { bastides.each { prenom, nom -> personne( prenom: prenom, nom: nom ) }}

code 10 – génération de XML

def sql = groovy.sql.Sql.newInstance(’jdbc:mysql://localhost:3306/annuaire’, userid, password, ’com.mysql.jdbc.Driver’)sql.eachRow("SELECT nom,prenom FROM annuaire") { // imprimer les entrées de l’annuaire println "${it.prenom}, ${it.nom} "}def builder =new groovy.xml.MarkupBuilder() // transformer tous les entrées en XMLbuilder.annuaire { sql.eachRow(’SELECT * from annuaire’) { personne(nom: it.nom, prenom: it.prenom )}

code 11 – accès à la base de données

Page 7: Flash informatique 2011 - no 9

722 NOVEMBRE 2011 - N° 9

«IT as a service», those few words summed up the mood of the VMWorld conference [1] held once a year in Europe by VMWare. Held over four days, the first being reserved for partners for the following three general public. Here’s a quick summary.

«IT as a service», ces quelques mots résument bien l’ambiance de la conférence VMWorld [1] organisée une fois par an en Europe par VMWare. Elle a lieu sur quatre jours, le premier étant réservé aux par-tners, les trois suivants au grand public. En voici un rapide compte rendu.

Les conférences

Chaque jour, il y a une General Session, grande messe ouverte à tous les 7’000 participants (19’000 aux US en septembre), pen-dant laquelle aucun autre événement n’a lieu pour garantir une audience maximale [2]. Ensuite, il y a 279 sessions d’une heure avec inscription obligatoire à l’avance pour éviter les salles trop pleines et les participants qui restent à la porte. La majorité des sessions sont les Breakout Sessions qui sont des présentations avec questions/réponses à la fin, classées selon trois niveaux tech-niques Business Solution, Technical et Advanced Technical, de-puis la présentation commerciale jusqu’au niveau technique très avancé. Il y eut aussi des groupes de discussion, des débats et des tables rondes.

Les Labs

En parallèle des sessions il y a possibilité de faire 26 labs différents d’une durée d’une à deux heures. Deux cent quarante places sont disponibles, ce qui demande environ 2’500 VM en parallèle héber-gées dans un cloud aux Pays Bas.Au total sur les quatre jours, près de 6’000 labs auront été suivis et 60’000 VM approvisionnées !

Solutions Exchange

Sous cet anglicisme se cache la partie du centre de conférence dé-diée aux fournisseurs de l’écosystème, plus d’une centaine. La taille des stands varie selon le niveau du sponsoring (Diamond, Platinium, Gold, Silver, Exhibitor…). La majorité des entreprises font partie de l’écosystème et fournissent les briques nécessaires à la virtualisa-tion, au réseau, au stockage et serveurs ou des logiciels complé-mentaires pour la sécurité ou la sauvegarde. Certains, comme Red-Hat, proposent leur propre solution de virtualisation et de cloud.

VMWorld [email protected], chef du groupe Exploitation & [email protected], spécialiste en virtualisation, EPFL - Domaine IT

Nos impressions

Il est évident qu’en s’imposant un rythme maximum de huit sessions, un ou deux labs et la General Session tous les jours, il n’est pas possible de suivre l’intégralité des sessions proposées. Nous avons donc suivi les General Session et nous nous sommes réparti le travail pour les sessions et les labs. Il est à noter que l’intégralité des sessions est disponible quelques semaines après la conférence sur le site VMworld (au minimum sous forme de fichier pdf) pour les personnes ayant participé. Ainsi, sous réserve d’avoir suffisamment de temps, il est possible de les voir dans leur intégralité.

Pour le présent

VMWare s’appuie sur vSphere 5, la dernière version de l’hypervi-seur & de VMWare qui maintenant est seulement déclinée dans la version ESXi, un micro système installable sur le disque dur ou sur une clef usb, les ensembles de serveurs sont gérés par vCenter. C’est le tronc de l’arbre qui se divise en deux branches, la branche serveurs et la branche station de travail.

La branche serveurs Elle possède en plus de l’outil de gestion vCenter des outils de dé-ploiement de centres de données virtuels (vDC) gérés par vCloud-Director. Chaque vDC peut appartenir à une entité de l’entreprise, voire à une entreprise différente, les outils de gestion de factura-tion sont, bien sûr, présents.Les ressources serveurs hébergées dans un vDC interne à l’entre-prise sont dites privées; si les ressources sont hébergées dans un vDC à l’extérieur elles sont dites publiques. Les vDC publics et pri-vés peuvent être interconnectés entre eux par un vCloud connec-tor pour former un nuage que l’on appelle un hybrid cloud.Actuellement, les problèmes induits par l’interconnexion et les déplacements de machines de l’intérieur vers l’extérieur, et réci-

Actualités

Page 8: Flash informatique 2011 - no 9

8 flash informatique88 22 NOVEMBRE 2011 - N° 9flash informatique

proquement, sont bien identifiés (changement d’adresse réseau, caractéristiques CPU, gestion des modèles, répartition de la charge…) mais ne sont pas encore tous résolus.D’un point de vue financier, l’hybrid cloud n’est pas encore un mo-dèle attrayant, au moins pour les grosses entreprises. Un exemple: le PDG de Ducati, le fabricant de motos italiennes, invité à expli-quer comment son entreprise avait virtualisé tous ses serveurs a été interrogé sur la possibilité d’externaliser ses machines vir-tuelles. Il a simplement répondu que l’étude des coûts avait mon-tré que ce serait plus cher que de garder ses machines en interne.

La branche stations de travailView dans la terminologie commerciale VMWare, possède sa vie propre, bien évidemment les machines virtuelles fonctionnent sur des serveurs ESXi gérés par vCenter auxquels s’ajoutent les couches propres à la gestion des stations de travail (DHCP &, AD &, connexion server &…). Actuellement View est optimisé pour les systèmes d’exploitation Microsoft et il n’y a pas de pos-sibilité d’utiliser les vDC pour héberger ces machines virtuelles.Pour ouvrir à encore plus d’applications les possibilités d’utili-ser des machines virtuelles, VMWare travaille main dans la main avec Nvidia &. L’objectif est de permettre aux machines virtuelles d’utiliser des cartes graphiques qui seraient installées dans les serveurs. Dès que la fonctionnalité sera disponible, nous nous empresserons d’installer le kit de développement CUDA sur une machine virtuelle pour voir si on peut l’utiliser pour profiter de la puissance de calcul des GPU !

Pour le futur

La stratégie est clairement totalement tournée vers l’utilisateur. Il doit pouvoir accéder à un catalogue d’applications d’entreprise optimisées pour tous les types de terminaux (PC, Tablette, Smart phone…) en tout temps et en tout lieu.Pour cela, les développeurs doivent pouvoir utiliser des environ-nements de développement (frameworks) modernes qui savent produire directement les applications pour ces terminaux sans aucune reprogrammation (lors de la General Session du CEO de VMWare des noms ont été cités: Spring, Ruby, Scala…).

La prochaine conférence aura lieu du 16 au 18 octobre 2012 à Barcelone.

Références

[1] Le site de la conférence: www.vmworld.com/community/confe-rence/europe/

[2] Les vidéos des General Session: www.vmworld.com/commu-nity/conference/europe/learn/generalsessions n

VMWorld Copenhagen

GLOSSAIRE &AD (Active Directory): mise en œuvre

par Microsoft des services d’annuaire LDAP pour les systèmes d’exploitation Windows.

Connexion server: View Connection Server agit comme un broker pour les connexions client en authentifiant et en dirigeant les demandes entrantes d’utilisateur vers le poste de travail View approprié.

DHCP (Dynamic Host Configuration Proto-col): protocole réseau dont le rôle est d’assurer la configuration automatique des paramètres IP d’une station, notam-ment en lui affectant automatiquement une adresse IP et un masque de sous-réseau. DHCP peut aussi configurer l’adresse de la passerelle par défaut, des serveurs de noms DNS et des serveurs de noms NBNS (connus sous le nom de serveurs WINS sur les réseaux de la société Microsoft).

Hyperviseur: plate-forme de virtualisa-tion qui permet à plusieurs systèmes d’exploitation de travailler sur une même machine physique. W

Nvdia: un des plus grands fournisseurs de cartes graphiques, au début pour consoles de jeu, à présent aussi pour le calcul scientifique.

W = tiré de Wikipédia

Page 9: Flash informatique 2011 - no 9

922 NOVEMBRE 2011 - N° 9

What is Electronic Document Management (EDM) and what should be considered before installation ?

À quoi sert un système de gestion électronique de documents (GED) et quelles questions faut-il se po-ser avant d’en installer un ?

Différentes raisons peuvent amener des personnes à remplacer le système de gestion de documents existant dans leur unité (papier, serveur, boîte mail) par un logiciel de gestion électronique de do-cuments (GED). Parmi les plus fréquentes, il y a:z retrouver rapidement les documents;z accéder facilement aux documents depuis différents postes de

travail ou en déplacement (via le Web);z centraliser les documents;z partager les documents entre tous les collaborateurs de leur

unité;z garantir la sécurité des documents (par la duplication et la

sauvegarde électronique);z permettre un transfert des dossiers (et de connaissance) faci-

lité lors de changement de personnel;z gagner de la place dans les bureaux encombrés de papier.Si les motifs pour installer une GED sont facilement identifiables, préciser ce qu’on attend d’un tel système, ses fonctionnalités, et anticiper les changements organisationnels que l’utilisation de ce nouvel outil va impliquer demande plus de temps. C’est pourtant un travail essentiel qu’il est important de mener avant d’installer le logiciel proprement dit.

Mais qu’est-ce que c’est une GED ?

Un système de GED est un ensemble d’outils permettant de dé-matérialiser, capturer, classer, gérer, partager, éditer, stocker, re-chercher, … des documents électroniques et les informations les concernant. Cette définition, communément admise, a l’intérêt de mettre l’accent sur les notions d’ensembles qui sous-tendent une GED.Ensemble d’outils tout d’abord, car une GED met en relation

différentes technologies, comme un scanner pour numéri-ser les documents, un logiciel de reconnaissance optique de caractères (OCR) pour retrouver un document par un mot du texte, un logiciel permettant la lecture, éventuellement la modification, des fichiers enregistrés (Word, Excel, pdf, etc.), un moteur de recherche qui indexe et retrouve les documents, un système de workflow, une infrastructure assurant le back-up (des documents et des index), et la haute disponibilité du service… Selon la complexité du système de GED mis en place,

celui-ci va interagir de manière plus ou moins transparente avec ces outils ou les intégrer directement.

Ensemble d’utilisateurs ensuite avec des besoins spécifiques, liés à leur métier et leurs processus de travail. Le secréta-riat d’une unité n’aura pas les mêmes besoins que le service en charge de la gestion de dossiers de personnes. Le premier devra enregistrer le courrier entrant et sortant, le faire suivre aux bonnes personnes, éventuellement s’assurer qu’il est traité dans les délais, et finalement le classer de manière centrali-sée et retrouvable par les différents collaborateurs. Le second devra s’assurer que toutes les pièces sont bien enregistrées dans le dossier de personne correspondant et dans les délais impartis, être attentif à la confidentialité de ces documents, s’assurer que ceux-ci ne sont pas conservées au-delà de ce qui est légalement autorisé et éventuellement mettre en relation le système de GED avec une application métier existante de type SAP ou IS-Académia.

Ensemble de documents enfin. Les dispositifs permettant de gé-rer les dossiers sériels, contenant le même type de documents, dans lesquels l’information est très structurée (contrats, for-mulaires divers, factures…) ne seront pas les mêmes que ceux permettant de gérer des courriers, rapports, pv de séances… dont le contenu n’est pas structuré et qui abordent des thé-matiques diverses liées à l’activité de l’unité.

Avant d’installer un système de GED, il est donc important d’identifier les fonctionnalités attendues au travers de cas d’uti-lisation. Par exemple:

Le professeur A. a la responsabilité du projet GED, il vient de terminer le cahier des charges pour l’appel d’offres (cahier_des_charges.doc). Il a également le document de spécification (spécification_GED.doc) qu’il vient de rece-voir par e-mail de son auteur, Monsieur B. ainsi qu’un e-mail important qu’il a envoyé à M. B. confirmant le lan-cement de l’appel d’offres (un pdf avec sa signature est joint). Il souhaite mettre tout cela dans la GED afin que sa secrétaire Mme K. puisse ensuite classer ces documents dans le dossier GED Appel d’offres 2011. Un peu plus tard, le professeur A. souhaite modifier le document cahier_des_charges.doc’ qui se trouve dans la GED. Le professeur A. possède un Macintosh et son client mail est Netscape Mail (v.7). Mme K travaille sur PC, elle dispose de la suite bureautique Office, ainsi que d’Outlook.

Ces cas d’utilisation sont la transcription des activités dans les-quelles des documents (leur rédaction, transmission, conserva-tion, diffusion) sont impliqués.La mise en place d’une GED, nécessite dans la plupart des cas de revoir les processus de travail liés aux documents. S’il est vrai que les documents sur format papier ont tendance à diminuer

Petite introduction à la gestion électronique de [email protected], EPFL - Domaine IT - KIS, responsable du projet GED

Analyse

Page 10: Flash informatique 2011 - no 9

10 flash informatique1010 22 NOVEMBRE 2011 - N° 9flash informatique

dans certaines unités (le canal e-mail avec document attaché prend de plus en plus d’importance), ceux qui y parviennent de-vront être numérisés, indexés (titrés), éventuellement distribués aux personnes concernées et classés. Qui se charge de cela et comment ? Toutes les personnes d’une unité sont-elles habilitées à importer des documents dans la GED, à les indexer et à les clas-ser (avec un risque d’entropie certain au fil du temps) ? Toutes les personnes ont-elles les mêmes droits d’accès à tous les docu-ments ? Qui s’occupe des erreurs de classement ou d’indexation ?Un travail sur les documents doit également être mené afin de garantir une cohérence de la base de documents dans le temps. Tous les documents d’une unité doivent-ils être importés dans la GED (définition d’un périmètre documentaire) ? Comment sont-ils classés (quelle arborescence de fichiers) ? Comment sont-ils indexés (métadonnées) afin de pouvoir les retrouver selon des critères précis ? Sous quel format doivent-ils être stockés afin de garantir leur lisibilité dans le temps ? Quels documents devront être éliminés, une fois leur utilité administrative ou leur validi-té légale passée, ou conservés dans un autre système à des fins d’archivage ?Ces questions ne concernent pas toutes l’outil informatique à mettre en place, mais elles vont permettre de sélectionner celui qui va correspondre le mieux aux besoins et d’anticiper une série de questions qui surgiront au moment de la mise en production ou de l’exploitation. Les projets de GED ne sont pas que des pro-jets informatiques, ce sont avant tout des projets organisationnels dont l’enjeu consiste pour un groupe de personnes à trouver un vocabulaire commun et des pratiques communes.Actuellement, le KIS mène différents projets de GED avec le logi-ciel Alfresco:z Une GED pour la gestion des dossiers des étudiants (en colla-

boration avec le Service Académique et l’OGIF): dans ce projet Alfresco est interfacé avec le logiciel métier IS-Académia et avec le système de numérisation de masse Kofax. La GED mise en place, prend en compte tout le cycle de vie des documents: de l’immatriculation d’un étudiant à l’archivage de son dos-sier.

z Une GED pour la gestion des dossiers des professeurs: il s’agit ici d’un référentiel des documents constitutifs d’un dossier de professeur. Seuls les documents les plus importants d’un dos-sier de professeur sont versés dans la GED.

z Une GED pour le secrétariat du service Santé et sécurité au travail de la Faculté des Sciences de Base (SB-SST)

z Une GED pour les documents de processus du Système de Contrôle Interne (SCI)

Dans de prochains articles, je reviendrai sur ces différents projets ainsi que sur d’autres aspects de la GED.n

Petite introduction à la GED

Live timetable for smartphone.

Horaire en temps réel pour téléphone intelligent.

Après avoir innové l’an dernier en placar-dant les QR-Codes d’accès direct à l’horaire temps réel via le Web aux stations de bus (FI 25 mai 2010), les Transports publics lausannois ont poursuivi cette conviviale démarche en proposant une application dédiée pour iPhone et pour Android, indi-quant en temps réel les prochains départs de lignes depuis le lieu où vous vous situez, ainsi que le plan du réseau.Afin de supporter le maximum de smart-phones &, ils ont aussi publié ultérieu-rement une Web App &, d’apparence similaire à l’application dédiée, avec notamment l’accès aux coordonnées de géo-localisation du smartphone (via GPS ou réseau GSM), ainsi que la mémorisation locale de stations favorites par le naviga-teur.Grâce à l’installation de capteurs sur tout le tracé du réseau de transport public, la centrale est en permanence informée du passage des bus, ce qui permet d’extrapo-ler l’arrivée des véhicules aux prochains arrêts, tout en intégrant les impondérables fluctuations du trafic. Initialement, des tableaux d’affichage électroniques ont été installés aux stations les plus fréquentées, mais évidemment, pour des raisons de coût, ne peuvent pas l’être à tous les arrêts, c’est pourquoi la solution individuelle et embar-quée consistant à recourir aux smartphones des voyageurs s’est logiquement imposée.

Recherche par ligne

Comme pour tout horaire, sélectionnez d’abord la ligne, puis la direction, et enfin la station de départ.Aussitôt, les heures des dix prochains départs s’afficheront chro-nologiquement.En tête de liste sont automatiquement présentées les indica-tions concernant d’éventuelles perturbations du trafic sur la ligne concernée.

FlashiPhone: [email protected], EPFL - Domaine IT, heureux utilisateur de iPhone

Actualités

Page 11: Flash informatique 2011 - no 9

1122 NOVEMBRE 2011 - N° 9

Recherche par proximité

Grâce à la géo-localisation par le smartphone, le plan vous pro-pose spontanément les stations les plus proches.

Favoris

Vos arrêts favoris peuvent être collectés afin de les consulter ins-tantanément.

FlashiPhone: [email protected], EPFL - Domaine IT, heureux utilisateur de iPhone

recherche par ligne recherche par proximité favoris

RemarqueD’autres compagnies de transport public proposent les mêmes services, avec une application dédiée et une Web App, telles que nos voisins genevois les TPG.

Références

z m.t-l.chz m.tpg.ch n

GLOSSAIRE &smartphone: téléphone intelligent, ou

téléphone mobile incluant toutes les fonctions d’un assistant numérique per-

sonnel (PDA), à savoir essentiellement un navigateur Web et un GPS intégré.

Web App: application accessible via le réseau Internet. Elle s’appuie notam-ment sur les standards HTML, CSS et

JavaScript, supportés par le navigateur Web, rendant ainsi l’application exécu-table.

Page 12: Flash informatique 2011 - no 9

12 flash informatique 22 NOVEMBRE 2011 - N° 9

Sven Reber won the contest sponsored by Darest. How did he succeed ?

Sven Reber a gagné les 1000 frs du concours orga-nisé par le FI pour les étudiants de l’EPFL. Comment y est-il parvenu ?

Tout d’abord félicitons le vainqueur, Sven Reber, étudiant en troisième semestre d’in-formatique qui a brillamment passé toutes les étapes et qui va recevoir le prix offert par la société Darest.

Vous étiez quelques dizaines à vous creuser la tête pour arriver au bout de ce cluedo qui démarrait en page 2 du Flash informatique no 8 où une équipe des séminaires du DIT fantaisiste vous invitait à un Doodle.

En cherchant Bletchley Park dans Wikipédia on apprenait entre autres que Turing y avait travaillé, c’était là un indice. Ensuite, l’adresse histoiredelinformatique.epfl.ch vous donnait quelques informations sur le déroulement du concours:

Concours rentrée 2011Vous connaissez sans doute le jeu du Cluedo? ici ce ne sera pas le colonel Moutarde qui aura tué le Docteur Lenoir dans la bibliothèque avec un chandelier. Celui d’entre vous qui le premier nous donnera les réponses aux 4 questions sui-vantes:qui a tuéqui a été tuéoùet avec quelle armegagnera le prix de CHF 1000. offert par la société Darest.6568646518

Solution du concours ou Ada, Alan et la [email protected], Domaine IT, membre de l’équipe des séminaires

D’accord, mais où est la suite? et qu’est-ce que c’est que cette suite de chiffres: 6568646518? En cherchant les coordonnées GPS: 6.5686 E 46.518 N dans plan.epfl.ch, on tombait sur les vi-trines du RLC; ces vitrines contiennent en autres, les livres d’infor-matique édités par les PPUR dont le manuel Ada avec le sourire (encore un indice). Glissé parmi ces livres, vous avez vu et reconnu le masque du personnage principal de la fameuse bande dessinée V pour Vendetta. Ce masque de Guy Fawkes, porté depuis 2008 par les membres du collectif de hacktivistes Anonymous, vous invitait à lui écrire. Mais à qui adresser le mail ? Plus ou moins une chance sur deux ?

Ceux qui avaient opté pour [email protected] ont été convo-qués à une flash mob le vendredi 21 à 12h31. Seuls sept se sont déplacés pour recevoir une carte leur apprenant qu’ils n’avaient pas contacté la bonne personne; ils ont très rapidement rectifié leur tir pour se retrouver dans la course.

Les autres, plus chanceux, ont écrit à [email protected] qui les a conviés à résoudre une énigme chez Polyprog, http://polyprog.epfl.ch/ou_est_tardis. En attendant, il fallait noter que l’url donnait l’indice de tardis (temps à relativité dimensionnelle inter spatiale), la machine à remonter le temps et l’espace; dans plan.epfl.ch, tardis correspon-

Comment faire ?

Page 13: Flash informatique 2011 - no 9

131322 NOVEMBRE 2011 - N° 9

dait à une cabine téléphonique sur le site; ce lieu en a dérouté quelques-uns qui y ont cherché physiquement, mais en vain un indice supplémentaire.

Vous êtes sur la bonne voie

Après avoir résolu l’énigme de Polyprog, basée sur un jeu de NIM, la route menait les concurrents sur une page contenant un mor-ceau de programme écrit en Ada. Nul besoin d’être expert en ce langage, un peu de logique suffisait pour comprendre qu’une cer-taine Ada était la criminelle…

with Ada.Text_IO; use Ada.Text_IO;procedure Hello isbegin Put_Line("Hello, Love!");end Hello;

Package Body _EPFL Is Function Honored (P : Person) Return Boolean Is honoredPersons : ListOfPersons; Begin If (P In honoredPersons) Then return True; Else return False; End Honored; End _EPFL;

Package Body realLife Is Procedure kill (P : Person) Is Begin System.reallyKill (P); End; End realLife;

Procedure Main Is Type EPFL Is Access _EPFL; EPFL : EPFL; me, myEnnemy: Person; Begin if (EPFL.Honored (myEnnemy) And Not EPFL.Honored (me)) Then realLife.kill (myEnnemy); End; End Main;

Yours sincerely,Ada

Puis, un morceau de QRcode avec l’indication: Sauvez-moi, je vous serai sans doute bientôt utile et vous saurez où me trouver.

Alors là, nos étudiants ont pédalé dans la choucroute... mais où sont les bouts manquants, en combien de fichiers ?… Les a-t-on oublié en route ? Il y a quelque chose qui manque quelque part ? mais où ? Sven a trouvé finalement, le nom du fichier PB1.png était celui du local sur la fenêtre duquel était collé la partie manquante du QRCode, encore un coup de plan.epfl.ch. Un pliage ou un coup de ciseaux, un bout de scotch pour compléter le QRcode, un clic sur le smartphone et on arrivait à l’étape suivante, la dernière.

Encore un petit effort

À cette adresse:

Il avait 26 ans quand il a vu cette image, mais il ne se doutait pas qu’elle était prémonitoire pour lui. Car, telle une Eve tentatrice, un mathématicien viendrait d’une autre époque, l’aider à terminer son passage terrestre.

Les esprits des grands scientifiques errent à jamais dans les lieux de savoir et de connaissance que sont les cam-pus, ils errent pour enfin recevoir les honneurs qu’ils n’ont pas connus de leurs vivants et la jalousie entre eux est toujours aussi féroce.

Vous en savez assez à présent pour nous donner les réponses: les noms des criminel et victime, le lieu (donner ses coordonnées GPS) et l’arme du crime.

Vingt-six ans en 1937, une pomme empoisonnée, mais bien sûr c’est Turing la victime… Un dernier clic pour arriver au formulaire final et donner les bonnes réponses:Qui est le criminel: Ada LovelaceQui est la victime: Alan TuringQuelle est l’arme du crime: une pomme empoisonnéeQuel est le lieu du crime (donner ses coordonnées GPS approxima-tivement: 6.568127° E / 46.520367° N)

Et le mobile de cet assassinat ?

Cela ne faisait pas partie des réponses exigées mais était claire-ment indiqué dans le texte de la dernière étape. Alan Turing a donné son nom à un chemin et une place sur le campus de l’EPFL, pas très grands certes, un peu cachés entre les bâtiments IM et MX, mais Ada Lovelace n’a droit à aucune reconnaissance sur le campus,… Ne manquons pas le prochain Ada Lovelace Day (cette année ce fut le 7 octobre), journée destinée à honorer des femmes qui travaillent dans des domaines scientifiques pour le réclamer…

Conclusion

Non, ce n’était pas facile, mais il ne fallait pas que cela le soit. Comme vous avez pu le constater, il ne fallait être ni féru d’infor-matique, ni expert. Seuls vos neurones et votre persistance étaient requis. Bravo à tous ceux qui ont participé ! Nous espérons que vous serez encore plus nombreux la prochaine fois et que nous serons capables d’entraîner dans le jeu encore plus d’étudiantes et de non-informaticiens.À la prochaine donc ! n

Solution du concours ou Ada, Alan et la pomme

Page 14: Flash informatique 2011 - no 9

14 flash informatique 22 NOVEMBRE 2011 - N° 9

Gutenberg is considered the father of printing.Helvetica is probably the symbol of modern typog-raphy, its visual impact is so strong that the corpo-rate logo of uses only this font.Steve Jobs is emblematic of Apple, to the point that the cover page of all Apple Web sites in the world paid tribute to him for over two weeks.

Gutenberg est considéré comme le père de l’impri-merie.Helvetica est probablement le symbole de la mo-dernité en typographie, son impact visuel est tel-lement fort qu’un logo d’entreprise utilise unique-ment cette police: .Steve Jobs est la figure emblématique d’Apple, au point que les pages de garde de tous les sites d’Apple dans le monde lui ont rendu hommage pendant plus de deux semaines.

Le point commun entre ces trois icônes est d’avoir imprimé une marque indélébile dans notre culture occidentale. En effet que serait le protestantisme sans la possibilité de diffuser ses idées avec des pamphlets imprimés à grande échelle ? Luther et son attaque sur l’achat de la charge ecclésiastique de l’évêque de Mainz rencontre le travail de Gutenberg. L’invention de l’imprime-rie se résume dans nos esprits à un principe astucieux de carac-tère mobile métallique utilisé sous une presse. Si cette invention n’était qu’une avancée technique, on aurait oublié le nom de son créateur, après tout, qui associe maintenant Goodyear avec la vulcanisation du caoutchouc ? Le cœur de l’invention de Guten-berg consistera à réaliser une pierre philosophale.

Mécaniser la calligraphie

Avant la révolution de l’imprimerie, il existait déjà des méthodes pour reproduire en masse des images et des textes, la représenta-tion religieuse était restituée avec des typons en bois avec deux défauts intrinsèques :z une qualité directement liée à l’habileté de l’artiste,z un nombre de reproductions relativement faible, quelques

centaines d’impressions (une essence dure est plus résistante à l’usure, mais elle est également plus difficile à graver en creux).

Pour la production écrite, le problème devenait quasiment inso-luble, car comment inscrire un texte lettre par lettre dans le bois, le tout avec une graphie complexe et sans faire aucune faute ? Les premiers à réussir cet exploit sont les Coréens pour un recueil des enseignements bouddhistes, le Jikji, imprimés avec des caractères

mobiles métalliques dont le seul volume existant est conservé à la Bibliothèque Nationale de France dans le département des manuscrits.

Jikji coréen, visualiseur.bnf.fr/ark:/12148/btv1b6300067k

Bible à 42 lignes, smu.edu/bridwell_tools/specialcollections/Highlights2010/ 06117-Gutenberg-Bible-Leave.jpg

Gutenberg, Helvetica et Steve [email protected], EPFL-STI, coordinateur informatique à la faculté des sciences et techniques de l’ingénieur

Actualités

Page 15: Flash informatique 2011 - no 9

151522 NOVEMBRE 2011 - N° 9

Si on compare l’impression coréenne avec un exemplaire de la bible de Gutenberg dite à 42 lignes, on est surpris de la modernité qui se dégage de ce dernier chef-d’œuvre; cela rappelle étrange-ment un travail du Bauhaus, en particulier par l’utilisation d’un texte justifié (contenu entre deux limites verticales) et un rapport judicieux entre la zone imprimée et les marges de la page.Nos traitements de texte nous habituent à une version parti-culièrement bâtarde, le texte justifié est obtenu en insérant des espaces entiers entre les mots, la césure automatique & n’existe pas, bref le résultat est souvent déplorable.Le logiciel de mise en page moderne est plus subtil, il privilégie quatre approches simultanées pour obtenir un texte justifié :z une police proportionnelle &,z les approches de paire &,z les approches de groupe &,z la césure automatique.La police proportionnelle est fondamentalement différente du résultat obtenu par une machine à écrire.

Voix ambiguë d’un coeur qui au zéphyr préfère les jattes de kiwiVoix ambiguë d’un coeur qui au zéphyr préfère les jattes de kiwiIl a fallu attendre 1961 pour disposer d’une machine à écrire avec une police proportionnelle, la machine à écrire IBM Selectric qui remplace le mécanisme de tringles par une boule.

IBM à boule, www-03.ibm.com/ibm/history/exhibits/vintage/images/4506VV2122.jpg

Les approches de paire consistent à définir la distance idéale dans un couple de lettres, Lapin, Alpin et Plain n’ont pas la même longueur exacte sur le papier. Pourtant, ces trois mots possèdent les mêmes lettres, ce sont des anagrammes.

LapinAlpinPlainUne fois ces approches de paire réglées, le typographe va s’atta-cher aux espaces entre les mots, les approches de groupe. Pour éviter le piège grossier de rajouter des espaces entières, on uti-lise des fractions de blanc. Finalement pour parfaire le résultat, une césure automatique accompagnée de caractères insécables (qui ne sont pas coupés) évite de dénaturer le texte et son phrasé.Cette complexité ne semble possible que dans un monde numé-rique. Pourtant, Gutenberg avait dès le départ compris l’ensemble de ces critères de lisibilité et les avait intégrés dans son invention.Vingt-six lettres de l’alphabet et Gutenberg utilise 281 signes typographiques. Cette différence n’est pas due à une utilisation de plusieurs tailles de textes ou styles de caractères (toute la bible de Gutenberg emploie uniquement une seule typographie inspirée par l’écriture gothique des manuscrits). Ce nombre élevé s’explique par le besoin de tenir compte de toutes les possibilités pour avoir un texte justifié parfait avec les accents, les césures et abréviations.Cette technologie est utilisable immédiatement, la largeur de chaque caractère de plomb intègre l’approche de paire par sa lar-geur physique. Les approches de groupe et la césure sont intégrées de la même manière, ceci explique probablement la fascination que provoque la lecture d’une bible de Gutenberg. Comme pour un tableau de Mondrian, la reproduction ne rend pas justice à l’éclat de l’original. Les amateurs peuvent aller se ressourcer direc-tement à Mainz en Allemagne, ou plus proche de nous à Genève dans le Musée Bodmer qui conserve la seule bible de Gutenberg visible en Suisse.

Helvetica, un monde sans sérif

Notre monde moderne s’identifie avec des polices de caractères sans sérif, c’est-à-dire que le jambage de chaque lettre ne possède pas de fioritures.Le nom initial de la police Helvetica est Neue Haas Grotesk. La nouveauté est tempérée par l’existence d’Akzident Grotesk qui a été imaginée par le fondeur de caractère berlinois Hans Berthold en 1886 ! La refonte de cette police est imaginée en 1957 par un duo, Max Miedinger graphiste et Eduard Hoffmann fondeur de caractères pour l’entreprise Hass située à Münchenstein près de Bâle, d’où son nom Helvetica.

Gutenberg, Helvetica et Steve Jobs

Page 16: Flash informatique 2011 - no 9

16 flash informatique1616 22 NOVEMBRE 2011 - N° 9flash informatique

Helvetica quatre polices sans sérif, Akzident Grotesk 1886, Folio 1956, Helvetica 1957 et Univers 1957

Son succès commercial est intimement lié à des participations croisées entre Hass, Stempel et Linotype. L’entreprise Linotype représente ma première expérience physique de la typographie. J’ai visité un journal en 1976 et j’ai ressenti l’odeur de la fusion de l’alliage de plomb accompagné par le cliquetis des matrices qui tombent dans cette machine impressionnante qu’est une Linotype. Revenant sur les principes de Gutenberg, la machine inventée en 1886 ne juxtapose pas des caractères de plomb, mais bien une série de matrices en creux qui forme une ligne justifiée automatiquement. L’alliage est coulé et on obtient une ligne com-plète. Les spécialistes de cette machine ont même leur nom dans le dictionnaire, linotypiste !

une linotype

Steve Jobs, un visionnaire

Dans son discours d’acceptation pour son doctorat honoris causa de l’université de Stanford en 2005, Steve Jobs dévoile des aspects méconnus de son parcours qui éclairent ses créations – news.stan-ford.edu/news/2005/june15/jobs-061505.html.Il décrit quelques éléments majeurs qui ont déterminé sa vie et ses actions, depuis sa naissance, son adoption, son passage éclair dans une université, le cours sur la calligraphie et typographie, jusqu’au cancer qui a finalement entraîné sa mort.Le reproche le plus communément opposé au travail de Steve Jobs est de dire qu’il n’a rien inventé, juste mis en scène des techno-logies déjà existantes. Par exemple, on oppose le travail réalisé dans le centre de recherche de Xerox PARC et Smalltalk avec la LISA et le Macintosh. Ces zélateurs devraient plutôt regarder le travail de pionnier de Douglas Engelbart qui présente en 1968 à Stanford Research Institute le concept d’interface graphique avec une souris, une interface objet, le copier-coller, l’hyperlien et la vidéo-conférence ! sloan.stanford.edu/MouseSite/1968Demo.html#complete.Mon premier contact avec le Macintosh fut la signature d’un contrat de développement en septembre 1984 permettant à mon frère et moi-même d’accéder à ces étranges machines que repré-sentaient la LISA et le Macintosh (la première était nécessaire pour compiler en Pascal pour le second). Rapidement j’ai été aspiré dans un monde nouveau, de la programmation en assembleur qui m’était familière, je me suis confronté à une boîte à outils logiciels comprenant de nombreuses fonctions, la Toolbox, une gestion par événement accompagné par un modèle de mémoire à double indirection. Petit à petit, j’ai ingurgité Inside Macintosh dont la partie la plus volumineuse était consacrée à l’interface utilisateur !En 1985, j’ai également apprivoisé une étrange imprimante Laser qui possédait un langage interprété, le PostScript.Les choix faits par Steve Jobs étaient étrangers à ceux d’un tech-nophile:z un écran à 72 DPI ?z des mesures de la taille des caractères en points ?z des fichiers de caractères décomposés en 3 ?z une imprimante LaserWriter avec son langage interpré-

té PostScript ?Mon concessionnaire Apple s’interrogeait également sur l’avenir de cette imprimante, j’étais quasiment son seul utilisateur pour mes listings en assembleur et j’essayais de programmer directe-ment en PostScript.L’arrivée de PageMaker bouleversa tous les pronostics, le modèle WYSIWYG (What you see is what you get) s’imposa comme une révolution totale dans les arts graphiques. Les principes de Guten-berg devenaient disponibles pour tous.

Des éléments fondateurs pour le WYSIWYG

Un pixel de l’écran = un point72 DPI et le point pica sont des mesures universelles de typo-graphie. Cette mesure est encore présente dans tous nos outils informatiques. Il faut cependant signaler la différence entre le point typographique américain pica et le point Didot français – fr.wikipedia.org/wiki/Point_pica#Le_point_DTP_ou_point_pica.

Gutenberg, Helvetica et Steve Jobs

Page 17: Flash informatique 2011 - no 9

171722 NOVEMBRE 2011 - N° 9

Une police de caractères complèteAu modèle en pixels pour l’écran est ajoutée sa description en PostScript et un fichier contenant déjà toutes les approches de paire calculées par le fondeur de la police. Bizarrement, les indé-licats copiaient uniquement le fichier représentant les pixels, puis le fichier PostScript, mais jamais le fichier AFM contenant les ap-proches de paire. La présence des trois fichiers est nécessaire pour fournir une très bonne qualité sans effort. Parfois, les spécialistes provenant du monde de la photocomposition poussaient le vice à modifier ces approches pour avoir un résultat correspondant exactement à leurs désirs.

Un résultat indépendant de l’imprimante La clé de voûte du dispositif était le PostScript qui permet de réa-liser une opération quasi magique, imprimer sans se soucier de l’imprimante.L’engouement fut très rapide, vous faites votre mise en page dans PageMaker, vous imprimez une épreuve sur votre LaserWriter. Une fois le résultat satisfaisant, vous allez sur une photocomposeuse et celle-ci va interpréter le même fichier et produire un film avec une résolution nettement meilleure (2400 DPI au lieu de 300 DPI). Votre imprimeur va réaliser le bon à tirer et le résultat sera iden-tique à celui du départ, la qualité en plus ! Dès le départ du Ma-cintosh, Steve Jobs a intégré les principes de la typographie en rendant accessible à tous, un métier ancestral. Naturellement, les spécialistes connaissant au préalable ce métier et osant s’investir dans cette nouvelle technologie ont pu très rapidement construire un modèle économique qui est encore valable aujourd’hui.Les choix étranges se sont renouvelés tout le long de la carrière de Steve Jobs.Pour le premier Mac couleur en 1987, le Mac II, les program-meurs étaient particulièrement mécontents du choix de coder la description d’une couleur sur 48 bits (3 x 16). À l’époque, les cartes graphiques proposaient 256 couleurs (8 bits) sur 16 millions (24 bits). Une carte 24 bits représentait le summum avec un coût non négligeable. Des discussions avec des maîtres de la photogra-vure m’apprirent l’existence de scanner à tambours utilisant des photomultiplicateurs. Si un capteur CCD (Charge Couple Device, encore utilisé pour la photographie numérique) de l’époque avait une dynamique de 2.5 (8 bits, 256 niveaux), les photomultiplica-teurs possèdent une dynamique très supérieure de 4.5 (13-14 bits, 8192-16384 niveau). Vingt-quatre ans se sont écoulés depuis, ce codage sur 16 bits par composant de la couleur n’est toujours pas dépassé pour l’acquisi-tion des images. Pour un logiciel comme Photoshop, travailler sur 16 bits par couleur est simple, car le premier Mac couleur de 1987 possédait déjà une profondeur suffisante !Les choix d’Apple ne sont pas le reflet d’un état de l’art en constante mutation, mais sont bien des choix idéologiques basés sur des analyses particulièrement éclairées. Au choix apparem-ment rationnel des comités d’utilisateurs, Steve Jobs répondait par la boutade «pour quoi faire, les usagers ne connaissent pas ce qui est bien».

Steve Jobs, un novateur

Un des succès majeur de Steve Jobs est l’iPhone. Les usagers n’ont pas plébiscité les caractéristiques techniques de l’iPhone, mais bien plus un téléphone utilisable par tous avec un écosystème cohérent (iTunes, App Store). En grattant un peu, on aperçoit des traces du passé comme la très haute résolution de l’écran de l’iPhone 4S qui avec 326 DPI dépasse la résolution de la première LaserWriter !Pour ceux qui aiment les moments d’anthologie, je recommande la vidéo du responsable de Microsoft, Steve Balmer sur la sortie de l’iPhone en 2007 et ses caractéristiques: www.youtube.com/watch?v=eywi0h_Y5_U.Le destin prend parfois des détours surprenants, si bien décrits lors de son allocution à l’université de Stanford en 2005: «If I had never dropped in on that single course in college, the Mac would have never had multiple typefaces or proportionally spaced fonts. And since Windows just copied the Mac, it’s likely that no perso-nal computer would have them». «Si je n’avais jamais manqué un cours à l’université, le Mac n’au-rait jamais eu plusieurs polices de caractères proportionnelles. Et comme Windows a simplement copié le Mac, cela signifierait que probablement aucun ordinateur personnel ne posséderait ces caractéristiques».Un autre témoignage est celui de sa sœur, Mona Simpson, qui livra un éloge émouvant à l’occasion du recueillement dans l’université de Stanford le 16 octobre 2011 en sa mémoire: «His philosophy of aesthetics reminds me of a quote that went something like this: "Fashion is what seems beautiful now but looks ugly later; art can be ugly at first but it becomes beautiful later". Steve always aspi-red to make beautiful later. He was willing to be misunderstood».«Pour décrire sa philosophie sur l’esthétique, je me rappelle une de ses citations qui doit ressembler à ceci: "La mode est ce qui semble être beau maintenant, mais qui apparaîtra laid plus tard, l’art peut apparaître laid au départ, mais il sera magnifique plus tard". Steve [Jobs] a toujours aspiré à faire des choses magnifiques plus tard. Il acceptait d’être incompris». (nyti.ms/rNKgUH). n

Gutenberg, Helvetica et Steve Jobs

GLOSSAIRE &approches de groupe: espace variable situé entre des carac-

tères (interlettre) ou entre des mots (intermot). W

approches de paire: espacement particulier à certaines paires de caractères spécifiques comme VA ou œ. W

césure automatique: opération qui consiste à couper en fin de ligne un mot qui n’entre pas dans la justification, selon des règles bien précises qui varient d’une langue à l’autre. W

police proportionnelle: police dont la chasse est calculée en fonction de la largeur du caractère augmentée des petites espaces qui le séparent du caractère précédent et du carac-tère suivant, espaces appelées approches. W

W = tiré de Wikipédia

Page 18: Flash informatique 2011 - no 9

18 flash informatique 22 NOVEMBRE 2011 - N° 9

Eunis 2011 à Dublin en Irlande, en plein dans les nuages [email protected], EPFL - Domaine IT, chef du groupe Support

Actualités

Eunis Dublin 2011, IT – Congress in a series of con-ferences within the framework of the European Uni-versity Information Systems organisation (EUNIS).

Eunis Dublin 2011, IT – Congrès des services infor-matiques dans l’enseignement supérieur européen.

EUNIS 2011, hébergé du 15 au 17 juin 2011 par le Trinity College de Dublin, est le 17ème congrès de l’European University Informa-tion Systems. Le congrès EUNIS est l’événement international qui attire un vaste public venant d’établissements d’enseignement supérieur (HEI) et qui a lieu chaque année dans un pays différent. C’est une chance pour les spécialistes internationaux, utilisateurs, chercheurs, décideurs et enseignants de toute l’Europe de partager leurs expériences. C’est aussi une très bonne occasion de présen-ter et de publier les derniers résultats des recherches et enquêtes relatives à l’informatique dans les établissements d’enseignement supérieur. Mais, avant tout, EUNIS est l’occasion pour tous de se rencontrer et de discuter chaque année; nous sommes une grande famille européenne qui avons tous les mêmes problèmes informa-tiques dans nos institutions. Il y a quatre sessions de 1h30 en parallèle, avec à chaque fois une conférence de 20 min. et 10 min. pour les questions, et ceci deux fois par jour. On voit donc bien que pendant les 20 min. de présentation le sujet est juste survolé, et c’est après, pendant les pauses et nombreux repas pris debout, que les réseaux se créent et que le courant passe. L’anglais est la langue de communication entre tous, tout le monde est dans le même bain, c’est-à-dire que l’on se comprend bien avec notre anglais académique sauf, avec les vrais Anglais qui eux, parlent beaucoup trop vite pour nous. Et cette année en Irlande, on a été bien servi !Particularité à Trinity College, année du mobile, chaque confé-rence était enregistrée et diffusée automatiquement en podcast sur iTunes. Le système d’enregistrement tournait sur un simple Macintosh et avait l’air d’être très simple à utiliser, l’opérateur indiquait juste le titre de la conférence et l’enregistrement s’ef-fectuait. Ces podcasts sont consultables dans le programme de la conférence: www.eunis.ie/outline.html. Pour la représentation de la Suisse à Eunis cette année, il n’y avait que deux personnes, une pour SWITCH et moi pour l’EPFL. Cette situation est peut-être le reflet de la relation entre la Suisse et l’Europe !En plein dans les nuages disais-je dans le titre… Un proverbe en Irlande dit: qu’ici, il fait beau plusieurs fois par jour, donc les nuages on en a eu notre dose. Mais, il y a surtout le nuage virtuel, le Cloud. Impressionnante la progression de l’effet Cloud cette année à Eunis par rapport à l’année passée où il était quasiment absent. À pré-sent, passons en revue les sujets à la mode que j’ai suivis.

Représentation XML d’un étudiantJ’ai commencé la conférence par un jour de workshop sur le pro-jet de mobilité des étudiants de la taskforce RS3G – wiki.teria.no/display/RS3G/EUNIS+2011+-+RS3G+Workshop. Comment devons-nous définir un étudiant, du point de vue informatique (inscrip-tion, accred, sciper, notes, diplômes, cursus, roaming, porte-mon-naie électronique, quota impression) ? ceci pour pouvoir échanger les données au niveau des universités européennes. Projet Euro-pass, afin d’éviter le syndrome de l’échange de documents pdf par e-mail ! – www.pesc.org/library/docs/standards/High%20Scho-ol%20Transcript/XMLhighschooltranscIMPguidev1.2.020110805.pdf, europass.cedefop.europa.eu/europass/home/hornav/Introduc-tion.csp. Au passage, la présentation était faite depuis le cloud: www.slideshare.net.

Portail pour l’inscription des étudiants dans le nuage Azure de MicrosoftA l’université de Trás-O-Montes et Alto Douro au Portugal, l’ins-cription des étudiants est un processus exécuté chaque année, habituellement dans les deux premières semaines de septembre, comme la plupart des étudiants vont tenter de s’inscrire dans les deux premiers jours de la période d’inscription, l’application Web est utilisée d’une manière très intense et pour une période de temps très courte. Comme l’infrastructure informatique devait être modernisée, la solution Microsoft cloud Azure a été choi-sie pour ce projet, elle devait aussi valider la continuation dans cette direction pour les applications futures. Le développement en .NET ne leur a pris qu’un mois et cela a coûté seulement 70 €/mois pour une infrastructure redondante et performante juste pour la durée de l’inscription. – www.eunis.ie/presentations/vsa-student_registration_system_in_the_Azure_cloud.pdf.

Le cloud computing dans l’enseignement supérieur ?À l’université de Zagreb, depuis 2008 ils utilisent Google Docs pour distribuer les supports de cours aux étudiants. Ils distribuent l’url du document via Moodle. Une étude sur cette solution a été faite et ils constatent que l’avantage d’utiliser le cloud c’est qu’il n’y a plus besoin de main-tenir à jour les applications de bureautique et que les machines ont besoin de beaucoup moins de puissance, donc tiennent plus longtemps sur batteries. Il faut juste une connexion internet et un navigateur Web. Les documents sont aussi accessibles depuis les smartphones. En travail de groupe, la dernière version est tou-jours en ligne, sauvegardée avec le suivi de versions. En cas de perte du portable, les données sont sauvegardées et sécurisées. Ils constatent aussi que les anciens sont plus sceptiques vis-à-vis de ce changement et font de la résistance, par contre les jeunes ont tout de suite accepté le cloud – itunes.apple.com/itunes-u/eunis-dublin-2011/id443128863.

Page 19: Flash informatique 2011 - no 9

191922 NOVEMBRE 2011 - N° 9

Rapport d’étude sur l’utilisation des services par-tagés et du cloud computing dans l’enseignement supérieurLa problématique actuelle est qu’il y a une augmentation des étu-diants, mais pas des équipes IT. Il faut donc commencer à penser différemment. Les transformations futures vont demander une grande agilité des services IT ! Les universités vont devoir être plus compétitives et devoir sous-traiter une partie de l’IT, cela sera iné-vitable, mais les institutions ne sont pas prêtes à faire le pas et c’est pourquoi il faudra avoir de l’agilité. Un rapport d’étude de 300 pages a été fait sur ce sujet avec plein d’exemples, une sorte de boule de cristal pour le futur – he-associates.co.uk/FEAST.aspx. Une des conclusions de ce rapport, c’est que les utilisateurs seront plus satisfaits qu’actuellement !

Utilisation d’une carte à puce pour la gestion d’iden-tité et des services offerts à l’Université de PortoDans cette université qui possède 14 facultés, 31’000 étudiants, 1’900 professeurs, ils utilisent pour l’authentification, le cryptage, la signature et le porte-monnaie le système Equitrac avec une smart card avec ET sans contact ! Intéressant, sans contact quand il faut badger pour imprimer par exemple, avec contact quand il faut s’authentifier ou utiliser le certificat sur un ordina-teur. Pour cela, ils utilisent un tout petit lecteur pliable de carte avec contact sous forme de clef USB – www.scmmicro.com/en/products-solutions/smart-card-readers-a-terminals/smart-card-readers/scr3500. Ils ont 24’000 cartes avec certificat pour la cryp-tographie ! – www.eunis.ie/presentations/lvalente_UPortoCard_EU-NIS_2011.pdf.

Identification des utilisateurs dans le cloud hybride au centre de calcul de MunichLe service IT de TUM (Technische Universität München), 26’300 étudiants, 548M € de budget, mais 120’000 utilisateurs, leur réseau est distribué sur 500 bâtiments et ils ont 2’500 ser-veurs avec aussi une sacrée facture d’électricité ! Ils utilisent un Cloud hybride intranet/internet. Le problème est d’authentifier les utilisateurs (IAM) pour tous ces services, ils utilisent pour cela le LDAP based AuthNZ et Active Directory et enfin Shibboleth – www.eunis.ie/presentations/whommel-Hybrid-Cloud.pdf.

Les défis qui rendent la vie intéressanteQuelques réflexions sur l’utilisation de l’informatique par les étu-diants. Toujours plus de demandes et toujours plus vite, la vie in-formatique s’accélère. Nous avons des changements très rapides dans les technologies. Les access services style iDisk ou DropBox sont de plus en plus utilisés. L’étudiant actuel, digital native, tou-jours connecté, très mobile, flexible et agile, utilise les services 24/7. Toutes les données sont synchronisées partout et en tout temps. Ils veulent des services plus simples, moins complexes, mais en temps réel, par exemple l’utilisation du SMS au lieu de l’e-mail – www.eunis.ie/presentations/ChristineSexton_Presentation.pdf.

Technologies de l’information et pédagogie. Avons-nous échoué ?Conférence de l’université de Sorbonne UPMC à Paris. L’enseigne-ment évolue beaucoup plus lentement que la technologie. Par exemple le savoir ne se transmettait depuis très longtemps que par les livres et maintenant tout passe par l’électronique. Il y a une crise entre l’ancienne méthode d’enseignement et la nouvelle, et l’IT se trouve en centre du cyclone. Aussi l’étude est plus axée sur la per-sonne, chacun fait son choix: quelles matières et où il étudie. Cela a pour conséquence d’avoir une nouvelle pédagogie d’enseignement avec de nouvelles technologies et demande une nouvelle formation pour les enseignants. La question est: est-ce que l’enseignement est prêt à changer ? Comme tout va trop lentement, chacun bricole dans son coin sa solution et pour l’étudiant, il y a une perte d’homo-généité de l’enseignement – www.eunis.ie/presentations/yepelboin-pedagogy.pdf.

Enquête sur l’utilisation du Web 2 dans les universi-tés espagnolesComment utilise-t-on les réseaux sociaux à l’université ? Cette étude a été faite dans toutes les universités espagnoles. Quelques statistiques d’utilisation: Facebook 82%, YouTube 74%, Twitter 74% et les blogs d’institution seulement 13%. Avec YouTube sur 100 vidéos produites il y a eu 78’000 visions. Les blogs sont peu utilisés, car abandonnés, plus assez d’info dessus. La difficulté est qu’il faut être très réactif, Facebook et Twitter c’est tous les jours et Youtube c’est toutes les semaines, ainsi que dans la communica-tion avec les utilisateurs, questions-réponses. Les réseaux sociaux demandent plus d’activité (personnel) et les blogs plus d’engage-ment. Va-t-on avoir le personnel pour tenir ce rythme ? – www.eunis.ie/presentations/rclemente-institutional_use_of_web20.pdf.

Université virtuelle de BavièreL’université virtuelle de la région de Bavière en Allemagne existe depuis mai 2000 et compte 200’000 étudiants, rien que cela ! On ne peut pas être diplômé dans cette université, on reçoit seule-ment des crédits universitaires reconnus en Europe. Pour l’année académique 2010/2011, un catalogue de 475 cours, 77’000 cours ont été suivis par 30’000 étudiants soit 210’000 crédits distribués. – www.eunis.ie/presentations/pruhl_eunis_2011_BVU.pdf.

Voilà, le prochain congrès EUNIS 2012 aura lieu à Vila Real au Portugal du 20 au 22 juin 2012.www.eunis.ie, www.eunis.orgn

Eunis 2011 à Dublin en Irlande, en plein dans les nuages !

Page 20: Flash informatique 2011 - no 9

ISSN 1420-7192

[email protected], EPFL - Domaine IT, ExploitationFrédé[email protected], rédacteur, EPFL – Domaine IT, KIS et Mé[email protected], géologue et illustrateur

Analyse

Un mot: hébergement – quelques regards: informa-tique, humaniste, illustrateur.

Hébergement – JP

L’hébergement, chez les informaticiens, est un terme au sens large qui signifie qu’un client va profiter d’un service qui ne sera pas stocké physiquement chez lui et dont la maintenance sera assurée par celui qui fournit l’hébergement. Pour prendre tout son sens, hébergement doit être accompagné d’un adjectif pour le com-pléter.Prenons pour exemple l’hébergement de sites Web (qui est certai-nement le plus répandu des types d’hébergement), où l’hébergeur met à disposition un espace dans lequel les clients déposeront les fichiers constituant le site Web.Il existe aussi l’hébergement de bases de données qui est souvent couplé à l’hébergement de sites Web, l’hébergement de données sur différents médias type nas/san, etc.. Il existe à peu près autant de types d’hébergement que de services !Pour faire simple, l’hébergement, sous toutes ses formes, vous permet de reporter certaines tâches techniques chez l’hébergeur (mises à jour de sécurité, backup des données, …) et donc d’alléger localement les compétences requises et la charge de travail. Le client du service n’aura pas lui-même à acheter et installer son serveur (gestion d’une salle informatique avec tous les coûts in-duits), mais paiera ce service à l’hébergeur.En fonction des besoins (et du porte-monnaie !), les clients pour-ront choisir entre l’hébergement mutualisé (la ressource est par-tagée entre divers clients, les coûts sont donc répartis) et dédié (la ressource est entièrement allouée au client, il doit donc supporter tous les coûts).Comme pour n’importe quelle chose, il y a des avantages (lis-tés plus haut), mais aussi des inconvénients, par exemple des accès restreints aux ressources (le client ne pourra pas installer ce qu’il souhaite sans vali-dation) et des périodes de maintenance à tolé-rer (qui permettent de garantir la qualité du service offert). À vous de voir ce dont vous avez besoin et ce qui ferait votre bonheur !

… et le berger ment – FR

Héberger un site est une opération devenue pour le moins aisée. Héberger mon semblable, que je ne connais pas, qui ne m’est rien ni ne m’impose aucun devoir, parce qu’il est dans la nécessité, l’affaire est bien différente. Il a besoin d’un toit, pour une nuit, quelques jours, bien, bien, tant que ce n’est pas le mien, tant qu’il ne vient pas déranger ma petite paix de bibelots bien rangés. Et puis il pourrait me piquer mon ifaune en repartant? Oui, cet es-cargot sans coquille me fait faire la grimace. Pourquoi sa présence me met-elle en déroute alors que c’est lui qui est au bord de la route. Peut-être parce que chaque jour de ma vie j’ai eu un toit, un foyer qui m’attendait. Mais lui, temporairement du moins, il n’a plus ce havre vital. Et en Suisse, ne pas être très précisément localisable, c’est louche. Le bohémien est malvenu, on se méfie des semelles de vent. S’arrêter là où tout le monde passe vous rend aussitôt suspect.Je comprends à ma réaction que je considère celui que je ne connais pas comme un danger potentiel. Je préfère encore donner de quoi dormir en espèce à un inconnu de mon espèce plutôt que de lui offrir l’hospitalité. Pourtant c’est un si beau verbe, héber-ger, qui devient par un jeu de mot facile l’appel au berger: Hé, berger!. Un verbe voyageur, comme une auberge sur le chemin, qu’elle soit de jeunesse ou pour le pèlerin, un lieu où trouver le gîte et le couvert, un atterrage sur la route. C’est un des verbes premiers de la langue française, de ceux qui prennent bon soin d’autrui: on héberge toujours quelqu’un, un toi qui cherche un abri, de fortune ou hors de prix. Être hébergé dit la nécessité d’être protégé, comme on a besoin d’être nourri, soigné ou aimé. Mais

sous nos latitudes le sens de l’hospitalité s’est perdu au profit de nos individualités cadenassées. Dire le

contraire reviendrait à dire que le berger ment… n