Framakey WebApps : du nouveau dans les applications portables

Framakey 1.9 - InterfaceIl y a un mois presque jour pour jour, je me mettais la pression vous annonçait quel devraient être les prochaines étapes pour la Framakey en 2009. Faisons donc un rapide bilan.

Le portail d’applications portables est bien plus à jour (sauf la partie jeux). Certes, certaines applications ne sont pas disponibles dans leurs toutes dernières versions, mais normalement aucune version majeure ou corrigeant des failles de sécurité n’a été oubliée. Pour les accrocs aux toutes dernières versions, je vous renvoie plutôt vers nos amis de PortableApps.com, dont la communauté (anglophone) est bien plus importante, et par conséquent plus réactive.

La Framakey 1.9 est bien sortie (et dans les temps, s’il vous plait !). Une version 1.10 est d’ailleurs en préparation, corrigeant quelques bugs mineurs. La nouvelle interface (cliquez sur l’image ci-dessus), inspirée de la Xandros équipant les eeePC, semble plaire à beaucoup d’entre vous (rappelons au passage qu’elle tourne simplement avec du Firefox+Jquery+HTML+CSS).

N’ayant pas trouvé d’équivalent libre, j’ai développé (très rapidement, en utilisant une méthode de développement agile intitulée La Rache) un petit outil pour tester la rapidité en écriture des clés USB sous Windows. En effet, les taux constructeurs sont des moyennes, or la vitesse des clés USB est extrêmement variable suivant la taille des fichiers. Ainsi, la même clé peut faire du 2Mo/s sur des fichiers de 10Mo, et un pitoyable 2Kos pour des fichiers de 1Ko. Framakey Drive Benchmark vous permet donc de tester votre clé suivant la taille des fichiers, et vous fournit même un temps approximatif d’installation de la Framakey (25mn pour certaines clés, et 6H pour d’autres…). Alors toi aussi vient jouer à qui à la plus rapide en testant (Licence GPL, version bêta, toussa) Framakey Drive Benchmark.

Mais surtout, une bonne partie de ce rafraichissant mois de mars aura été consacré au développement d’un nouveau type d’applications portables : les WebApps.

Is it a plane? Is it a bird? No! It’s a WebApp!

Vous je ne sais pas, mais moi ça m’arrive souvent : un ami (souvent une amie, d’ailleurs, sans faire dans le sexisme ou la misogynie), sachant que vous vous y connaissez en « tous ces trucs d’internet » vous appelle (de préférence à un moment ou vous étiez hyper concentré dans une partie de Frozen Bubble) pour vous dire « Dis, il y a quelques jours, tu m’as parlé des Wikis. Là je viens d’en télécharger un pour voir à quoi ça ressemblait, mais il se passe rien quand je double-clique sur index.php. C’est nul, tes trucs-libres-qui-marchent-pas ! ».

Vous êtes alors devant un choix cornélien : prendre une voix de répondeur et dire que vous êtes parti pour 15 jours en vacances et que vous rappellerez dès que possible. Ou partir dans 2 heures d’explications techniques sur les technologies clients-serveurs et faire par téléphone du support technique sur l’installation d’EasyPHP (ou WAMP, ou XAMP, ou …). Et pas question de vous en tirer avec un « T’as qu’à cocher Apache PHP et MySQL et PHP dans Synaptic » puisqu’il parait que ça n’existe pas encore sous Windows (mais je vous assure qu’à Framasoft, on y travaille…).

Bref, installer une application web comme SPIP, Drupal, Joomla, Dotclear, WordPress, MediaWiki, Alfresco, ou que sais-je encore, c’était quand même plus compliqué que de double cliquer sur setup.exe…

C’était ? Et oui !
A force de travailler sur le concept d’applications portables, on se dit qu’on devrait pouvoir faire la même chose avec les applications web : on télécharge, on dézippe, ça marche.

« No hassle », comme disent nos amis américains (faut juste faire gaffe à la prononciation).
Grâce à toutes les briques libres existantes, notamment le trop méconnu ZazouMiniWebServeur (développé par un très sympathique frenchy, qui plus est), il est possible de remixer PHP, MySQL, ZMWS et l’application dans un seul fichier zip.

Une petite vidéo (5mn) sera plus parlante qu’un long discours.

—> La vidéo au format webm

En fait, il y a déjà une société qui proposait ce type d’applications web. En effet, Bitnami propose depuis plusieurs mois des Bitnami Stacks, qui fonctionnent sensiblement sur le même principe. Cependant, les serveurs (Apache et MySQL) tournent en « service Windows », rendant tres « centralisé » l’utilisation de ses applications : pas de possibilité de les copier sur clé USB ou CD, lancement automatique des services au démarrage de la machine, etc. Et j’ai moi-même expérimenté quelques déconvenues avec Bitnami en installant, puis désinstallant des stacks : perte de la base de données, fichiers communs qui disparaissent…
De plus, les applications sont anglophones (là le WebApp Manager est multilingue).

Enfin et surtout, les Bitnami Stacks, utilisent l’installateur BitRock qui, si j’ai bien lu les conditions, n’est pas libre mais « gratuit pour les projets libres » (rien que pour ça, ça m’a donné envie de voir si on pouvait proposer une alternative vraiment libre[1]). On ne prétend pas avoir en moins de 15 jours fait mieux que Bitnami, mais au moins on a fait un pas de plus vers du 100% libre, puisque chacun peut tenter de se faire sa WebApp (je ne prétends pas que ça soit simple, mais c’est accessible et au moins partiellement documenté).

