Flash informatique 2011 - no 6

Page 1

6

28.06.2011

FlashInformatique.epfl.ch

Open Directory

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

page 15

Analyse

Cloud: évolution ou révolution ?

Actualités DIT-info z Maintenance du matériel informatique J.-C. Berney

2

Fabien.Figueras@epfl.ch, EPFL – Domaine IT, chef du groupe Exploitation

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

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

Journée mondiale IPv6@EPFL-DIT 28

S. Lanouar

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 26

G. Charmier

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

18.10.11

29.09.11

tout public public averti expert

Cloud, Cloud Computing ou informatique 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 puissance de traitement seulement pendant une période de courte durée, par exemple pendant les phases de tests lors de changement 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é donnée il y a quelques années avec la virtualisation 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 machines, mais aussi des développeurs et surtout 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 traitement de texte… destiné à tous. PaaS (Platform as a Service): offre la possibilité de déployer des applications sur des machines virtuelles. Ces machines pourront faire partie d’un SaaS ! Les déploiements se font avec un environnement 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


Actualités

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 actualiser et de les simplifier.

Pour les postes de travail ou portable

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 applications informatiques de l’EPFL. Ceci n’a pas d’effet rétroactif et ne concerne donc que les nouveaux mots de passe.

Financement par les unités d’une garantie sur site pour 3 ans fortement 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 luimême les réparations. Le DIT assure l’interface avec le constructeur pour le matériel sous garantie.

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 chiffres w majuscules w minuscules w caractères spéciaux: &, %, - …

Imprimantes

Quand vous choisirez un nouveau mot de passe sur Gaspar (gaspar.epfl.ch), tant que vous ne satisferez pas les conditions spécifiées, votre mot de passe sera refusé. Jean-Claude.Berney@epfl.ch, Domaine IT

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 imprimantes.

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. Jean-Claude.Berney@epfl.ch, Domaine IT

–––––

Nouveau au KIS Julien Ramboz a rejoint l'équipe du KIS au 1er juin 2011. Julien est un jeune ingénieur EPFL, diplô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. Pierre.Mellier@epfl.ch, Domaine IT .. /.. Suite page 9

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

2 flash informatique

Rédacteur en chef: Jacqueline Dousson, fi@epfl.ch Mise en page & graphisme: Appoline Raposo de Barbosa Comité de rédaction: 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 EPFL Tirage: 4000 exemplaires Adresse Web: FlashInformatique.epfl.ch Adresse: Domaine IT EPFL Station 8, CH-1015 Lausanne Téléphone: +41 21 69 32246 & 32247 Abonnement au FI par e-mail à: fi-subscribe@listes.epfl.ch


Actualités

Echos du ForumIT de printemps Jacqueline.Dousson@epfl.ch, EPFL-Domaine IT, responsable de la communication au DIT

Twice a year, ForumIT is meeting point for IT Domain 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 rencontre entre le DIT et les responsables informatique 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és Depuis 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 Villefosse). La méthode Hermes va être mise en place au DIT pour gérer les projets majeurs.

Achats IT

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.

Communication z Un cahier de la sécurité est distribué à tous les nouveaux arrivants sur le campus.

Secure-IT, votre affaire

IT Security is your concern

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

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

HEURE DIT

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

Réseau Une 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).

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

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

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

Virtualisation

Gouvernance des systèmes d’information

Annuaires

z Une liste des risques IT à l’EPFL a été établie suite à un workshop 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

z 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.

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

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

28 juin  2011 - N° 6

3


Echos du ForumIT de printemps

Distribution de logiciels

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

supervisé et sécurisé que ce sera mis en production pour les utilisateurs (la date projetée est mi-2012). Du point de vue du DIT, c’est une opération qui concerne beaucoup 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 communication. 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 faudra pendant encore plus de 10 ans supporter les 2 protocoles en parallèle sur le même réseau physique !

Systèmes d’exploitation

World IPv6 Day

z 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.

Le 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 Internet seront accessibles en IPv6 pendant 24h (isoc.org/wp/worldipv6day/ipv6-enabled-websites/). Le but de cette journée est de motiver l’industrie à se préparer pour la migration IPv6. Elle permettrait aussi de déceler les éventuels effets indésirables et dysfonctionnements, d’identifier les failles et les erreurs avec les systèmes pour les éviter à l’avenir. Nous nous sommes inscrits auprès d’Internet Society pour participer au World IPv6 Day. Nous mettrons à 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 version ß va bientôt être mis en place (voir présentation plus loin).

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

myPrint

Web2010 Travaux de stabilisation de Jahia 6, plus de 450 sites sont au nouveau look. La version pour mobiles est encore en développement.

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

Prévisions pour le deuxième semestre 2011 Promotion de l’utilisation de la méthode Hermes — suite du projet 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.

–––––

Distrilog2 : nouveaux droits et principes de fonctionnement (T. Charles)

–––––

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érogè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 migration 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 (organisations, opérateurs, hébergeurs, etc.) sont donc en plein chantier pour déployer IPv6.

Déploiement à l'EPFL Il 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 services 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,

