flash informatique 2011 - no 6

28
FlashInformatique.epfl.ch p/a EPFL - Domaine IT - Station 8 - CH 1015 Lausanne - tél. +41 21 69 322 11 28.06.2011 6 tout public public averti expert Actualités DIT-info z Maintenance du matériel informatique J.-C. Berney 2 z Nouvelles règles pour Gaspar J.-C. Berney 2 z Nouveau au KIS P. Mellier 2 z Changement de guichet pour le CRI E. Gruter 9 z Le DIT vous forme… 9 Echos du ForumIT de printemps J. Dousson 3 Journée mondiale IPv6@EPFL-DIT S. Lanouar 28 Analyse Cloud: évolution ou révolution ? F. Figueras 1 La solution genevoise de vote électro- nique à cœur ouvert M. Chevallier 18 À votre service Open Directory F. Roulet 15 actu.epfl.ch, l'outil pour diffuser vos actualités G. Charmier 26 Logiciel libre TeX Live, distribution TeX/LaTeX libre B. Barras 7 Git, un logiciel de gestion de versions décentralisée D. Raboud 10 Prochaines parutions No Délai de rédaction Parution 7 14.07.11 23.08.11 Rentrée 22.08.11 16.09.11 9 29.09.11 18.10.11 page 15 Open Directory Analyse Cloud: évolution ou révolution ? Fabien.Figueras@epfl.ch, EPFL – Domaine IT, chef du groupe Exploitation Cloud or Cloud Computing! Is this a new paradigm that will revolutionize the IT World or a minor evolution of existing technologies? Cloud, Cloud Computing ou in- formatique dans le(s) nuage(s) ! Est-ce un nouveau modèle qui va révolutionner l’informatique ou une évolution mineure des technologies existantes ? Dans cet article nous aborderons l’origine de ce paradigme, puis les différents modèles et types de Cloud. Ensuite nous aborderons les limites du modèle. Depuis quelques années nous avons constaté que les machines généralistes qui remplissent les centres de calcul sont majoritairement sous-utilisées avec comme conséquence une large consommation d’énergie électrique inutile. Beaucoup de projets ont besoin de puis- sance de traitement seulement pendant une période de courte durée, par exemple pendant les phases de tests lors de change- ment d’infrastructure, lors du changement de version de logiciel ou lors de périodes de forte activité. La réponse à ces problèmes a déjà été don- née il y a quelques années avec la virtuali- sation des machines et le partage des res- sources ! Fouillez la littérature et vous vous apercevrez vite que la virtualisation est la brique de base logicielle du Cloud & , donc me direz vous: rien de neuf ? On pourrait s’en tenir effectivement à ce constat et terminer l’article, mais essayons d’aller un peu plus loin. Les utilisateurs de l’informatique ne sont pas seulement les administrateurs de ma- chines, mais aussi des développeurs et sur- tout des utilisateurs finaux (vous, moi,…) il y a donc un classement des modèles de Cloud selon le public cible. SaaS (Software as a Service): offre l’accès à des services logiciels via une interface Web, telle de la messagerie, du traite- ment de texte… destiné à tous. PaaS (Platform as a Service): offre la pos- sibilité de déployer des applications sur des machines virtuelles. Ces machines pourront faire partie d’un SaaS ! Les déploiements se font avec un environ- nement de programmation spécifique. Ce modèle est destiné aux développeurs (par exemple: Salesforce, openERP). IaaS (Infrastructure as a Service): offre la possibilité de déployer des machines virtuelles qui, bien sûr, pourront être utilisées par du PaaS pour faire du SaaS. Donc sans machine virtuelle point de Cloud ! .. /.. Suite page 6

Upload: epfl

Post on 30-Mar-2016

224 views

Category:

Documents


4 download

DESCRIPTION

journal informatique de l'Ecole Polytechnique Fédérale de Lausanne du 28 juin 2011

TRANSCRIPT

FlashInformatique.epfl.ch

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

28.06.20116

tout public public averti expert

Actualités DIT-info

z Maintenance du matériel informatique

J.-C. Berney 2

z Nouvelles règles pour Gaspar

J.-C. Berney 2

z Nouveau au KIS P. Mellier 2

z Changement de guichet pour le CRI

E. Gruter 9

z Le DIT vous forme… 9

Echos du ForumIT de printemps

J. Dousson 3

Journée mondiale IPv6@EPFL-DIT

S. Lanouar 28

AnalyseCloud: évolution ou révolution ?

F. Figueras 1

La solution genevoise de vote électro-

nique à cœur ouvert M. Chevallier 18

À votre serviceOpen Directory F. Roulet 15

actu.epfl.ch, l'outil pour diffuser vos actualités

G. Charmier 26

Logiciel libreTeX Live, distribution TeX/LaTeX libre

B. Barras 7

Git, un logiciel de gestion de versions

décentralisée D. Raboud 10

Prochaines parutions

No Délai de rédaction Parution

7 14.07.11 23.08.11

Rentrée 22.08.11 16.09.11

9 29.09.11 18.10.11

page 15

Open Directory

Analyse

Cloud: évolution ou révolution [email protected], EPFL – Domaine IT, chef du groupe Exploitation

Cloud or Cloud Computing!Is this a new paradigm that will revolutionize the IT World or a minor evolution of existing technologies?

Cloud, Cloud Computing ou in-formatique dans le(s) nuage(s) ! Est-ce un nouveau modèle qui va révolutionner l’informatique ou une évolution mineure des technologies existantes ?

Dans cet article nous aborderons l’origine de ce paradigme, puis les différents modèles et types de Cloud. Ensuite nous aborderons les limites du modèle.Depuis quelques années nous avons constaté que les machines généralistes qui remplissent les centres de calcul sont majoritairement sous-utilisées avec comme conséquence une large consommation d’énergie électrique inutile.Beaucoup de projets ont besoin de puis-sance de traitement seulement pendant une période de courte durée, par exemple pendant les phases de tests lors de change-ment d’infrastructure, lors du changement de version de logiciel ou lors de périodes de forte activité.La réponse à ces problèmes a déjà été don-née il y a quelques années avec la virtuali-sation des machines et le partage des res-

sources ! Fouillez la littérature et vous vous apercevrez vite que la virtualisation est la brique de base logicielle du Cloud &, donc me direz vous: rien de neuf ?On pourrait s’en tenir effectivement à ce constat et terminer l’article, mais essayons d’aller un peu plus loin.Les utilisateurs de l’informatique ne sont pas seulement les administrateurs de ma-chines, mais aussi des développeurs et sur-tout des utilisateurs finaux (vous, moi,…) il y a donc un classement des modèles de Cloud selon le public cible.SaaS (Software as a Service): offre l’accès

à des services logiciels via une interface Web, telle de la messagerie, du traite-ment de texte… destiné à tous.

PaaS (Platform as a Service): offre la pos-sibilité de déployer des applications sur des machines virtuelles. Ces machines pourront faire partie d’un SaaS ! Les déploiements se font avec un environ-nement de programmation spécifique. Ce modèle est destiné aux développeurs (par exemple: Salesforce, openERP).

IaaS (Infrastructure as a Service): offre la possibilité de déployer des machines virtuelles qui, bien sûr, pourront être utilisées par du PaaS pour faire du SaaS.

Donc sans machine virtuelle point de Cloud !

.. /.. Suite page 6

2 28 juin 2011 - N° 6flash informatique

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:Aristide Boisseau, Paulo de Jesus, Patrice Fumasoli, Jean-Damien Humair, Laurent Kling, Julia Paolini, Vittoria Rezzonico, François Roulet, Christophe Salzmann, Predrag Viceic & Jacques Virchaux

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]

DIT-info

Maintenance du matériel informatique

Les règles concernant les conditions de maintenance du matériel informatique, actuellement en vigueur, datent de 2005, le CopilSI (Coordination des Systèmes d’Information) a décidé de les actua-liser et de les simplifier.

Pour les postes de travail ou portableFinancement par les unités d’une garantie sur site pour 3 ans for-tement recommandée, mais pas obligatoire; l’unité peut décider de prolonger la garantie sur site au-delà des 3 ans.Réparation: pour le matériel hors garantie, le DIT facture aux unités les pièces nécessaires aux réparations qu’il peut effectuer lui-même ou le prix total de la réparation s’il doit la sous-traiter. Dans les cas manifestes de négligence, le DIT n'effectuera pas lui-même les réparations. Le DIT assure l’interface avec le constructeur pour le matériel sous garantie.

Imprimantes Deux solutions sont préconisées pour les unités:z recourir au leasing ou à un contrat de maintenance sur site

pour les imprimantes d’une certaine importance ;z considérer les imprimantes bas de gamme comme des

consommables (les remplacer en cas de panne).Le DIT n’offre aucun prestation de réparation pour les impri-mantes.

Objets de plus de CHF 5000.- Financement obligatoire de la garantie (de préférence sur site) sur 3 ans par les unités, financement facultatif par les unités de l’extension de garantie au-delà des 3 ans.

Ces règles entrent en vigueur le 1er juillet 2011. Le texte officiel peut être retrouvé sur la page dit.epfl.ch/directives.

[email protected], Domaine IT

Actualités

Nouvelles règles pour les mots de passe Gaspar

A partir du 1er juillet 2011, les règles pour les mots de passe Gaspar ont été durcies afin d’augmenter la sécurité des applica-tions informatiques de l’EPFL. Ceci n’a pas d’effet rétroactif et ne concerne donc que les nouveaux mots de passe.

Nouvelles règles:z le mot de passe doit contenir au moins 10 caractères;z le mot de passe ne doit pas être basé sur un mot figurant dans

un dictionnaire;z le mot de passe doit contenir des caractères d’au moins trois

de ces catégories:w chiffresw majusculesw minusculesw caractères spéciaux: &, %, - …

Quand vous choisirez un nouveau mot de passe sur Gaspar (gas-par.epfl.ch), tant que vous ne satisferez pas les conditions spéci-fiées, votre mot de passe sera refusé.

[email protected], Domaine IT

–––––

Nouveau au KIS

Julien Ramboz a rejoint l'équipe du KIS au 1er juin 2011. Julien est un jeune ingénieur EPFL, di-plômé en Informatique, et en Management de la Technologie et de l'Entrepreneuriat. Julien connaît très bien les technologies Web et Java, ainsi que

les problèmes liés à l'accessibilité. Il travaillera principalement sur Jahia.

[email protected], Domaine IT

.. /.. Suite page 9

328 juin 2011 - N° 6

Actualités

Twice a year, ForumIT is meeting point for IT Do-main and IT-people from the EPFL labs (more than 200 people). If you could not attend the May 19 Forum IT, you will find here abstracts of the tackled subjects. The presentations are available on the site dit.epfl.ch/forumIT.

Deux fois par an, les ForumIT sont des lieux de ren-contre entre le DIT et les responsables informa-tique d’unités (plus de 200 personnes ont ce rôle à l’EPFL). Pour ceux qui n’ont pas pu assister à celui du 19 mai dernier, voici quelques mots sur les sujets abordés. Les présentations complètes sont sur le site dit.epfl.ch/forumIT.

IT@EPFL: survol des 6 derniers mois (J.-C. Berney)

GénéralitésDepuis le 1er mars 2011 les systèmes d’information et les services informatiques centraux sont dirigés ad interim par Jean-François Ricci, Secrétaire général. Quelques embauches (P. Beaud dans le groupe Exploitation, C. Tanteri pour la gestion de projets et les achats) et quelques départs (H. Lê, P. Jermini, G. Heron de Vil-lefosse). La méthode Hermes va être mise en place au DIT pour gérer les projets majeurs.

Achats ITSuite au rapport d’audit mandaté par le CEPF, les responsabilités devront être mieux définies ; il y aura bientôt la possibilité d’éta-blir une commande simplifiée dans EBP.

Gouvernance des systèmes d’informationz Une liste des risques IT à l’EPFL a été établie suite à un works-

hop piloté par PwC. Leur niveau de criticité a été évalué. Un travail sur la réduction de ces risques va être entrepris service par service.

z Deux séances du comité CopilSI ont eu lieu, à l’ordre du jour la politique CSE (Computational Science & Engineering), le Data & Computing Center et la définition d’une stratégie informatique pour l’EPFL.

z Parmi les projets financés ou subventionnés par le CopilSI: une évolution des moyens multimédias pour la formation — un exercice d’ethical hacking qui a amené à mettre sur pied des cours spécifiques sur la sécurité — une étude sur l’introduction

Echos du ForumIT de [email protected], EPFL-Domaine IT, responsable de la communication au DIT

de l’authentification forte — une pré-étude sur les outils de communication unifiée qui comprend une enquête auprès de groupes d’utilisateurs.

Communicationz Un cahier de la sécurité est distribué à

tous les nouveaux arrivants sur le campus.

z L’heure-DIT va permettre une fois par mois de mettre à niveau les connais-sances techniques des responsables in-formatique (premier essai le 16 juin de 11h à 12h sur la sécurité).

z Zetta, nouvelle publication annuelle consacrée au HPC/CSE qui verra le jour début 2012.

RéseauUne liaison EPFL-RAK est en test sous la forme d’un tunnel, des tests IPv6 sont en cours (voir présentation plus loin). De plus en plus de demandes de connexion pour des antennes hors site (quartier de l’Innovation, LAPA à Bâle).

HPCMise en production de Jupiter et de Electra (machine hybride CPU/GPU) voir articles dans le FI3/2011.

StockageUn gros projet de stockage de 40 ans d’archives du Montreux Jazz festival a été lancé.

VirtualisationLes postes des salles de cours du CDM sont virtualisés en utilisant VMWare View 4.6.

Annuairesz Suppression du domaine SB (Sciences de Base) dans Active

Directory (voir présentation plus loin). z Utilisation de Open Directory dans les facultés SV et IC et à la

section de Chimie, ouverture à tous les administrateurs qui en font la demande.

