9
22.11.2011
FlashInformatique.epfl.ch
Concours étudiants La solution
p/a EPFL - Domaine IT - Station 8 - CH 1015 Lausanne - tél. +41 21 69 322 11
Analyse
page 12
Feelin’ Groovy
Actualités DIT-info
6
Maciej.Macowicz@epfl.ch, EPFL – Domaine IT - KIS, développeur Groovy
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
Yet another programming language for the JVM (Java Virtual Machine), allows for agile programming on the Java platform. In this article we first introduce the context of the JVM languages, then we present Groovy as it can be seen by Java developers. We conclude by sketching the libraries and frameworks available within the Groovy ecosystem. Groovy, un langage de programmation pour la JVM (machine virtuelle Java), permet la programmation agile sur la plateforme 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 bibliothèques/frameworks disponibles dans l’écosystème Groovy.
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
tout public public averti expert
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 architectures et systèmes d’exploitation. La première implémentation de Java (1.0) est apparue chez Sun Microsystems en janvier 1996, nous en sommes actuellement à la version 1.7. Conçu dès le départ comme une plateforme 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’innombrables bibliothèques de composants logiciels s’avère très complète. Au début des années 2000, Java était largement enseigné et utilisé; il occupait la pre-
Feelin’ Groovy mière place dans l’index TIOBE 1 avec 30 % de popularité; certains parlaient alors de la fin de l’histoire des langages de programmation.
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 programmation fonctionnelle, permettant les manipulations de fonctions par les programmes (contrairement à la programmation impérative 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 dynamique 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 système de types très puissant,
3 4 5 1 2
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 langage 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; statiquement typé, il est doté d’un système de types très évolué, permettant 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 bibliothè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éveloppeurs en tant que langage agile et dynamique pour la plateforme 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 typing), 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).
www.tiobe.com/index.php/content/paperinfo/tpci/index.html en.wikipedia.org/wiki/List_of_JVM_languages groovy.codehaus.org
DUBOCHET, Gilles. Scala. Flash Informatique 9/2010. EPFL 2010. flashinformatique.epfl.ch/spip.php?article2221 en octobre 2011 Java occupe toujours la première place dans l’index TIOBE, mais son taux d’utilisation est tombé à 18%
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
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
Feelin’ Groovy 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 statiquement 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 cidessous 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 application 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’intégration des frameworks Java (Struts2, Sitemesh); z rapidité de compilation et d’exécution; z possibilité de prototypage rapide et de programmation exploratoire; 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 Scala); 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 exploratoire 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 représentatives de Groovy.
GroovyBeans Les composants JavaBeans largement utilisés dans Java sont inutilement 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 constructeurs sont optionnels, on peut instancier un objet en passant une map de paramètres d’instance nommés (code 2).
Opérateurs Groovy 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).
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
6
code.google.com/p/groovypptest/
7
codenarc.sourceforge.net
8
Groovy définit plusieurs conventions, par exemple la variable it représente la valeur courante de l’itération courante
22 NOVEMBRE 2011 - N° 9
3
Feelin’ Groovy Personne p ... nom= (p != null) ? p.getNom(): null; ... nom= p?.nom ... nom = (p.getNom()!= null) ? p.getNom() : "unknown"; ... nom = p.nom?: ’unknown’ ... nom = (p!= null && p.getNom()!= null) ? p.getNom() : "unknown"; ... nom = p?.nom?: ’unknown’
// // // // // //
Java Groovy Java Groovy Java Groovy
code 3 – opérateurs
Chaînes de caractères
Fermetures
Groovy 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).
Une 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).
String p=’Ugolin’ String n=’Soubeyran’
Collections
/* chaîne évaluée */
Groovy 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).
String u= "$p - $n" assert u == ’Ugolin - Soubeyran’ /* chaîne multiligne */
String sql= """ SELECT * FROM annuaire WHERE age < 35 """
Traitement d’exceptions
code 4 – chaînes de caractères
Expressions régulières Les expressions régulières en Java sont lourdes à utiliser, l’essentiel 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).
Java impose le traitement d’exceptions (blocs try ... catch) pour tous les fragments de code censés lever une exception et en effectue les contrôles à la compilation. Dans la pratique cela résulte en plusieurs blocs catch vides, à moins d’utiliser les astuces (sousclasses des exceptions non traitées comme par exemple RunTimeException 9). Groovy lève ces contraintes, les exceptions non traitées sont simplement passées à l’appelant.
def text = ’Groovy est bien’ def pattern= ~/(G|g)roovy/ assert ’Groovy est bien’ =~ /(G|g)roovy/ // =~ assert !(’Groovy est bien’ ==~ /(G|g)roovy/) assert text ==~ /(G|g)roovy.*$/ assert "a b c".split(/\s/) == [’a’, ’b’, ’c’] assert ("a b c" =~ /\S/).collect { it } == [’a’, ’b’, ’c’] new File("pagnol.txt").eachLine{ line-> if (line =~ /[Jj]ean|[Ff]lorette/) println line }
// syntaxe spéciale pour les e.r., chaînes entre ~/ et / vrai si la chaîne contient un fragment conforme à l’e.r. // ==~ vrai si toute la chaîne est conforme à l’e.r. // // chaine -> liste via split + e.r. // chaine -> liste via e.r. // imprimer toutes les lignes contenant ’jean’ ou ’florette’
/* 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 } 0.upto(9) { println it } (0..<10).each { println it }
// { println it } : fermeture, paramètre de times
/* 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) { long elapsed= System.currentTimeMillis() c.call() return System.currentTimeMillis()-elapsed } long elapsed= benchmark { sleep(1000) } code 6 - fermetures
download.oracle.com/javase/tutorial/essential/exceptions/runtime.html
9
4 flash informatique
// // // //
c = fermeture (code!) passée en paramètre à la fonction on récupère la valeur de l’horloge on appelle le code passé en paramètre (le code peut être long) à la fin on calcule le temps d’exécution et on le retourne
// sleep (...) est le bloc de code passé en paramètre.
Feelin’ Groovy /* Listes */
def l=[’jean’, ’paul’, ’jacques’] assert l.class.name == ’java.util.ArrayList’ assert l.findAll{ it.startsWith(’j’) } == [’jean’, ’jacques’] assert l.any { it.startsWith(’p’)} assert l.findAll{ it.startsWith(’j’) }.every { it.startsWith(’j’)} assert l*.toUpperCase() == [’JEAN’, ’PAUL’, ’JACQUES’] assert l[0] == 'jean' assert l[-1] == 'jacques' l+= ’henri’ l-= ’paul’ assert l == [’jean’, ’jacques’, ’henri’] l.each { println it } l.eachWithIndex { it, idx -> printf "%3d: %s\n", idx, it } assert l.sort () == [’henri’,’jacques’,’jean’] assert l.sort {a,b-> b.compareTo(a)} == [’jean’,’jacques’,’henri’] assert l.sort {it.size()} == [’jean’, ’henri’, ’jacques’] assert l.sort {-it.size()} == [’jacques’, ’henri’, ’jean’]
// // // // // // // // //
liste de Groovy est une liste Java sélection prédicat: au moins un élément prédicat: tous les éléments application à tous les éléments premier élément de la liste dernier élément de la liste ajout d’un élément suppression d’un élément
// // // // // //
itération simple iteration avec index tri ascendant, ordre lexicographique tri descendant, ordre lexicographique tri ascendant par longueur tri descendant par longueur
/* Maps */
def age=[jean:28, paul:30, jacques:32] assert age.jean== 28 code 7 – collections
Traitement de XML
Accès aux bases de données SQL
Le traitement des données XML est très fréquent dans les applications 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érialisation de XML sur un document XML (code 8 et 9). La sérialisation 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.
Groovy fournit les mécanismes de haut niveau également pour accéder aux bases de données SQL, dans l’esprit similaire au traitement 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 Groovy Groovy est un langage de programmation qui suscite un grand intérêt de développeurs, par conséquent on a vu apparaître plusieurs frameworks et bibliothèques Groovy: Grails: développement d’applications Web inspiré de Rails Griffon: développement de clients riches Gaelyk: environnement de programmation d’applications Web sur le Google App Engine
<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 fichier xml.personne.each { // afficher toutes les personnes println "${it.@prenom.text()}, ${it.@nom.text()}, ${it.age} ans" } def comparerPersonnes = { a, b -> // comparer deux personnes, ordre décroissant b.@nom.text().compareTo(a.@nom.text())?: b.@prenom.text().compareTo(a.@prenom.text()) } xml.personne.findAll().sort { a,b -> comparerPersonnes(a,b) }.each { // trier la liste de personnes et l’afficher print "${it.@prenom.text()}, ${it.@nom.text()}, ${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
22 NOVEMBRE 2011 - N° 9
5
Feelin’ Groovy 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 XML builder.annuaire { sql.eachRow(’SELECT * from annuaire’) { personne(nom: it.nom, prenom: it.prenom ) } code 11 – accès à la base de données
Easyb, Spock et Geb: environnements de tests Gradle: outil de construction des logiciels (considéré comme successeur de maven).
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é.
Conclusion
Références sur Groovy
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-
Il existe une multitude de ressources traitant de Groovy, un bon point de départ est le livre de Venkat Subramaniam, intitulé Programming 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 également la documentation et de nombreux exemples. n
Actualités
DIT-info Nouveau stagiaire au groupe Téléinformatique 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. Jacques.Virchaux@epfl.ch, Domaine IT
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’administration 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. Fabien.Figueras@epfl.ch, Domaine IT
6 flash informatique
Actualités
VMWorld Copenhagen Fabien.Figueras@epfl.ch, chef du groupe Exploitation & Eric.Krejci@epfl.ch, spécialiste en virtualisation, EPFL - Domaine IT
«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 partners, 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), pendant 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 techniques Business Solution, Technical et Advanced Technical, depuis 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ébergé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 virtualisation, au réseau, au stockage et serveurs ou des logiciels complémentaires pour la sécurité ou la sauvegarde. Certains, comme RedHat, proposent leur propre solution de virtualisation et de cloud.
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’hyperviseur & 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 vCloudDirector. Chaque vDC peut appartenir à une entité de l’entreprise, voire à une entreprise différente, les outils de gestion de facturation sont, bien sûr, présents. Les ressources serveurs hébergées dans un vDC interne à l’entreprise 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 privés peuvent être interconnectés entre eux par un vCloud connector 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éci22 NOVEMBRE 2011 - N° 9
7
VMWorld Copenhagen 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 modèle attrayant, au moins pour les grosses entreprises. Un exemple: le PDG de Ducati, le fabricant de motos italiennes, invité à expliquer comment son entreprise avait virtualisé tous ses serveurs a été interrogé sur la possibilité d’externaliser ses machines virtuelles. Il a simplement répondu que l’étude des coûts avait montré que ce serait plus cher que de garder ses machines en interne.
La branche stations de travail View 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 possibilité d’utiliser les vDC pour héberger ces machines virtuelles. Pour ouvrir à encore plus d’applications les possibilités d’utiliser 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 !
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é.
8 flash informatique
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 environnements 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/conference/europe/
[2] Les vidéos des General Session: www.vmworld.com/community/conference/europe/learn/generalsessions n
DHCP (Dynamic Host Configuration Protocol): protocole réseau dont le rôle est d’assurer la configuration automatique des paramètres IP d’une station, notamment en lui affectant automatiquement une adresse IP et un masque de sousré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 virtualisation 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
Analyse
Petite introduction à la gestion électronique de documents Patricia.Plaza.@epfl.ch, EPFL - Domaine IT - KIS, responsable du projet GED
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 poser 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 documents (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) facilité 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, rechercher, … 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ériser 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 backup (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étariat 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 centralisé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, formulaires 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’utilisation. 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 recevoir par e-mail de son auteur, Monsieur B. ainsi qu’un email important qu’il a envoyé à M. B. confirmant le lancement 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 lesquelles des documents (leur rédaction, transmission, conservation, 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 22 NOVEMBRE 2011 - N° 9
9
Petite introduction à la GED dans certaines unités (le canal e-mail avec document attaché prend de plus en plus d’importance), ceux qui y parviennent devront ê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 classer (avec un risque d’entropie certain au fil du temps) ? Toutes les personnes ont-elles les mêmes droits d’accès à tous les documents ? 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 sontils 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 validité 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 projets 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 logiciel Alfresco: z Une GED pour la gestion des dossiers des étudiants (en collaboration 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 dossier. 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 dossier 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
Actualités
FlashiPhone: Mo
Francois.Roulet@epfl.ch, EPFL - Domaine IT, heureux utilisateur de iPho
Live timetable for smartphone. Horaire en temps réel pour téléphone intelligent. Après avoir innové l’an dernier en placardant 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, indiquant 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 smartphones &, ils ont aussi publié ultérieurement 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 navigateur. 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’extrapoler 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 embarqué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 chronologiquement. En tête de liste sont automatiquement présentées les indications concernant d’éventuelles perturbations du trafic sur la ligne concernée.
10 flash informatique
obileIT
one
recherche par ligne
recherche par proximité
favoris
Recherche par proximité
Remarque
Grâce à la géo-localisation par le smartphone, le plan vous propose spontanément les stations les plus proches.
D’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.
Favoris
Références
Vos arrêts favoris peuvent être collectés afin de les consulter instantanément.
z m.t-l.ch z 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 notamment sur les standards HTML, CSS et
JavaScript, supportés par le navigateur Web, rendant ainsi l’application exécutable.
22 NOVEMBRE 2011 - N° 9
11
Comment faire ?
Solution du concours ou Ada, Alan et la pomme Appoline.Raposo@epfl.ch, Domaine IT, membre de l’équipe des séminaires
Sven Reber won the contest sponsored by Darest. How did he succeed ? Sven Reber a gagné les 1000 frs du concours organisé 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’informatique qui a brillamment passé toutes les étapes et qui va recevoir le prix offert par la société Darest.
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 vitrines du RLC; ces vitrines contiennent en autres, les livres d’informatique é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 ?
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. Ceux qui avaient opté pour Guy.Fawkes@epfl.ch ont été convoqué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.
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 2011 Vous 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 suivantes: qui a tué qui a été tué où et avec quelle arme gagnera le prix de CHF 1000. offert par la société Darest. 6568646518
12 flash informatique
Les autres, plus chanceux, ont écrit à anonymous@epfl.ch 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-
Solution du concours ou Ada, Alan et la pomme 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.
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 campus, 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 ê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 morceau de programme écrit en Ada. Nul besoin d’être expert en ce langage, un peu de logique suffisait pour comprendre qu’une certaine Ada était la criminelle… with Ada.Text_IO; use Ada.Text_IO; procedure Hello is begin 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.
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 Lovelace Qui est la victime: Alan Turing Quelle est l’arme du crime: une pomme empoisonnée Quel est le lieu du crime (donner ses coordonnées GPS approximativement: 6.568127° E / 46.520367° N)
Et le mobile de cet assassinat ? Cela ne faisait pas partie des réponses exigées mais était clairement 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’informatique, 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 22 NOVEMBRE 2011 - N° 9
13
Actualités
Gutenberg, Helvetica et Steve Jobs Laurent.Kling@epfl.ch, EPFL-STI, coordinateur informatique à la faculté des sciences et techniques de l’ingénieur
Gutenberg is considered the father of printing. Helvetica is probably the symbol of modern typography, its visual impact is so strong that the corporate 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’imprimerie. Helvetica est probablement le symbole de la modernité en typographie, son impact visuel est tellement fort qu’un logo d’entreprise utilise uniquement 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.
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
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’imprimerie se résume dans nos esprits à un principe astucieux de caractè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 Gutenberg 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ésentation 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 insoluble, 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
14 flash informatique
Bible à 42 lignes, smu.edu/bridwell_tools/specialcollections/Highlights2010/ 06117-Gutenberg-Bible-Leave.jpg
Gutenberg, Helvetica et Steve Jobs 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 étrangement 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 particuliè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 kiwi Voix ambiguë d’un coeur qui au zéphyr préfère les jattes de kiwi
Il 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.
Lapin Alpin Plain Une fois ces approches de paire réglées, le typographe va s’attacher aux espaces entre les mots, les approches de groupe. Pour éviter le piège grossier de rajouter des espaces entières, on utilise 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 largeur 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 directement à 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
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.
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.
22 NOVEMBRE 2011 - N° 9
15
Gutenberg, Helvetica et Steve Jobs
Steve Jobs, un visionnaire
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 complète. Les spécialistes de cette machine ont même leur nom dans le dictionnaire, linotypiste !
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.stanford.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 technologies 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 technophile: 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 directement 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 Gutenberg devenaient disponibles pour tous.
Des éléments fondateurs pour le WYSIWYG Un pixel de l’écran = un point
une linotype
16 flash informatique
72 DPI et le point pica sont des mesures universelles de typographie. 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
Une police de caractères complète Au 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 approches 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éaliser 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 identique à celui du départ, la qualité en plus ! Dès le départ du Macintosh, 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 programmeurs é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 photogravure 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 photomultiplicateurs 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’acquisition 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 apparemment 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 personal computer would have them». «Si je n’avais jamais manqué un cours à l’université, le Mac n’aurait 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 aspired 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
GLOSSAIRE
&
approches de groupe: espace variable situé entre des caractè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 caractère suivant, espaces appelées approches. W W = tiré de Wikipédia
22 NOVEMBRE 2011 - N° 9
17
Actualités
Eunis 2011 à Dublin en Irlande, en plein dans les nuages ! Christian.Zufferey@epfl.ch, EPFL - Domaine IT, chef du groupe Support
Eunis Dublin 2011, IT – Congress in a series of conferences within the framework of the European University Information Systems organisation (EUNIS). Eunis Dublin 2011, IT – Congrès des services informatiques 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 Information 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ésenter 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 informatiques 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’effectuait. 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.
18 flash informatique
Représentation XML d’un étudiant J’ai commencé la conférence par un jour de workshop sur le projet de mobilité des étudiants de la taskforce RS3G – wiki.teria.no/ display/RS3G/EUNIS+2011+-+RS3G+Workshop. Comment devonsnous définir un étudiant, du point de vue informatique (inscription, accred, sciper, notes, diplômes, cursus, roaming, porte-monnaie électronique, quota impression) ? ceci pour pouvoir échanger les données au niveau des universités européennes. Projet Europass, afin d’éviter le syndrome de l’échange de documents pdf par e-mail ! – www.pesc.org/library/docs/standards/High%20School%20Transcript/XMLhighschooltranscIMPguidev1.2.020110805. pdf, europass.cedefop.europa.eu/europass/home/hornav/Introduction.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 Microsoft A l’université de Trás-O-Montes et Alto Douro au Portugal, l’inscription 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é choisie 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/vsastudent_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 maintenir à 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 toujours 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/eunisdublin-2011/id443128863.
Eunis 2011 à Dublin en Irlande, en plein dans les nuages !
Les défis qui rendent la vie intéressante Quelques réflexions sur l’utilisation de l’informatique par les étudiants. Toujours plus de demandes et toujours plus vite, la vie informatique 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, toujours 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. Avonsnous échoué ? Rapport d’étude sur l’utilisation des services partagés et du cloud computing dans l’enseignement supérieur La problématique actuelle est qu’il y a une augmentation des étudiants, 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’identité et des services offerts à l’Université de Porto Dans 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 ordinateur. 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-cardreaders/scr3500. Ils ont 24’000 cartes avec certificat pour la cryptographie ! – www.eunis.ie/presentations/lvalente_UPortoCard_EUNIS_2011.pdf.
Identification des utilisateurs dans le cloud hybride au centre de calcul de Munich Le 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 serveurs 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.
Conférence de l’université de Sorbonne UPMC à Paris. L’enseignement é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 personne, 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’homogénéité de l’enseignement – www.eunis.ie/presentations/yepelboinpedagogy.pdf.
Enquête sur l’utilisation du Web 2 dans les universités espagnoles Comment 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 communication avec les utilisateurs, questions-réponses. Les réseaux sociaux demandent plus d’activité (personnel) et les blogs plus d’engagement. Va-t-on avoir le personnel pour tenir ce rythme ? – www. eunis.ie/presentations/rclemente-institutional_use_of_web20.pdf.
Université virtuelle de Bavière L’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 seulement 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.org n
22 NOVEMBRE 2011 - N° 9
19
Analyse
HÉBERGEMENT Julia.Paolini@epfl.ch, EPFL - Domaine IT, Exploitation Frédéric.Rauss@epfl.ch, rédacteur, EPFL – Domaine IT, KIS et Médiacom Esteban.Rosales@bluewin.ch, géologue et illustrateur
Un mot: hébergement – quelques regards: informatique, 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 compléter. Prenons pour exemple l’hébergement de sites Web (qui est certainement 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 induits), mais paiera ce service à l’hébergeur. En fonction des besoins (et du porte-monnaie !), les clients pourront choisir entre l’hébergement mutualisé (la ressource est partagé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 (listé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 validation) 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 escargot 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éberger, 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
ISSN 1420-7192