4 flash informatique

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 collaborateur 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 équipements achetés par l’EPFL (la connexion avec la base d’inventaire de SAP n’est pas encore effective, mais devrait l’être très bientôt). Une machine appartient à une unité, mais des personnes 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 techniques (cas d’une licence de site par exemple), on ne peut publier le coût réel d’un logiciel, mais afin de rendre attentif l’utilisateur au fait que certains logiciels sont plus coûteux que


Echos du ForumIT de printemps 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 personne 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 permettre 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 migré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 perspectives 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 semestre et par étudiant). Les étudiants peuvent racheter des crédits d’impression en ligne ou au guichet de l’Agepoly, peuvent rechercher 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 collaborateurs L’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 chiffres Cent 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 groupes z les ordinateurs z 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-Academia, groups.epfl.ch, etc.). AD sert entre autres à l’authentification 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 domaine, 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 étudiants. 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

Les manques Les besoins des invités sur le campus (par ex. au RLC), une documentation à améliorer pour Linux et une gestion des contestations plus formelle. La très demandée recharge en ligne par Camipro n’est malheureusement pas prévue à court terme.

28 juin  2011 - N° 6

5


Cloud: évolution ou révolution ? .. /.. Suite de la première page

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.

lopper tout ou partie du code pour changer de fournisseur ! z Pour SaaS, il faut s’assurer que les données (messages, rendez-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 machine 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,

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 chacune, leurs solutions. Parmi les critères de choix, il faut s’assurer que pour le modèle utilisé 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'hyperviseur &. z Pour PaaS, les développeurs utilisent des API & qui pour l’instant sont dépendantes du fournisseur et donc il faut redéve-

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 évolution logique qui ajoute de la valeur aux technologies de virtualisation. 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 scolaire, examens,…). Avant de se lancer, il faut étudier en détail les offres des fournisseurs et surtout se méfier des sirènes de l’externalisation ! n

Public ou privé ?

GLOSSAIRE

&

API (Application Programming Interface): une API est un ensemble de fonctions, procédures ou classes mises à disposition 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 localisés sur des serveurs locaux ou sur le poste client de l'utilisateur. W (lire aussi Wikipédia en langue anglaise).

6 flash informatique

Free Cloud Alliance: www.freecloudalliance.org hyperviseur: en informatique, un hyperviseur est une plate-forme de virtualisation 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 production 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 responsable 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


Logiciel libre

TeX Live, distribution TeX/LaTeX libre Benjamin.Barras@epfl.ch, EPFL – Domaine IT, responsable de la plate-forme Unix à l'EPFL

In this article, we will present TeX Live, a free distribution of TeX/LaTeX, which has the great advantage 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.

(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 multi-plateforme, les outils et interfaces sont donc fortement dépendants du système d’exploitation. De plus il est illusoire d’y présenter 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

Fiche descriptive Nom TeX Live

Domaine ✦ Rédaction scientifique & non-scientifique

Licence

langue

version

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

✦ Multilingue

✦ 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 est un langage de description de document, écrit en mode texte et qui consiste à décrire le style et la position des caractè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, appelé 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 polluée. Ce travail remarquable porte encore aujourd’hui ses fruits, puisque TeX est toujours d’actualité malgré les suites bureautiques, 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 utilisateurs 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 28 juin  2011 - N° 6

7


TeX Live, distribution TeX/LaTeX libre 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.

Apple fig. 1 – installation de Tex Live sous Windows

fig. 2 – TeXworks Windows

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écompresse l’archive et on double-clique sur le fichier MacTeX.mpkg qui lancera l’installation. Une fois terminée, la première chose à faire est une mise à jour à l’aide de l’utilitaire TeX Utility qui se trouve dans le sous-dossier TeX du dossier Application (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: # Ubuntu apt-get install texlive fig. 3 – TeX Utility Apple

# Fedora & RedHat yum 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 install-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: fig. 4 – TeXShop Apple

8 flash informatique


TeX Live, distribution TeX/LaTeX libre # Générer le fichier dvi latex monPremierDocument.tex # Voir le fichier dvi evince monPremierDocument.dvi # Générer le fichier pdf dvipdf monPremierDocument.dvi

ou plus simplement : # Générer le fichier pdf pdflatex monPremierDocument.tex # Voir le fichier pdf evince monPremierDocument.pdf

Je conseille vivement à notre lecteur travaillant sous Linux de lancer 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 utilisation. 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.

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 cidessus 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

DIT-info .. /.. Suite de la page 2

semaine bureautique

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

27

Faites la part belle à Word sur Mac ou sur PC

28

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

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

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

guichet du Help Desk du DIT, local MA A0 388 du lundi au vendredi de 07h30 à 18h00. Le guichet du CRI, entrée Porte C du bâtiment MA, ne sera utilisé 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é. Eric.Gruter@epfl.ch, 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 programmation

32 & 34 Il reste quelques places pour la programmation parallèle et MPI 35

semaine admnistrateurs

28

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

29 & 30 LabVIEW est au programme 35 34&35

Encore un peu de Windows avec acquisition et traitement de données LabVIEW et ses spécialités

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 cours.dit@epfl.ch ! L’équipe des cours 28 juin  2011 - N° 6

9


Logiciel libre

Git, un logiciel de gestion de versions décentralisée Didier.Raboud@epfl.ch, EPFL-STI, Groupe Kayal, assistant-doctorant, membre de la GNU Generation

This article presents Git, the distributed version control system (DVCS) that Linus Torvalds created for the Linux kernel development. Since then, it has been adopted by thousands of free software projects around the world. Cet article présente Git, le logiciel de gestion de versions décentralisée (DVCS) créé par Linus Torvalds pour le développement du noyau Linux. Depuis, il est utilisé par des milliers de projets libres dans le monde.

Fiche descriptive Nom Git

Domaine ✦ Gestion de versions (VCS)

Licence

langue

✦ GPLv2

✦ C, Bourne shell, ✦ 1.7.2.5 Perl

version

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 System - VCS). En bref, c’est un logiciel qui permet de stocker un ensemble de fichiers en conservant la chronologie et l'attribu 3 4 1 2

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 modifications, 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éveloppement 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 accordés auxdits développeurs 4. Ainsi, Torvalds commença le développement 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'exploitation: 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 accessible comme suit:

fr.wikipedia.org/wiki/Logiciel_de_gestion_de_versions pointe vers tous les concurrents de Git.

La gestion de version de fichiers binaires est généralement possible mais peu efficace. 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.

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.

10 flash informatique


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 installé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 sousdossier .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 gestionnaire de versions. Vérifions ça: $ git show # Affiche la dernière révision commit 04d1d921281b4fc81e9c60266efb666fbb1c0bd9 Author: Didier Raboud <didier.raboud@epfl.ch> Date: Tue May 31 18:06:25 2011 +0200 Ma recette de fondue diff --git a/fondue b/fondue new file mode 100644 index 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évision Dé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 6

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

L’auteur Author: Didier Raboud <didier.raboud@epfl.ch>

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 supposé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 analyse 7.

Le contenu de la révision diff --git a/fondue b/fondue new file mode 100644 index 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 modifications pour différents fichiers, à des endroits différents de l’arborescence. 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évision fait parcourir au contenu du fichier: elle amène le contenu du

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. 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.

7

28 juin  2011 - N° 6

11


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

Ajouter le pain Chacun 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 afficher les différences entre la dernière révision et l’état courant 9: $ git diff diff --git a/fondue b/fondue index 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 modification 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 permet d’extraire un fichier de n’importe laquelle de ses versions passé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 observons 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

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'objets, qui sont tous observables à l'aide de la commande $ git show --pretty=raw <hash>

blob Un 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.

tree Un 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).