Instant messagingUn pilote a été mis en place pour tester les besoins (voir article Et si vous clavardiez ? dans le FI1/2 2011.

HEURE DIT

Secure-IT, votre affaire

https://secure-it.epfl.ch© Domaine IT – CP 121 1015 Lausanne 15 – mars 2011

IT Security is your concern

4 flash informatique44 28 juin 2011 - N° 6flash informatique

Distribution de logicielsDistrilog2 version ß va bientôt être mis en place (voir présentation plus loin).

PoseidonDe nouveaux modèles Lenovo et des Macs en prêt au RLC.

myPrintIl va falloir de meilleures définition et répartition des rôles avant d’offrir la prestation aux collaborateurs (voir présentation plus loin).

Systèmes d’exploitationz Le Proxy à l’EPFL pour les mises à jour de RedHat a été arrêté

(voir détails dans le FI3/2011).z Un travail est fait avec la Faculté STI pour l’automatisation de

l’installation des OS.

Web2010Travaux de stabilisation de Jahia 6, plus de 450 sites sont au nou-veau look. La version pour mobiles est encore en développement.

Call-CenterTrente assistants-étudiants assurent un horaire étendu; le nombre de tickets traités est en augmentation.

Prévisions pour le deuxième semestre 2011Promotion de l’utilisation de la méthode Hermes — suite du pro-jet d’authentification forte — nouvelle politique HPC/CSE mise en place — un nouveau cluster Aries mis en production — plan.epfl.ch en 3D et adaptation de Web2010 aux mobiles.

–––––

Perspectives IPv6(S. Lanouar)

Le contexte d’IPv6 est connu : avec IPv4, il y aura très bientôt pénurie d’adresses, surtout en Asie, vu la distribution très hétéro-gène des blocs d’adresses (l’EPFL a autant d’adresses IP que l’Inde!) ainsi que la croissance exponentielle du nombre d’équipements ayant besoin d’adresses IP. Dorénavant, la construction des ré-seaux Internet et des nouveaux services se fera en IPv6. La migra-tion vers le protocole Internet de nouvelle génération conçu pour succéder à IPv4 avec son espace d’adressage bien plus important devient donc urgente. Les différents acteurs du Net (organisa-tions, opérateurs, hébergeurs, etc.) sont donc en plein chantier pour déployer IPv6.

Déploiement à l'EPFLIl va se faire sur les deux prochaines années. Le but est de fournir la connectivité IPv6 de bout en bout en parallèle à IPv4 et des ser-vices réseau IPv6, sans perturber les services IPv4 opérationnels. Les choses vont se faire progressivement, tout d’abord en prenant en main IPv6 sur une partie du réseau pour tester les différents services étape par étape, puis sur le réseau privé du DIT, et c’est seulement quand on s’assurera que le réseau soit opérationnel,

supervisé et sécurisé que ce sera mis en production pour les utili-sateurs (la date projetée est mi-2012).Du point de vue du DIT, c’est une opération qui concerne beau-coup de métiers: le réseau bien sûr (intégration d’IPv6 dans les DNS, DHCP, Radius), mais aussi la configuration des routeurs et des switchs, la sécurité, la mise à jour des applications, la com-munication. Si dès mi-2012 on pourra sans doute faire de l’IPv6 à l’EPFL, IPv4 n’est pas pour autant près d’être abandonné, il fau-dra pendant encore plus de 10 ans supporter les 2 protocoles en parallèle sur le même réseau physique !

World IPv6 DayLe ForumIT est aussi l’occasion de rappeler la journée du 8 juin: World IPv6 Day (isoc.org/wp/worldipv6day/). C’est la première journée test du protocole IPv6 sur Internet où plusieurs sites In-ternet seront accessibles en IPv6 pendant 24h (isoc.org/wp/worl-dipv6day/ipv6-enabled-websites/). Le but de cette journée est de motiver l’industrie à se préparer pour la migration IPv6. Elle per-mettrait aussi de déceler les éventuels effets indésirables et dys-fonctionnements, d’identifier les failles et les erreurs avec les sys-tèmes pour les éviter à l’avenir. Nous nous sommes inscrits auprès d’Internet Society pour participer au World IPv6 Day. Nous met-trons à disposition un accès Internet en IPv6 à qui veut faire des tests. Notre défi est de fournir l’accès en IPv6 à notre page Web principale www.epfl.ch (voir en page 28 de ce journal quelques informations à propos du déroulement de cette journée).

–––––

Distrilog2 : nouveaux droits et principes de fonctionnement

(T. Charles)

Distrilog, plate-forme de distribution de logiciels à l’EPFL a besoin d’un sérieux ravalement, c’est en cours. Pour éviter toute confusion, rappelons que Distrilog n’est pas (et ne sera pas) un portail logiciels, mais un point central pour commander un logiciel, obtenir des codes de licence et inventorier les logiciels commandés par une personne ou par une unité, et sur quelles machines ils ont été installés. Principes de fonctionnement de Distrilog2:les personnes: elles sont identifiées par un numéro SCIPER et

leur appartenance à une unité/centre de frais. Si un collabo-rateur travaille dans plusieurs unités, Distrilog le considère comme des personnes différentes selon les cas.

les machines: elles sont identifiées par leur numéro d’inventaire plus d’autres paramètres non déterminants (un nom courant, une adresse IP …). Le numéro d’inventaire est celui qui figure sur l’étiquette jaune qui doit être collée sur tous les équipe-ments achetés par l’EPFL (la connexion avec la base d’inven-taire de SAP n’est pas encore effective, mais devrait l’être très bientôt). Une machine appartient à une unité, mais des per-sonnes d’autres unités peuvent sous certaines conditions avoir le droit d’y installer des logiciels.

les coûts des logiciels: pour des raisons contractuelles ou tech-niques (cas d’une licence de site par exemple), on ne peut pu-blier le coût réel d’un logiciel, mais afin de rendre attentif l’uti-lisateur au fait que certains logiciels sont plus coûteux que

Echos du ForumIT de printemps

5528 juin 2011 - N° 6

d’autres pour l’EPFL, il a été décidé d’associer à chaque logiciel un coût de location en CrD (crédit distrilog) :w après l’installation, l’utilisateur bénéficie d’une période de

grâce gratuite pour le tester,w au bout d’un an, l’utilisateur est invité à renouveler (ou

non) sa location. Pour être moins intrusif, les demandes de renouvellement seront groupées.

les commandes: c’est la commande d’un logiciel par une per-sonne d’une unité, sur une machine d’une unité (pas forcé-ment la même) ou sur un groupe de machines (par exemple une salle d’ordinateurs). Le coût sera imputé à l’unité de la personne qui fait la commande.

les droits au sens Accred: w droit Distrilog, il existe depuis longtemps, c’est le droit de

base qui permet de commander un logiciel par Distrilog. Il est prévu dans une version ultérieure que ce droit puisse être attribué pour certains logiciels seulement (pour per-mettre par exemple aux étudiants d’accéder à quelques logiciels).

w droit ConfirmDistrilog : il existe depuis un an, il permet de valider la commande de certains logiciels dont la liste est établie par le DIT.

w droit GesComLog : nouveau droit qui permettra à son détenteur de prendre l’identité Distrilog d’une personne. Il devra être donné explicitement.

migration: toutes les données de Distrilog1 ne seront pas mi-grées, mais elles resteront accessibles pendant au moins 3 ans. La version de base de Distrilog2 est accessible pour test (d2dev.epfl.ch), la première version en production de Distrilog2 est prévue pour septembre 2011.

–––––

myPrint, bilan de l’année écoulée et pers-pectives d’avenir

(C. Cornaz & T. Becker)

Tout d’abord, un rappel de la situation d’avant myPrint: grande inégalité de traitement selon les sections, beaucoup de gaspillage, pas de statistiques.Aujourd’hui, la prestation myPrint offre aux étudiants un accès égalitaire et homogène, même si certaines sections offrent plus de crédits que d’autres du fait que les besoins sont plus élevés dans certains domaines (la base offerte est de 24 francs par se-mestre et par étudiant). Les étudiants peuvent racheter des crédits d’impression en ligne ou au guichet de l’Agepoly, peuvent recher-cher les périphériques d’impression et les localiser sur plan.epfl.ch. La documentation et le processus d’impression sont communs à toutes les sections.

Les manquesLes besoins des invités sur le campus (par ex. au RLC), une docu-mentation à améliorer pour Linux et une gestion des contesta-tions plus formelle. La très demandée recharge en ligne par Cami-pro n’est malheureusement pas prévue à court terme.

Echos du ForumIT de printemps

Les collaborateursL’utilisation de myPrint par les collaborateurs de l’EPFL n’est pas prévue à moyen terme, elle nécessite d’abord la définition d’une stratégie École sur les principes de facturation, la répartition des rôles, etc. Cela fera sans doute l’objet d’un nouveau projet.

Quelques chiffresCent cinquante et une imprimantes sont couvertes par myPrint, dont 31 appareils multifonctions — 5 millions de pages imprimées en 1 an, avec une nette majorité de N/B et de format A4.

–––––

Active Directory, le point sur la migration en mono-domaine

(L. Venries)

Rappel : Active Directory (AD) est un annuaire LDAP qui contient les ressources suivantes:z les utilisateurs et groupesz les ordinateursz et différents pointeurs sur des objets tels qu’imprimantes et

dossiers partagés.Les utilisateurs et groupes sont synchronisés selon les données institutionnelles (provenant des Ressources Humaines, d’IS-Aca-demia, groups.epfl.ch, etc.). AD sert entre autres à l’authentifi-cation sur les postes Windows (c’est le pendant de Tequila), et permet le single sign-on (accès à toutes les ressources autorisées dès l’ouverture de session). De plus la gestion centralisée permet une post configuration grâce aux GPO (Group Policies), les scripts et la délégation.Afin de simplifier la vie des utilisateurs, d’améliorer la sécurité et de réduire les coûts d’exploitation (en matériel et en personnes), il a été décidé que toute la forêt EPFL serait dans un seul do-maine, intranet.epfl.ch. Au départ, nous avions 35 sous-domaines, aujourd’hui il reste à migrer les Facultés IC (en cours), SV (prévu en 2011) et ENAC, STI (prévu en 2012). En 2012 également seront migrés les comptes liés aux salles de cours et les comptes étu-diants. Des cours AD délégués sont régulièrement organisés par le DIT afin de familiariser les administrateurs d’instituts et d’unités aux pratiques liées à l’AD à l’EPFL. n

6 flash informatique66 28 juin 2011 - N° 6flash informatique

Public ou privé ?

z Le Cloud privé n’est utilisable que par une seule organisation (comme myvm & !).

z Le Cloud public est mutualisé et donc utilisable par des membres de plusieurs organisations.

z On peut aussi avoir des Cloud hybrides composés de parties privées et publiques.

Voilà, le ciel s’est éclairci, il suffit maintenant de trouver qui va pouvoir vous procurer la bonne solution, c'est-à-dire celle qui satisfera vos besoins. Et c’est là que cela se complique ! En effet actuellement il n’y a pas de standardisation du Cloud, c’est la guerre entre les grandes sociétés qui cherchent à imposer cha-cune, leurs solutions.Parmi les critères de choix, il faut s’assurer que pour le modèle uti-lisé les données pourront être récupérées au cas où l’on souhaite changer de fournisseur ou revenir sur un modèle interne !z Pour le modèle IaaS, les données sont des machines virtuelles,

il faut donc qu’elles soient exportables dans un format ouvert et libre, par exemple OVF & pour être indépendant de l'hyper-viseur &.

z Pour PaaS, les développeurs utilisent des API & qui pour l’ins-tant sont dépendantes du fournisseur et donc il faut redéve-

lopper tout ou partie du code pour changer de fournisseur !z Pour SaaS, il faut s’assurer que les données (messages, ren-

dez-vous, fichiers) puissent être récupérées massivement dans un format standard.

Les modèles financiers sont très complexes, et si pour une ma-chine de base les tarifs semblent raisonnables, une fois rajoutées toutes les options (qu’il est parfois difficile de chiffrer à l’avance comme les volumes de données qui transitent par le réseau ou les accès disque), la note devient beaucoup plus lourde.En parallèle des solutions propriétaires (Amazon, Microsoft,

Google,…), des projets Open Source sont lancés comme par exemple la Free Cloud Alliance & dont les différents membres proposent des solutions qui traitent les trois modèles. Dans un prochain article, je vous présenterai une analyse comparative de ces outils. Pour conclure, on peut dire que le Cloud n’est pas une révolution, mais ce n’est pas non plus une mode passagère. C’est une évolu-tion logique qui ajoute de la valeur aux technologies de virtua-lisation.Le Cloud peut aider des PME qui n’ont pas de centre informatique à démarrer. Il peut aussi aider de grosses organisations à gommer des pics de charge liés à des activités saisonnières (rentrée sco-laire, examens,…).Avant de se lancer, il faut étudier en détail les offres des fournis-seurs et surtout se méfier des sirènes de l’externalisation ! n

GLOSSAIRE &API (Application Programming Interface):

une API est un ensemble de fonctions, procédures ou classes mises à disposi-tion par une bibliothèque logicielle, un système d'exploitation ou un service. La connaissance des API est indispensable à l'interopérabilité entre les composants logiciels. W

Cloud: concept qui consiste à déporter sur des serveurs distants des traitements informatiques traditionnellement loca-lisés sur des serveurs locaux ou sur le poste client de l'utilisateur. W (lire aussi Wikipédia en langue anglaise).

Free Cloud Alliance: www.freecloudal-liance.org

hyperviseur: en informatique, un hyper-viseur est une plate-forme de virtuali-sation qui permet à plusieurs systèmes d'exploitation de travailler sur une machine physique en même temps. W

myvm: Cloud IaaS privé de l’EPFL en pro-duction depuis 2007, les responsables informatique peuvent demander des machines virtuelles selon des modèles standards ou personnalisés avec ou sans système d’exploitation, elles sont mises à disposition après accord du res-ponsable IT de la Faculté. myvm.epfl.ch

OVF (Open Virtualization Format): VMware et d’autres éditeurs de solutions de virtualisation ont créé ce format, indé-pendant de la plate-forme qui permet de déplacer relativement facilement une machine virtuelle d’un environnement à un autre. www.vmware.com/appliances/getting-started/learn/ovf.html

W = tiré de Wikipédia

Cloud: évolution ou révolution ?

.. /.. Suite de la première page

728 juin 2011 - N° 6

In this article, we will present TeX Live, a free dis-tribution of TeX/LaTeX, which has the great advan-tage of being multiplatform.

Nous allons présenter dans cet article, TeX Live qui est une distribution libre de TeX/LaTeX et qui a le grand avantage d'être multi-plateforme.

Fiche descriptive

NomTeX Live

Domaine✦ Rédaction scientifique & non-scientifique

Licence✦ GPLv2✦ BSD✦ Public Domain✦ LGPLv2+✦ GPLv2+ ✦ LPPL

langue✦ Multilingue

version✦ 2010

Autres alternatives libres✦ MiKTeX (Windows)✦ teTeX (2006)(Unix)✦ gwTeX (MacOSX)✦ …

Alternatives commerciales✦ Scientific Word✦ TrueTeX, MathEdit✦ TeX2Word & Word2TeX✦ Textures✦ Scientific Assistant✦ …

Sites Web✦ www.tug.org/texlive

Plates-formes✦

Introduction

La question à se poser lorsque l’on souhaite utiliser LaTeX, est quelle est la distribution à installer, voir la meilleure ou la plus simple. Comme il existe plusieurs distributions disponibles, on est souvent confronté à ce choix. Cependant, il existe une distribution vers laquelle convergent de plus en plus de distributions Linux

TeX Live, distribution TeX/LaTeX libre [email protected], EPFL – Domaine IT, responsable de la plate-forme Unix à l'EPFL

(Ubuntu, Red Hat, openSUSE, …) et qui devient LA distribution de référence: TeX Live.Attention, cet article n’est pas un tutoriel sur LaTeX ni un mode d’emploi sur l’utilisation de TeX Live. Cette distribution étant mul-ti-plateforme, les outils et interfaces sont donc fortement dépen-dants du système d’exploitation. De plus il est illusoire d’y présen-ter toutes les configurations possibles et imaginables. Le but ici est de parler de son existence et du plus important, son installation et des premiers pas concernant son utilisation.

Historique

TeX est un langage de description de document, écrit en mode texte et qui consiste à décrire le style et la position des carac-tères sur une page. Il a été développé par Donald Knuth, suite à sa frustration vis-à-vis des logiciels existants à son époque (1976). Donald Knuth a défini un ensemble d’environ 600 macros, appe-lé plain TeX, macros qui ont encore été simplifiées en LaTeX par Leslie Lamport afin de faciliter la préparation d’un document. Les caractères sont décrits, de manière vectorielle, dans un langage appelé Metafont et développé également par D. Knuth. Ce dernier a développé la typographie numérique de manière remarquable, car il est allé se fondre dans le milieu des artisans imprimeurs (qui existaient encore à son époque) afin de comprendre et d’apprendre leur métier. Tout bon programmeur connaît cette démarche, qui malheureusement devient aussi rare qu’une source d’eau non pol-luée. Ce travail remarquable porte encore aujourd’hui ses fruits, puisque TeX est toujours d’actualité malgré les suites bureau-tiques, plus visuelles qu’efficaces, que l’on trouve actuellement. De par sa qualité typographique remarquable (surtout pour les formules mathématiques), voir inégalée, TeX/LaTeX est toujours utilisé dans les publications scientifiques. On retrouve d’ailleurs le langage des imprimeurs dans la typographie numérique: graisse (épaisseur d’un trait ou d’un caractère), corps (taille d’une fonte de caractères qui se mesure en points typographiques), police (regroupe tous les corps et graisses d’une même famille). Les uti-lisateurs de TeX se sont regroupés et ont donné un nom à leur projet: TUG (TeX Users Group) et une archive pour y déposer leurs contributions: CTAN (Comprehensive TeX Archive Network).

Windows

L’installation de TeX Live sur Windows se fait très simplement. D’abord on télécharge depuis le site TeX Live, ou une archive CTAN (dossier systems/texlive/tlnet), le fichier install-tl.zip que l’on décompresse. Puis on double-clique sur le fichier install-tl.bat qui lancera une longue installation (multitude de fichiers) (fig. 1).Une fois terminée, tout ce dont nous avons besoin se trouve dans le menu, dont le TeX Live manager qui nous permettra de faire nos

Logiciel libre

8 flash informatique88 28 juin 2011 - N° 6flash informatique

mises à jour ou d’installer des composants additionnels. Le point de départ est l'éditeur TeXworks qui va nous permettre d'écrire notre premier fichier LaTeX, et de le visualiser en pressant le petit bouton vert avec le symbole play. Le résultat sera un fichier pdf par défaut puisque la commande lancée est pdfLaTeX, mais rien ne nous empêche de changer le format à l’aide d’une liste située juste à côté du symbole précédent (fig. 2).Je signale au passage, que MikTex est largement utilisé sur la plate-forme Windows mais que la force de TeX Live est d'être maintenue par un groupe et non par une seule personne, raison qui avait d’ailleurs sonné le glas de la distribution teTeX sur les plates-formes Unix.

TeX Live, distribution TeX/LaTeX libre

fig. 2 – TeXworks Windows

fig. 1 – installation de Tex Live sous Windows

fig. 4 – TeXShop Apple

fig. 3 – TeX Utility Apple

Apple

L’installation sur MacOSX se fait également de manière très simple. D’abord on télécharge depuis le site TeX Live le fichier MacTeX.mpkg.zip (MacTeX est une distribution TeX adaptée à MacOSX), on décom-presse l’archive et on double-clique sur le fichier MacTeX.mpkg qui lancera l’installation. Une fois ter-minée, la première chose à faire est une mise à jour à l’aide de l’utili-taire TeX Utility qui se trouve dans le sous-dossier TeX du dossier Ap-plication (fig. 3).Pour commencer, tout ce dont nous aurons besoin est l'éditeur TeXShop (TeXworks est également installé) (fig. 4).

Nous pouvons ensuite écrire notre premier fichier LaTeX, et le visualiser en pressant le bouton Typeset qui va nous générer, ici aussi, un fichier pdf.

Linux

Sous Linux, la question est vite réglée puisqu’une commande du style:# Ubuntuapt-get install texlive

# Fedora & RedHatyum install texlive

nous installe TeX Live sur Ubuntu, Fedora et RHEL (à partir de la version 6).Pour ceux qui doivent lancer l’installation à la ligne de commande, il faut récupérer le fichier install-tl-unx.tar.gz depuis le site TeX Live ou une archive CTAN (dossier systems/texlive/tlnet), extraire les fichiers à l’aide de la commande tar, et lancer le script ins-tall-tl.sh prévu à cet effet. Il ne faut pas oublier de mettre à jour la variable d’environnement PATH en rapport avec les binaires installés.En général, sous Linux on peut travailler avec un simple éditeur de texte et lancer nos commandes à la main dans un terminal:

9928 juin 2011 - N° 6

# Générer le fichier dvilatex monPremierDocument.tex# Voir le fichier dvievince monPremierDocument.dvi# Générer le fichier pdfdvipdf monPremierDocument.dvi

ou plus simplement :

# Générer le fichier pdfpdflatex monPremierDocument.tex# Voir le fichier pdfevince monPremierDocument.pdf

Je conseille vivement à notre lecteur travaillant sous Linux de lan-cer au moins une fois ces commandes, pour voir LaTeX en action et surtout la génération live des fontes lors de leur première utili-sation. Il existe bien sûr plusieurs éditeurs de texte pour travailler avec LaTeX sous Linux, les plus connus sont Texmaker, Kile et on trouve même TeXworks pour Ubuntu.

TeX Live, distribution TeX/LaTeX libre

DVD

Ceux qui n’ont pas forcément une connexion Internet pour leur installation de LaTeX, peuvent récupérer l’image ISO pour graver un DVD (ou l’acheter: www.tug.org/store). Tous les fichiers cités ci-dessus se trouvent sur le DVD, sauf pour MacTeX mais cela n’est qu’une question de temps.

Références

[1] Site officiel de LaTeX: www.LaTeX-project.org[2] TUG (TeX Users Group): www.tug.org[3] CTAN (Comprehensive TeX Archive Network): www.ctan.org

dont ftp://mirror.switch.ch/mirror/tex pour switch.[4] Donald E. Knuth: www-cs-faculty.stanford.edu/~uno[5] Apprendre LaTeX: TeX.loria.fr/general/apprends-LaTeX.pdf.

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

.. /.. Suite de la page 2

Changement de guichet pour le CRI (Centre de Réparation Informatique)

À partir du 1er juillet 2011 afin de vous servir encore mieux et d'étendre la plage d'horaire d'ouverture, tout le matériel informa-tique à réparer est à déposer ou à retirer au

guichet du Help Desk du DIT, local MA A0 388du lundi au vendredi de 07h30 à 18h00.

Le guichet du CRI, entrée Porte C du bâtiment MA, ne sera uti-lisé que pour les gros objets ou la restitution de vieux matériels. Dans ce cas, il est indispensable de prendre rendez-vous avec le CRI pour fixer un jour et une heure pour déposer votre matériel, cri.epfl.ch/newTechnicien.htm.L'équipe du CRI vous souhaite un agréable été.

[email protected], Domaine IT

–––––

Le DIT vous forme…

Comme chaque année durant l’été, le DIT organise différents cours, profitez de cette période calme pour vous former !

semaine admnistrateurs

28 Windows Server 2008 est à l’affiche avec acquisition et traitement de données

29 & 30 LabVIEW est au programme

35 Encore un peu de Windows avec acquisition et traite-ment de données

34&35 LabVIEW et ses spécialités

semaine bureautique

27 Faites la part belle à Word sur Mac ou sur PC

28 Mises en page et présentations de pro avec InDesign et PowerPoint

29 Tout sur les photos et les images avec PhotoShop, Illustrator ou encore PowerPoint

30 La gestion de projet avec Project/MindManager ou de sites Web avec Dreamweaver

31 Toujours Mac et PC, les nouvelles versions de Word 2010 et 2011

32 Vous saurez tout ou presque sur Excel

33 Outlook et FileMaker n’auront plus de secret pour vous

34 Encore une chance de découvrir Excel mais aussi les longs documents avec Word ou encore les formulaires avec Inform

35 Jahia et les sites web EPFL sont prévus mais aussi la gestion de votre Mac

semaine programmation

32 & 34 Il reste quelques places pour la programmation paral-lèle et MPI

35 L’automne débute par un cours de C++ Ceci n’est qu’un aperçu, consultez notre site Web dit.epfl.ch/cours, semaine après semaine vous y trouvez tous les cours, détails et descriptifs. Prenez garde aux horaires, certaines formations ont un horaire estival.Pour plus de renseignements n’hésitez pas à contacter l’équipe par courriel [email protected] !

L’équipe des cours

DIT-info

10 flash informatique 28 juin 2011 - N° 6

This article presents Git, the distributed version con-trol system (DVCS) that Linus Torvalds createdfor the Linux kernel development. Since then, it has been adopted by thousands of free softwareprojects around the world.

Cet article présente Git, le logiciel de gestion de ver-sions décentralisée (DVCS) créé par LinusTorvalds pour le développement du noyau Linux. De-puis, il est utilisé par des milliers de projetslibres dans le monde.

Fiche descriptive

NomGit

Domaine✦ Gestion de versions (VCS)

Licence✦ GPLv2

langue✦ C, Bourne shell,

Perl

version✦ 1.7.2.5

Autres alternatives libres 1

✦ Mercurial (hg)✦ Bazaar (bzr)✦ Darcs✦ …

Alternatives non libres✦ BitKeeper ✦ ClearCase

Sites Web✦ git-scm.com

Plates-formes✦ Unix-like / POSIX-based (Linux, *BSD, Mac), Windows

Un peu d’histoire

Git & est un logiciel de gestion de versions (Version Control Sys-tem - VCS). En bref, c’est un logiciel qui permet de stocker un ensemble de fichiers en conservant la chronologie et l'attribu-

tion de toutes les modifications qui ont été effectuées dessus. Le domaine le plus courant dans lequel ce type de logiciel est utilisé est le développement logiciel: l'utilisation d'un tel logiciel pour gérer une arborescence de fichiers permet de travailler à plusieurs, d'enregistrer la chronologie et l'attribution de toutes les modifica-tions, de figer des versions données, de revenir à n'importe quelle version antérieure, etc. Si les logiciels de gestion de versions sont particulièrement adaptés pour la gestion de codes sources, ils le sont tout autant pour d'autres types de fichiers texte 2: fichiers LaTex pour la rédaction d'un travail de Master, recettes de cuisine, journal intime, etc. Étant donnée l’importance évidente de ce genre de système pour le développement logiciel, leur histoire remonte aux origines de l’informatique: elle commence en 1972 par SCCS et est passée depuis par les plus connus: CVS, Subversion et consorts.Git a été conçu initialement par Linus Torvalds en avril 2005 3 avec pour but le remplacement du système BitKeeper pour le dévelop-pement du noyau Linux. Ce logiciel privateur était en effet utilisé par les développeurs du noyau jusqu’en 2005 lorsque le proprié-taire de BitKeeper retira les droits d’utilisation jusqu’alors accor-dés auxdits développeurs 4. Ainsi, Torvalds commença le dévelop-pement de Git le 3 avril 2005, dès le 7 avril le code de Git était maintenu dans Git lui-même, et la version 2.6.12 du noyau, sortie le 16 juin, avait déjà été gérée à l'aide de Git. Le 16 juillet, après avoir posé les bases du logiciel, il se retira de la gestion du projet. La version 1.0 & de Git sortit le 21 décembre de la même année et le développement se poursuit depuis lors.

Installation de Git

Git est disponible sur toutes les distributions libres, où le paquet s'appelle simplement git, parfois git-core5. Le site internet de Git pointe vers des installateurs pour les autres systèmes d'exploi-tation: un *.dmg pour toutes les versions de Mac OS; l'utilisation de l'un des deux portages existants (msysgit ou Git/Cygwin) pour Windows.

À l’aide

Notons en préambule que Git est extrêmement bien documenté par les systèmes usuels du monde UNIX: man 7 gittutorial et man 1 git sont de bons points de départ. Notons également que toutes les sous-commandes de git ont une page de man acces-sible comme suit:

Git, un logiciel de gestion de versions décentralisé[email protected], EPFL-STI, Groupe Kayal, assistant-doctorant, membre de la GNU Generation

Logiciel libre

1 fr.wikipedia.org/wiki/Logiciel_de_gestion_de_versions pointe vers tous les concurrents de Git.2 La gestion de version de fichiers binaires est généralement possible mais peu efficace.3 en.wikipedia.org/wiki/Git_(software) raconte bien plus sur l'histoire et les fondements de Git qu'il ne serait pertinent d'en raconter ici.4 Ce pour des raisons diverses qu'il serait trop long (et inutile) d'exposer ici. Retenons au passage le risque que peut faire peser l'utilisation d'un logiciel

privateur sur les développements futurs d'un projet libre.5 Ceci parce que les GNU Interactive Tools utilisaient déjà le nom de Git lors de la création du Git qui nous concerne ; ils sont maintenant disponibles

sous le nom de gnuit.

111128 juin 2011 - N° 6

Git, un logiciel de gestion de versions décentralisée

$ git help <commande>

Versionner la fondue

Afin de comprendre à quoi un système de gestion de versions peut bien servir, le plus simple est d’essayer. Partant d’une version ins-tallée de Git , créons notre premier dépôt git:

$ mkdir recettes$ cd recettes$ git init # Crée un dépôt vide

Ce dépôt existe maintenant dans le dossier recettes: un sous-dossier .git/ (qui contient toutes les méta-informations du dépôt) y a été créé. Notons que contrairement aux gestionnaires de versions centralisés, Git ne fait aucune différence entre dépôts distants et extraits locaux: ce dépôt n'est local que parce qu'il est… ici.Éditons ensuite un premier fichier nommé fondue et ajoutons-le à notre gestionnaire de versions:

$ cat > fondue <<EOF==== Recette de la fondue ====== Matériel ==Vin, fromage, caquelon, fourchettes, alcool à brûler.EOF$ git add . # Ajoute l’entier du dossier à l’index$ git commit -m "Ma recette de la fondue"

Et voilà, notre recette de fondue est conservée dans le gestion-naire de versions. Vérifions ça:

$ git show # Affiche la dernière révisioncommit 04d1d921281b4fc81e9c60266efb666fbb1c0bd9Author: Didier Raboud <[email protected]>Date: Tue May 31 18:06:25 2011 +0200

Ma recette de fondue

diff --git a/fondue b/fonduenew file mode 100644index 0000000..28c9ddc--- /dev/null+++ b/fondue@@ -0,0 +1,3 @@+==== Recette de la fondue ====+== Matériel ==+Vin, fromage, caquelon, fourchettes, alcool à brûler.

Ce que contient une révisionDécortiquons cette première révision (commit dans le jargon Git).

Le hash

commit 04d1d921281b4fc81e9c60266efb666fbb1c0bd9

En premier, nous trouvons le hash de la révision: ce hash (qui est une empreinte cryptographique SHA1, de 160 bits, formatés en hexadécimal) est un identifiant pseudo-unique 6 déterminé par le contenu de la révision. On s’y réfère habituellement à l’aide des 7 premiers digits hexadécimaux (04d1d92 dans ce cas), mais

c’est l’entier de l’empreinte qui identifie la révision de manière univoque.

L’auteur

Author: Didier Raboud <[email protected]>

Ensuite, nous trouvons une référence de l’auteur de la révision. C’est un aspect évidemment central des gestionnaires de version, qui permet d'identifier les auteurs de chaque contribution. Notons au passage que la personne qui crée la révision peut être diffé-rente de l’auteur : c’est alors le champ Committer: qui contient cette information. Ceci permet une granularité plus fine dans l’attribution des contributions.

L’empreinte horaire

Date: Tue May 31 18:06:25 2011 +0200

Les révisions contiennent toutes une empreinte horaire, dans un format exhaustif, qui contient l’indication du fuseau horaire.

Le message de révision / description

Ma recette de fondue

Chaque révision est accompagnée d’un message qui décrit sup-posément les modifications qu’elle contient. À ce sujet, les bonnes pratiques en vigueur suggèrent de faire de la première ligne un résumé du message tenant en 70 caractères. Le nombre de lignes du message n’étant pas limité, les messages de révision du noyau Linux sont régulièrement très verbeux, ce qui facilite leur ana-lyse 7.

Le contenu de la révision

diff --git a/fondue b/fonduenew file mode 100644index 0000000..28c9ddc--- /dev/null+++ b/fondue@@ -0,0 +1,3 @@+==== Recette de la fondue ====+== Matériel ==+Vin, fromage, caquelon, fourchettes, alcool à brûler.

On peut voir ici le contenu de la révision: c’est un diff entre deux versions d’un même fichier. Une révision peut contenir des modifi-cations pour différents fichiers, à des endroits différents de l’arbo-rescence. Ce qu’il importe de bien comprendre pour comprendre Git, c’est que contrairement à d’autres systèmes de gestion de versions, Git s’intéresse au contenu, pas aux fichiers (ni à leurs noms). Ainsi, contrairement à CVS ou Subversion par exemple, il est possible de copier ou renommer des fichiers sans que leurs historiques respectifs ne soient perdus.Notons rapidement la ligne index, qui indique le trajet que la révi-sion fait parcourir au contenu du fichier: elle amène le contenu du

6 Selon fr.wikipedia.org/wiki/SHA-1, en l'état actuel des recherches, une attaque visant à déterminer une collision dans SHA-1 prendrait 2 63 opérations.7 Il est également à noter que d'autres bonnes pratiques sont également en vigueur, en particulier pour le développement du noyau Linux; par exemple

l'ajout progressif au fil des vérifications par les différents responsables de pseudo-entêtes Signed-off-by: (qui s'accumulent à la fin du message) qui permettent d'attribuer des garanties à une révision donnée.