Avec les WebApps, pas de problème pour lancer plusieurs applications en même temps : chacune tourne indépendamment dans son dossier, qu’on peut sans problème copier sur clé USB par exemple pour faire une démo à un client ou pour bloguer déconnecté.

La preuve en images (animées).

—> La vidéo au format webm

Évidemment, pour les habitués du web, cela peut paraitre peu intéressant : « Autant faire une installation en ligne, l’application sera disponible 24H/24. Là, si j’éteind l’ordinateur, la WebApp n’est plus accessible ! ». Certes, mais le public des WebApps n’est pas le même, elles visent plutôt :

  • L’hyper-débutant qui ne sait pas ce qu’est un serveur web
  • Le débutant qui ne sait pas faire la différence entre un fichier interprété (.php par exemple) et un fichier exécutable (.exe)
  • Les personnes ne sachant pas ou ne voulant pas faire d’installation d’application web (« heu… c’est quoi mon hôte MySQL ? »)
  • Les personnes souhaitant faire une démo de leur application web sur un salon, sans connexion internet, depuis une clé USB
  • Les entreprises souhaitant envoyer un site dynamique sur CD à leurs clients
  • Les personnes souhaitant s’installer localement et facilement un wiki pour faire de la prise de notes en local
  • Les personnes souhaitant tester plusieurs CMS avant de faire leur choix
  • etc..

Je rappelle au passage que les WebApps sont en version bêta, et donc susceptibles d’importants changements au cours des prochaines semaines.

Reprenons notre casquette de militant du logiciel libre

Si on se place dans la perspective ou de plus en plus d’applications sont dans les nuages, que beaucoup de ces applications sont libres, mais qu’il y a là aussi une forte résistance des applications propriétaires (de Facebook aux Google Apps, en passant par Basecamp), il faut peut être s’interroger sur :

  • Comment faciliter l’accès aux applications web au grand public ?
  • Comment leur donner de meilleures chances face aux gros services marketing de sociétés privées ?
  • Comment éviter la frustration de l’utilisateur lambda, qui veut voir plus qu’une capture écran, mais pas forcément prendre un hébergement en ligne ?
  • Comment éviter le phénomène Minitel 2.0, dont nous sommes – nous, développeurs – en partie responsable en mettant une barrière à l’entrée parfois trop haute pour le citoyen numérique lambda ?

Un exemple : toutes les personnes que je connais qui ont tenté d’installer Mediawiki ou Drupal, pourtant tous deux extrêmement reconnus dans leurs domaines, ont reconnu que « les premières heures de prises en main ont été laborieuses ». Comment, dans ces conditions, espérer que Tata Jeannine installe sa propre application web ? Elle fera comme les autres, elle finira chez Blogger (bof bof) ou WordPress.com (mieux).

Bref, comment faciliter la transition entre le tout local que l’informatique à connu pendant des dizaines d’années, vers le tout dans Firefox en ligne vers lequel il semblerait que l’on se dirige à la vitesse d’un photon dans une fibre optique ?

Le logiciel libre à un véritable intérêt stratégique à promouvoir le libre dans le web, car c’est sur la toile que nous passons de plus en plus de temps. C’est là qu’est notre vie numérique. « C’est là que nous avons notre tête », pour reprendre les propos de Michel Serres.

Or, si ces applications foisonnent et s’émulsionnent dans les milieux autorisés (celui du développement web, des hébergeurs, de ceux qui savent…), il faut bien avouer qu’il n’y a pas beaucoup d’initiatives pour les rendre plus « populaires » au sens premier du terme.

Évidemment, les WebApps ne sont pas la solution, mais nous espérons qu’elles pourront être une piste intéressante, reprise et remixée par d’autres (notamment les éditeurs d’applications web libres) afin de rendre plus accessibles leur travail auprès d’un plus large public.

We need you!

Ceux qui sont encore là ont sans doute remarqué que l’offre de WebApps est relativement pauvre : 4 ou 5 applications web prêtes à l’emploi, alors qu’ils en existe des dizaines, voir des centaines d’intéressantes.

En effet, nous sommes déjà passablement occupés avec Framasoft, Framakey, Framabook, et j’en passe. Maintenir un portail de 20 ou 30 WebApps nous prendrait bien trop de temps.

S’il y a parmi vous des volontaires pour maintenir des WebApps (Joomla Portable ? Dotclear Portable ? Mediawiki portable ?) qu’ils n’hésitent pas à lire Comment créer ma WebApp ? puis à nous contacter. Les prérequis sont vraiment accessibles (savoir installer l’application, savoir la mettre à jour, disposer d’un système Windows).
De même, de futurs développements du WebApp Manager sont envisagés. Par exemple pour publier facilement sa WebApp en ligne, ou pour synchroniser des bases locales et distantes. Là aussi, n’hésitez pas à prendre contact si vous voulez contribuer au code.

N.B. : Une démo des WebApps (et de la FramaGnu !) sera probablement faite au salon Solutions Linux la semaine prochaine. Si vous souhaitez en discuter, demandez le stand Framasoft (on squattera très probablement le stand d’une association amie).

Notes

[1] En fait, le WebApp Manager est développé en AutoIt, langage freeware non libre. Mais les sources du WebAppManager sont, elles, bien libres. Il ne tient qu’à vous de le redévelopper dans n’importe quel autre langage disposant d’un compilateur libre