commit Le 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-informations au sujet de l'instant, de l'auteur des modifications depuis le dernier commit, un pointeur vers ledit dernier commit, etc.

tag Le 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

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:

soit rien. 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. 8 9

12 flash informatique


Git, un logiciel de gestion de versions décentralisée $ git log commit 8d79c7102acd129807d6dfaf652bd50819ef00d9 Author: Didier Raboud <didier.raboud@epfl.ch> Date: Tue May 31 20:24:31 2011 +0200 Ne pas oublier le pain. commit 04d1d921281b4fc81e9c60266efb666fbb1c0bd9 Author: Didier Raboud <didier.raboud@epfl.ch> Date: Tue May 31 18:06:25 2011 +0200 Ma recette de fondue

Séquence de révisions

(l'espace de développement principal). Une fois que les modifications 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 technique 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 indiquer à Git la branche dans laquelle nous voulons travailler 16: $ git checkout experimental

gitk gère les recettes

Notons ici que les révisions Git ne portent aucun numéro (contrairement aux révisions Subversion ou Bazaar). Ce qui pourrait paraî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 arborescence et de l'historique y menant. Notons également que contrairement aux gestionnaires de versions centralisés, Git ne nécessite aucune connexion vers un quelconque dépôt centralisé : chaque dépôt peut vivre sa vie indépendamment 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ôt Il 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écentralisé 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 modifications (intrusives, complexes, …) sans affecter l'état du tronc

Nous pouvons maintenant travailler sur une fondue expérimentale. Notons que la branche ne s’est pas créée dans un autre dossier (à la Subversion ou Bazaar), mais qu’elle existe dans la même arborescence et que la branche émerge simplement dans le dossier 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 master 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’indique). 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éristique organisationnelle et non technique. Deuxièmement, il faut savoir que Git a été conçu pour être compatible 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 protocole de Git à travers ssh ou un simple socket. git-daemon per-

Les révisions normales n'ont qu'un seul parent, mais les merges en ont plus. 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. 13 14

28 juin  2011 - N° 6

13


Git, un logiciel de gestion de versions décentralisée 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 fondue Tout 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 ‘georges.tartempion@ example.com’

$ git merge georges/master Updating 8d79c71..dd908c7 Fast-forward fondue | 2 +1 files changed, 1 insertions(+), 1 deletions(-)

Le fast-forward nous indiquant ici que l’intégration des changements 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

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 recettes, il va devoir communiquer sa proposition au gestionnaire dudit dépôt qui va pouvoir tirer cette nouvelle révision. Retournons 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 recettes: 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

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 explicite, pas de dépôt central faisant office de référence, plus d'obligation 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énominations spécifiques : son universalité fait sa force 23.

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

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

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 18

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

14 flash informatique

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 anomalies. W = tiré de Wikipédia


À votre service