12 flash informatique1212 28 juin 2011 - N° 6flash informatique

fichier fondue de l’objet 0000000…8 à l’objet 28c9ddc… L’histoire d’un objet est enregistrée dans chaque révision.

Ajouter le painChacun ayant évidemment remarqué l’absence de pain dans la recette, modifions maintenant notre recette de fondue:

$ sed -i -e ‘s/fromage,/& des croissants,/g’ fondue

Sur les fichiers dont Git se préoccupe, on peut maintenant affi-cher les différences entre la dernière révision et l’état courant 9:

$ git diffdiff --git a/fondue b/fondueindex 28c9ddc..0700c91 100644--- a/fondue+++ b/fondue@@ -1,3 +1,3 @@ ==== Recette de la fondue ==== == Matériel ==-Vin, fromage, caquelon, fourchettes, alcool à brûler.+Vin, fromage, des croissants, caquelon, fourchettes, alcool à brûler.

Comment ça des croissants ? De toute évidence, cette modifica-tion n’est pas correcte. Ramenons le fichier fondue à la version de la dernière révision:

$ git checkout HEAD fondue

Cette commande sort de la révision HEAD (qui est un pointeur vers la dernière révision) le fichier fondue. git checkout per-met d’extraire un fichier de n’importe laquelle de ses versions pas-sées 10. Nous disions donc du pain:

