version PDF - Flash informatique

Transcription

version PDF - Flash informatique
GGWin: historique et outils
Andreas Jaggi
étudiant EPFL –
Section d’Informatique
GGWin
est un projet issu de la GNU Generation a, une
commission de l’AGEPoly (Association Générale
des Étudiants de l’EPFL) qui s’est donné pour mission la promotion des logiciels libres à l’EPFL. GGwin b réalise une bonne partie de cette mission.
les liens et
références
Paolo Attivissimo:
L’Acchiappavirus, Pocket Apogeo 2004
Comment promouvoir les logiciels libres ?
a
andreas.jaggi@epfl.ch
Vittoria Rezzonico
EPFL-SB IACS
vittoria.rezzonico@epfl.ch
Stephan Walter
étudiant EPFL –
Section de
Microtechnique
stephan.walter@epfl.ch
dit.epfl.ch/publications-spip/article.
php3?id_article=904
août 2005
lun. mar. mer. jeu.
1 2 3 4
8 9 10 11
15 16 17 18
22 23 24 25
29 30 31
ven. sam. dim.
5 6 7
12 13 14
19 20 21
26 27 28
fi spécial été
AlterIT
page 7
b
la home page de
GGWin
ggwin.epfl.ch
c
GNA!, Forge
européenne
gna.org
Logiciel de gestion de
versions, définition dans
Wikipédia
fr.wikipedia.org/wiki/
Logiciel_de_gestion_
de_versions
Malgré ces avantages, il est assez difficile de convaincre le propriétaire
d’un ordinateur de réinstaller son système, ou d’installer d’autres logiciels.
De plus, quand les copains nous passent des logiciels sur un CD, on ne se
pose pas trop de questions et on les installe, parfois illicitement. La transition
entre un monde propriétaire auquel l’utilisateur est habitué et les logiciels
libres doit être la plus douce possible, pour éviter la confusion et pour
maximiser le bénéfice. GGWin se situe dans cette transition.
Monde
propriétaire
sur le Web
Ivo Blöchliger,
Vittoria Rezzonico,
Historique de GNU
Generation, FI9/04
dit.epfl.ch/publica
tions-spip/article.php3
?id_article=777
Quand on achète un ordinateur, il arrive déjà avec des logiciels préinstallés. Pour la plupart des gens, ces programmes sont suffisamment bons,
simplement parce qu’ils ne découvrent jamais les alternatives libres. Parmi
les raisons de passer aux logiciels libres, on peut citer:
❚ pratiquement toutes les attaques informatiques visent les produits Microsoft, car ce sont les logiciels les plus répandus (bien sûr, ils arrivent
avec le PC !);
❚ les vulnérabilités des logiciels libres ont plus de chance d’être découvertes
et corrigées avant de présenter un danger réel. Souvent dans le monde des
logiciels propriétaires, c’est un virus qui force le fournisseur à colmater
les brèches;
❚ on ne sait pas ce qu’un logiciel propriétaire fait lorsqu’on se connecte à
l’Internet... tandis que pour les logiciels libres, on a la possibilité de regarder le code source, ce qui nous assure une plus grande protection.
❚ c’est librement téléchargeable;
❚ disponibilité dans un grand nombre de langues (même l’Esperanto par
exemple);
❚ les formats d'entrées-sorties sont bien documentés;
❚ on n’est pas pris en otage par une certaine entreprise américaine.
➞
Changement de quelques applications pour
des équivalents libres
➞
Découverte de
plus de logiciels
libres
fig. 1 – la transition vers un monde libre
GGWin est une compilation de logiciels libres pour MS Windows,
distribuée sur un CD, avec des descriptions en plusieurs langues. Ce moyen
de distribution permet d’atteindre les gens qui n’ont pas de connexion Internet aussi fiable que la nôtre. Une ligne téléphonique interrompue ne peut
donc pas empêcher la diffusion des logiciels libres. Il est clair que GGWin
est également disponible sur le Net.
Historique de GGWin
Suite aux multiples demandes de logiciels tournant sous Linux (typiquement LaTeX, Emacs ou gcc) et après une petite recherche sur le Net
nous nous sommes rendu compte que quelques passionnés avaient profité
de l’ouverture du code source de ces logiciels pour les porter vers Windows.
Par la suite, nous avons gravé des CD et pour éviter de refaire à chaque
demande un CD, nous avons eu l’idée de créer une compilation de logiciels
libres pour Windows. GNUWin était né.
➞
Changement de la
couche OS
GGWin: historique
et outils
Comme on était un groupe restreint et que le public visé était les nouveaux étudiants, on a décidé
de générer le CD à partir de fichiers XML écrits par nous-mêmes. Chaque contributeur devait écrire ses
fichiers XML, ajouter l’exécutable, comprimer le tout dans un fichier .tar.gz et déposer ce dernier sur un
serveur. Ce n’était pas très convivial comme interface, ni attirant pour d’autres contributions !
Comme le contenu du CD était écrit en HTML sur un serveur publiquement accessible, il a trouvé
son chemin dans la base de données de Google. Par la suite le trafic sur ce serveur a continué d’augmenter
et nous avons reçu des encouragements et même des commandes de CD de la France. Suite à ce succès,
nous nous sommes décidés à retenter l’expérience, mais cette fois en quatre langues.
Pour faire ce travail, on avait besoin de plus de monde, donc il fallait améliorer l’interface. Ivo Blöchliger a créé une interface Web utilisant Perl/MySQL. Dix personnes ont commencé à travailler sur le
projet. Comme la première version de GNUWin, GNUWin II est également entièrement accessible via
le Web, hébergée sur la machine de travail d’un assistant. Début octobre 2002, on se faisait slashdotter...
Ensuite, le projet a grandi, plusieurs personnes nous ont rejointes et l’interface Web n’était plus adaptée
pour différentes raisons:
❚ il manquait un concept de hiérarchie parmi les contributeurs: le dernier arrivé aurait pu effacer les
descriptions des fondateurs par exemple;
❚ certaines actions demandaient l’intervention d’Ivo.
Slashdotter
Slashdot.org est un site d’information incontournable pour tous les fans des technologies Internet. Plusieurs millions d’utilisateurs le consultent et plusieurs centaines
d’articles sont soumis quotidiennement. Quand un site est mentionné par Slashdot,
il peut arriver qu’un trop grand nombre d’internautes le consulte en même temps, ce qui peut le bloquer
occasionnellement. On dit alors qu’il est slashdotté.
En plus, le projet a changé de nom: comme les applications ne sont pas toutes sous la GNU General
Public License, et que nous ne sommes pas liés avec la Free Software Foundation, le nom GNUWin n’était
pas justifié et GGWin a été choisi comme successeur.
fig. 2 – Le logo de GNUWin II et de GGWin
La nouvelle interface de construction: vers la pérennité du code
fi spécial été
AlterIT
page 8
On a décidé de refaire l’interface de construction en pensant dès le début à:
❚ éviter que le code dépende d’une personne;
❚ assurer la pérennité du projet;
❚ inclure le concept de hiérarchie parmi les contributeurs afin d’éviter qu’un contributeur débutant
fasse des dégâts.
Le premier point déjà pose un gros problème: il faut placer un code sur un serveur CVS ou similaire.
Parmi les développeurs de GGWin il y a des personnes externes à l’EPFL, ce qui signifie que le serveur
en question doit être accessible depuis l’extérieur. Les solutions suivantes se présentent:
❚ une Forge sur une machine ouverte à l’extérieur, par exemple un serveur d’institut ou la machine d’un
assistant;
❚ une Forge fournie par l’EPFL, qui pourrait héberger aussi d’autres projets;
❚ une Forge externe à l’EPFL.
GGWin: historique
et outils
La première est une très mauvaise idée, car alors le code dépendrait d’une personne. La dernière est
un peu risquée: l’EPFL perdrait son importance dans le projet. La deuxième est la meilleure, mais malheureusement il n’y a pas de Forge de l’EPFL. De nombreux groupes en possèdent une dans leur coin
par contre: cette dernière est une solution envisageable pour nous, mais il faudra garder des rapports avec
le groupe en question.
Qu’est-ce qu’une Forge ?
Dans l’informatique, ce n’est pas une fabrique de fer, mais du code. Ces sites offrent
principalement des outils de gestion de développement tels que des outils de versioning (gestion de versions), des mailing-list (listes de diffusion), et un bug tracker (suivi des bugs et tâches en
suspens). La Forge la plus connue est sourceforge.net/, hébergeant plus de 100’000 projets open-source (bien
que quelques-uns soient abandonnés). Pour répondre à des besoins particuliers, beaucoup de sites similaires
ont ensuite débuté, par exemple Savannah.gnu.org et GNA.org. Les trois Forges mentionnées sont ouvertes
à Monsieur tout le monde.
Donc, en attendant que l’EPFL ouvre une Forge nous nous sommes contentés de la dernière solution
en veillant à ce que le projet ne s’échappe pas sans nous...
Nous avons donc réussi à avoir une place sur GNA ! c, une Forge européenne (pas besoin d’aller jusqu’aux États-Unis quand même). GNA ! offre un service d’hébergement de code source avec versioning
par CVS et depuis peu aussi avec Subversion, la possibilité de créer des listes de diffusion, un suivi de
bugs et de tâches.
Quels outils pour l’interface de construction ?
Après des discussions, on a décidé de créer notre interface avec ce qu’il y a de plus standard: PHP/
MySQL et de rendre l’interface de construction la plus générale possible: un serveur standard doit pouvoir l’héberger.
L’interface de construction se divise en trois parties principales:
❚ l’interface de construction en soi, qui permet de gérer les applications et leurs descriptions;
❚ le script qui à partir d’une base de données, génère les pages Web qui vont composer GGWin. Ces
pages seront ainsi distribuées sur le CD, mais elles peuvent également être consultées sur le Web;
❚ l’ISO-maker: un script qui génère les CDs à partir du choix des langues et des groupes d’applications.
Une fois l’interface de construction terminée, on sera prêt à accueillir les contributeurs qui pourront
s’inscrire tout seuls au projet par la page d’authentification (Figure 3).
Conception et utilisation de l’interface
fi spécial été
AlterIT
page 9
Pour l’utilisateur de GGWin le site sera structuré comme suit:
❚ des articles sur les logiciels libres;
❚ des pages d’informations (et d’autopromotion) écrites par les contributeurs;
❚ une collection d’applications.
La partie la plus importante sera la collection d’applications, puisque pour chaque application on aura
des descriptions (une pour chaque langue !), des installateurs et éventuellement des sources.
Chaque contributeur doit pouvoir ajouter des objets (articles, pages d’informations, applications,
descriptions, installateurs, sources,...). Les objets de base sont les applications et tout ce qui leur est lié
(descriptions, installateurs, sources).
Les contributeurs ne sont pas tous égaux aux yeux de l’interface: c’est un peu comme chez les scouts,
il faut démontrer que l’on est fiable pour gagner des niveaux. On débute au niveau contributeur junior.
Un contributeur junior a uniquement le droit d’ajouter des objets de base. Après avoir prouvé sa bonne
volonté, le contributeur junior devient contributeur et peut aussi ajouter des articles. Suivent le contributeur
expérimenté (peut ajouter des pages d’information), le supercontributeur (peut ajouter des langues et des
sections) et le gourou (a plusieurs pouvoirs, parmi lesquels l’administration des contributeurs).
On a fait attention à la simplicité de l’interface de construction. Ceci pour pouvoir encourager de
nombreuses personnes de langues différentes à devenir des contributeurs. L’utilisation de l’interface ne
demande que des connaissances générales. La gestion d’une application est bien structurée, et les descriptions s’écrivent en mode WYSIWYG.
GGWin: historique
et outils
fig. 3 – invitation à l’autentification
fig. 4 - exemple d’interface pour contributeur avancé: gestion des langues. Remarquer les possibilités d’interaction énumérées en haut.
Post Scriptum: cet
article a été écrit de
façon collaborative
en utilisant SpiKini,
un Wiki rattaché
à SPIP, Système de
Publication pour
l’Internet, utilisé
pour le site de GNU
Generation.
fi spécial été
AlterIT
page 10
fig. 5 - exemple d’interface pour contributeur junior: ajout d’une application. Remarquer les possibilités d’interaction limitées par rapport à la fig. 4.
Ce que nous réserve le futur
Finis les examens, les développeurs auront le temps de se pencher sur le code. Pour la rentrée, on aura
une interface de construction et on pourra commencer à contribuer. On espère avoir une première release
de l’ISO pour le début de l’année prochaine. Vous êtes les bienvenus pour participer aux discussions autour
de GGWin sur la page ggwin.epfl.ch ■