Open Directory Francois.Roulet@epfl.ch, EPFL – Domaine IT, responsable de la plate-forme Apple et l’équipe du support Open Directory @ EPFL (wiki.epfl.ch/opendirectory)

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 institutionnelles, via des connecteurs spécifiques. À son tour, un annuaire générique OpenLDAP, conforme au protocole LDAP &, réplique ces informations pour les mettre à disposition 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 plateforme 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 à disposition des responsables de parcs de Macintosh qui le souhaitent.

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é. Portail Password

Portail Shell

Portail Groupes

http://gaspar.epfl.ch/

http://dinfo.epfl.ch/accountprefs

http://dinfo.epfl.ch/groupes

Passwd

CADI

Coffre

CADI

CADI

Transaction Service

SSH

Historique et organigramme EPFL

Passwd Sync

Directory Service

SSL

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

Fort de l'infrastructure racine de l'EPFL, nous pouvons alors déployer autant d'annuaires propriétaires que nécessaire, à la condition 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.

SSH

Introducing the Apple Open Directory @ EPFL directory dedicated to Macintosh at EPFL.

Master Backup KDC

Passwd LDAP

Directory Service Replica KDC Passwd LDAP

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 28 juin  2011 - N° 6

15


Open Directory annuaire Open Directory (nom d'utilisateur, mot de passe, appartenance à 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 Directory 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/accountprefs z Groupes: dinfo.epfl.ch/groupes Portail Groupes http://dinfo.epfl.ch/groupes

Directory Service KDC Passwd LDAP

Administrateur local

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 enregistrements (actuellement 18000 utilisateurs et 6000 unités ou groupes implicites au sens Unix) assure la recopie des enregistrements depuis le comptoir CADI, et leur constante actualisation. Tout nouveau collaborateur est alors automatiquement recopié dans l'annuaire, et ses attributs génériques (appartenance, 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 recopie dans l'annuaire Open Directory à chaque demande effectuée par l'utilisateur via le portail Gaspar. z Un processus d'archivage assure quotidiennement la sauvegarde des bases de données de l'annuaire (LDAP, Kerberos et Password Service).

16 flash informatique

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'exploitation 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 Applications, à lui seul, Safari, le navigateur Web intrinsèque au Mac OS, recèle pas moins de 39 réglages MCX.

Contents of New Windows Contents of New Tabs Home Page History Age Limit Downloads Location Downloads Clearing Policy Open Safe Downloads Automatically Default Font Default Fixed-width Font Default Fixed-width Font Size Display Images Default Text Encoding Special Collections in Bookmarks Bar Bookmarks Menu Includes Bookmarks Bar Bookmarks Menu Includes Address Book Bookmarks Menu Includes Bonjour Bookmarks Collections Include Address Book Bookmarks Collections Include Bonjour Create tabs instead of windows Command-Click Makes Tabs New Tabs are Selected Confirm Closing Multiple Pages AutoFill From Address Book AutoFill Passwords AutoFill Miscellaneous Forms Plug-Ins Enabled Java Enabled JavaScript Enabled Allow JavaScript to Open Windows Automatically Ask Before Submitting Unsecure Forms Default Space for Database Storage Minimum Font Size Tab to Links Enable User Style Sheet User Style Sheet Location Include Develop Menu Private Browsing Print Backgrounds Print Headers and Footers Exemple de réglages MCX contenus dans le manifeste de l'application Safari


Open Directory 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 naturellement 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éficieront de toutes les facilités que leur gestionnaire ou administrateur 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.

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"

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 attributs 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

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

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.

GLOSSAIRE

&

CADI: comptoir d'Accès aux Données Institutionnelles. kis.epfl.ch/support-information. cn=Open Directory @ EPFL: implémentation 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'interrogation 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

28 juin  2011 - N° 6

17


Analyse

La solution genevoise de vote électronique à cœur ouvert Michel.Chevallier@etat.ge.ch, 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

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).

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

Initialisation d’une opération Cet article lève le voile sur le fonctionnement et l'architecture du système genevois de vote par Internet, l'un des plus performants à l'heure actuelle

Durant la phase d’initialisation, les données nécessaires à l’opération électorale sont importées dans le système eVoting. Ces donné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 (votation) 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.

Le système suisse de démocratie dite semi-directe permet aux citoyens 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 signatures 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 harmonieux des droits démocratiques en Suisse. Dans ce contexte, le vote postal s’est développé jusqu’à être utilisé, 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 problè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 parfaitement 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 administratif 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 Cycle de vie d'un scrutin avec vote électronique (J = jour du scrutin) supplémentaires par rapport au vote postal, en raison de la dématérialisa1 60 48 46 27 30 J JJJJJJtion des suffrages. Comment se déroule une opération de vote ? Quelles sont les 2 Scellement 4 1 3 Etapes Déroulement de la Dépouillement de mesures de sécurité mises en œuvre ? Initialisation de l'opération de l'urne session de vote l'urne électronique principales électronique Comment garantit-on le secret du vote ? Chancellerie CHA & CHA & d'Etat (CHA) et Votants Autant de questions auxquelles cet arActeurs SVE SVE Service des Votations et ticle a pour but d’apporter des éléments CEC* CEC* Elections (SVE) de réponse. Il s’adresse à un public techImport des Impression et nique ayant des connaissances de base Création de données de envoi des cartes l'opération références de vote en cryptographie. Dans les pages qui suivent, nous utiliserons indifféremment Début du vote Génération des Fin du vote électronique cartes de vote électronique à 12h les expressions vote électronique, vote en ligne, eVoting et vote par Internet fig. 1 – cycle de vie d’un scrutin avec vote électronique (CEC voir glossaire) REPUBLIQUE ET CANTON DE GENEVE