$ sed -i -e ‘s/fromage,/& du pain blanc,/g’ fondue$ git diff

Si le contenu du diff nous plaît, nous pouvons maintenant pré-parer notre nouvelle révision, en ajoutant le nouvel état d’un fichier à l’index, qui est une sorte de zone franche où la prochaine révision se prépare:

$ git add fondue

Notons maintenant que le résultat de git diff est vide, parce que toutes les différences par rapport à la dernière révision sont dans l’index. Ajoutons une recette de papet vaudois 11 et obser-vons maintenant l’état de notre dépôt:

$ git status# On branch master# Changes to be committed:# (use "git reset HEAD <file>..." to unstage)## modified: fondue## Untracked files:# (use "git add <file>..." to include in what will be committed)## papet

On peut ici constater que Git est verbeux sur les options qui se présentent à nous: on peut ainsi ajouter papet à l’index ou en retirer fondue. Regardons le contenu de notre index:

$ git diff --staged

Si le contenu de l’index nous plaît, nous pouvons maintenant créer une nouvelle révision avec son contenu 12:

$ git commit -m "Ne pas oublier le pain."

Nous avons donc maintenant une chaîne de deux révisions:

Git, un logiciel de gestion de versions décentralisée

8 soit rien. 9 On observera la valeur temporaire de l'index (0700c91), que Git a créé pour nous. 10 Notons qu'on aurait ici pu se passer de mentionner explicitement HEAD.11 Dont je vous épargne ici le détail.12 git commit appelé sans son option -m lance un éditeur qui permet d'éditer le message de révision.

Ce qu'un dépôt Git a dans les tripes

Pour ceux qui souhaiteraient comprendre la plomberie de Git, voici un aperçu de sa tuyauterie: Git stocke quatre types d'ob-jets, qui sont tous observables à l'aide de la commande$ git show --pretty=raw <hash>

blobUn blob est un objet qui stocke des contenus de fichiers (des données) et strictement rien d'autre. Dans notre cas, le blob de destination vers lequel notre révision 04d1d92 a amené notre fichier fondue est 28c9ddc:$ git show 28c9ddc ==== Recette de la fondue ====== Matériel ==Vin, fromage, caquelon, fourchettes, alcool à brûler.

treeUn objet tree se comporte comme un dossier: il référence d'autres tree et/ou des blobs (soient des sous-dossiers ou des fichiers). commitLe commit pointe vers un seul objet tree et le marque comme l'état du dépôt à un certain instant. Il contient des méta-in-formations au sujet de l'instant, de l'auteur des modifications depuis le dernier commit, un pointeur vers ledit dernier com-mit, etc.

tagLe tag est une manière de marquer un commit comme étant spécial d'une manière où d'une autre. Les tags sont nommés et ils peuvent également contenir des méta-informations telles que description, signature numérique, etc.

À lire pour plus de précisions: book.git-scm.com/1_the_git_object_model.html

131328 juin 2011 - N° 6

$ git log commit 8d79c7102acd129807d6dfaf652bd50819ef00d9Author: Didier Raboud <[email protected]>Date: Tue May 31 20:24:31 2011 +0200

Ne pas oublier le pain.

commit 04d1d921281b4fc81e9c60266efb666fbb1c0bd9Author: Didier Raboud <[email protected]>Date: Tue May 31 18:06:25 2011 +0200

Ma recette de fondue

Séquence de révisions

gitk gère les recettes

Notons ici que les révisions Git ne portent aucun numéro (contrai-rement aux révisions Subversion ou Bazaar). Ce qui pourrait pa-raître désarçonnant de prime abord est en fait le cœur de la force de Git : chaque révision contenant les références de chacun de ses parents 13, elle est une référence unique de l'état d'une arbores-cence et de l'historique y menant.Notons également que contrairement aux gestionnaires de ver-sions centralisés, Git ne nécessite aucune connexion vers un quel-conque dépôt centralisé : chaque dépôt peut vivre sa vie indépen-damment et chaque dépôt de devient central ou de référence que par l'usage qu'on peut en faire.

Visualisation de l’arbre de son dépôtIl existe plusieurs outils pour visualiser l’historique d’un dépôt: gitk et qgit sont les plus connus. Ils permettent d’effectuer quelques manipulations simples du dépôt.

Les branches

La fonctionnalité centrale 14 des gestionnaires de versions (décen-tralisé ou non) est la possibilité de créer des branches. Dans le jargon des gestionnaires de versions, une branche est un espace de développement dans lequel il est possible de faire des modi-fications (intrusives, complexes, …) sans affecter l'état du tronc

Git, un logiciel de gestion de versions décentralisée

(l'espace de développement principal). Une fois que les modifica-tions sont considérées comme satisfaisantes, on les intègre géné-ralement au tronc. Notons d’abord que la branche par défaut de Git est toujours master 15. Git ne faisant aucune différence tech-nique entre les branches, celles-ci n'ont que l'usage que l'on veut bien en faire. L'architecture de Git rend la création de branches extrêmement peu coûteuse et simple: créons par exemple une branche experimental à partir de la révision courante:

$ git branch experimental

Avant de faire des changements dans cette branche, il faut indi-quer à Git la branche dans laquelle nous voulons travailler 16:

$ git checkout experimental

Nous pouvons maintenant travailler sur une fondue expérimen-tale. Notons que la branche ne s’est pas créée dans un autre dos-sier (à la Subversion ou Bazaar), mais qu’elle existe dans la même arborescence et que la branche émerge simplement dans le dos-sier courant. On peut ainsi naviguer entre les différentes branches sans changer de dossier.Lors de la création de nouvelles révisions, celles-ci vont s’empiler à la suite de la révision d’origine (celle qui était pointée par mas-ter lorsque la création de la branche a eu lieu) et la dernière sera toujours pointée par la référence experimental. Une branche Git est donc simplement un nom qui pointe vers une révision.Une fois que les changements dans la branche experimental sont satisfaisants, il est possible de les intégrer à master (qui a pu évoluer entre temps) comme suit:

$ git checkout master # On revient à master$ git merge experimental

Si les modifications faites dans la branche experimental n’entrent pas en conflit avec celles faites dans la branche master, alors le merge sera dit trivial. Sinon, une résolution manuelle sera proposée (mais elle sort du cadre de cet article).

La fondue se partage

Maintenant que nous savons créer et faire évoluer nos recettes, il nous faut explorer la dimension distribuée de Git. Premièrement, notons que la notion de serveur central ou de référence n’existe pas dans Git (ni dans aucun DVCS d’ailleurs, comme leur nom l’in-dique). Un dépôt ne devient central ou important que par l’usage qu’on en fait: dans le cadre du développement du noyau Linux par exemple, c’est la copie de Linus Torvalds 17 qui est considérée comme étant la copie de référence, mais c’est là une caractéris-tique organisationnelle et non technique.Deuxièmement, il faut savoir que Git a été conçu pour être com-patible avec les protocoles existants à l’époque. Ainsi il est possible d’utiliser les fonctions de partage de Git à travers HTTP, FTP, et rsync par exemple: il est également possible d’utiliser le proto-cole de Git à travers ssh ou un simple socket. git-daemon per-

13 Les révisions normales n'ont qu'un seul parent, mais les merges en ont plus. 14 Et dont l'implémentation est souvent la différence caractéristique entre les différents (D)VCS.15 La flexibilité de Git permet évidemment d'utiliser un autre nom.16 Il aurait été possible de créer la branche et s'y rendre d'un seul coup: $ git checkout -b experimental.17 git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git que chacun peut cloner.

14 flash informatique1414 28 juin 2011 - N° 6flash informatique

met la publication d’un dépôt sur le port 9418. La mise en place de dépôts accessibles dépassant le cadre du présent exposé 18, la démonstration se fera avec plusieurs dépôts locaux.

Améliorer la fondueTout d’abord, copions notre dépôt fondue:

$ cd ..$ git clone recettes recettes-georges$ cd recettes-georges

Ce nouveau dossier fondue-savoyarde est un clone de fondue, il contient donc le même arbre de révisions. Changeons maintenant d’identité pour l’exemple:

$ git config user.name ‘Georges Tartempion’$ git config user.email ‘[email protected]

Et préparons une modification et une nouvelle révision 19:

$ sed -i -e ‘s|fromage,|mélange de fromages (comté, beaufort, gruyère),|g’ fondue$ git commit -m "Précisions au sujet du mélange de fromages" fondue

Georges ne pouvant pousser sa nouvelle révision vers le dépôt re-cettes, il va devoir communiquer sa proposition au gestionnaire dudit dépôt qui va pouvoir tirer cette nouvelle révision. Retour-nons donc dans recettes et créons une nouvelle référence vers un dépôt distant, que nous appellerons georges :

$ cd ../recettes$ git remote add georges ../recettes-georges

Mettons maintenant à jour nos références du dépôt georges:

$ git fetch georges From ../recettes-georges * [new branch] master -> georges/master

Une nouvelle pseudo-branche s’est ainsi créée dans le dépôt re-cettes: georges/master. Avant d’accepter ces modifications, il nous faut les observer. Git offre des dizaines de manières de visualiser les modifications entre deux branches, en voici une:

$ git log -U master..georges/master

Dans l’hypothèse 20 où ces modifications nous plairaient, nous pouvons maintenant les intégrer dans notre branche master:

$ git merge georges/masterUpdating 8d79c71..dd908c7Fast-forward fondue | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)

Le fast-forward nous indiquant ici que l’intégration des chan-gements de la branche georges/master a été linéaire (nous n’avions pas fait de changements sur le dépôt fondue depuis que Georges avait créé son clone) 21.Nous avons ainsi abordé les quelques aspects essentiels de Git: la création de révisions et de branches ainsi que l'interaction entre plusieurs dépôts. Heureusement, la documentation officielle de Git est abondante et permet rapidement de faire usage des concepts plus avancés de Git.

Conclusion

Git est un outil extrêmement puissant, avec lequel il est possible de faire énormément de choses 22, des plus basiques aux plus complexes. Son architecture a été pensée dès sa création pour permettre des collaborations à large échelle et son efficacité est prouvée depuis plus de 5 ans par son utilisation dans un des plus gros projets logiciels du monde libre; le noyau Linux.Git peut paraître déroutant au premier abord parce qu'il n'utilise pas nombre des concepts principaux des gestionnaires de versions centralisés: plus de numéro révision, pas d'ordre de révisions expli-cite, pas de dépôt central faisant office de référence, plus d'obli-gation d'être en ligne pour créer des révisions, etc. Mais l'abandon de tous ces concepts s'est fait pour des raisons architecturales, pour créer un système universel, cohérent et fonctionnel.Ainsi Git est un logiciel de gestion de versions qui est distribué, rapide, qui économise la place disque, dans lequel tout est local, dans lequel la création de branches locales est rapide et économe. Finalement, Git n'impose ni manières de travailler ni dénomina-tions spécifiques : son universalité fait sa force 23.

Article du FI-EPFL 2011 sous licence CC BY-SA 3.0 / D. Raboud

18 Git se base sur le système de fichiers pour gérer les droits de ses dépôts; ainsi mettre en place un dépôt sur une machine distante nécessite de gérer correctement les droits des différents utilisateurs. Ce n'est pas compliqué, mais ce n'est plus Git.

19 Notons ici la variante d'utilisation de git commit qui, en précisant les fichiers concernés, évite la préparation préalable de l'index.20 Peu probable certes. Du comté dans la fondue ?21 git pull permet de faire la même chose que la succession de git fetch et git merge.22 Git a plus de 140 sous-commandes et il existe nombre de plugins qui étendent son champ d'application.23 whygitisbetterthanx.com

Git, un logiciel de gestion de versions décentralisée

GLOSSAIRE &Git: logiciel libre de gestion de versions

décentralisée créé par Linus Torvalds, le créateur du noyau Linux, et distribué sous la GNU GPL version 2… Pour la

petite histoire, le mot provient de l'argot anglais dans lequel il signifie plus ou moins connard. W

version 1.0: la version 1.0 d'un logiciel est usuellement considérée comme étant prête pour un large usage; soit un

ensemble de caractéristiques donné, invariant et supposément sans anoma-lies.

W = tiré de Wikipédia

1528 juin 2011 - N° 6