18 flash informatique

REPUBLIQUE ET CANTON DE GENEVE

REPUBLIQUE ET CANTON DE GENEVE


La solution genevoise de vote électronique à cœur ouvert Fournisseur REPUBLIQUE ET CANTON DE GENEVE

Service des Votations et Elections

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

Données importées - 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 - Listes des sujets de vote fédéraux (ou listes de candidats)

- Listes des cantons suisses

REPUBLIQUE ET CANTON DE GENEVE

Office Cantonale de la Population

VPN

X Non-conservation des données nominatives

- Listes des pays Wassenaar*

- Listes des communes suisses Fournisseur

Générateur quantique d'aléas

PC Administration

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

Données importées - Registre des électeurs suisses résidents et étrangers résidents (lors de scrutins communaux)

Données exportées - 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

- Registre des électeurs suisses de l'étranger

Destinataire

Imprimeur

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)

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 officielle 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 inviolable 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’utilisation d’une clé asymétrique où seule la clé publique de chiffrement 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 systè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 inaltérable, ce compteur est stocké encrypté avec une clé symétrique dans la base de données.

Préparation de l’étape Les différents acteurs ainsi que le matériel nécessaires au scellement 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éroulement de chaque étape.

Génération des clés Clés

Utilisation

Clé publique de chiffrement Cette clé permet de chiffrer les des votes votes dans l’urne, mais ne permet pas de les déchiffrer. Clé privée de déchiffrement Cette clé permet de déchiffrer des votes les votes dans l’urne et d’obtenir le résultat du scrutin. Clé symétrique du compteur Cette clé permet de chiffrer d’intégrité 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

28 juin  2011 - N° 6

19


La solution genevoise de vote électronique à cœur ouvert L’administrateur eVoting lance la génération: z de la paire de clés asymétriques de chiffrement des votes qui se compose w 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.

Clé privée de déchiffrement

Mot de passe 1 + Mo de passe 2

Mémoire PC Administration

Secret

Créateur

Support de sauvegarde

Mot de passe 1

Premier groupe de Formulaire de membres de la CEC saisie 1

Mot de passe 2

Second groupe de Formulaire de membres de la CEC saisie 2

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

CD et clé USB

Clé publique de chiffrement des votes

CD et clé USB

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

CD et clé USB

Disques durs du système de vote électronique

Trousseau de clés fermé

Support de sauvegarde

Disques durs du système de vote électronique

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

0

À 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. Compteur d’intégrité décrypté

Compteur d’intégrité crypté

Compteur d’intégrité crypté

Urne chiffrée

dfkfk230434…

Mémoire serveurs de vote électronique

fig. 4 – urne vide

Bases de données

Mémoire serveurs de vote électronique

SbxvwuBS1c5tg…

Bases de données

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 sauvegarde

Support d’intégrité

Propriétaire pendant la session de vote

PC Administration

Sac plombé

Représentant du service des votations

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

20 flash informatique

Urne chiffrée

2382jsdj27611…

1

Trois ensembles de données sont directement générés sur 2 supports 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 formulaires 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. Compteur d’intégrité décrypté

tableau 2 – liste des secrets


La solution genevoise de vote électronique à cœur ouvert Les flux de données lors du scellement de l’urne peuvent être synthé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’acteurs 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 système et déverrouiller l’urne, il faut se connecter à une infrastructure 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

Mot de passe 2

1. Enveloppes contenant les mots de passe chez le notaire 2. Mémoire des personnes du groupe 1 de membres de la CEC 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 électronique

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 électronique

tableau 4 – Redondance des secrets sur les supports

Administrateur eVoting

Groupe 1 de membres de la CEC

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ées Mémoire du votant

Commune d’origine

Registre des habitants Base de données Mémoire du votant

Mot de passe

Système de vote électroNuméro de carte de nique vote

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

Code de contrôle

Base de données Carte de vote

tableau 5 – secrets du vote

Une session de vote nécessite d’établir un dialogue entre le navigateur 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’électeur ? z comment s’assurer qu’un Service des tiers malveillant ne puisse ni Votations et intercepter ni manipuler les Elections PC Administration données échangées ? sous scellés REPUBLIQUE ET CANTON DE GENEVE

Mot de passe 1 Trousseau de clé fermé

Groupe 2 de membres de la CEC

Officier de sécurité des SI

VPN/SSH

Mot de passe 2

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

Enveloppes contenant les mots de passe

Notaire

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

Base de données Carte de vote

Authentification du site eVoting Lorsque le navigateur de l’électeur entre en contact avec le site de vote eVoting, l’utilisation 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 électronique. Il s’agit d’une carte d’identité numérique délivrée par une autorité de certifica28 juin  2011 - N° 6

21