Introducing the Apple Open Directory @ EPFL direc-tory dedicated to Macintosh at EPFL.

Présentation de l'annuaire Apple Open Directory @EPFL, dédié aux Macintosh de l'EPFL.

Historique et organigramme EPFL

L'EPFL a initialement fait le choix stratégique de conserver toutes ses données institutionnelles dans un annuaire propre, afin de garantir son indépendance face aux annuaires de constructeurs. La clé de voûte de cette architecture est le CADI & , unique source interne qui alimente tous les annuaires avec nos données institu-tionnelles, via des connecteurs spécifiques.À son tour, un annuaire générique OpenLDAP, conforme au proto-cole LDAP &, réplique ces informations pour les mettre à disposi-tion des ordinateurs de l'EPFL, permettant ainsi l'identification et l'authentification des utilisateurs, ainsi que l'accès aux attributs génériques essentiels tels que l'adresse électronique (Email) et le numéro de téléphone des collaborateurs. C'est par ce biais que vos lecteurs de messagerie devinent les adresses de vos destinataires internes.En revanche, cet annuaire OpenLDAP n'offre pas la possibilité de gérer les ordinateurs, c'est à dire les préférences spécifiques aux constructeurs, à savoir leurs polices de réglages propres (GPO &: ou MCX &).C'est pourquoi un premier annuaire propriétaire fût introduit il y a 10 ans déjà, Microsoft Active Directory, afin de servir la plate-forme Windows et ses spécificités.Le retour en force des Macintosh à l'EPFL nous a alors incités à déployer un annuaire qui leur soit dédié, Apple Open Directory, s'appuyant sur OpenLDAP. La phase pilote de ce dernier a débuté lors de la rentrée académique 2010, et il est maintenant à dispo-sition des responsables de parcs de Macintosh qui le souhaitent.

Fort de l'infrastructure racine de l'EPFL, nous pouvons alors dé-ployer autant d'annuaires propriétaires que nécessaire, à la condi-tion qu'ils soient exclusivement renseignés par l'annuaire central CADI. Autrement dit, ces annuaires propriétaires supplémentaires ne sont habilités qu'à hériter de l'information, mais en aucun cas à la modifier (altérer la source CADI), afin de préserver la totale indépendance de nos informations institutionnelles.

Architecture de l'annuaire Apple Open Directory

L'annuaire Open Directory actuellement implémenté à l'EPFL est composé d'un maître (Master Open Directory) et d'une réplique (Replica Open Directory), afin d'assurer la redondance matérielle et logicielle nécessaire au service. Cette réplique se comporte comme un miroir, capable de seconder le maître en cas de panne de celui-ci, mais agit aussi comme répartiteur de charge, les clients pouvant indifféremment se connecter à l'un ou l'autre. Quel que soit le serveur auquel le client se raccorde, il est automatiquement renseigné sur la structure arborescente de l'annuaire, de manière à pouvoir spontanément basculer sur un serveur de substitution en cas de défectuosité de l'un d'entre-eux.L'infrastructure de l'annuaire Open Directory s'appuie sur OpenLDAP et Kerberos, des éléments reconnus et normalisés et Password Service propriétaire mais bien spécifié.

Directory Service

KDC Passwd LDAP

Directory Service

KDC Passwd LDAPBackup

Passwd Sync

Transaction Service

CADICoffre

SSL

SSH

SSH

Master

Replica

Portail Password

Passwd

Portail Shell

CADI

Portail Groupes

CADI

http://gaspar.epfl.ch/ http://dinfo.epfl.ch/accountprefs http://dinfo.epfl.ch/groupes

Infrastructure EPFL

Implémentation de Open Directory @ EPFL

Si nombre d'institutions, notamment les écoles et les gymnases vaudois, ont eux aussi déployé des annuaires Open Directory, le contexte EPFL susmentionné impose que toutes les données soient automatiquement héritées et synchronisées depuis le comptoir central CADI. Autrement dit, personne n'est autorisé à directement modifier les enregistrements institutionnels de notre

Open [email protected], EPFL – Domaine IT, responsable de la plate-forme Apple et

l’équipe du support Open Directory @ EPFL (wiki.epfl.ch/opendirectory)

À votre service

16 flash informatique1616 28 juin 2011 - N° 6flash informatique

annuaire Open Directory (nom d'utilisateur, mot de passe, appar-tenance à des groupes, etc). Seuls les attributs MCX, c'est à dire les éléments de réglage spécifiques aux Macintosh, peuvent et doivent être directement modifiés dans l'annuaire. Néanmoins, les attributs institutionnels peuvent être indirectement modifiés au travers des portails de gestion centralisés, qui interagissent sur la source EPFL, à savoir le comptoir d'accès CADI.Lorsqu'un collaborateur change son mot de passe via le portail Gaspar, cette modification est immédiatement répercutée sur tous les annuaires susmentionnés, à savoir OpenLDAP, Active Di-rectory et Open Directory,.De la même manière, toute création d’unité (groupe explicite), ou modification de la liste de ses membres, via le portail DInfo, sera aussitôt répercutée dans tous les 3 annuaires.Liste des portails d'accès aux données:z Mots de passe: gaspar.epfl.ch/z Shell: dinfo.epfl.ch/cgi-bin/accountprefsz Groupes: dinfo.epfl.ch/groupes

Directory Service

KDC Passwd LDAP

Portail Groupeshttp://dinfo.epfl.ch/groupes

Administrateurlocal

Utilisateur

Cheminement de l'information

Synchronisation et Archivage

En respect de la topologie des informations institutionnelles à l'EPFL, trois acteurs interconnectent l'annuaire Open Directory avec le comptoir d'accès aux données institutionnelles.z Un processus de synchronisation permanente des enregis-

trements (actuellement 18000 utilisateurs et 6000 unités ou groupes implicites au sens Unix) assure la recopie des enregis-trements depuis le comptoir CADI, et leur constante actualisa-tion. Tout nouveau collaborateur est alors automatiquement recopié dans l'annuaire, et ses attributs génériques (apparte-nance, statut, UID, GID…) actualisés. Quant aux groupes, tant implicites (imposés par l'organigramme de notre institution), qu'explicites (librement constitués via le portail DInfo), ils sont à leur tour répliqués.

z Un processus de modification de mot de passe assure sa reco-pie dans l'annuaire Open Directory à chaque demande effec-tuée par l'utilisateur via le portail Gaspar.

z Un processus d'archivage assure quotidiennement la sauve-garde des bases de données de l'annuaire (LDAP, Kerberos et Password Service).

Réglages MCX

Pour faciliter la configuration et la gestion des Macintosh, un riche assortiment de pré-réglages est livré avec le système d'ex-ploitation Mac OS X et bon nombre d'applications intrinsèques ou extrinsèques au système ....Quinze catégories de préférences sont assignées aux machines, dont treize aux personnes. Chacune de ces catégories comporte un certain nombre de réglages propres. Dans la catégorie des Ap-plications, à lui seul, Safari, le navigateur Web intrinsèque au Mac OS, recèle pas moins de 39 réglages MCX.

Contents of New WindowsContents of New TabsHome PageHistory Age LimitDownloads LocationDownloads Clearing PolicyOpen Safe Downloads AutomaticallyDefault FontDefault Fixed-width FontDefault Fixed-width Font SizeDisplay ImagesDefault Text EncodingSpecial Collections in Bookmarks BarBookmarks Menu Includes Bookmarks BarBookmarks Menu Includes Address BookBookmarks Menu Includes BonjourBookmarks Collections Include Address BookBookmarks Collections Include BonjourCreate tabs instead of windowsCommand-Click Makes TabsNew Tabs are SelectedConfirm Closing Multiple PagesAutoFill From Address BookAutoFill PasswordsAutoFill Miscellaneous FormsPlug-Ins EnabledJava EnabledJavaScript EnabledAllow JavaScript to Open Windows AutomaticallyAsk Before Submitting Unsecure FormsDefault Space for Database StorageMinimum Font SizeTab to LinksEnable User Style SheetUser Style Sheet LocationInclude Develop MenuPrivate BrowsingPrint BackgroundsPrint Headers and Footers

Exemple de réglages MCX contenus dans le manifeste de l'application Safari

Open Directory

171728 juin 2011 - N° 6

Néanmoins, cet imposant assortiment est extensible au travers de manifestes, fichiers de description des réglages propres à chaque application. Par exemple, Google Chrome propose un manifeste comportant 32 réglages, facilitant grandement la gestion et la configuration centralisée de ce navigateur.Une autre prestation attendue que cet annuaire apporte est na-turellement la gestion de répertoire de travail (home Directory), l'environnement de travail accompagnant alors son propriétaire sur chaque Macintosh connecté à l'annuaire.Ainsi, les Macintosh clients de l'annuaire Open Directory bénéfi-cieront de toutes les facilités que leur gestionnaire ou adminis-trateur local (de faculté, d'unité, de groupe, ...) leur proposera, notamment les réglages de sécurité, les réglages optimisés pour l'environnement EPFL, tels que la configuration de la messagerie, ou des imprimantes.

Préférences MCX

Seuls les gestionnaires de parc de Macintosh accrédités, disposant de droits d'accès particuliers, sont habilités à modifier des attri-buts MCX directement sur l'annuaire Open Directory. Toutefois, ceux-ci ne peuvent en aucun cas modifier les enregistrements, utilisateurs et groupes, en revanche, ils sont libres d'accorder ou de refuser les autorisations d'accès.

Couplage d'un client à l'annuaire Open Directory

Chaque Macintosh client souhaitant être géré, doit se coupler à l'annuaire Open Directory, opération s'effectuant une seule fois pour toutes les sessions ultérieures.

Open Directory

System Preferences… Accounts Login Options Network Account Server Edit [+] "Server Name"

Préférences Système… Comptes Options Compte Serveur Réseau… Joindre... [+] "Nom du serveur"

Couplage d'un client à l'annuaire

L'équipe du support Open Directory se réjouit de vous accueillir dans ce service annuaire. n

GLOSSAIRE &CADI: comptoir d'Accès aux Données

Institutionnelles. kis.epfl.ch/support-in-formation.

cn=Open Directory @ EPFL: implémen-tation de l'annuaire à l'EPFL.

GPO (Microsoft Group Policy Objects): fonctions de gestion centralisée de la famille Microsoft Windows. W

LDAP (Lightweight Directory Access Protocol): protocole permettant l'inter-rogation et la modification des services d'annuaire.W

MCX (Apple Managed Client X): gestion des postes de travail sous Mac OS X.

W = tiré de Wikipédia

18 flash informatique 28 juin 2011 - N° 6

This article offers an unprecedented glimpse into the functioning and architecture of the Geneva in-ternet voting system, one of the most advanced in the world.

Cet article lève le voile sur le fonctionnement et l'architecture du système genevois de vote par In-ternet, l'un des plus performants à l'heure actuelle

Le système suisse de démocratie dite semi-directe permet aux ci-toyens de se prononcer sur toute loi adoptée par n’importe quelle autorité (communale, cantonale ou fédérale) et de proposer de nouvelles lois, pour autant qu’ils réunissent le nombre de signa-tures requis. Ainsi, les Helvètes sont-ils appelés aux urnes quatre à six fois par an pour confirmer ou rejeter les décisions de leurs élus. En conséquence, l’accessibilité aux scrutins, de même qu’une bonne organisation électorale, sont essentielles à l’exercice har-monieux des droits démocratiques en Suisse.Dans ce contexte, le vote postal s’est développé jusqu’à être uti-lisé, selon les cantons, par deux tiers à 95% des votants. Il y a plus: en facilitant l’accès au vote, le vote postal a par exemple permis à Genève d’augmenter la participation moyenne de 20 points. Ce succès, ainsi que le constat que le vote postal ne résout pas le pro-blème d’accessibilité des électeurs de l’étranger et des personnes à mobilité réduite ou malvoyantes, a ouvert la voie au vote par Internet. Il existe aujourd’hui à Genève trois canaux de vote par-faitement intégrés: les locaux de vote, la voie postale et Internet.Le premier vote électronique de Suisse a eu lieu en janvier 2003 à Genève. À ce jour, 19 votations et trois élections à caractère admi-nistratif mettant en jeu le vote électronique ont eu lieu dans ce canton. Aucune autre collectivité publique au monde n’a une telle expérience en matière de vote en ligne.Le vote par Internet amène des enjeux supplémentaires par rapport au vote postal, en raison de la dématérialisa-tion des suffrages. Comment se déroule une opération de vote ? Quelles sont les mesures de sécurité mises en œuvre ? Comment garantit-on le secret du vote ? Autant de questions auxquelles cet ar-ticle a pour but d’apporter des éléments de réponse. Il s’adresse à un public tech-nique ayant des connaissances de base en cryptographie. Dans les pages qui suivent, nous utiliserons indifféremment les expressions vote électronique, vote en ligne, eVoting et vote par Internet

pour parler du vote par Internet pratiqué à Genève.Les aspects abordés dans cet article sont structurés selon les quatre étapes principales du cycle de vie d’un scrutin incluant le vote électronique (fig. 1).

Initialisation d’une opération

Durant la phase d’initialisation, les données nécessaires à l’opéra-tion électorale sont importées dans le système eVoting. Ces don-nées proviennent de plusieurs sources et sont de natures diffé-rentes. On distingue en particulier:z Les données de rattachement électoral: communes et locaux

de vote, en particulier les communes autorisées à voter par Internet pour l’opération concernée lorsque le plafond prévu par l’ordonnance fédérale sur les droits politiques s’applique.

z Les données relatives aux objets de vote: sujets de vote (vota-tion) ou listes de candidats (élection).

z Les données de rattachement géographique: liste de pays (pour les Suisses de l’étranger en particulier), liste des cantons, etc.

z Les données nécessaires à la production du matériel de vote: registre électoral avec nom, prénom, adresse, notamment.

z Les données nécessaires à l’authentification des électeurs sur le système de vote électronique: date de naissance, commune d’origine.

Les données nominatives provenant du registre des habitants de l’Office cantonal de la population et permettant de produire les fichiers à destination des imprimeurs ne sont pas conservées en base de données. Les fichiers imprimeurs contiennent également les données de vote (numéro de carte de vote, mot de passe et code de contrôle) qui ont été générées à l’aide d’un générateur quantique d’aléas. Ces données sont spécifiques à chaque électeur et à chaque opé-ration.

La solution genevoise de vote électronique à cœur [email protected], Chancellerie d'Etat de Genève, Responsable de la communication du vote en ligne & Agatha Bahègne-Bradley, Christophe Vigouroux, François Montmasson, Rémi Villemin et Franck Ponchel, du Centre des Technologies de l'Information de l'Etat de Genève

J-60

Déroulement de la session de vote

Création de l'opération

Import des données de références

Génération des cartes de vote

Fin du vote électronique à 12h

Début du vote électronique

J-48

J-30

Impression et envoi des cartes

de vote

J-46

J-27

J-1 J

Scellement de l'urne

électroniqueInitialisation de l'opération

1 2 3

Cycle de vie d'un scrutin avec vote électronique (J = jour du scrutin)

Dépouillement de l'urne électronique

4

Chancellerie d'Etat (CHA) et

Service des Votations et

Elections (SVE)

CHA & SVE

CEC*

CHA & SVE

CEC*

Etapes principales

Acteurs VotantsREPUBLIQUEET CANTONDE GENEVE

REPUBLIQUEET CANTONDE GENEVE

REPUBLIQUEET CANTONDE GENEVE

fig. 1 – cycle de vie d’un scrutin avec vote électronique (CEC voir glossaire)

Analyse

191928 juin 2011 - N° 6

Les flux de données lors de la phase d’initialisation peuvent être représentés de la manière suivante (fig. 2).

Scellement de l’urne électronique

Le scellement de l’urne électronique a lieu lors d’une séance of-ficielle de préparation de la session électorale et de génération des clés de chiffrement des votes. L’étape s’effectue alors que les informations reproduites sur les cartes de votes ont été importées dans le système et que les cartes ont été imprimées et sont en cours d’envoi. Lors de cette étape, des moyens cryptographiques sont mis en place afin de garantir l’inviolabilité de l’urne. Une urne est invio-lable si on ne peut ni y écrire ni y lire des votes à l’insu du système. z L’urne est illisible pendant la session de vote grâce à l’utilisa-

tion d’une clé asymétrique où seule la clé publique de chiffre-ment est disponible et la clé privée de déchiffrement mise en lieu sûr et protégée par des mots de passe.

z L’urne est inaltérable à l’insu du système grâce à l’utilisation de la clé publique de chiffrement des votes et d’un compteur d’intégrité connus seulement par le système de vote.

La clé publique de chiffrement est connue seulement par le sys-tème et est la seule capable de déposer des votes valides dans l’urne. Un vote valide est un vote correctement décryptable par la clé privée.Le compteur d’intégrité indique le nombre de votes présents dans l’urne. Afin de résister à un redémarrage du système et d’être inal-térable, ce compteur est stocké encrypté avec une clé symétrique dans la base de données.

Préparation de l’étapeLes différents acteurs ainsi que le matériel nécessaires au scelle-ment de l’urne électronique sont réunis. L’étape se déroule selon un protocole établi par la Chancellerie.

Les acteurs de cette étape sont: z la Chancelière d’État ou le Vice-Chancelier, z le Président de la CEC &, z le Président de Séance, z deux groupes d’au moins deux membres de la CEC, z le représentant du Service des Votations et Élections, z un notaire, z l’officier de sécurité des systèmes d’information de la Police

(ci-après officier de sécurité), z l’administrateur eVoting. L’administrateur eVoting se connecte de façon nominative au système de vote électronique avec le PC d’administration dédié, à travers un VPN sécurisé à secret unique sur une prise réseau dédiée.L’administrateur eVoting lance la console d’administration. Cette application fournit une interface graphique qui encadre le dérou-lement de chaque étape.

Génération des clés

Clés Utilisation

Clé publique de chiffrement des votes

Cette clé permet de chiffrer les votes dans l’urne, mais ne per-met pas de les déchiffrer.

Clé privée de déchiffrement des votes

Cette clé permet de déchiffrer les votes dans l’urne et d’obte-nir le résultat du scrutin.

Clé symétrique du compteur d’intégrité

Cette clé permet de chiffrer et de déchiffrer le compteur d’intégrité dans la base de données et d’assurer l’inalté-rabilité de l’urne.

tableau 1 – clés du système produites pendant l’étape de scellement de l’urne

Générateur quantique d'aléas

Non-conservation des données nominatives

Conservation des données fournies à l'électeur (numéro de carte de vote, mot de passe, code de contrôle)

X

PC Administration

VPN

Service des Votations et Elections

Fournisseur

- Listes de communes autorisées à voter par internet

pour l'opération

- Listes des locaux de votes

- Listes des sujets de vote cantonaux et communaux (ou

listes et candidats)

Données importées

Fournisseur

- Listes des sujets de vote fédéraux (ou listes de

candidats)

- Listes des pays Wassenaar*

- Listes des cantons suisses

- Listes des communes suisses

Données importées

Office Cantonale

de la Population

Fournisseur

- Registre des électeurs suisses résidents et étrangers

résidents (lors de scrutins communaux)

- Registre des électeurs suisses de l'étranger

Données importées

Imprimeur

Destinataire

- Fichiers imprimeur avec identifiants (numéro de carte et

mot de passe) spécifiques à l'opération pour impression et mise sous pli du matériel de

vote

Données exportées

REPUBLIQUEET CANTONDE GENEVE

REPUBLIQUEET CANTONDE GENEVE

Schweizerische Eidgenossenschaft Confédération suisse Confederazione Svizzera Confederaziun svizra

La solution genevoise de vote électronique à cœur ouvert

fig. 2 – flux de données lors de la phase d’initialisation d’une opération (pour la liste des pays Wassenaar, voir le glossaire)

20 flash informatique2020 28 juin 2011 - N° 6flash informatique

L’administrateur eVoting lance la génération:z de la paire de clés asymétriques de chiffrement des votes qui

se composew d’une clé publique de chiffrement des votes,w d’une clé privée de déchiffrement des votes;

z de la clé symétrique du compteur d’intégrité. Afin de protéger l’accès à la clé privée de déchiffrement des votes, celle-ci est stockée dans un trousseau de clés protégé par 2 mots de passe.

Mot de passe 1Clé privée de déchiffrement + Trousseau de clés fermé Mo de passe 2

Mémoire PC Administration Support de sauvegarde

fig. 3 – trousseau de clés protégé par 2 mots de passe

Chacun des deux groupes de membres de la CEC choisit un mot de passe et le saisit sur un formulaire ad hoc. La première personne du premier groupe saisit le mot de passe choisi par son groupe. La seconde personne saisit le même mot de passe afin de confirmer la saisie. La même procédure est effectuée par le second groupe pour le second mot de passe.

Stockage Trois ensembles de données sont directement générés sur 2 sup-ports amovibles (une clé USB et un CD) afin de ne pas être sauvés sur le PC Administration: z le trousseau de clés protégé par mots de passe,z la clé publique de chiffrement des votes, z la clé symétrique du compteur d’intégrité. L’administrateur eVoting transfère une copie de la clé symétrique du compteur d’intégrité sur le système. Ces supports sont mis sous enveloppes scellées puis remis à l’officier de sécurité. Les formu-laires de saisie des mots de passe sont mis sous deux enveloppes distinctes, scellées puis remises au notaire.Enfin, l’administrateur eVoting lance l’initialisation finale de la base de données eVoting en affectant le compteur d’intégrité à 0 avec la clé symétrique.

Compteurd’intégritédécrypté

Compteurd’intégrité

crypté

Urnechiffrée

dfkfk230434…0

Mémoire serveurs de voteélectronique

Bases de données

fig. 4 – urne vide

Secret Créateur Support de sauve-garde

Mot de passe 1 Premier groupe de membres de la CEC

Formulaire de saisie 1

Mot de passe 2 Second groupe de membres de la CEC

Formulaire de saisie 2

Trousseau de clés protégé par mot de passe

PC Administration CD et clé USB

Clé publique de chiffrement des votes

CD et clé USB

Disques durs du système de vote électronique

Clé symétrique du compteur d’inté-grité

CD et clé USB

Disques durs du système de vote électronique

tableau 2 – liste des secrets

À noter qu’aucun des secrets ne reste sur le PC d’administration.Un vote de test est alors effectué sur le système par chacun des groupes. Les résultats attendus sont notés.

Compteurd’intégritédécrypté

Compteurd’intégrité

crypté

Urnechiffrée

SbxvwuBS1c5tg…1

Mémoire serveurs de voteélectronique

Bases de données

2382jsdj27611…

fig. 5 – premier vote de test dans l’urne

Le dépouillement de l’urne est effectué (voir explications ci-après) et les résultats obtenus sont validés.Le PC Administration est mis dans un sac qui est ensuite scellé par des plombs numérotés, dont les numéros sont relevés. Le sac est remis au représentant du Service des Votations et Élections qui le conservera pour la durée du scrutin.

Support de sauve-garde

Support d’intégrité Propriétaire pen-dant la session de vote

PC Administration Sac plombé Représentant du service des vota-tions

Formulaire de saisie 1

Enveloppe scellée 1 Notaire

Formulaire de saisie 2

Enveloppe scellée 2

CD et Clé USB Enveloppe scellée 3 Officier de sécurité

tableau 3 – liste des supports de sauvegarde

La solution genevoise de vote électronique à cœur ouvert

212128 juin 2011 - N° 6

Les flux de données lors du scellement de l’urne peuvent être syn-thétisés comme le montre la figure 6.

Comment être sûr que l’urne ne pourra pas être ouverte avant l’étape de dépouillement de l’urne ?Afin d’ouvrir l’urne, il faut réunir des secrets en possession d’ac-teurs différents sur des supports protégés. Chaque acteur n’a au plus qu’un secret en main. Pour introduire ces secrets dans le sys-tème et déverrouiller l’urne, il faut se connecter à une infrastruc-ture sécurisée. Aucun acteur en possession d’un secret n’a accès à cette infrastructure.

Comment être sûr de pouvoir réunir les secrets afin d’ouvrir l’urne ?Chacun des secrets est disponible sur deux supports:

Secrets du scrutin Support de sauvegarde

Mot de passe 1 1. Enveloppes contenant les mots de passe chez le notaire

2. Mémoire des personnes du groupe 1 de membres de la CEC

Mot de passe 2 1. Enveloppes contenant les mots de passe chez le notaire

2. Mémoire des personnes du groupe 2 de membres de la CEC

Trousseau de clés protégé par mots de passe

1. CD chez l’officier de sécurité 2. Clé USB chez l’officier de sécurité des

systèmes d’information

Clé publique de chiffrement des votes

1. CD et Clé USB chez l’Officier de sécurité 2. Disques durs du système de vote élec-

tronique

Clé symétrique du compteur d’intégrité

1. CD et Clé USB chez l’Officier de sécurité 2. Disques durs du système de vote élec-

tronique

tableau 4 – Redondance des secrets sur les supports

Déroulement de la session de vote

Une fois l’urne électronique scellée, le site de vote par Internet peut être ouvert au public.Lorsqu’un électeur se connecte sur https://www.evote-ch.ch avec son navigateur Web, il démarre une session de vote. Pour mener à bien une session de vote, l’électeur commence par saisir son numéro de carte de vote sur la page d’identification, puis il accepte les avertissements légaux, saisit son bulletin de vote, vérifie son vote et fournit ses informations personnelles (mot de passe, date de naissance et commune d’origine) sur la page d’authentification, avant d’aboutir à la page de confirmation l’assurant de l’enregistrement de son vote.

Secret du vote Origine Support de sauvegarde

Date de naissance Données personnelles de l’électeur

Registre des habitants Base de donnéesMémoire du votant

Commune d’origine Registre des habitantsBase de donnéesMémoire du votant

Mot de passe Système de vote électro-nique

Base de données (haché)Carte de vote

Numéro de carte de vote

Base de donnéesCarte de vote

Code de contrôle Base de donnéesCarte de vote

tableau 5 – secrets du vote

Une session de vote nécessite d’établir un dialogue entre le navi-gateur de l’électeur et les serveurs du système eVoting. Plusieurs questions se posent quant à la sécurisation de ces échanges:z comment s’assurer que l’électeur s’adresse bien aux serveurs

eVoting ?z comment identifier l’élec-teur ?z comment s’assurer qu’un tiers malveillant ne puisse ni intercepter ni manipuler les données échangées ?

Authentification du site eVoting Lorsque le navigateur de l’élec-teur entre en contact avec le site de vote eVoting, l’uti-lisation du protocole https entraîne la mise en place d’une communication SSL. Lors de l’établissement de la communication, le navigateur demande au site eVoting de présenter son certificat élec-tronique. Il s’agit d’une carte d’identité numérique délivrée par une autorité de certifica-

La solution genevoise de vote électronique à cœur ouvert

Groupe 1 de membres de la CEC

Groupe 2 de membres de la CEC

VPN/SSH

Mot de passe 1

Mot de passe 2

Notaire

Enveloppes contenant les mots de passe

Trousseau de clé fermé

Service des Votations et

Elections

Officier de sécurité des SI

Administrateur eVoting

Clé symétrique d'intégrité et clé

publique asymétrique

PC Administration sous scellés

REPUBLIQUEET CANTONDE GENEVE

fig. 6 – échange des secrets et des supports de sauvegarde

22 flash informatique2222 28 juin 2011 - N° 6flash informatique

tion dont le rôle est d’assurer le lien entre une identité physique et une identité numérique. En vérifiant le certificat reçu, le navigateur valide l’identité du site eVoting. Une fois la communication SSL en place, l’électeur a la garantie de s’adresser au véritable site eVoting, d’une part, et que tous les échanges entre le navigateur et les serveurs eVoting sont chiffrés, d’autre part.

Identification de l’électeurPour chaque opération de vote, l’électeur reçoit par la poste une carte de vote à usage unique. À chaque électeur correspond en outre un numéro de carte de vote unique (NCV), permettant de l’identifier auprès du système de gestion des scrutins, quel que soit le canal qu’il choisira pour exprimer son suffrage.Afin de ne pas compromettre cette information cruciale, celle-ci n’est jamais échangée. À la place, c’est l’empreinte du numéro de carte de vote qui est envoyée. Cette empreinte est obtenue en appliquant une fonction de hachage cryptographique (HashE) au numéro de carte de vote, ce qui rend très difficile, voire impos-sible dans les délais de l’opération de vote, de retrouver le numéro original. Le système eVoting utilise une table de correspondance, établie lors de l’étape de génération des fichiers imprimeurs, pour déterminer le numéro de carte de vote de l’électeur à partir de l’empreinte reçue. Dorénavant, le numéro de carte de vote consti-tue un secret dit partagé entre l’électeur et le système eVoting.

Canal sécuriséJusqu’ici, nous avons vu les mesures mises en place pour assurer à l’électeur qu’il s’adresse bien au site eVoting et comment le système eVoting identifie l’électeur. Nous allons aborder la manière dont les échanges sont sécurisés contre l’interception et la manipulation.

En effet, bien que le protocole SSL mette en place un chiffrement des échanges ainsi qu’une authentification du serveur, il a été prouvé que ce protocole est sensible aux attaques de type man in the middle. Bien que très complexe à mettre en œuvre, cette at-taque consiste, schématiquement, à se placer entre le navigateur et le site eVoting. L’attaquant se fait alors passer pour le serveur eVoting auprès de l’électeur, et inversement, se fait passer pour l’électeur auprès du serveur eVoting. Pour rendre ces attaques plus difficiles, le système eVoting met en place le concept de canal sécurisé entre le navigateur et le serveur. Le canal sécurisé s’appuie sur une combinaison de techniques de sécurité: protocole SSL mutuel, surchiffrement des données et authentification des messages.Comme abordé plus tôt, le SSL simple requiert du serveur qu’il pré-sente un certificat électronique au client afin que celui-ci puisse l’authentifier. Le SSL mutuel est une extension du SSL simple qui ajoute une phase d’authentification du client auprès du serveur. De la même façon, le client doit présenter son certificat électro-nique au serveur, qui le valide via une autorité de certification.Une fois l’authentification mutuelle réalisée, le client est assuré de s’adresser au véritable site eVoting et le serveur est assuré de s’adresser à l’électeur. Dès qu’il est en place, le SSL mutuel assure un premier niveau de chiffrement de toutes les données échangées.Le surchiffrement consiste à chiffrer les données au niveau de l’application, avant même de les envoyer via la communication