La solution genevoise de vote électronique à cœur ouvert 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.

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 attaque 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 Identification de l’électeur place le concept de canal sécurisé entre le navigateur et le serveur. Pour chaque opération de vote, l’électeur reçoit par la poste une Le canal sécurisé s’appuie sur une combinaison de techniques de carte de vote à usage unique. À chaque électeur correspond en sécurité: protocole SSL mutuel, surchiffrement des données et outre un numéro de carte de vote unique (NCV), permettant de authentification des messages. l’identifier auprès du système de gestion des scrutins, quel que Comme abordé plus tôt, le SSL simple requiert du serveur qu’il présoit le canal qu’il choisira pour exprimer son suffrage. sente un certificat électronique au client afin que celui-ci puisse Afin de ne pas compromettre cette information cruciale, celle-ci l’authentifier. Le SSL mutuel est une extension du SSL simple qui n’est jamais échangée. À la place, c’est l’empreinte du numéro de ajoute une phase d’authentification du client auprès du serveur. carte de vote qui est envoyée. Cette empreinte est obtenue en De la même façon, le client doit présenter son certificat électroappliquant une fonction de hachage cryptographique (HashE) au nique au serveur, qui le valide via une autorité de certification. numéro de carte de vote, ce qui rend très difficile, voire imposUne fois l’authentification mutuelle réalisée, le client est assuré sible dans les délais de l’opération de vote, de retrouver le numéro de s’adresser au véritable site eVoting et le serveur est assuré de original. Le système eVoting utilise une table de correspondance, s’adresser à l’électeur. Dès qu’il est en place, le SSL mutuel assure établie lors de l’étape de génération des fichiers imprimeurs, pour un premier niveau de chiffrement de toutes les données échangées. déterminer le numéro de carte de vote de l’électeur à partir de Le surchiffrement consiste à chiffrer les données au niveau de l’empreinte reçue. Dorénavant, le numéro de carte de vote constil’application, avant même de les envoyer via la communication tue un secret dit partagé entre l’électeur et le système eVoting. SSL mutuelle. Le chiffrement s’appuie sur un algorithme de cryptographie à clé symétrique (SYM), dont la clé seInternet Poste de l’électeur Site eVoting Navigateur Web Serveurs eVoting crète est dérivée du numéro de carte de vote (NCV), Etablissement de la communication SSL à la fois par le serveur et par le client, par utilisation 1- Accès au site https://www.evote-ch.ch Certificat électronique www.evote-ch.ch d’une fonction de hachage cryptographique (HashCS). Les données sont donc chiffrées deux fois, de manière Vérification de l’identité numérique du site eVoting Mise en place du chiffrement SSL différente, lors de leur transmission, ce qui renforce la sécurité du chiffrement. Echanges chiffrés pas SSL L’authentification des messages consiste à ajouter une Téléchargement de l’Applet eVoting Vérification de l‘Applet Et Intégration de l’Applet au navigateur Web empreinte chiffrée à chaque message. Concrètement, il s’agit pour le client de calculer l’empreinte du message Applet Java eVoting (EMSG), puis de chiffrer cette empreinte à l’aide de la clé 2- Saisie du N° de carte de vote NCV Hash (NCV) privée associée à son certificat électronique (ECMSG). Le NCV Table de chiffrage utilisé ici repose donc sur un algorithme crypCorrespondance Electeur identifié tographique à clé asymétrique (ASYM). À réception du message chiffré et de son empreinte Clé Secrète de surchiffrement: Clé Secrète de surchiffrement: CS = Hash (NCV) CS = Hash (NCV) chiffrée, le système eVoting utilise la clé publique du Création paire de clé privée/publique (Kclient) et certificat électrinique client valables 30 min Message = Chiffrer (Kclient + certificat client, CS) certificat client pour déchiffrer la signature et obtenir l’empreinte du message (EMSG reçue). Ensuite, le système Déchiffrer (message, CS) eVoting calcule à son tour l’empreinte du message (EMSG Paire de clé privée/publique client ' Installation du certificat client 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 L’applet et le site eVoting sont prêts à activer le canal sécurisé du certificat client, donc pas par le client attendu ! 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 Si les empreintes concordent, le système eVoting défig. 7 –phase d’authentification du site eVoting et d’identification de l’électeur chiffre le message à l’aide de la clé secrète et procède au traitement du message. Canal sécurisé Les navigateurs Web actuels n’offrent pas les fonctionnalités Jusqu’ici, nous avons vu les mesures mises en place pour assurer à suffisantes pour mettre en œuvre un canal sécurisé tel que nous l’électeur qu’il s’adresse bien au site eVoting et comment le système venons de le décrire. Pour cette raison, le système eVoting requiert eVoting identifie l’électeur. Nous allons aborder la manière dont les l’utilisation de la technologie Java, qui vient s’intégrer au navigaéchanges sont sécurisés contre l’interception et la manipulation. teur Web de l’électeur pour l’enrichir. Electeur

E

CS

CS

SYM

SYM

22 flash informatique


La solution genevoise de vote électronique à cœur ouvert Poste de l’électeur

Internet

Site eVoting

Navigateur Web

Serveurs eVoting

Session de vote de la carte N° XXXXX

Applet Java eVoting Activation de la communication SSL mutuel

Electeur

Bulletin

Certificat électronique www.evote-ch.ch Vérification de l’identité numérique du site eVoting Certificat électronique client Vérification de l’identité numérique de l’électeur

Urne chiffrée

Mise en place du chiffrement SSL Echanges chiffrés pas SSL mutuel