SSL mutuelle. Le chiffrement s’appuie sur un algorithme de cryptographie à clé symétrique (SYM), dont la clé se-crète est dérivée du numéro de carte de vote (NCV), à la fois par le serveur et par le client, par utilisation d’une fonction de hachage cryptographique (HashCS). Les données sont donc chiffrées deux fois, de manière différente, lors de leur transmission, ce qui renforce la sécurité du chiffrement.L’authentification des messages consiste à ajouter une empreinte chiffrée à chaque message. Concrètement, il s’agit pour le client de calculer l’empreinte du message (EMSG), puis de chiffrer cette empreinte à l’aide de la clé privée associée à son certificat électronique (ECMSG). Le chiffrage utilisé ici repose donc sur un algorithme cryp-tographique à clé asymétrique (ASYM).À réception du message chiffré et de son empreinte chiffrée, le système eVoting utilise la clé publique du certificat client pour déchiffrer la signature et obtenir l’empreinte du message (EMSG reçue). Ensuite, le système eVoting calcule à son tour l’empreinte du message (EMSG calculée). Si les deux empreintes diffèrent, c’est soit que le message original a été altéré, soit que le message n’a pas été signé par la clé privée associée à la clé publique du certificat client, donc pas par le client attendu !Si les empreintes concordent, le système eVoting dé-chiffre le message à l’aide de la clé secrète et procède

au traitement du message.Les navigateurs Web actuels n’offrent pas les fonctionnalités suffisantes pour mettre en œuvre un canal sécurisé tel que nous venons de le décrire. Pour cette raison, le système eVoting requiert l’utilisation de la technologie Java, qui vient s’intégrer au naviga-teur Web de l’électeur pour l’enrichir.

La solution genevoise de vote électronique à cœur ouvert

Serveurs eVoting

Poste de l’électeur Site eVoting

Téléchargement de l’Applet eVoting

Tablede

Correspondance

NCV

Création paire de clé privée/publique (Kclient)et certificat électrinique client valables 30 min

Message = ChiffrerSYM(Kclient + certificat client, CS)

L’applet et le site eVoting sont prêts à activer le canal sécurisé

Electeur identifié

Internet

Applet Java eVoting

Navigateur WebEtablissement de la communication SSL

Certificat électronique www.evote-ch.ch

Vérification de l’identité numérique du site eVoting

Mise en place du chiffrement SSL

Echanges chiffrés pas SSL

1- Accès au site https://www.evote-ch.ch

NCV

Vérification de l‘AppletEt

Intégration de l’Applet au navigateur Web

DéchiffrerSYM(message, CS)

NCV: Numéro de Carte de Vote ASYM: Algorithme de cryptographie asymétrique (à clé publique/privée)Hash: Fonction de hachage cryptographique SYM: Algorithme de cryptographie symétrique

Paire de clé privée/publique clientInstallation du certificat client

'

Clé Secrète de surchiffrement:CS = HashCS(NCV)

Clé Secrète de surchiffrement:CS = HashCS(NCV)

2- Saisie du N° de carte de vote

Electeur

HashE(NCV)

fig. 7 –phase d’authentification du site eVoting et d’identification de l’électeur

232328 juin 2011 - N° 6

En pratique, dès le début de la session de vote, une applet Java est téléchargée depuis le site eVoting et exécutée au sein du naviga-teur Web sur le poste de l’électeur. Une fois le numéro de carte de vote saisi sur la page d’identification, l’applet met en place le canal sécurisé. L’applet et le navigateur Web s’intègrent de ma-nière poussée afin que tous les échanges de données sensibles transitent par l’applet et non plus par le navigateur.

Enregistrement d’un vote dans l’urneL’enregistrement d’un vote commence par l’indication par l’élec-teur de ses choix sur son navigateur. Le bulletin ainsi rempli est envoyé, via le canal sécurisé, au serveur de vote.Le serveur déchiffre le bulletin de l’électeur, effectue un contrôle syntaxique (pour s’assurer que le vote exprimé sera valable afin d’éviter les nuls par erreur) puis renvoie à l’électeur une confirma-tion de ses choix avec un code de contrôle. Ce code aléatoire est inscrit sur la carte de vote de l’électeur et n’est connu que de lui-même et des serveurs eVoting: c’est une preuve supplémentaire pour l’électeur qu’il s’est bien connecté au serveur eVoting.L’électeur est alors invité à s’authen-tifier en saisissant sa date de nais-sance, sa commune d’origine et le mot de passe inscrit sur sa carte de vote. Comme toutes données sensibles, celles-ci sont envoyées par le canal sécurisé au serveur de vote.Le serveur vérifie les données person-nelles de l’électeur, vérifie que l’élec-teur a le droit de voter (pas de vote préalable ni de vote par un autre ca-nal), puis enregistre son vote (fig. 9).

Urne chiffrée

N° local de vote + Bulletin………

Registre des cartes de vote

Carte N° XXXXX a votéCarte N° … a votéCarte N° … n’a pas voté…

Session de votede la carte N° XXXXX

Bulletin

fig. 9 – séparation des données lors de l’enregistrement du vote

z Le bulletin et le local de vote de l’électeur sont chiffrés avec du sel &, en utilisant la clé publique de chiffrement de l’urne, puis enregistrés dans l’urne.

z Lorsqu’un citoyen vote, le registre des cartes de vote est modifié pour enregistrer le fait que le nu-méro de carte de vote associé à ce citoyen a voté.

La solution genevoise de vote électronique à cœur ouvert

Groupe 1 de membres de la CEC

Groupe 2 de membres de la CEC

VPN

Mot de passe 1

Mot de passe 2

Notaire Enveloppes contenant les

mots de passe

Trousseau de clé fermé

Service des Votations et

Elections

PC Administration sous scellés

Officier de sécurité des SI

Administrateur eVoting

REPUBLIQUEET CANTONDE GENEVE

fig. 10 – Acteurs et matériels nécessaires au dépouillement de l’urne électronique

Activation de la communication SSL mutuel

Echanges chiffrés pas SSL mutuel

Certificat électronique client

Mise en place du chiffrement SSL

Vérification de l’identité numérique de l’électeur

Electeur

Serveurs eVoting

Poste de l’électeur Site eVotingInternet

Navigateur Web

Certificat électronique www.evote-ch.ch

Applet Java eVoting

Vérification de l’identité numérique du site eVoting

Message à transmettre (MSG)

A- Surchiffrer le message:MSGSC = ChiffreSYM(MSG, Clé Secrète CS)

B- Calculer l’empreinte du message surchiffré:EMSG = HashE(MSGSC)

C- Chiffrer l’empreinteECMSG = ChiffrerASYM(EMSG, Clé privée client)

A- Calculer l’empreinte du message surchiffré reçu:EMSG calculée = HashE(MSGSC)

B- Déchiffrer l’empreinte reçue:EMSG reçue = DéchiffrerASYM(ECMSG, clé

publique client)

C- Comparer EMSG reçue et EMSG calculée Si différence

tentative d’attaque détectée

D- Sinon, déchiffer le message:MSG = DéchiffrerSYM (MSGSC, Clé secrète)

Traiter le message

Message surchiffré + empreinte chiffrée(MSGSC, ECMSG)

NCV: Numéro de Carte de Vote ASYM: Algorithme de cryptographie asymétrique (à clé publique/privée)Hash: Fonction de hachage cryptographique SYM: Algorithme de cryptographie symétrique

fig. 8 – établissement et utilisation du canal sécurisé z Le compteur d’intégrité lu en base de données est déchiffré par le système en utilisant la clé symétrique d’intégrité. L’ap-plication incrémente ce compteur, le chiffre à nouveau et le sauve en base de données.

z Ces trois opérations sont effectuées dans une même transac-tion de base de données afin de garantir que le dépôt du vote répond aux caractéristiques ACID (Atomicité, Cohérence, Iso-lation et Durabilité).

Finalement le serveur envoie à l’électeur une confirmation de son vote comprenant la date et l’heure de son vote, ainsi que le code de contrôle qui atteste que le message vient bien du système de vote.

Dépouillement de l’urne électronique Le dépouillement de l’urne électronique a lieu lors d’une séance officielle. L’objectif de cette étape est d’extraire de l’urne électro-nique les résultats du vote.

24 flash informatique2424 28 juin 2011 - N° 6flash informatique

La solution genevoise de vote électronique à cœur ouvert

des groupes ne se souvient plus du mot de passe qui avait été défini, celui-ci peut être récupéré en ouvrant l’enveloppe correspondante apportée par le notaire.

z L’étape est conduite et supervisée par la Chancellerie.Une fois les trois secrets - trousseau de clés, mot de passe 1 et mot de passe 2 - insérés dans l’application d’administration, celle-ci ouvre le trousseau pour récupérer la clé privée de déchiffrement des votes puis procède au déchiffrement de l’urne électronique et à la génération des résultats. Les modalités techniques de cette étape sont précisées dans le chapitre suivant.

Techniques de brassage de l’urne électronique et de déchiffrementBien que le système ait été conçu afin qu’il n’y ait aucune rela-tion en base de données entre le registre des électeurs et l’urne électronique, il pourrait néanmoins exister la possibilité de faire un lien temporel entre un électeur, dont on enregistre l’instant du dépôt du vote, et le vote chiffré, celui-ci étant stocké par ordre d’arrivée. Différentes mesures techniques et organisation-

Urne brassée Urne déchiffrée

Eléments déchiffrés

Elément chiffré

Constitution de l’urne

lecture del’élément de tête

Ensemble deprocessus dedéchiffrement

Local n° 1 FED_Q1=OUILocal n° 5 FED_Q1=NONLocal n° 3 FED_Q1=BLALocal n° 8 FED_Q1=OUILocal n° 3 FED_Q1=OUILocal n° 5 FED_Q1=NONLocal n° 7 FED_Q1=OUI

UD3t7LDyQoMEa…

AcCexQAs15T0a…

aPw+ydsRDY47L…

GBIJ20uSyWpF/…

LZYsNTOSnKH+d…

SbxvwuBS1c5tg…

f6hROcaFAaMhM…

fig. 13 – traitement en parallèle du déchiffrement

Urnechiffrée

Urne chiffréemélangée

Urne chiffréemélangée (2x)

Urne déchiffrée

Clé privée commissionélectorale

Chargementen ordre aléatoire

Tri aléatoirequantiqueen mémoire

Déchiffrementen mémoire

Base de données Mémoire PC Administration

Local n° 1 FED_Q1=OUI

Local n° 5 FED_Q1=NON

Local n° 3 FED_Q1=BLA

Local n° 8 FED_Q1=OUI

Local n° 3 FED_Q1=OUI

Local n° 5 FED_Q1=NON

Local n° 7 FED_Q1=OUI

SbxvwuBS1c5tg…

AcCexQAs15T0a…

GBIJ20uSyWpF/…

f6hROcaFAaMhM…

LZYsNTOSnKH+d…

UD3t7LDyQoMEa…

aPw+ydsRDY47L…

UD3t7LDyQoMEa…

AcCexQAs15T0a…

aPw+ydsRDY47L…

GBIJ20uSyWpF/…

LZYsNTOSnKH+d…

SbxvwuBS1c5tg…

f6hROcaFAaMhM…

UD3t7LDyQoMEa…

GBIJ20uSyWpF/…

SbxvwuBS1c5tg…

aPw+ydsRDY47L…

AcCexQAs15T0a…

LZYsNTOSnKH+d…

f6hROcaFAaMhM…

fig. 11 – brassage et déchiffrement de l’urne électronique

1) Sélection dudernier élément

2) Tirage aléatoire d’unchiffre compris entre 1 etl’index de l’élémentsélectionné – 1

Exemple: 3

3) Inversion de l’élémentsélectionné en 1 avec celuisélectionné en 2

L’opération est répétée en sélectionnantl’élément précédant celui sélectionné en 1,jusqu’à atteindre l’élément n°2.

UD3t7LDyQoMEa…

AcCexQAs15T0a…

aPw+ydsRDY47L…

GBIJ20uSyWpF/…

LZYsNTOSnKH+d…

SbxvwuBS1c5tg…

f6hROcaFAaMhM…

UD3t7LDyQoMEa…

AcCexQAs15T0a…

f6hROcaFAaMhM…

GBIJ20uSyWpF/…

LZYsNTOSnKH+d…

SbxvwuBS1c5tg…

aPw+ydsRDY47L…

fig. 12 – algorithme du brassage quantique de l’urne

Déroulement de l’étapeLes différents acteurs ainsi que le matériel nécessaires au déchif-frement de l’urne électronique sont réunis. L’étape se déroule selon un protocole établi par la Chancellerie (fig. 10).z Le responsable du Service des Votations et Élections (SVE)

apporte le PC d’Administration sous scellés. Ces derniers sont cassés et vérifiés sous le contrôle d’un membre de la commis-sion électorale centrale (CEC).

z L’administrateur eVoting connecte le PC Administration au réseau sécurisé eVoting. La salle où se déroule l’étape est équi-pée d’une prise spécifique, et seul l’administrateur possède les droits nécessaires à l’établissement d’un VPN. À cette étape, le générateur quantique d’aléas, apporté par l’administrateur, est connecté au PC Administration.

z L’officier de sécurité apporte le trousseau de clés électroniques fermé contenant la clé privée de déchiffrement des votes (supports clé USB et CD-ROM).

z Chacun des deux groupes de contrôleurs fournit son mot de passe permettant d’ouvrir le trousseau de clés. Au cas où l’un

nelles empêchent cela. L’une d’entre elles consiste à brasser l’urne: tout comme pour une urne réelle, le dé-chiffrement de l’urne est précédé par un brassage dont le schéma suivant expose les principes (fig. 11).z Au départ, les votes chiffrés sont

enregistrés en base de données dans leur ordre d’arrivée.

z La totalité des votes est chargée dans une structure en mémoire. Ce chargement utilise une fonc-tionnalité particulière de la base de données permettant de faire une lecture par ordre aléatoire.

z Cette première structure est à son tour mélangée en utilisant le générateur quantique d’aléas. Le schéma suivant expose le prin-cipe de ce mélange (fig. 12).

z Une fois l’urne mélangée deux fois, l’application ouvre le trous-seau de clés en utilisant comme mot de passe la concaténation du mot de passe du groupe 1 puis du mot de passe du groupe 2 des contrôleurs de la CEC. La clé pri-vée ainsi récupérée permet de déchiffrer chacun des votes et de constituer l’urne déchiffrée.

Le temps de déchiffrement unitaire d’un vote étant non négligeable, le choix a été fait d’exécuter en paral-lèle les processus de déchiffrement afin d’optimiser le temps de traite-ment de cette étape. Le schéma de la figure 13 expose ce principe.

252528 juin 2011 - N° 6

La solution genevoise de vote électronique à cœur ouvert

z La structure représentant l’urne déchiffrée est utilisée par le traitement qui effectue les décomptes et génère les résultats du vote.

Comment être sûr que l’application comptabilise et enregistre les suffrages correctement ?La CEC dispose d’un arrondissement électoral propre dans lequel elle émet des suffrages qu’elle protocole sur un formulaire papier. Les résultats de cet arrondissement sont vérifiés lors du dépouille-ment de l’urne électronique. Cela permet de vérifier que l’applica-tion n’introduit pas de biais dans les résultats.

Comment être sûr de prendre en compte tous les votes ?Un compteur d’intégrité est incrémenté dans la même transaction que chaque vote enregistré dans l’urne chiffrée.Lors du dépouillement de l’urne, une fonctionnalité de l’appli-cation d’administration permet aux différents acteurs de vérifier l’égalité de ce compteur avec le nombre de votes dépouillés et avec le nombre de votants ayant voté par Internet à partir du registre.