Message à transmettre (MSG) A- Surchiffrer le message: MSGSC = ChiffreSYM(MSG, Clé Secrète CS) A- Calculer l’empreinte du message surchiffré reçu: EMSG calculée = HashE(MSGSC)

B- Calculer l’empreinte du message surchiffré: EMSG = HashE(MSGSC) C- Chiffrer l’empreinte ECMSG = ChiffrerASYM(EMSG, Clé privée client)

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

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

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é …

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 D- Sinon, déchiffer le message: MSG = Déchiffrer (MSG , Clé secrète) l’urne. Traiter le message z Lorsqu’un citoyen vote, le registre des cartes de vote est modifié pour enregistrer le fait que le nuNCV: 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 méro de carte de vote associé à ce citoyen a voté. 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’application incrémente ce compteur, le chiffre à nouveau et le En pratique, dès le début de la session de vote, une applet Java est sauve en base de données. téléchargée depuis le site eVoting et exécutée au sein du navigaz Ces trois opérations sont effectuées dans une même transacteur Web sur le poste de l’électeur. Une fois le numéro de carte tion de base de données afin de garantir que le dépôt du vote de vote saisi sur la page d’identification, l’applet met en place le répond aux caractéristiques ACID (Atomicité, Cohérence, Isocanal sécurisé. L’applet et le navigateur Web s’intègrent de malation et Durabilité). nière poussée afin que tous les échanges de données sensibles Finalement le serveur envoie à l’électeur une confirmation de son transitent par l’applet et non plus par le navigateur. 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 Enregistrement d’un vote dans l’urne vote. L’enregistrement d’un vote commence par l’indication par l’électeur de ses choix sur son navigateur. Le bulletin ainsi rempli est Dépouillement de l’urne électronique envoyé, via le canal sécurisé, au serveur de vote. Le serveur déchiffre le bulletin de l’électeur, effectue un contrôle Le dépouillement de l’urne électronique a lieu lors d’une séance syntaxique (pour s’assurer que le vote exprimé sera valable afin officielle. L’objectif de cette étape est d’extraire de l’urne électrod’éviter les nuls par erreur) puis renvoie à l’électeur une confirmanique les résultats du vote. 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 luimême et des serveurs eVoting: c’est une preuve supplémentaire pour l’électeur qu’il s’est bien connecté au serveur eVoting. Administrateur L’électeur est alors invité à s’autheneVoting PC Administration Service des sous scellés tifier en saisissant sa date de naisVotations et Elections sance, sa commune d’origine et le mot de passe inscrit sur sa carte de Trousseau de clé fermé VPN vote. Comme toutes données sensibles, celles-ci sont envoyées par le canal Officier de sécurité des SI sécurisé au serveur de vote. Mot de passe 1 Le serveur vérifie les données personGroupe 1 de nelles de l’électeur, vérifie que l’élecMot de passe 2 membres de la CEC teur a le droit de voter (pas de vote Notaire préalable ni de vote par un autre caEnveloppes contenant les Groupe 2 de mots de passe nal), puis enregistre son vote (fig. 9). membres de la CEC C- Comparer EMSG reçue et EMSG calculée Si différence tentative d’attaque détectée

SYM

SC

REPUBLIQUE ET CANTON DE GENEVE

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

28 juin  2011 - N° 6

23


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

Déroulement de l’étape Les différents acteurs ainsi que le matériel nécessaires au déchiffrement 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 commission é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 équipé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

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échiffrement

Bien que le système ait été conçu afin qu’il n’y ait aucune relation 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 organisationnelles empêchent cela. L’une d’entre elles consiste à brasser l’urne: tout comme pour une urne réelle, le déClé privée commission électorale chiffrement de l’urne est précédé par Urne Urne chiffrée Urne chiffrée Urne un brassage dont le schéma suivant chiffrée mélangée mélangée (2x) déchiffrée UD3t7LDyQoMEa… UD3t7LDyQoMEa… Local n° 1 FED_Q1=OUI expose les principes (fig. 11). SbxvwuBS1c5tg… GBIJ20uSyWpF/… AcCexQAs15T0a… Local n° 5 FED_Q1=NON AcCexQAs15T0a… z Au départ, les votes chiffrés sont SbxvwuBS1c5tg… aPw+ydsRDY47L… Local n° 3 FED_Q1=BLA GBIJ20uSyWpF/… Tri aléatoire Chargement aPw+ydsRDY47L… Déchiffrement GBIJ20uSyWpF/… Local n° 8 FED_Q1=OUI enregistrés en base de données f6hROcaFAaMhM… quantique en ordre AcCexQAs15T0a… en mémoire LZYsNTOSnKH+d… en mémoire Local n° 3 FED_Q1=OUI LZYsNTOSnKH+d… aléatoire dans leur ordre d’arrivée. LZYsNTOSnKH+d… SbxvwuBS1c5tg… Local n° 5 FED_Q1=NON UD3t7LDyQoMEa… f6hROcaFAaMhM… f6hROcaFAaMhM… Local n° 7 FED_Q1=OUI z La totalité des votes est chargée aPw+ydsRDY47L… dans une structure en mémoire. Base de données Mémoire PC Administration Ce chargement utilise une foncfig. 11 – brassage et déchiffrement de l’urne électronique tionnalité particulière de la base de données permettant de faire une lecture par ordre aléatoire. UD3t7LDyQoMEa… 1) Sélection du UD3t7LDyQoMEa… z Cette première structure est à dernier élément AcCexQAs15T0a… AcCexQAs15T0a… son tour mélangée en utilisant le aPw+ydsRDY47L… f6hROcaFAaMhM… 3) Inversion de l’élément GBIJ20uSyWpF/… GBIJ20uSyWpF/… 2) Tirage aléatoire d’un générateur quantique d’aléas. Le sélectionné en 1 avec celui chiffre compris entre 1 et LZYsNTOSnKH+d… LZYsNTOSnKH+d… sélectionné en 2 schéma suivant expose le prinl’index de l’élément SbxvwuBS1c5tg… SbxvwuBS1c5tg… sélectionné – 1 cipe de ce mélange (fig. 12). f6hROcaFAaMhM… aPw+ydsRDY47L… Exemple: 3 z Une fois l’urne mélangée deux fois, l’application ouvre le trousseau de clés en utilisant comme L’opération est répétée en sélectionnant mot de passe la concaténation l’élément précédant celui sélectionné en 1, jusqu’à atteindre l’élément n°2. du mot de passe du groupe 1 puis du mot de passe du groupe 2 des fig. 12 – algorithme du brassage quantique de l’urne contrôleurs de la CEC. La clé priUrne déchiffrée Urne brassée vée ainsi récupérée permet de Local n° 1 FED_Q1=OUI UD3t7LDyQoMEa… Local n° 5 FED_Q1=NON AcCexQAs15T0a… lecture de déchiffrer chacun des votes et de Local n° 3 FED_Q1=BLA aPw+ydsRDY47L… l’élément de tête constituer l’urne déchiffrée. Local n° 8 FED_Q1=OUI GBIJ20uSyWpF/… LZYsNTOSnKH+d… SbxvwuBS1c5tg… f6hROcaFAaMhM…

Elément chiffré

Local n° 3 Local n° 5 Local n° 7

FED_Q1=OUI FED_Q1=NON FED_Q1=OUI

Constitution de l’urne Ensemble de processus de déchiffrement

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

24 flash informatique

Eléments déchiffrés

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


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épouillement de l’urne électronique. Cela permet de vérifier que l’application 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’application 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 chiffrée grâce à l’ajout d’un sel cryptographique différent pour chaque vote: on ne peut pas reconstituer l’urne chiffrée à partir 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 électronique é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 électorale (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épouillement. 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.

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 certification 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érifiabilité, 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 internationaux 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 équivalent ailleurs. n

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 certains Suisses de l’étranger ne peuventils pas voter par Internet ? Il faut ici dissiper 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’arrangement 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 utilisé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 vivant 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.

28 juin  2011 - N° 6

25


À votre service

actu.epfl.ch, l'outil pour diffuser vos actualités Gregory.Charmier@epfl.ch, EPFL – Domaine IT, développeur de l’outil actualités

Principe de l’outil 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 personne de l’EPFL de gérer ses actualités en toute simplicité.

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.

26 flash informatique

L’outil actualités est organisé en canaux. Un canal de travail est un espace rédactionnel permettant à chacun de gérer et partager 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 seront 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évisualiser et publier la page d'accueil. Techniquement, l’outil actu construit le code HTML de la Homepage puis envoie le code et les images sur le serveur qui héberge la Homepage.


actu.epfl.ch, l'outil pour diffuser vos actualités 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 suivantes : z Python & z Django & z jQuery & Après bientôt un an de mise en service, nous sommes très satisfaits 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 applications Web, sans dépasser une certaine limite. En effet, pour ne pas transformer ce framework en véritable usine à gaz, de nombreux 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érencement 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és Afin 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 reprises par toute personne disposant d’un canal de travail.

Ajout d’images L’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éos L’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 webmaster@epfl.ch). Celui-ci peut gérer l’ensemble des informations (utilisateurs, canaux, actualités, etc.) de sa faculté. En effet, l’un des points forts de Django est de mettre à disposition un outil d’administration permettant de gérer facilement les données. Nous avons simplement configuré cet outil d’administration 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 actualités. Dans ce cas, envoyez un mail à webmaster@epfl.ch, et nous prendrons 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 Gregory 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

28 juin  2011 - N° 6

27


Actualités

Journée mondiale IPv6@EPFL-DIT

IPv6:World::Day 2011:June::8

Soumaya.Lanouar@epfl.ch, EPFL – Domaine IT, responsable IPv6

2011:Juin::8

La

page

principale

du

site

www.epfl.ch était accessible en IPv6

Mercredi 8 Juin 2011 a été consacré à la journée mondiale IPv6 organisée par l’Internet Society. Des fournisseurs de services Internet 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 poursuivre 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.

pour l’ensemble de la communauté Internet. Nous avons organisé des portes ouvertes durant toute la journé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 perturbation 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.

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 !

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-reportcard/1158?tag=nl.e550

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

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 entreprises, 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 encapsulent 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/060811ipv6-traffic.html Vitesse de la connexion haut-débit d’une machine configurée en dual-stack. Les performances entre IPv4 et IPv6 sont presque identiques.

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


Turn static files into dynamic content formats.

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