Comment être sûr qu’on ne peut pas faire de lien temporel entre l’électeur et son vote ? Les 3 éléments suivants répondent à cette question:z Le brassage quantique empêche de manière totale que l’ordre

original des votes soit reconstitué en effectuant par exemple un brassage inverse.

z Le dépouillement s’effectue en mémoire sans journalisation. z Les mêmes réponses n’ont pas la même valeur une fois chif-

frée grâce à l’ajout d’un sel cryptographique différent pour chaque vote: on ne peut pas reconstituer l’urne chiffrée à par-tir de l’urne déchiffrée en analysant les résultats.

GLOSSAIRE &

CEC: La commission électorale centrale (CEC) a été instituée au 1er janvier 2010, en même temps que le vote électro-nique était introduit dans la constitution cantonale genevoise. Selon la loi, la CEC a accès à toutes les opérations du processus électoral et peut procéder à des contrôles, en tout temps, indé-pendamment d’une opération électo-rale (article 75B de la loi sur l’exercice des droits politiques).

La CEC verrouille l’urne électronique en générant ses clés de chiffrement, de sorte que nul ne peut accéder aux suffrages électroniques avant le dépouil-lement. La CEC peut accéder à tout document relatif au système de vote électronique, elle peut mandater les experts de son choix pour des audits, des tests ou des études.

La CEC ainsi que les spécialistes qu’elle déciderait de mandater ont accès au code source en tout temps, de même que les personnes faisant état d’un intérêt académique.

Cette commission a créé en son sein un groupe technique qui a entamé un processus d’audit du système de vote électronique. La loi impose en outre que le système de vote par Internet soit audité tous les trois ans et que les résultats de cet audit soient publiés. Le premier audit de ce cycle aura lieu en 2012.

liste des pays Wassenaar: pourquoi cer-tains Suisses de l’étranger ne peuvent-ils pas voter par Internet ? Il faut ici dis-siper une erreur fréquemment entendue quant à l’accès des Suisses de l’étranger au vote électronique. Seuls les expatriés vivant dans l’Union européenne ou dans l’un des États signataires de l’arrange-ment de Wassenaar reçoivent un maté-

riel de vote leur permettant de voter en ligne. Cela n’a rien à voir avec la nature des applications de vote par Internet uti-lisées en Suisse (open source ou non); il s’agit d’une décision de la Confédération qui obéit à une logique juridique.

En ratifiant l’arrangement de Wassenaar, les États s’engagent à ne pas punir le commerce de biens et services dits à double usage, civil et militaire. Les applications cryptographiques font partie de ces biens et services. En restreignant l’accès au vote en ligne aux Suisses vi-vant dans un pays qui s’est engagé à ne pas poursuivre en justice les utilisateurs de tels biens et services - car c’est de cela qu’il s’agit - Berne a voulu protéger d’éventuelles poursuites judiciaires ses ressortissants qui vivent hors de ces pays.

sel: le salage consiste à ajouter une chaîne de caractères à l'information avant le hachage.

Conclusion L’eVoting à Genève n’est pas un projet figé, mais s’inscrit au contraire dans un cycle d’améliorations continues. Les évolutions envisagées à long terme sont variées et innovantes: nouvelle cer-tification ISO, sécurisation du poste du votant, accessibilité, etc.

Pour rester à la pointe des systèmes de vote par Internet et pour nous préparer aux normes dont l’OSCE et le Conseil de l’Europe débattent, nous travaillons également sur le thème de la vérifia-bilité, afin de permettre à l’électeur de vérifier lui-même que son vote a correctement été pris en compte (norme dite counted as cast ou compté tel qu’émis) à l’image de la possibilité donnée aux citoyens d’assister au dépouillement dans les locaux de vote.Dans le cadre de cet article, nous n’avons pu aborder l’ensemble des mesures prises pour garantir dans la mise en œuvre du vote électronique le respect de tous les principes qui président à la conduite d’un scrutin démocratique au sens des textes interna-tionaux qui en donnent la définition. Il nous semble important de souligner en conclusion que le système de vote en ligne de l’État de Genève est parfaitement intégré au système général de gestion des scrutins, ne serait-ce que pour prévenir les votes multiples de citoyens facétieux.En outre, l’État de Genève détient la propriété intellectuelle de son système, il en assure l’exploitation et les développements. Cette propriété est pour nous un élément essentiel de la légitimité du recours au vote électronique. Ainsi, tout ce qui vous a été pré-senté dans cet article appartient-il à l’État. Les diverses solutions évoquées ont souvent été développées spécifiquement pour être mises en œuvre dans l’application genevoise et sont sans équiva-lent ailleurs. n

26 flash informatique 28 juin 2011 - N° 6

À votre service

actu.epfl.ch, l'outil pour diffuser vos actualités [email protected], EPFL – Domaine IT, développeur de l’outil actualités

The NEWS tool actu.epfl.ch enables anyone at the EPFL to easily manage their news items.

L’outil actualités, actu.epfl.ch, permet à toute per-sonne de l’EPFL de gérer ses actualités en toute sim-plicité.

Historique

Le 13 août 2010, un nouvel outil actualités est mis en service, actu.epfl.ch.Son but est d’offrir à toute personne de l’EPFL un moyen simple de gérer les actualités de son laboratoire, de sa faculté, de son groupe, etc. Il remplace Pressinfo dans la gestion des actualités; cet outil, mis en service en 2002, était réservé à Médiacom & pour faciliter le travail quotidien des journalistes. En plus de la gestion des actualités, Pressinfo permet:z une mise en ligne quotidienne de la revue de presse,z la création de communiqués de presse,z la gestion du Flash & en ligne.C’est pourquoi cet ancien outil est encore en service actuellement à l’adresse actualites.epfl.ch, mais reste réservé à Médiacom.À l’inverse, une des grandes nouveautés de l’outil actualités est son ouverture à toute la communauté EPFL.

Principe de l’outil

L’outil actualités est organisé en canaux. Un canal de travail est un espace rédactionnel permettant à chacun de gérer et parta-ger les actualités de son groupe. Chaque utilisateur peut bien sûr avoir plusieurs canaux. Chaque canal dispose automatiquement d’un flux RSS.L’outil actualités a pour but de centraliser toutes les actualités créées dans les différents canaux. Les actualités peuvent être affichées automatiquement dans un site Web Jahia &, il suffit de faire un lien entre le canal choisi et le site Web. Pour cela, l’outil génère une URL, contenant différents paramètres (langue, nom du canal, template), que l’utilisateur va copier dans une boîte de type actu de Jahia. Cette opération doit être réalisée une seule fois. Dès lors, toutes les actualités qui se-ront publiées dans ce canal apparaîtront automatiquement dans le site Web.

Gestion de la page d'accueil

L’outil actualités permet également aux journalistes de Médiacom de gérer les actualités de la page d'accueil de l’EPFL, www.epfl.ch.En effet, un canal spécifique permet aux journalistes de prévisua-liser et publier la page d'accueil.Techniquement, l’outil actu construit le code HTML de la Home-page puis envoie le code et les images sur le serveur qui héberge la Homepage.

272728 juin 2011 - N° 6

Ceci permet d’assurer que la Homepage réponde en tout temps, même en cas de panne de l’outil actu.

Choix technologiques

Pour réaliser cet outil, nous avons choisi les technologies sui-vantes :z Python &

z Django &

z jQuery &

Après bientôt un an de mise en service, nous sommes très satis-faits de ces choix. Tout particulièrement pour Django, qui s’est avéré un framework souple et efficace.La philosophie de ce framework est d’offrir un ensemble de modules de base, nécessaire à la réalisation de toutes applica-tions Web, sans dépasser une certaine limite. En effet, pour ne pas transformer ce framework en véritable usine à gaz, de nom-breux modules ne font volontairement pas partie de Django. C’est à chacun d’installer la librairie non officielle dont il a besoin pour utiliser telle ou telle fonctionnalité.Le seul inconvénient de cette démarche est que l’on se retrouve avec plusieurs modules faisant pratiquement la même chose et on devra choisir le bon module parmi tous ces candidats. De plus, rien ne nous assure que ce module sera mis à jour régulièrement et compatible avec les futures versions de Django. Pour lutter contre ce problème, Django recommande l’utilisation de tels ou tels modules non officiels.

Exemple: Gestion des URL des actualités. Chaque actualité possède un titre qui est utilisé pour définir l’URL de l’actualité.Par exemple l’actualité dont le titre est L’informatique doit réduire sa consommation d’énergie a pour URL: actu.epfl.ch/news/l-informatique-doit-reduire-sa-consommation-d-ener/.De cette manière, l’URL de l’actualité est parlante, contient des mots-clés importants, ce qui est un bon point pour le référen-cement des moteurs de recherche. Pour cela nous avons utilisé la librairie Django non officielle autoslug. Cette librairie permet d’effectuer les remplacements de caractères nécessaires, mais également d’assurer l’unicité des URL des actualités. D’autre part, lorsqu’un utilisateur modifie le titre d’une actualité publiée, l’URL est également mise à jour.Entre temps, l’ancienne URL a pu être utilisée comme lien dans de nombreux sites. Cette ancienne URL doit donc toujours exister.Pour cela, nous avons utilisé une librairie officielle de Django nommée Redirects, qui permet de stocker l’ensemble des alias d’une URL.

Les principales fonctionnalités

La copie d’actualitésAfin de faciliter l’échange d’information au sein de l’école, la copie d’actualités permet de remonter l’information des laboratoires jusqu’au plus haut niveau de visibilité de l’école à savoir la page d'accueil de l’EPFL.À l’inverse, les actualités émises par Médiacom peuvent être re-prises par toute personne disposant d’un canal de travail.

Ajout d’imagesL’utilisateur peut ajouter facilement des images pour illustrer son actualité. Il peut également partager des images avec ses lecteurs.Toutes les images ajoutées peuvent être recadrées facilement et directement dans l’outil.

Ajout de vidéosL’utilisateur peut intégrer facilement des vidéos YouTube ou EPFL TV dans son actualité.

Pour plus d’informations sur les nouvelles fonctionnalités: actu.epfl.ch/news/la-nouvelle-version-de-l-outil-actualites-est-en-l/.

Gestions des comptes

Lorsque vous souhaitez ouvrir un compte pour l’outil actualités, vous devez contacter votre responsable de faculté (ou [email protected]).Celui-ci peut gérer l’ensemble des informations (utilisateurs, ca-naux, actualités, etc.) de sa faculté.En effet, l’un des points forts de Django est de mettre à disposi-tion un outil d’administration permettant de gérer facilement les données. Nous avons simplement configuré cet outil d’adminis-tration pour que chaque faculté n’ait accès qu’aux données qui la concernent.

Migration de vos actualités

Vous avez peut-être dans le passé, utilisé un autre outil pour créer les actualités de votre laboratoire et vous souhaitez aujourd’hui adhérer à ce nouvel outil sans perdre toutes vos anciennes actua-lités.Dans ce cas, envoyez un mail à [email protected], et nous pren-drons contact avec vous afin de vous aider dans la migration de vos anciennes actualités. n

GLOSSAIRE &Django: framework choisi par l'EPFL, voir article de Gre-

gory Favre paru dans le FI5/10, flashinformatique/spip.php?article2065.

Flash: journal interne d'information et d'opinion de l'EPFL, medias.epfl.ch/flash.

Jahia: serveur applicatif servant de portail de l'EPFL, outil de mise en ligne de contenus. À propos du passage à Jahia 6, lire flashinformatique/spip.php?article2061

jQuery: bibliothèque JavaScript libre qui porte sur l'interaction entre JavaScript (comprenant AJAX) et HTML, et a pour but de simplifier des commandes communes de JavaScript. W

Médiacom: service de communications de l'EPFL. medias.epfl.ch.

Python: langage de programmation multi-paradigme. Il favorise la programmation impérative structurée, et orientée objet. W

W = tiré de Wikipédia

actu.epfl.ch, l'outil pour diffuser vos actualités

ISSN 1420-7192

2011:Juin::8

Mercredi 8 Juin 2011 a été consacré à la journée mondiale IPv6 organisée par l’Internet Society. Des fournisseurs de services In-ternet du monde entier se sont réunis pour participer au World IPv6 Day pour un essai réussi à l’échelle mondiale du protocole Internet Nouvelle Génération, IPv6.Près de 400 sites ont activé IPv6 sur leurs principaux services pendant 24 heures. Parmi les sites dans le domaine .ch, qui ont participé, on y trouvait www.hostpoint.ch, www.devoteam.ch et www.epfl.ch.L’événement a permis de montrer les progrès réalisés pour pour-suivre la croissance exponentielle d’Internet et réussir le passage vers IPv6 à l’échelle mondiale.Cette journée était également l’occasion de montrer le travail de la DIT-TI dans le déploiement d’IPv6.

Journée mondiale IPv6@EPFL-DIT [email protected], EPFL – Domaine IT, responsable IPv6

Actualités

IPv6:World::Day2011:June::8

La page principale du site www.epfl.ch était accessible en IPv6 pour l’ensemble de la communauté Internet.Nous avons organisé des portes ouvertes durant toute la jour-née. Une cinquante de visiteurs curieux, étudiants, doctorants, chercheurs, collaborateurs ont pu tester notre connectivité IPv6 native et poser des questions au sujet d’IPv6, de l’adressage conçu pour le réseau EPFL, de notre stratégie et plan d’action pour le déploiement, des dates prévues pour fournir IPv6 globalement à l’EPFL, etc.La journée était instructive, elle s’est déroulée sans aucune per-turbation pour IPv4 et nous a permis d’avoir un premier contact avec les futurs utilisateurs d’IPv6. Assurer la fiabilité de l’accès au réseau Internet en IPv4 tout en offrant une connectivité IPv6, tel est le défi que nous allons avoir à relever !Le succès de la journée est de bon augure pour ce beau projet.

Pour en savoir plus

z Rapport général sur les impacts de la journée: www.zdnet.com/blog/networking/the-world-ipv6-day-report-card/1158?tag=nl.e550

z Article où on peut lire qu’aucun problème de sécurité, panne ou attaque n’a été signalé auprès des quelques 400 entre-prises, gouvernements et universités qui ont participé à l'essai IPv6. Un graphe montre que le trafic IPv6 natif représentait à peu près 30 % du trafic IPv6 total. Le reste du trafic IPv6 était généré par des tunnels, comme Teredo ou 6to4 qui encap-sulent les paquets IPv6 dans des messages UDP IPv4: www.networkworld.com/news/2011/060811-ipv6-day-wrapup.html

z Graphe montrant le trafic IPv6 généré ce jour-là. On parle d’une forte augmentation du trafic IPv6 mais très faible comparé au trafic IPv4. Le trafic IPv6 représentait moins que 1% du trafic Internet total: www.networkworld.com/news/2011/060811-ipv6-traffic.html

z Successful World IPv6 Day Demonstrates Global Readiness for IPv6: isoc.org/wp/newsletter/?p=3861 n

Flux NetFlow en TCP pour la journée du 8 Juin, bien faibles comparativement à ceux de ce jour en IPv4 (500 M Bits/s) mais déjà bien présents !

Notre connectivité IPv6 est aussi stable que celle en IPv4.

Vitesse de la connexion haut-débit d’une machine configurée en dual-stack. Les performances entre IPv4 et IPv6 sont presque identiques.