Linux France

S'abonner à flux Linux France
Mis à jour : il y a 10 min 31 sec

Yocto, ce n'est pas un système embarqué, mais...

Samedi 22 Novembre

Yocto est un projet collaboratif, soutenu par la Linux Foundation, qui fournit des modèles, outils et méthodes pour vous aider à créer des systèmes embarqués.

Le projet Yocto est divisé en plusieurs sous-parties. Nous allons nous intéresser dans cet article au générateur d'appliances. Ce dernier effectue en toute simplicité la génération de votre propre système embarqué à l’intérieur d'une machine virtuelle de type vmdk.

Yocto est issu du projet Poky (un système de build qui s’appuie lui-même sur OpenEmbedded) dont il est le digne successeur.

L'architecture de Yocto

"Build Appliance 1.7"(Dizzy) est une machine virtuelle pré-configurée pour que vous puissiez simplement générer votre système embarqué. Cette virtualisation a toutefois un coût en terme de rapidité de compilation lors de la création de votre système. Son avantage principal est la création d'une appliance quel que soit le système d'exploitation sur lequel vous travaillez…

Une image étant dans certains cas plus parlante que des mots et, surtout, qu'une longue explication fastidieuse, veuillez vous référer au schéma ci-dessous.

L'avantage de BA 1.7 est double, un système pré-configuré et fonctionnel et la possibilité de pouvoir l'utiliser sur n'importe quel OS (…)

Pour information, les résultats peuvent varier selon la puissance de votre machine hôte et de sa mémoire disponible.
Par exemple sur un i5 avec 8 Go de mémoire vive (RAM) :

  • génération d'un "petit" système embarqué ( -100 Mo) : environ une heure ;
  • génération d'un système embarqué "complet" ( -550 Mo) : environ trois heures trente.

Si vous souhaitez développer votre système embarqué directement à partir d'une distribution, sans passer par la virtualisation. Yocto assure une compatibilité totale (pour l'instant) avec ces cinq distributions :

  • Ubuntu ;
  • Fedora ;
  • CentOS ;
  • openSUSE ;
  • Debian.
Les avantages de Yocto
  • Les images générées auront l'avantage d'utiliser un noyau toujours récent ;
  • la possibilité d'utiliser X11, Gnome Mobile, GTK+, Qt, Clutter et SDL (mais pas que…) ;
  • grâce à Qemu, l'émulation totale pour les architectures x86 , x86-64 , ARM, MIPS et à base de PPC ainsi que du matériel spécifique.

Enfin, SATO, une interface utilisateur basée sur GNOME Mobile qui permet aux développeurs de mettre en œuvre leur propre interface pour écrans de petite résolution ou minimalistes.

Au moment de l'édition de cet article Yocto project en est à sa version 1.7 nommée Dizzy (mais le projet avance rapidement et ne cesse de s'améliorer).

Besoins spécifiques à Yocto
  • Git 1.7.5 ou supérieur ;
  • tar 1.24 ou supérieur ;
  • python 2.7.3 ou supérieur (mais malheureusement pas Python 3.x, qui n'est toujours pas pris en charge).
Processus de création d'une image :

Vous trouverez sur le site de Yocto des images déjà pré-construites nommées BSP.
Pour la version en cours veuillez faire pointer vos navigateurs vers cette adresse :

https://www.yoctoproject.org/downloads/core/dizzy17

La création facile grâce à Hob

Pour les plus fainéants d’entre nous (mais qui ne l'est pas ?), Yocto a eu la bonne idée de créer Hob, une interface graphique qui réalisera pour vous les tâches qui demandent normalement l'utilisation de la ligne de commande. Un clickodrome de la création d'images ISO multi-architectures !

Ne vous y trompez pas toutefois, celui-ci est très complet dans le choix des options qu'il propose.
Il vaut mieux prendre son temps et en étudier toutes les possibilités (sous peine de ne pas avoir l'optimisation ou les nécessaires requis).

Hob est mort (ou presque), vive Toaster

Hob sera remplacé par Toaster sur la prochaine version de Yocto (la 1.8). Celui-ci abandonne l'interface GTK au profit d'une application web basée sur Django. Pour l'instant en test (vous pouvez la télécharger, celle-ci n'est toutefois pas à conseiller en production.

Toaster permettra de nombreuses choses, dont le versionning des images, le choix des sources utilisés pour la construction de ses images ainsi que sa propre version de bitbake (si nécessaire).

Mais et pour la MasterClass ?

Rassurez-vous, il est aussi possible de créer vos images en ligne de commande (sans doute de manière plus précise, aux travers de scripts), grâce à BitBake (cf. documentation au début de cet article).

Le mot de la fin…

Enfin, pour les plus fainéants d’entre nous qui aimeraient quand même tester le projet sans trop y perdre de temps (la documentation est assez conséquente au vu des possibilités offertes…), un guide de démarrage rapide est disponible.

Télécharger ce contenu au format Epub

Lire les commentaires

Detekt, un logiciel de détection de logiciels espions

Samedi 22 Novembre

Amnesty International, en partenariat avec Privacy International, Digitale Gesellschaft et Electronic Frontier Foundation, a annoncé le 20 novembre la publication du logiciel Detekt. Ce logiciel libre (GPLv3) a pour but de détecter des spywares (logiciels espions) sur un système d'exploitation Windows. Il cible notamment l'espionnage gouvernemental des journalistes et des militants. Detekt est développé par le chercheur en sécurité Claudio Guarnieri.

D'après Amnesty International, l'utilisation et le commerce des technologies de surveillance des communications ont connu une croissance exponentielle ces dernières années. La Coalition Against Unlawful Surveillance Exports, dont est membre Amnesty International, estime le commerce mondial annuel en technologies de surveillance à 5 milliards de dollars US.

Dans son annonce, Amnesty pointe du doigt les sociétés privées installées dans des pays développés qui développent des solutions de surveillance pour des États responsables de violations régulières des droits humains, et appelle à un contrôle de la vente et de l'usage de ces technologies.

Marek Marczynski, responsable affaires militaires, sécurité et police à Amnesty International :

Detekt is a simple tool that will alert activists to such intrusions so they can take action. It represents a strike back against governments who are using information obtained through surveillance to arbitrarily detain, illegally arrest and even torture human rights defenders and journalists.

Traduction :

Detekt est un outil simple qui alertera les militants de telles intrusions de façon à ce qu'il réagissent. Il représente une contre-attaque aux gouvernements qui utilisent des informations obtenues par la surveillance pour détenir arbitrairement, arrêter illégalement ou même torturer des défenseurs des droits de l'Homme et des journalistes.

Les spywares actuellement détectés sont :

  • DarkComet RAT ;
  • XtremeRAT ;
  • BlackShades RAT ;
  • njRAT ;
  • FinFisher FinSpy ;
  • HackingTeam RCS ;
  • ShadowTech RAT ;
  • Gh0st RAT.

Il est écrit en Python/PyQt. Il utilise les logiciels Yara (APLv2), Volatility (GPLv2+) et Winpmem (GPLv2+).

Télécharger ce contenu au format Epub

Lire les commentaires

Trisquel 7.0 LTS Belenos est sortie

Vendredi 21 Novembre

Trisquel GNU/Linux 7.0 LTS Belenos (en référence à un Dieu du soleil celtique) est sortie le 3 novembre 2014. Il s’agit d’une version LTS (Long Term Support) qui sera maintenue jusqu'en 2019. Pour rappel, Trisquel est une distribution basée sur Ubuntu 14.04 LTS et est composée à 100 % de logiciels libres. Trisquel est une des huit distributions 100 % libres, recommandée par le projet GNU et par la Free Software Foundation.

Composants majeurs mis à jour
  • Noyau Linux-libre 3.13 ;
  • Version modifiée de GNOME 3.12 fallback ;
  • Abrowser 33 (un fork libre de Firefox) en tant que navigateur web par défaut :
    • GNU IceCat 31 est disponible avec un simple clic depuis la page d'accueil de Abrowser. Il a des fonctionnalités supplémentaires pour protéger la vie privée ;
  • Electrum Bitcoin Wallet est préinstallé.

Passage au DVD

La version standard n'est plus proposée qu'au format DVD (alors qu’auparavant une version CD était aussi proposée). Ceci permet de simplifier le choix de l'ISO à télécharger, d'éviter de frustrer l'utilisateur avec une langue non fournie (au format CD moins de 5 langues étaient dans l'installeur alors qu'en DVD, il y en a 50, dont le français) et d'inclure quelques logiciels supplémentaires. L'ISO fait 1,5 Go (contre 1,3 Go pour la version 6.0).
Trisquel Mini (avec LXDE et des applications légères, comme Abiword) est toujours fournie en CD avec seulement deux langues dans l'installeur : l'anglais et l'espagnol.

Toutes les versions sont toujours fournies pour architecture x86 et x86-64.

Trisquel Sugar

Trisquel Sugar est une nouvelle déclinaison de la distribution avec l'interface Sugar préinstallée. Cette interface est adaptée aux enfants, les têtes blondes méritent aussi d'être libres ! L'installeur fait seulement 500 Mo et tient donc sur un CD.

Site web

Le site web a un nouveau design plus clair et moderne. Ce n'est que le début d'une série d'améliorations du site web !

Autres changements

Amélioration de l'accessibilité par défaut.

Télécharger ce contenu au format Epub

Lire les commentaires

Gestion des exigences et des tests à l'ApéroLibre de Nantes le 20 novembre 2014

Mercredi 19 Novembre

Retrouvez-nous autour d'un apéritif ce jeudi 20 novembre (de 18h45 à 20h) à la Cantine Numérique de Nantes pour découvrir la "Gestion des exigences et des tests pour une meilleure qualité des logiciels".

Attention : la présentation "La voix sur IP en entreprise et la place du logiciel libre dans tout cela" qui devait aussi avoir lieu de jour là est reportée à l'ApéroLibre suivant.

Vous vous intéressez au logiciels libres ou plus généralement au monde du Libre ?

Alliance Libre vous propose un nouveau format de séminaire : les "ApéroLibres", généralement le 3e jeudi tous les 2 mois impairs, de 18h45 à 21h à la Cantine Numérique de Nantes (Chaussée de la Madeleine - 11 Impasse Juton - 44000 Nantes) pour découvrir 2 thématiques différentes.

Entrée libre et gratuite - Le nombre de places est limité, si vous voulez être sûr d'avoir une place, inscrivez vous à info AT alliance-libre DOT org.

Gestion des exigences et des tests pour une meilleure qualité des logiciels

Intervenants : Patrick Babonneau (Eralog)

Les événements récents autour de failles concernant des technologies largement utilisées sur le Web pour sécuriser les échanges d'informations prouvent à quel point il est difficile de garantir la conformité de logiciels qui occupent désormais une place essentielle dans notre vie quotidienne. L'innovation ne pouvant se faire au détriment de la qualité et de la sécurité, il est donc primordial de mettre en œuvre des méthodes et des outils permettant de tester rigoureusement et méthodiquement un logiciel à toutes les étapes de sa production.

Après un rappel rapide des concepts et des solutions existantes, vous découvrirez comment le logiciel SquashTM propose une approche innovante et ergonomique dans la gestion des référentiels de test, de la définition des exigences à l'exécution des campagnes de test en lien avec un outil de suivi des anomalie (Mantis).

Une démonstration d'utilisation de SquashTM et de Mantis sera réalisée à l'issue de la présentation.

Télécharger ce contenu au format Epub

Lire les commentaires

Kst, outil de tracés graphiques convivial et puissant

Mercredi 19 Novembre

Kst est un outil de tracés graphiques et d'analyse de données très rapide et convivial, open-source (Qt) et multi-plateformes : Windows, OS X et Linux. Kst est comparable à labplot, veusz, qtiplot ou encore scidavis.

La version 1, plus maintenue à l'heure actuelle, était une application KDE à laquelle ont contribué des grands noms du projet KDE comme George Staikos, gage d'une bonne qualité de code. Lors du portage en Qt4, les dépendances aux bibliothèques KDE ont été supprimées pour faciliter la distribution sur toutes les plateformes.

Des versions de Kst2 stables et pleinement fonctionnelles sont disponibles depuis assez longtemps, mais cet outil reste malheureusement trop peu connu. Pour remédier à cela, des tutoriels vidéo ont été préparés en utilisant la version 2.0.8 sortie en juillet dernier. Ces tutoriels sont disponibles sur la chaîne "kst plot" sur YouTube pour vous faire (re)découvrir les principales fonctionnalités de cet outil.

NdM : l'auteur de la dépêche est l'un des développeurs de Kst, profitez-en si vous avez des questions!

Les principaux points forts de Kst sont :

  • la performance (les fichiers ASCII de plusieurs centaines de Mo et les courbes à plusieurs millions de points sont de la routine) ;
  • la possibilité de faire des courbes "temps réel", c'est-à-dire sur des données en flux continu ;
  • la convivialité/efficacité ;
  • la maturité et une offre complète en termes d'analyse de données : FFT, filtres, régressions, histogrammes, etc. ;
  • le panel de formats supportés : ASCII (totalement configurable), netCDF y compris les méta-données, Dirfile/GetData, les fichiers .mat de Matlab, CFitsio ou encore les images compatibles QImage.
Télécharger ce contenu au format Epub

Lire les commentaires

CommonMark, une syntaxe Markdown en commun et répandue

Mardi 18 Novembre

Markdown est la syntaxe wiki retenue pour écrire sur LinuxFr.org.

John Gruber a publié les principes généraux du Markdown en 2004, avec une suite de tests et une implémentation de référence en Perl. Il est donc considéré comme le créateur du langage. Mais sa suite de tests est très incomplète et son implémentation de référence donne des résultats parfois surprenants sur des cas particuliers (les listes imbriquées notamment).

De nombreuses autres implémentations dans différents langages sont apparues depuis. Certaines essaient de corriger les « erreurs » de la version initiale pour mieux coller aux attentes des utilisateurs, tandis que d'autres préfèrent y rester conforme. Le premier camp réunit cependant toutes les implémentations les plus utilisées (Github, Stack Overflow, Discourse, LinuxFr.org — dont les particularités sont détaillées sur la page wiki pour l'aide édition —, etc.). Aussi, les développeurs des principales bibliothèques se sont regroupés pour discuter des difficultés à implémenter un Markdown qui plaise à leurs utilisateurs et chercher à minimiser les différences entre les sorties des différentes implémentations : CommonMark.

CommonMark

Ces efforts, ainsi qu'un gros travail de John MacFarlane (l'auteur de Pandoc), ont permis d'arriver à un standard. Ce projet, initialement nommé « Standard Markdown », a dû être renommé en « CommonMark » suite à une réclamation de John Gruber, un des créateurs de Markdown. Il prend la forme d'une description très précise des règles à prendre en compte pour écrire un analyseur lexical Markdown. On pourrait regretter qu'il ne soit pas accompagné d'une grammaire formelle, mais il semblerait qu'il soit particulièrement difficile de faire cela (la plupart des analyseurs lexicaux travaillent en plusieurs passes). John MacFarlane a également écrit 2 implémentations de références : l'une en C et l'autre en JavaScript.

Ce travail de rapprochement des implémentations n'est toutefois qu'une première étape. Les différentes implémentations ont toutes diverses extensions aux langages (tableaux, notes de bas de pages, etc.) avec des syntaxes souvent différentes pour la même fonctionnalité. Il reste donc du boulot à l'équipe de CommonMark pour prendre en compte ces extensions et répondre aux nombreuses discussions sur le forum discourse du projet (qui d'ailleurs utilise une syntaxe Markdown qui n'est pas encore du CommonMark).

Particularités de LinuxFr.org par rapport au Markdown et CommonMark

Le Markdown gagnerait à évoluer et être standardisé pour prendre en compte les évolutions apportées de part et d'autre. Sur LinuxFr.org, les choix suivants ont été effectués :

  • ajout d'une table des matières pour les articles longs ;
  • liens vers le wiki interne avec la syntaxe [[[wiki]]] ;
  • gestion du avec quelques incompréhensions de la syntaxe $\LaTeX$ ;
  • gestion en standard des images, mais il y a une évolution proposée pour les sons et vidéos ;
  • non prise en compte des deux espaces en fin de ligne pour passer à la ligne (quasiment tout le monde a râlé là-dessus) : CommonMark permet d'utiliser un antislash plutôt que 2 espaces pour que ce soit visible mais conserve le même mécanisme ;
Amélioration possibles du Markdown de LinuxFr.org
  • gestion plus fine par lettre (et non juste par mots) des enrichissements (gras, italique, barré et télétype) .

Il resterait à identifier d'autres différences du Markdown sur LinuxFr.org et ce qui bénéficierait de la standardisation proposée par CommonMark.

Bibliothèques de développement utilisées pour le Markdown

Sur LinuxFr.org, spécifiquement, les bibliothèques suivantes sont utilisées pour gérer le Markdown :

  • le rendu HTML de Markdown est effectué par RedCarpet ;
  • il y a pygments pour l'affichage du code : ```langage précédé d'une ligne blanche permet la coloration syntaxique (très utile dans les forums et commentaires ou 2è partie de dépêche technique) ;
  • c'est à SVGtex que vous devez le rendu des bouts de .

Autres points à discuter ?

Télécharger ce contenu au format Epub

Lire les commentaires

Microsoft libère le cœur de .NET et cible GNU/Linux

Mardi 18 Novembre

Soucieux d’étendre la présence de ses technologies (l’annonce officielle insistant sur sa stratégie « Un Visual Studio pour chaque développeur »), Microsoft a annoncé ce mercredi 12 novembre la libération de plusieurs parties du cœur de son Framework .NET et déclare travailler officiellement à la prise en compte des systèmes OS X et GNU/Linux. Cette libération vise principalement les développements pour environnements serveurs et mobiles.

Ce qui est libéré et ce qui ne l’est pas

Le code libre concerne les briques nécessaire pour exécuter une application web côté serveur. Cette libération a été progressive (lire à ce sujet par exemple ce journal de Benbben en juillet dernier) et concerne l’ensemble des nouvelles briques développées par Microsoft pour le web :

Jusqu’à cette date, il était nécessaire d’associer ces briques à l’implémentation libre de .NET Mono pour exécuter une application web sous Linux. La nouvelle brique libérée est .NET Core, qui comprend l’environnement d’exécution ainsi que les bibliothèques de classes de base. Microsoft complète ainsi sa pile de technologies web open-source et annonce au passage qu’elle sera officiellement disponible sous GNU/Linux et Mac OSX.
Cette annonce ne concerne ni les versions précédentes du framework .NET, ni les technologies nécessaires pour exécuter une application bureautique (technologies WinForms, WPF).

Les conséquences pratiques de cette libération

Avec cette dernière brique essentielle que constitue le cœur de .NET, Microsoft permet à chacun de développer avec .NET pour Windows, Mac OS ou GNU/Linux. Microsoft promet de travailler en étroite collaboration avec la communauté « Open Source » et, par l’intermédiaire de sa fondation .NET, de tenir compte à l’avenir des contributions et améliorations qui seront apportées à .NET.

L’essentiel de l’annonce de Microsoft consiste à détailler sa stratégie pour son produit Visual Studio qui sera d’ailleurs compatible avec le format des paquets Android (APK, Android Application Package) dès sa version 2015. De plus, Microsoft annonce une version gratuite de Visual Studio Professionnel 2013 sous l’appellation Visual Studio Community 2013.

L’annonce évoque aussi la collaboration étroite de Microsoft avec Xamarin, une société connue pour développer et offrir du support pour Mono, l’implémentation historique libre de .NET. La société Xamarin propose également une plate-forme de développement mobile (du même nom) fondée sur Mono.

Microsoft compte ainsi consolider sa présence dans le domaine du serveur et de la mobilité, mais on peut se demander quel est l’impact sur le projet Mono (Miguel de Icaza annonce l’intégration prochaine du code sous licence libre), ou ce que cela peut apporter à un projet comme ReactOS.

Les modalités de cette libération

Concernant l’art et la manière, gasche fait remarquer dans son journal que pour la libération de cette dernière partie, ils ont choisi la plate-forme de développement collaborative GitHub (non libre mais reposant sur des protocoles et outils libres, et très populaire) en lieu et place de leur plate-forme maison Codeplex. Ils acceptent les Pull Requests à condition de respecter un Contributor License Agreement qui autorise Microsoft à relicencier le code et qui implique le renoncement du contributeur à toute réclamation liée à des brevets sur ce code. Derrière le choix de GitHub se trouve la volonté d’aller là où les contributeurs sont, plutôt que d’essayer de les amener à soi.

Dans un billet sur son blog, Immo Landwerth (Program Manager pour le Framework .NET chez Microsoft) évoque plusieurs raisons à cette libération, notamment le fait que les sources étaient déjà publiques depuis leur initiative Rotor mais n’étaient pas couvertes par une licence libre et que l’ouverture sans la liberté n’est pas très utile.

Immo Landwerth précise que GitHub sera leur plateforme de développement, pas seulement une vitrine publique. Cela signifie par exemple que leurs modifications seront visibles immédiatement. Il est donc attendu que le développement devienne aussi ouvert que le code.

Microsoft a choisi la licence MIT pour le cœur de .NET.

Télécharger ce contenu au format Epub

Lire les commentaires

Modeste contribution à Audacity sur l'affichage des temps

Mardi 18 Novembre

Audacity est un logiciel (GPLv2/C,C++/wxWidget) dédié "à la manipulation de données audio numériques.". Son développement est encore actif (dernière version : septembre 2013) et utilise SVN.

Cette dépêche est consacrée à un retour d'expérience sur un point précis : modifier la manière dont Audacity affiche le temps de début et de fin d'un fragment audio.

A. le problème de départ

Audacity permet de choisir le mode d'affichage du temps : par exemple, "seconds" ou encore "hh:mm:ss". Le mode le plus précis et le plus générique est sans doute "hh:mm:ss + milliseconds", dont voici un exemple :


Ces renseignements apparaissent en bas de la fenêtre principale : on voit ici que la sélection commence à 3 minutes et 291 millisecondes et s'achève à 5 secondes 155 millisecondes.

Le problème qui se pose est le suivant : certains ont comme moi besoin de lire rapidement le temps exprimé en millisecondes. Dans l'exemple ci-dessus, 00:00:03.291 est facile à convertir en 3291 millisecondes. Mais en général, il est bien plus difficile de convertir des nombres plus élevés. Ainsi, 00:57:03.291 vaut par exemple 3423,291 millisecondes.

Comment obtenir ce résultat ?

B. les solutions B.1. première solution : regarder ailleurs

Bien sûr il existe sans doute d'autres logiciels mieux adaptés à mes besoins (peut-être comme celui-ci) mais je voulais me faire plaisir en modifiant Audacity pour obtenir l'affichage désiré.

B.2. deuxième solution : faire appel aux membres de la communauté du libre

Il se trouve que quelqu'un a eu la même idée que moi. Comme le montre le lien, il n'y a pas eu de vraie discussion : à cette époque, l'équipe d'Audacity semblait avoir une opinion très ferme de ce qu'elle voulait et surtout de ce qu'elle ne voulait pas !

B.3. troisième solution : modifier Audacity

Je profite de cette dépêche pour reconstituer certaines étapes.

B.3.a. code source

Le code est disponible sur le dépôt SVN d'Audacity

Pour le récupérer :
svn checkout http://audacity.googlecode.com/svn/audacity-src/trunk/ audacity

B.3.b. compilation

Attention, grâce au forum dédié à la compilation du projet j'ai appris que sur mon système (Archlinux) un simple ./configure ne suffisait pas, il faut y ajouter l'option --disable-dynamic-loading.

De même, l'installation de wxwidget est obligatoire (comme annoncé par la documentation) mais la bibliothèque webkitgtk2 est également requise.

… puis $./configure --disable-dynamic-loading et $make

B.3.c. lecture du code

Le fichier qui nous intéresse est src/widgets/NumericTextCtrl.cpp; il définit le contenu de const BuiltinFormatString TimeConverterFormats[] et contient donc (j'enlève les commentaires et une partie du code) :

const BuiltinFormatString TimeConverterFormats[] = { { _("seconds"), _("01000,01000 seconds") }, { _("hh:mm:ss + milliseconds"), _("0100 h 060 m 060.01000 s") }, [...] }

Comme la lecture du fichier l'indique, le contenu de chaînes comme "01000,01000 seconds" est analysé : le nombre est affiché suivant le format ainsi décrit.

B.3.d. modification du code

Mon premier mouvement a été de modifier directement le mode "seconds" pour qu'il affiche en plus les millisecondes. J'écris donc :

const BuiltinFormatString TimeConverterFormats[] = { { _("seconds"), _("01000,01000.01000 seconds") },

… je recompile, et j'obtiens le résultat attendu :

C. et maintenant, que faire ?

J'aimerais partager mon très modeste travail avec la communauté du libre.

C.1. problèmes à prévoir du côté d'Audacity

J'aimerais proposer un diff à l'équipe d'Audacity car la solution que je propose paraît adaptée à mes besoins. Cependant, elle souffre d'un gros inconvénient : elle contredit le nom du mode d'affichage ("seconds") : changer l'un sans changer l'autre me semble impossible pour des questions de cohérence.

L'autre solution serait de proposer un autre mode d'affichage nommé "seconds + milliseconds". Mais je crains, vu la réponse que j'évoquais précédemment, que cette demande ne soit refusée comme étant une proposition inutile.

C.2. problèmes liés à un fork

Forker Audacity et entretenir une branche personnelle ne me plaît qu'à moitié car je n'ai pas envie de devoir gérer la récupération régulière des mises à jours de ce projet.

D. conclusion

Alors, que me reste-t-il à tenter ? Si certains voient ce que je puis faire de mon travail, je suis preneur !

Télécharger ce contenu au format Epub

Lire les commentaires

Revue de presse de l'April pour la semaine 46 de l'année 2014

Lundi 17 Novembre

La revue de presse de l'April est régulièrement éditée par les membres de l'association. Elle couvre l'actualité de la presse en ligne, liée au logiciel libre. Il s'agit donc d'une sélection d'articles de presse et non de prises de position de l'association de promotion et de défense du logiciel libre.

Sommaire

[Numerama] Le framework .NET open-source et multi-plateformes, une révolution chez Microsoft

Par Julien L., le vendredi 14 novembre 2014. Extrait:

Microsoft a décidé d'ouvrir le framework .NET et de le passer en open source afin que tout le monde puisse contribuer à son développement. Cette décision est une révolution pour l'entreprise américaine, qui a longtemps misé exclusivement sur une approche propriétaire des logiciels.

Lien vers l'article original: http://www.numerama.com/magazine/31278-le-framework-net-open-source-et-multi-plateformes-une-revolution-chez-microsoft.html

Et aussi:

[Libération.fr] Libre virgule, Firefox fête ses 10 ans

Par Camille GÉVAUDAN, le jeudi 13 novembre 2014. Extrait:

Le célèbre navigateur a vu le jour le 9 novembre 2004. Tristan Nitot, le porte-parole de la fondation Mozilla qui l'a conçu, raconte son histoire, sa personnalité et ses nouveautés.

Lien vers l'article original: http://ecrans.liberation.fr/ecrans/2014/11/13/libre-virgule-firefox-fete-ses-dix-ans_1141614

Et aussi:

[La gazette.fr] L’État start-up n’est-il qu’un slogan?

Par Sabine Blanc, le jeudi 13 novembre 2014. Extrait:

La start-up est un champ sémantique et symbolique mis en avant par Thierry Mandon, le secrétaire d’Etat en charge de la Réforme de l’Etat et de la Simplification, comme modèle de fonctionnement à suivre. Certains projets s’en revendiquent déjà. Cette inspiration dans l’air du temps a ses limites si l’on analyse ce que recouvre vraiment le terme.

Lien vers l'article original: http://www.lagazettedescommunes.com/292977/letat-start-up-nest-il-quun-slogan

[ZDNet] Gnome vs Groupon: face à la grogne libriste, le géant de l’ecommerce se couche

Par Louis Adam, le mercredi 12 novembre 2014. Extrait:

Les contributeurs du projet Gnome ont eu fort à faire pour faire plier Groupon: la marque américaine avait en effet dévoilé un nouveau projet de point de vente sous forme de tablette nommé Gnome. Une initiative problématique pour l’environnement de bureau éponyme.

Lien vers l'article original: http://www.zdnet.fr/actualites/gnome-vs-groupon-face-a-la-grogne-libriste-le-geant-de-l-ecommerce-se-couche-39809363.htm

Et aussi:

[AgoraVox] Cyberguerre en kit

Par Cosmogonie, le mercredi 12 novembre 2014. Extrait:

La Syrian Electronic Army (SEA) l'annonçait depuis quelques semaines sur twitter, c'est désormais chose faite: une petite distribution basée sur Linux estampillée SEA est disponible, librement téléchargeable par tout un chacun. Que ce groupe de hackers syriens, partisans du régime, passe un temps assez long à concocter un système d'exploitation plutôt simple, sorte de TAILS mâtiné de Kali Linux, visant donc de toute évidence à mettre à la portée du plus grand nombre des «outils de pénétration», semble surprenant au premier abord.

Lien vers l'article original: http://www.agoravox.fr/actualites/technologies/article/cyberguerre-en-kit-159265

Et aussi:

[Le Monde.fr] Obama demande une application stricte de la neutralité du Net

Par la rédaction, le lundi 10 novembre 2014. Extrait:

Un «Internet libre et ouvert». Voilà le vœu qu'a formulé Barack Obama, lundi 10 novembre, à la Federal Communications Commission (FCC), l'autorité du marché des télécommunications aux Etats-Unis. Dans un communiqué, le président américain a notamment demandé à l'institution d'appliquer les règles «les plus strictes possibles» afin de préserver la neutralité d'Internet, martelant sa ferme opposition à un Internet à deux vitesses.

Lien vers l'article original: http://www.lemonde.fr/ameriques/article/2014/11/10/obama-demande-une-application-stricte-de-la-neutralite-du-net_4521384_3222.html

Télécharger ce contenu au format Epub

Lire les commentaires

Journée technique gratuite sur les logiciels libres dans l'embarqué le 11 Décembre 2014

Lundi 17 Novembre

CIO Systèmes Embarqués organise dans ses locaux à St-Etienne (42) une journée technique gratuite autour de la thématique « Développer un projet embarqué de l'électronique à l'application », au cours de laquelle les logiciels libres occuperont une place de choix, et en particulier le couple processeur ARM / Linux.

Après une introduction relative au choix de l'électronique et ses impacts sur le système d'exploitation, le thème des licences (GPL, LGPL, autres licences) et de leur conséquences sur les développements logiciels est abordé.

La dernière partie de la journée est consacrée à la création de solutions à base de Linux embarqué à fort contenu applicatif grâce aux outils de développement Yocto et Angström.

Les thèmes développés seront enrichis de démonstrations de projets basés sur Linux.

La manifestation est entièrement gratuite (repas de midi offert) mais nécessite une inscription.

Télécharger ce contenu au format Epub

Lire les commentaires

La suite libre AbulÉdu fait peau neuve

Lundi 17 Novembre

AbulÉdu est une suite logicielle destinée à équiper les écoles. Créée en 1998, cette suite est maintenant utilisée sur un parc de 2.500 serveurs installés et environ 50.000 utilisateurs. Sous licence GPL, la suite est supportée par Ryxéo, garantissant sa pérennité et assurant son support sans nécessiter la présence d'un geek sur place.

La suite logicielle AbulÉdu est complétée par des ressources éducatives libres (Le Terrier, Pédagosite, …) élaborées principalement par des enseignants. Ces ressources ainsi que que les logiciels doivent être périodiquement réactualisés. C'est l'objet de cette nouvelle version.

RyXéo

L'équipe de RyXéo est composée d'informaticiens, de graphistes et de pédagogues, promoteurs du logiciel libre depuis plus de 15 ans.

Actualisation d'AbulÉdu

Forte de sa longue expérience dans le domaine de l'éducation, la société a repensé le développement et l’intégration des logiciels pédagogiques de la suite AbulÉdu en leur ajoutant une dimension réseau, tout en poussant l’utilisation et l’indexation de ressources métier, conformes à la norme ScoLOMFR préconisée par l'Éducation Nationale.

Les logiciels sont maintenant dotés d'une nouvelle interface graphique dessinée par Arnaud Pérat, plus accueillante et mieux adaptée aux élèves du primaire.

Fonctionnalités

La Suite AbulÉdu s'installe indifféremment sur des postes individuels ou en réseau. Cependant, intégrée à un serveur AbulÉdu, pivot central d'une classe numérique, elle propose alors des fonctionnalités de suivi et de partage de ressources. Elle est utilisable depuis un TNI (Tableau Numérique Interactif) et son portage sur tablette est en cours.

Elle propose des outils adaptés à l’apprentissage des maths, du Français, de la création intellectuelle (production d’écrits, de contenus audio, vidéo…). Ils s’inscrivent dans le cadre de référence du S2i2e et autorisent la validation du B2i.

Les logiciels de la Suite se présentent sous la forme d’une suite ordonnée d’exercices et sont conformes au cahier des charges de l'Éducation Nationale. Ils font appel à un même ensemble de compétences en lecture, orthographe, numération, calcul, … directement issues du livret personnel de compétences. Ils s’appuient maintenant sur des modules qui contiennent les paramètres (textes, images, sons, valeurs…) de séquences pédagogiques.

Ces modules sont éditables et modifiables par l’enseignant qui peut ainsi créer ses propres exercices en fonction de son objectif de travail. Des centaines de modules sont partagés entre les différents utilisateurs d’AbulÉdu couvrant tous les domaines d’apprentissages de l’école primaire.

Télécharger ce contenu au format Epub

Lire les commentaires

Ruby Terminal session 4, le 18 novembre 2014 à St-Étienne

Samedi 15 Novembre

L'atelier Terminal Ruby porte bien son nom, c’est une hérésie rien que dans le titre. À travers les ateliers Terminal Ruby, nous vous proposons, depuis fin septembre, de nous attarder sur le plaisir d'écrire, la découverte d'un langage, ses subtilités ou ses multiples variations de tests de réponses autour d'un besoin donné. Ce mardi 18 novembre 2014 aura lieu la 4e séance.

Résumé de l'épisode précédent :

On a commencé vers 19h et fini vers 21h, mais sans trop savoir encore ce qu’on allait faire. ⦿.⦿

Cette dernière session ruby terminal s'est focalisée sur le… je vous le donne en mille… REFACTORIIIING !!! Depuis le temps qu'on vous le dit !

Cette fois-ci nous sommes partis d'un long script transformé en un ensemble de fonctions avec un usage massif du pattern extract method.

Les travaux de cet atelier sont visibles sur le github d'Alolise.

La prochaine session du mardi 18 novembre 2014 est donc la suite logique : regrouper ces fonctions au sein… d'objets !?! Oui ! Et après on recommence : REFACTORING !

Peut-être que dans pas longtemps on verra de l'interface dans le terminal (avec ncurses…) mais chut ! Quoi ? Des interfaces graphiques dans le terminal ? Enfin non, des interfaces texte, ou plutôt des interfaces de texte interactives… Enfin bref ! Des interfaces quoi ! Et qui se voient ! :)

On démarre vers 19h15 jusqu'à 21h.

Voir l'article sur le site d'alolise.

Le tout se déroulera à Saint-Étienne, le 18 novembre 2014 à partir de 19h15, dans notre local :
10 Ter, avenue Albert Raymond
42270 Saint Priest-En-Jarez

Télécharger ce contenu au format Epub

Lire les commentaires

Sortie de radare 0.9.8

Samedi 15 Novembre

Radare2, déjà évoqué sur LinuxFR.org (cf Sortie de radare2 0.9.6), vient de sortir en version 0.9.8. Radare est un cadriciel complet pour jouer avec analyser des fichiers binaires: assembleurs, désassembleurs, moteurs d'analyse, …
Bref, c'est complet et touffu. Et cette nouvelle mouture apporte son lot de bonheur !

Sommaire Chiffres

En termes de chiffres, il s'agit de :

Il est bien sûr possible d'aller éplucher le changelog détaillé à la main, mais c'est plus sympa de lire un billet avec les améliorations et nouveautés alléchantes :

Nouvelles plates-formes

r2-0.9.8 est maintenant compilable pour Android L, à savoir deux nouvelles architectures, mips64 et aarch64. La compilation croisée pour les appareils tournant sous iOS étant maintenant supportée, plus besoin de compiler nativement sur une machine jailbreakée. Les utilisateurs d'Haiku et de Windows 7 seront ravis d'apprendre qu'ils ne sont pas en reste, et que leurs plates-formes sont nativement supportées également.

Nouvelles architectures

Plusieurs architectures ont été ajoutées :

  • un meilleur support de Java. Ok, ça n'est pas une nouvelle architecture, mais son support a été grandement amélioré !
  • cr16 et msp430, principalement utilisées dans l'embarqué ;
  • il est maintenant possible de charger (et de modifier !) des ROM de Nintendo DS ;
  • tms320 (c55x, c55x+, et plus encore à venir), utilisée dans certain BIOS ;
  • m68k, ce qui a permis entre autres choses de reverser des morceaux de Street Fighter ;
  • Spc700, le chips chargé du son dans la Super NES ;
  • Propeller ;
  • et toutes celles apportées par Capstone qui n'étaient pas encore supportées, comme SystemZ.
Un meilleur débogueur

Radare2 possède à nouveau un débogueur natif pour Windows (uniquement en 32 bit pour l'instant), supportant les points d'arrêts matériel ! Beaucoup de choses se sont passées du coté de l'intégration avec GDB, qui fonctionne maintenant sur X86, MIPS et ARM pour qemu et gdb-server.

Intégration de SDB

SDB est un système clef-valeur (un peu comme memcached) en cours d'intégration dans radare2. Il permet de simplifier le code, et d'améliorer les performances de manière générale. Il est possible de jouer avec, grâce à la commande k.

Capstone

Le projet utilise maintenant capstone pour désassembler plusieurs architectures, ce qui a pour effet de simplifier la maintenance et d’apporter un support complet de choses un peu tordues alambiquées, comme AVX ou les instructions FPU.

Qualité logicielle

Grâce à coverity, beaucoup de bugs ont été corrigés. L'utilisation d'ASAN, Valgrind, Jenkins et d'une suite de tests complète a également tiré la qualité vers le haut.

Beaucoup de warnings et de corruptions mémoire ont été détectées et corrigées grâce à l'usage de différents fuzzers, comme (radamsa, melkor, nightmare, zzuf, …), ce qui permet maintenant à radare2 d'être bien plus robuste sur des fichiers exotiques.

DWARF

Un des contributeurs a passé beaucoup de temps à ajouter le support des données DWARF, permettant maintenant à tout le monde de déboguer ses binaires ELF (presque) sans avoir à lire de l'assembleur !

ESIL

ESIL signifie Evaluable Strings Intermedate Language. Il s'agit d'une représentation de chaque opcode, dans le but d'effectuer une émulation complète, pour améliorer l'analyse. Avec ESIL, il est maintenant possible de :

  • déboguer des applications écrites en Brainfuck ;
  • partiellement émuler les architectures suivantes : Gameboy, X86, ARM et MIPS ;
  • définir des points d’arrêt conditionnels ;
  • utiliser des expressions de recherche complexes ;
  • implémenter des moteurs d'analyse indépendants des instructions bas-niveau sous-jacentes.
Exploitation

Radare2 vise également à être utile aux auteurs d'exploits ; il est donc maintenant possible de :

  • analyser des adresses spécifiques avec la commande ai ;
  • déréférencer et manipuler les résultats de registres ou de la mémoire avec drr/pxr, à la PEDA ;
  • recherche des gadgets ROP avec /R
  • détecter certaines protections logicielles avec i ;
  • générer des patterns de De Bruijn ;
  • utiliser la variable search.in pour spécifier où mener la recherche, comme par exemple, la pile, le tas, ou les pages exécutables.
Graphes en ASCII art

Radare2 n'ayant pas (encore) de GUI officielle, la (fameuse) vue en graphe d'IDA a été implémentée en ASCII art ! Il est possible de la faire apparaître avec V en mode visuel, en plaçant le curseur sur une fonction déjà analysée. Cerise sur le gâteau, c'est une visualisation interactive, et utilisable en mode debug ! Les callgraphs sont disponibles avec VVV. Évidement, les graphes de type Graphviz, HTML5 et JSON sont toujours là, mais ne sont plus utilisés par défaut.

Pour l'occasion, le mode visuel a été grandement amélioré pour fournir une meilleure gestion du curseur, un navigateur des références croisées avec x et X ainsi que le support de la molette de souris.

RSoC

Comme le projet n'a pas été accepté par Google pour un GSoC, il a lancé son propre Summer of Code, le RSoC, qui a porté ses fruits : de nouveaux contributeurs, plus de fonctionnalités, de tests et d'utilisateurs :

Support de patrons

Skia a fait du beau travail en implémentant le support de patrons à la 010Editor. Il est maintenant possible, avec r2 -nn d'analyser les en-têtes de fichiers avec pf., pxa et autres commandes associées.

Support de FLIRT et de YARA

jfrankowski a lui aussi apporté sa pierre à l’édifice en améliorant le support de yara dans radare2, ainsi qu'en ajoutant la possibilité d'utiliser des signatures de type FLIRT ! Actuellement, radare2 n'est pas capable de créer ces signatures, donc, si vous cherchez quoi implémenter pour une première contribution, vous savez quoi faire ;)

PDB support

inisider a implémenté une bibliothèque indépendante pour gérer le format PDB, puis l'a intégrée dans radare2. C'est un peu l'équivalent des informations de débug DWARF, mais pour les binaires Windows.

Intégration et bindings

Le script d'importation d'IDA vers radare2 a été grandement amélioré. Duktape est maintenant supporté, ce qui permet d'écrire des programmes pouvant s'interfacer avec radare2 en JavaScript, et même pourquoi pas de les faire tourner sur du NodeJS. Ceci vient s'ajouter aux bindings C, Python et Lua déjà existants.

Documentation et publicité

Un des reproches les plus couramment faits à radare2 est son manque de documentation et de didacticiels. Nous sommes en train d'y remédier, que ce soit avec le radare2 book, un blog, ainsi qu'en donnant des conférences et des workshops.

Analyse inforensique

Le support de libmagic a été amélioré à tel point que radare2 peut maintenant remplacer certaines fonctionnalités de binwalk, par exemple l'analyse des firmwares de routeurs. Les commandes permettant la recherche des données ont également été retravaillées, facilitant la recherche de données complexes. Si vous aimez jouer avec des gros ensembles de données, vous allez aimer la commander rabin2 -zzz qui permet de lister sur la sortie standard toutes les chaînes de tests trouvées dans un fichier, sans faire de copie en mémoire.

R2Pipe et JSON

Depuis cette version, il est possible d'utiliser une version simple des bindings : r2pipe, qui se contente en fait de recevoir des commandes radare2 d'un coté, et de sortir le résultat de l'autre, au lieu de forcer le développeur à appeler les fonctions une par une. Vu que (presque) toutes les commandes peuvent sortir du JSON pour peu qu'on leur ajoute un j à la fin, il est facile d'implémenter des interfaces et des modules (surtout en JavaScript).

Bonus

Comme les contributeurs de radare2 sont des petits malins, ils ont également :

  • ajouté une version ASCII du jeu 2048 ;
  • ajouté une tripotée de thèmes ;
  • coloré l'aide intégrée (?) ;
  • amélioré le moteur d'analyse.
Télécharger ce contenu au format Epub

Lire les commentaires

Tracim - entre forum, wiki et gestion de fichiers

Samedi 15 Novembre

Tracim est un outil collaboratif à la croisée des chemins entre forum, wiki, gestion électronique de documents voire réseau social d'entreprise. Tracim est la refonte et la rationalisation du projet Pod que je vous avais présenté en juin 2014. Tracim est disponible sous licence AGPL.

Sommaire Introduction Problématique

Animer une communauté ou une équipe nécessite :

  • de discuter ;
  • de partager des information ;
  • de collaborer sur des fichiers.

Des outils répondant à chacun de ces besoins existent, certains répondent même à l'ensemble de ces besoins dans un contexte métier particulier (exemple : Redmine dans le domaine du développement logiciel).

Cas d'utilisation Équipes réparties ou nomades

Vous avez une équipe de techniciens nomades qui interviennent chez vos clients. Quel outil utiliser pour stocker les documents associés à chaque client, centraliser l'historique client et accéder/enrichir une base de connaissance et de collaboration entre techniciens ?

Animation de communauté

Vous souhaitez mettre en place une plateforme comme support de votre communauté d'experts ou de passionnés. Wiki ? Forum ? Partage de fichiers ?

Synergie et support client

Vous souhaitez créer une synergie entre vos clients et vous pensez mettre en place un forum. Mais vous voulez également partager avec eux des informations générales - installation de vos logiciels, documentations, et idéalement également des informations privées (copie des fichiers de configuration du client, page d'information résumant son environnement technique, etc).

Le problème des solutions existantes

Les solutions existantes ne sont pas satisfaisantes sur plusieurs aspects :

  • esthétique : on collabore difficilement avec des clients ou collaborateurs non techniques sur des produits austères, même si ces outils sont puissants ;
  • facilité d'utilisation : trop de fonctionnalités complexifie inévitablement l'interface, pour des besoins simples les utilisateurs veulent une interface simple ;
  • cloisonnement de l'information : utiliser plusieurs outils spécialisés cloisonne l'information ; c'est également le cas avec des solutions comme Redmine : les pages d'informations sont dans les wiki, les discussions dans les forums, les fichiers dans la section fichiers…

C'est là qu'intervient Tracim.

Qu'est-ce que Tracim ? Un outil collaboratif

Tracim est un outil collaboratif à la croisée des chemins entre forum, wiki, gestion électronique de documents voire réseau social d'entreprise. Tracim est la refonte et la rationalisation du projet Pod que je vous avais présenté en juin 2014.

Espaces de travail et utilisateurs

Tracim vous propose de créer des espaces de travail, d'y inviter des utilisateurs en leur affectant un rôle

  • lecteur ;
  • contributeur ;
  • gestionnaire de contenu ;
  • ou encore responsable.

Chaque utilisateur a accès à un certain nombre de fonctionnalités en fonction de son rôle. Les utilisateurs peuvent être membre de plusieurs espaces de travail, ce qui permet de gérer différents niveaux d'accès sur différentes ressources. Exemple : votre client Michel R. sera par exemple "lecteur" sur l'espace de travail "documentation et fichiers à télécharger" mais il sera contributeur sur l'espace "discussions et entraide".

Chaque utilisateur définit lui-même s'il reçoit des notifications par email, et ce pour chacun de ses espaces de travail. Cela lui permet d'être informé en temps réel sans pour autant être submergé de notifications.

Contenus : fichiers, discussions et pages d'informations

Les contributeurs, gestionnaires et responsables peuvent créer des contenus tels que fichiers, pages d'information et discussions, les commenter, les mettre à jour et en changer le statut. Ces informations sont organisées dans des dossiers dont le contenu peut être limité à certains types.

Traçabilité, versionning et historique de l'information

Quand on assimile de l'information, il est primordiale de connaître son contenu (évidemment), mais également sa validité et comment on en est arrivé là. C'est pour cela que Tracim propose pour chaque contenu :

  • un statut : ouvert, résolu, non résolu ou obsolète ;
  • un historique et un versionning complet.
Pourquoi utiliser Tracim plutôt qu'un autre outil ?

Vous utiliserez Tracim :

  • parce qu'il est simple et pragmatique et que sa vocation est de le rester ;
  • parce qu'il améliore la qualité en proposant versionning et traçabilité ;
  • parce que l'invitation d'un collaborateur se fait en trois clics et que cela lui permet de rapidement monter en compétence en ayant accès à l'intégralité du contenu ;
  • parce que c'est un logiciel libre et que vous pouvez l'adapter à vos besoins et notamment proposer un écran d'accueil attrayant à vos couleurs et visuels.

Si vous êtes administrateur système :

  • tout ce qui passe sur Tracim ne sera pas dupliqué dans les boîte mail de vos collaborateurs. Le partage d'un fichier de 500Ko entre 10 personnes ne prendra pas 5Mo mais 500Ko ;
  • la sauvegarde et la restauration d'un système se fait simplement par un dump SQL et par sa restauration (les fichiers sont stockés en base, c'est un choix qui simplifie les processus de sauvegarde et de restauration ; un stockage local est prévu dans les fonctionnalités à venir).

Je vous invite à découvrir deux captures d'écran. Si cela ne suffit pas, vous en trouverez plus sur le site de présentation. Le mieux reste de tester la démonstration en ligne.

Comment l'utiliser ?

Tracim est une application web Python3 / PostgreSQL. Pour utiliser Tracim, vous pouvez télécharger le code source sur Github et l'installer sur l'un de vos serveurs en suivant la procédure d'installation. Si vous souhaitez utiliser Tracim en mode "saas", je peux vous proposer de prendre en charge l'hébergement, l'administration et les mises à jour.

Contribuer au projet

Si le projet vous intéresse, vous pouvez contribuer de manière prolongée mais également de manière ponctuelle :

  • remonter des bugs, besoins de fonctionnalités, propositions d'amélioration ;
  • rejoindre la communauté ;
  • proposer des traductions dans une langue que vous maîtrisez (pour le moment l'Anglais & le Français sont disponibles) ;
  • parler du projet autour de vous, le conseiller aux personnes que cela pourrait intéresser.

Toute contribution est bonne, même celles qui vous paraîssent insignifiantes (comme des corrections d'orthographe, de formulation ou de typographie).

Futur et innovations

Un certain nombre de fonctionnalités sont d'ores et déjà prévues, tant techniques que fonctionnelles. Une piste d'innovation en cours de réflexion réside dans la collaboration par email. Là où de nombreuses plateformes collaboratives cherchent à remplacer l'email, Tracim cherche à collaborer avec (et capitaliser sur).

Mais la première chose, c'est de créer la communauté et d'avoir des utilisateurs. Alors n'hésitez pas : utilisez Tracim :)

Télécharger ce contenu au format Epub

Lire les commentaires

L'April invite à signer l'appel pour l'interopérabilité dans l'Éducation nationale.

Vendredi 14 Novembre

Dans le cadre de leurs missions les personnels de l'éducation et les communautés scolaires partagent des documents, les utilisent, les modifient et les diffusent.

Dénonçant la stratégie commerciale des formats privateurs et fermés qui vise à provoquer la dépendance des utilisateurs et à créer un marché captif, l'April estime que le service public d'éducation doit cesser d’être l'otage d'écosystèmes propriétaires et doit cesser d'accoutumer ses élèves aux éditeurs dominants. Il ne doit plus y avoir aucun asservissement ni à un logiciel, ni à un fournisseur spécifique.

L'interopérabilité est donc une nécessité qui facilitera le partage et la pérennité des documents ainsi que l'indépendance de tous les acteurs du monde de l'éducation. Les documents mis à disposition ou échangés au sein de l’Éducation nationale doivent être dans des formats de fichiers ouverts et interopérables.

À l'initiative de l'April, plus de 100 personnels, enseignants, syndicats de l'Éducation nationale lancent un appel pour la généralisation des formats ouverts dans l'Éducation nationale. Cet appel reçoit également le soutien de SE-UNSA1, du SGEN-CFDT2, de la Fédération SUD Éducation3, des Clionautes4 et de LinuxÉdu5. Il est ouvert à tous.

Pour l'interopérabilité dans l'Éducation nationale l'April appelle personnels, parents d'élèves, organisations, citoyens à signer.

Télécharger ce contenu au format Epub

Lire les commentaires

Liquid Prompt 1.9

Vendredi 14 Novembre

Le Liquid Prompt est un prompt fluide affichant de manière limpide des informations utiles là où vous les verrez : le prompt de votre shell bash ou zsh. Le liquidprompt était déjà bien rempli de fonctionnalités, mais celles-ci ont été stabilisées et leurs performances améliorées durant les mois écoulés. Il était temps de sortir une nouvelle version officiellement stable.

Pour les détails de cette version surtout composée de correctifs (indicateurs de batterie, température, charge processeur, nom de machine, gestion de code source, chemin, prompt, horloge, etc.) ; les curieux sont invités à consulter le fichier CHANGES : Battery indicator, Temperature indicator, CPU load, Hostname, VCS (Git, Fossil, Subversion, Bazar, Mercurial), Analog clock, etc.

Je profite de cette dépêche pour remercier chaudement les 15 contributeurs qui par leurs patchs ont contribué à cette version : Anthony Gelibert, Frédéric Mahé, Panayiotis Kkolos, Étienne Deparis, François Schmidts, Linus Wallgren, Alexander Belaev, Bartosz Janda, Brett McBride, Chase Colman, Cosmin L. Neagu, Matthew Micene, Vincent Lara, Wilson Maravilha et Yannack. Mais aussi tous ceux qui ont signalés des bogues ou proposé des patchs refusés ou en attente.

Télécharger ce contenu au format Epub

Lire les commentaires

Enemy Territory: Legacy, en résistance

Vendredi 14 Novembre

Le projet Enemy Territory: Legacy est basé sur le code source de Wolfenstein: Enemy Territory, un jeu vidéo de tir subjectif multijoueurs se déroulant durant la Seconde Guerre mondiale et développé par Splash Damage. Sorti en 2003, ce jeu gratuit tournant sur une version modifiée du moteur id Tech 3 (plus connu sous le nom de Quake Ⅲ engine) fut libéré en avril 2010 par Id Software sous licence GNU GPL v.3.

Les buts majeurs du projet ET:Legacy sont d’éradiquer les bogues du moteur, nettoyer le code et le rendre jouable sur les principaux systèmes d’exploitations, tout en restant compatible avec les serveurs de la version propriétaire ET 2.60b, ainsi qu’avec autant de mods existants que possible. Le mod Legacy livré par défaut vise à ajouter de nombreuses fonctionnalités et améliorations, tout en restant proche de la jouabilité d’origine.

En attendant une version stable qui se fait attendre, voici quelques nouvelles du front…

Sommaire

De Wolfenstein 3D à ET:Legacy

ET:Legacy tire ses plus profondes racines de Wolfenstein 3D, l’ancêtre de Doom, developpé par Id Software en 1992 (et communément appelé « Wolf 3D »). Le joueur incarne un soldat Allié qui se retrouve prisonnier dans un château nazi dont il doit s’échapper. Ce jeu a rendu populaire le genre du tir subjectif (FPS).

Publié en 2001, toujours par Id Software, Return to Castle Wolfenstein (RTCW) est un reboot couronné de succès de Wolf 3D. En effet, son mode multi-joueurs est devenu la partie la plus renommée du jeu, ayant même une influence considérable sur le genre. Ayant travaillé sur quelques unes des cartes de l’édition « Game of the Year » de RTCW, le studio indépendant londonien Splash Damage s’est vu confier le travail sur la partie multijoueurs de la suite de RTCW.

Wolfenstein: Enemy Territory était à l’origine prévu pour être publié en tant qu’extension de RTCW, puis plus tard comme un jeu autonome. Toutefois, en raison de problèmes avec la partie solo, la sortie commerciale fut annulée tandis que la partie multijoueur du projet fut mise à disposition en mai 2003 en tant que jeu gratuit, ce qui explique sa popularité et sa très longue longévité. En janvier 2004, un SDK fut publié au profit de la communauté, permettant de créer de nouvelles cartes et modifications.

Tandis que le code du moteur de Quake 3 était disponible depuis 2005, les versions modifiées des moteurs d’Enemy Territory et de Return to Castle Wolfenstein n’ont été libérées qu’en 2010, permettant alors à la communauté de s’essayer à la maintenance et à l’amélioration du logiciel.

La reprise du développement et le problème juridique

Avec une base de code commune à Quake 3, les développeurs derrière le projet libre ioquake3 chez icculus.org se sont naturellement intéressés à ce nouveau code libéré, annonçant immédiatement que le travail sur iowolfet et iortcw commençait. Cependant, si la base de code est très similaire, il existe une cruciale différence qui n’a rien à voir avec la technique, mais relève d’une question juridique : le moteur de Quake 3 a en effet été publié à l’origine sous licence GPLv2, tandis que les nouveaux moteurs sont sous licence GPLv3.

En d’autres termes, il n’était pas possible de transférer les améliorations du moteur iowolfet dans le code de ioquake3, bien plus avancé et plus propre sur de nombreux points grâce au travail apporté sur plusieurs années. L’unique solution consistait ainsi à transférer dans iowolfet les améliorations déjà faites dans ioquake3. Cependant, comme personne n’aime faire le travail deux fois, et à cause de possibles ambiguïtés juridiques liées à certaines parties de code dans ioquake3 qui étaient à l’origine sous GPLv2 uniquement, les dépôts iowolfet et iortcw d’Icculus ont végété dans leur coin, sans modifications notables.

Mais différents projets ont surgi à de nombreux endroits à travers le web. La plupart (sinon la totalité) d’entre eux ne se souciaient pas vraiment de mélanger du code GPLv2 et GPLv3. En pratique, personne ne viendra faire une réclamation légale de toute façon… probablement.

Les tentatives d’amélioration

Voici une vue d’ensemble des principaux projets qui ont vu le jour :

  • wolfet-merge était une tentative pour inclure les fonctionalités spécifiques à Enemy Territory dans ioquake3, puisqu'ioquake3 disposait déjà d’une base de code bien plus propre. Ceci s’est révélé plus facile à dire qu’à faire, ce qui a conduit au projet suivant.

  • raedwulf-et a essayé de rafistoler les problèmes, en empruntant des améliorations à ioquake3. Ce projet a duré un certain temps et a été forké quelques fois. On peut dire qu'il a été assez réussi bien que quelques détails gênants ne soient pas réglés. Il est cependant maintenant mort.

  • ET:XreaL est une importante refonte d’Enemy Territory. Le fonctionnement interne du moteur est devenu proche de celui d’idTech 4 et le contenu du jeu a été modifié en partie pour obtenir des textures et effets visuels plus nets et brillants, afin de démontrer les capacités du moteur. Son auteur a depuis quitté le projet ET:Xreal pour travailler sur idTech 4.

  • Open Territory était un fork d’ET:XreaL qui était destiné à devenir ce que OpenArena est à ioquake3. Ce projet a été de courte durée aucun artiste n’ayant été trouvé.

  • OpenWolf essayait d’être à la fois comme ETXreaL et raedwulf-et en ayant deux moteurs de rendu : le moteur original OpenGL 1.3 et le moteur de rendu OpenGL 3.2 issu du projet Xreal. En y ajoutant la gestion de l’ancien et d’un nouveau format d’animation. Cependant, après la libération par GarageGames du moteur Torque3D sous licence MIT en septembre 2012, l’auteur d’OpenWolf a stoppé son projet et a commencé à travailler sur quelque chose de totalement nouveau avec cet autre moteur.

  • ET: Legacy, le présent projet, est à l’origine un fork de raedwulf-et. À un certain moment dans le développement, l’auteur de raedwulf-et a commencé à remplacer SDL en faveur de GLFW dans son projet. Tout le monde n’a pas apprécié ce changement et le code a été forké pour commencer une autre vie.

Ainsi, parmi les différentes tentatives d’amélioration les plus connues, seul le projet ET:Legacy est toujours actif et en constant développement depuis son lancement.

Tandis que les projets ET:XreaL et OpenWolf se concentraient surtout sur la modernisation du jeu avec un moteur graphique renouvelé et de nombreux effets modernes, ET:Legacy choisit au contraire de se focaliser avant tout sur la résolution de bogues gênants et sur les failles de sécurité en rétroportant les améliorations issues de ioquake3, tout en restant compatible binairement avec les serveurs et clients originaux du jeu, ainsi qu’avec ses mods.

En somme, ET:Legacy ambitionne de vous permettre de jouer à l’ancienne, tout simplement !

Le jeu réutilise les données du jeu d’origine, non libres, mais téléchargeables gratuitement.

Jouabilité

Aperçu de la jouabilité de Wolfenstein: Enemy Territory.

Un bunker anti-débarquement sur la carte « Seawall Battery ».

Deux équipes s’affrontent dans le contexte de la Seconde Guerre mondiale, les Alliés et les forces de l’Axe. Une équipe doit réaliser un ou plusieurs objectifs dans un temps imparti, tel que dynamiter un dépôt de carburant ou capturer un objet, tandis que l’autre équipe doit faire son possible pour empêcher cet objectif de se réaliser.

Ingénieur de l’Axe désamorçant une bombe posée par un ingénieur Allié.

Chaque joueur peut choisir entre cinq classes différentes, chacune proposant des armes et capacités de combat uniques. Les Covert Ops peuvent voler les uniformes des ennemis tombés au combat et effectuer une reconnaissance discrète derrière les lignes ennemies, tandis que les ingénieurs peuvent planter et désarmer des mines, ainsi que construire des structures sur le champ de bataille pour obtenir des avantages pour leur équipe. Les médecins assurent les soins et la réanimation des coéquipiers tombés, tandis que les Field Ops assurent le ravitaillement en munitions et utilisent leurs jumelles pour marquer les positions ennemies pour une attaque aérienne ou un pilonnage de batteries amies. Les soldats assurent l’essentiel du combat avec des armes lourdes, telles que mitrailleuses défensives, mortiers, lance-flammes ou lance-roquettes.

Les Alliés doivent escorter ce tank volé sur la carte « Gold Rush ».

La coordination de toutes les classes est ainsi nécessaire pour atteindre l’objectif et obtenir la victoire. Les joueurs éliminés réapparaissent sur la carte par vagues, évitant les temps d’attente trop longs.

Combat près d’un avant poste sur « Supply Depot », une carte additionnelle très jouée.

Lors de la partie, chaque joueur engendre des points d’expérience qui permettent d’améliorer son personnage, au fur et à mesure des combats et de ses actions. Ce jeu de tir subjectif dispose donc aussi d’éléments de jeu d’aventure.

La carte « Fuel Dump » sous la neige, d’autres missions se passent plutôt sous la chaleur du désert.

Six cartes différentes sont disponibles dans le jeu de base, mais plusieurs centaines d’autres sont disponibles et seront téléchargées automatiquement lors de la connexion aux serveurs.

Nouveautés depuis la version 2.60b

Contrairement à certains mods populaires qui ajoutent une grande quantités d’armes disponibles ou d’autres fonctionnalités modifiants en grande partie la jouabilité d’origine, le mod Legacy vise à conserver l’expérience authentique du jeu de base, simple et efficace.

Néanmoins, de nombreuses fonctionnalités et améliorations utiles ont été ajoutées. Parmi celles-ci, citons :

  • Nouveaux modèles 3D pour les armes, à des fins de cohérence historique : les alliés utilisent maintenant le couteau Ka-bar, le Browning MG et le bazooka en lieu et place de la dague allemande, de la mitrailleuse MG 42 et du Panzerfaust. Les joueurs de l’Axe ont quant à eux accès au Granatwerfer au lieu du mortier allié.

  • Équilibrage des armes : le M1 Garand allié dispose du même nombre de cartouches que la carabine K43, tandis que le temps de rechargement de cette dernière a été diminué.

  • Amélioration de la jouabilité : les joueurs qui se penchent au détour d’un mur sont maintenant visibles par tous, les déstabilisations dues aux explosions sont plus réalistes. Une icône s’affiche sur les cover ops déguisés amis ainsi que sur la carte, améliorant leur visibilité. Désormais, le porteur de l’objectif peut aussi être localisé rapidement sur la carte. La barre d’endurance est quant à elle remplacée par une barre de respiration restante lorsque le joueur est sous l’eau.

  • Amélioration de l’interface présentée au joueur : les polices floues font partie du passé et l’affichage tête haute (HUD) est maintenant complètement personnalisable. Des icônes additionnelles sont utilisées afin de rendre les messages d’évènements plus explicites, les objectifs sont maintenant visibles directement via une fenêtre pop-up. Le nom des joueurs est désormais affiché pour les spectateurs en « vue libre ».

  • Nouveau mode de jeu Map Voting, permettant de choisir la prochaine carte à jouer via un vote. Ce dernier mode s’ajoute aux modes existants Objective, Campaign, Stopwatch et Deathmatch.

  • Configuration « Compétition » : de nombreuxparamètres pour configurer finement une partie ont été ajoutés, les paramètres des clients peuvent être forcés à une certaine valeur par le serveur via un ensemble de règles prédéfinies. Ces fonctionnalités sont inspirées du mod propriétaire « etpro », qui n’est plus développé depuis 2006 et est incompatible avec ET:Legacy.

  • Extensibilité via des scripts Lua. En particulier, toute la suite d’administration des joueurs est codée en Lua et facilement extensible, au contraire des interfaces d’administration incluse dans les mods existants. Notons aussi l’ajout de la compatibilité avec la dernière version en développement du mod d’intelligence artificielle Omni-bot.

Bien sûr, le mod Legacy profite de la résolution de très nombreux bogues et d’autres ajustements variés. Entre autres, l’ensemble des patches issus du Project: Bug Fix ont été implémentés.

Et sur le plan technique, citons les améliorations suivantes :

  • Changements  : sous Windows, les profils utilisateurs et les données téléchargées sont maintenant séparées des données du logiciel, comme sous GNU/Linux. En outre, ET:Legacy utilise maintenant son propre dossier de configuration (~/.etlegacy sur GNU/Linux et \ETLegacy sous Windows), permettant l’installation distincte en paralèlle du Wolf:ET original. Les clients reçoivent le Message of The Day (MOTD) directement de la part de etlegacy.com, l’icône a été modifiée et, au passage, on peut noter qu’elle est désormais intégrée dans le binaire sous Windows.

  • Audio : raedwulf avait corrigé plusieurs problèmes de son et ajouté la gestion d’OpenAL. Le passage à la SDL permet une gestion ALSA native, évitant des bidouilles monstrueuses afin de rediriger le vieux système son OSS vers ALSA. On peut désormais couper le son lorsque le jeu est minimisé !

  • Rendu : le moteur permet désormais de rendre des polices TrueType ttf ou OpenType otf via Freetype, un bogue qui affectait le rendu de léger brouillard est corrigé, le client console a été porté sur ncurses et interprète les codes couleurs tout comme ioquake3 !

  • Internationalisation  : la possibilité de traduire le jeu a été ajoutée, et quelques traductions ont déjà été ajoutées, profitant du tout nouveau rendu des polices via Freetype. Un bogue qui affectait l’affectation des touches sur les claviers non-QWERTY a été corrigé.

  • Réseau : Le serveur différencie maintenant les joueurs humains des joueurs AI (visible pour les serveurs ET:Legacy dans le navigateur des serveurs), l’algorithme de Nagle pour les connexions TCP a été désactivé pour une plus grande réactivité.

  • Autres corrections en vrac  : quelques bogues trouvés avec des outils d’analyse statique ont été corrigés ainsi que des fuites mémoires (classique) ;-). Le bug du pointeur de souris retenu par la fenêtre en mode fenêtré a été contourné. Les serveurs maîtres recevaient toujours des paquets keep-alive même après déconnexion du joueur, c’est corrigé.

  • Compilation  : le système de compilation est passé de SCons au plus puissant « moteur de production » multiplate-forme CMake. Les bibliothèques SDL 2, libcurl et libjpeg6 utilisées sont désormais liées dynamiquement. La prise en charge de la libjpeg-turbo a également été ajoutée. Il est désormais possible de compiler ET:Legacy pour Windows depuis GNU/Linux grâce au système de compilation croisée MinGW.

  • Portabilité : Les routines assembleur i386 ont été remplacées par les routines équivalentes développées par le projet ioQuake3. ptitSeb, développeur très actif dans le projet OpenPandora (un projet communautaire de console de jeu de poche tournant sur GNU/Linux), a porté le moteur sur l’architecture ARM et a implémenté la gestion d’OpenGL ES afin de pouvoir rajouter ET:Legacy à la logithèque de Pandora ; BZsili a rajouté la prise en charge des systèmes AROS et MORPHOS ; enfin Jonathan Gray s’est occupé de la prise en charge d’OpenBSD.

Configurations prises en charge

ET:Legacy prend donc en charge les systèmes GNU/Linux, *BSD, OS X, Windows, AROS et MORPHOS, et les architectures x86, x86_64 et ARM.

Les binaires OS X sont compatibles seulement avec Mountain Lion (10.8) ou supérieur et les mods « Silent » et « Legacy ».

Seules les configurations 32 bits sont compatibles avec les serveurs Wolf:ET d’origine. Les mods les plus populaires sont pris en charge, à l’exception du mod « etpro » dont le module anti-cheat intégré dans la partie cliente vérifie explicitement la présence du binaire d’origine 2.60b.

Il est possible d’utiliser ET:Legacy en 64 bits, mais on ne pourra se connecter qu’aux serveurs proposant moteur et mod en version 64 bits (ET:Legacy avec Legacy mod pour l'instant). Le même problème se pose pour les architectures nouvellement supportées. Le module de joueurs IA Omni-bot a lui aussi été récemment porté en version 64 bits.

Le futur d’ET:Legacy

ET:Legacy proposera également un moteur openGL 3.2, mais contrairement à ET:XreaL l’ancien est toujours disponible. Dérivé en partie du travail fait sur ET:XreaL et OpenWolf, le code a été porté de C++ à du C pur pour ET:Legacy. Le travail sur le nouveau moteur avance petit à petit, mais est loin d’être terminé. Aussi, un set complet de nouvelles textures haute résolution pour accompagner le nouveau moteur est en cours d’élaboration.

Le code libéré d’Enemy Territory ne contient pas le code spécifique à l’anti-triche propriétaire PunkBuster, qui a de toute façon abandonné la prise en charge de Wolf:ET en 2011. Un anti-triche étant difficile a mettre en œuvre dans un code ouvert, ET:Legacy vise à mettre en place un système d’authentification libre, permettant de bannir les tricheurs plus aisément.

Puisque les données du jeu d’origine ne sont pas libres, ET:Legacy n’est pas par définition un jeu entièrement libre, posant une certaine difficulté d’empaquetage dans les distributions GNU/Linux. À plus long terme, le projet désire remplacer toutes les textures, modèles 3D et sons par des équivalents librement modifiables et distribuables. Se pose alors l’identité même d’Enemy Territory : que deviendrait l’authentique expérience Wolf:ET sans sa fameuse identité sonore ( « Mediiiiic ! ») ?

EasyGen est un outil permettant de générer facilement des terrains pour des cartes personnalisées. Le programme n’avait pas été mis à jour depuis plus de 10 ans (!), mais après la libération des sources (merci à Francesco Bancalà, son créateur, d’avoir pris en compte cette demande), ET:Legacy a l’intention d’ajouter ce générateur de cartes très utile dans sa boîte à outils.

 


 

Le code a déjà été adapté pour pouvoir le compiler sur Visual Studio (2008-2012), tandis que le système de bibliothèque d’images obsolète a été remplacé. La prochaine étape est de porter le code vers le framework Qt afin de permettre aux systèmes d’exploitation autres que Windows de l’utiliser. À l’avenir, des outils de conversion de modèles seront introduits afin de permettre une création de modèles plus aisée. Vous trouverez le dépôt de ce projet annexe d’ET:Legacy ici.

Enfin, il faut peut-être citer ET:Live, une tentative pour obtenir l’équivalent de Quake Live, à savoir ET jouable dans un navigateur. Ce projet parallèle à ET:Legacy et préparé par une équipe totalement distincte veut utiliser le code d’ET:Legacy comme base de travail. On peut cependant questionner la pertinence du projet, à l’heure où Quake Live repart sur une installation traditionnelle suite à l’abandon des greffons NPAPI par les navigateurs, ainsi que la synergie inexistante avec le projet amont.
En effet, ET:Live ressemble plus à une boîte noire, sans communication avec l’équipe d’ET:Legacy et, il semblerait, une duplication importante de travail, notamment par rapport aux améliorations graphiques du nouveau moteur de rendu en préparation d’ET:Legacy.

En conclusion

Quatre ans après sa libération, le code de Wolfenstein: Enemy Territory vit toujours au travers de l’actif projet ET:Legacy. En deux ans, le dépôt de code a vu défiler plus de 3 800 commits par 33 contributeurs différents, tandis que près de 400 tickets ont été fermés sur le bugtracker.

Le chemin est encore long, mais le projet propose des améliorations notables et attendues dans le moteur et ceci pour plusieurs plate-formes. Le mod Legacy proposé, quand à lui, a su repartir d’un code plus ancien que ses alternatives propriétaires existantes et se remettre à niveau, afin d'offrir une jouabilité plaisante et sous code libre.

Parce que c’est du code libre et que c’est facile (et que ça ne coûte pas cher de demander  :p), notons encore que le développement d’ET:Legacy est un effort collaboratif fait d’une manière ouverte, transparente et conviviale. Si vous avez l’âme d’un codeur, d’un artiste ou d’un traducteur : engagez-vous ! Tout le monde est le bienvenu ! Vous trouverez plus d’information sur le site du projet et sur le canal IRC #etlegacy sur Freenode.

Et pour tester ?

Depuis la quatrième Release Candidate de juin dernier, de nombreuses modifications ont été apportées. En particulier, le projet a décidé de fusionner sa branche SDL 2, en test depuis de nombreux mois, permettant de corriger un grand nombre de bogues présents dans la branche principale avec la version SDL 1.2. En outre, un important travail au niveau du nouveau moteur de rendu a été effectué, même s'il ne sera sous doute pas compilé par défaut dans la première version stable officielle.

La version stable ne sera donc probablement pas publiée tout de suite. En attendant celle-ci, vous pouvez bien entendu tester le projet en installant l’un de ces paquets :

  • Version officielle (RC4) : la dernière Release Candidate disponible, compilée statiquement et compatible avec n’importe quelle distribution. Notez que cette version 32 bits nécessite les bibliothèques graphiques et audio 32 bits adéquates si vous utilisez un système 64 bits.

  • Paquets expérimentaux (RC4) : des paquets pour les distributions majeures sont disponibles. Attention, ces paquets ne sont pour le moment proposés qu’en version 32 bits et 64 bits. Si vous désirez jouer sur les serveurs existants :

    • utilisateurs d’openSUSE et de Fedora 64 bits, veillez à installer la version i586 ;
    • utilisateurs de Debian et d’Ubuntu 64 bits, installez plutôt la version officielle ci-dessus ;
    • utilisateurs d’Arch Linux 64 bits, installez plutôt le paquet etlegacy disponible dans l’AUR après avoir lu le PKGBUILD.

Notez également qu'en raison de restrictions légales, les données requises ne peuvent pas être incluses dans les paquets proposés. Mais vous pouvez les télécharger gratuitement et légalement sur le site officiel de Splash Damage. Alternativement, vous pouvez utiliser ce script pour récupérer les fichiers nécessaires automatiquement.

Vous avez besoin des fichiers pak0.pk3, pak1.pk3 et pak2.pk3 qui doivent être placés dans ~/.etlegacy/etmain ou dans le répertoire etmain situé dans le même répertoire que le binaire etl. Cette étape est faite automatiquement pour les utilisateurs d’Arch Linux.

Pour les plus courageux d’entre vous qui voudraient utiliser la toute dernière version de développement, vous trouverez les instructions de compilation dans le dépôt GitHub du projet ; les utilisateurs d’Arch Linux pourront installer le paquet etlegacy-git disponible dans l’AUR.

Merci tout particulièrement à Spyhawk qui a coécrit cette dépêche, ainsi qu’à M5oul et BAud pour leurs précieuses et minutieuses corrections.

Télécharger ce contenu au format Epub

Lire les commentaires

Questionnaire à l'intention des associations pour connaître leurs pratiques numériques

Vendredi 14 Novembre

Le groupe de travail Libre Association de l'association April lance un nouveau questionnaire à l'intention des associations sur leurs pratiques numériques.

Le but est de mieux connaître les besoins spécifiques des associations en matière d'informatique de manière à pouvoir leur proposer des logiciels libres qui répondent à leurs besoins notamment via le "Guide Libre Association".

Suivez le lien ci-dessous pour répondre à ce questionnaire et le relayer auprès d'associations que vous connaissez.

Télécharger ce contenu au format Epub

Lire les commentaires

Weboob atteint la maturité

Vendredi 14 Novembre

Weboob (Web Outside Of Browsers) est une bibliothèque et un ensemble d'applications interagissant avec des sites Web. Plus de quatre ans après le premier commit, nous avons le plaisir d'annoncer la sortie de la première version stable de Weboob !

En plus de présenter les nouveautés, cette dépêche profite de cette version pour faire un rapide retour sur l'historique et l'évolution du projet.

Sommaire Le nouveau browser

Comme nous l'expliquions dans la dépêche précédente, cette annonce de première version majeure est l'aboutissement de notre projet de refactorisation de code. Afin de rendre plus aisé le support de sites web par Weboob, le projet fournit de nombreux outils, dont une bibliothèque qui simule le fonctionnement d'un navigateur. Depuis quelques versions, cette bibliothèque a été réécrite sous le nom de "Browser2" puis tout simplement "le nouveau browser" (navigateur). Celui-ci est prêt à l'utilisation, et suffisamment abouti pour que son API reste stable durant la durée de vie de la branche 1.x. Nous nous autorisons des ajouts, mais l'existant ne sera pas modifié.

Ce nouveau Browser et les outils associés sont l'une des forces du projet : le scraping (extraction de contenu) est souvent une tâche répétitive, mais Weboob fait tout pour atténuer ce problème. Nous pensons que le projet a maintenant atteint un niveau de maturité lui permettant d'honorer cette promesse. Avec tous les outils du browser (ListElement, filtres, pagination, formulaires, etc.), un module peut ne prendre que quelques lignes de code.

Retour sur l'origine du projet

En 2008, un petit script Python utilisant mechanize et html5lib a vu le jour, écrit par un utilisateur d'un site de rencontres français bien connu, et dont l'objet était de remplacer l'interface web sur fond rose par son MUA pour échanger avec ses contacts. Très vite, il renouvela l'expérience avec un autre script pour récupérer automatiquement son solde et ses relevés depuis le site de sa banque.

Lorsque, début 2010, il lança le projet dlfp2mail, il se rendit compte de la possibilité d'appliquer la méthode à bon nombre d'autres sites web, et chercha à factoriser le code au sein d'un même et unique projet. Weboob était né.

Ainsi que ceux qui jasent sur le nom l'ignorent, il était initialement prévu de l'appeler woob. Ce n'est que lorsqu'on constata qu'il existait déjà un autre logiciel portait déjà ce nom qu'il fut décidé de le renommer weboob.

Les concepts fondateurs furent rapidement posés :

  • séparation entre les modules interagissant avec les sites et les applications ;
  • système de capacités que chaque module peut implémenter ;
  • bibliothèque utilisable par des applications tierces.

Le projet s'est depuis enrichi d'un navigateur puissant (remplaçant mechanize par requests) pour le parcours et l'analyse lexicale des pages, d'un système de dépôts pour les modules, de classes helper pour résoudre les claviers virtuels, etc.

37 capacités

Les capacités sont des interfaces permettant aux applications d'interagir avec les sites Web, de façon unifiée. Par exemple, la capacité bancaire offre la possibilité de lister les comptes, obtenir l'historique des transactions, faire des virements, etc. De leur côté, les modules implémentent une ou plusieurs de ces capacités (parfois partiellement uniquement, notamment si le site n'a pas la fonctionnalité). Les applications ont donc des interfaces unifiées et stables pour interagir avec tous les sites d'une catégorie, et non pas avec un seul site bien particulier.

C'est une grande différence avec les nombreux scripts d'extraction de contenu individuels pouvant se trouver sur Internet : on accède à tous les sites permettant de télécharger des vidéos d'une manière unique, à tous les sites bancaires en une seule requête, etc. La diversité des fonctionnalités des sites Web se retrouve en partie chez Weboob : nous proposons actuellement 37 capacités différentes, à comparer avec les 172 sites dont Weboob permet l'accès.

Utilisations tierces

Le projet Weboob fournit des applications basiques pour interagir avec les sites. Ces applications permettent d'effectuer des requêtes complexes (avec notamment un système de filtres sur les résultats), et permettent déjà de nombreuses interactions. Notre objectif n'est cependant pas de remplacer les applications existantes : nous n'allons pas créer un nouveau gestionnaire financier personnel dans Weboob. De très bons logiciels libres existent déjà pour celà. De même pour les lecteurs vidéos.

Nous mettons donc l'accent sur l'export des données en formats utilisables par tous, ainsi que sur l'utilisation de Weboob en tant que bibliothèque dans les projets. Cette méthode a particulièrement bien fonctionné pour les applications bancaires, mais aussi pour des usages plus inattendus. On peut citer à la fois des entreprises (Cozycloud, Budget Insight, Winancial) que des projets communautaires : Skrooge, Kmymoney (nous essayons de faire intégrer un patch upstream), GTranslate, Gnome Shell, un plugin pour XMBC/Kodi

Nouveautés depuis la 0.j

Pour revenir sur les actualités de la 1.0, le temps de développement de cette version a été assez court. Notre objectif (réussi) étant une migration de la version 1.0 dans Debian testing avant le gel. Il n'y a donc eu que six (intensives) semaines entre la 0.j et la version 1.0.

On peut cependant noter que la capacité permettant de consulter des annonces immobilières (CapHousing) a été améliorée. Les annonces immobilières du site Leboncoin ont notamment été ajoutées.

Du côté des applications, une nouvelle option de filtre (LIMIT) est disponible en ligne de commande. Elle permet de limiter la profondeur des recherches des requêtes utilisant le moteur de condition.

Concernant les modules, on peut noter un second module pour une banque américaine (Citibank). Du côté plus francophone, des modules pour suivre l'agenda du libre, pour suivre les marées et une nouvelle application de rencontres.

Enfin, sous le capot, nous avons profondément changé les API et les noms internes des objets. Nous voulions le faire pour présenter une interface cohérente pour la version 1.0. Dans ce cadre, l'utilisation de l'ancien Browser est désormais signalée comme obsolète. Un nouveau niveau de debug fait son apparition pour le nouveau Browser, permettant un suivi fin des appels sur les filtres.

Communauté

Depuis quatre ans, ce sont pas moins de 88 contributeurs qui ont participé à Weboob :

Adrien Kunysz, Ahmed Boussadia, Alexandre Bonhomme, Alexandre Flament, Alexandre Franke, Alexandre Lissy, Antoine, Arno Renevier, Benjamin Carton, Benjamin Drieu, BohwaZ, Camille Baldock, Camille Dehecq, Cedric Defortis, Christophe Benz, Christophe Gouiran, Christophe Lampin, Clément Schreiner, Clément Calmels, Damien Cassou, David Jeanneteau, Erwan Jahier, Etienne Carriere, Fabien Grumelard, Florent Fourcot, François D., François Revol, Gabriel Serme, Gabriel Kerneis, Gilles Quenot, Grmbl Frechneu, Hervé Werner, Jean-Benoist Leger, Jean-Christophe Dubacq, Jean-Philippe Dutrève, Jerem, Jeremy Monnet, Jérôme Poisson, Jocelyn Jaubert, Johann Broudin, John Morrow, Julia Leven, Julien Hebert, Julien Veyssier, Juliette Stehlé, Kevin Pouget, Laurent Bachelier, Laurent Dufréchou, Laurent George, Loic Bontonou, Luc Didry, Lucas Nussbaum, Lucien Loiseau, Mathieu Jourdan, Mathieu Lordon, Matthieu Rakotojaona, Michael Scherer, Nicolas Duhamel, Noé Rubinstein, Oleg Plakhotniuk, Olivier, Olivier Schwander, Philippe Fremy, Pierre Mazière, Raphaël Rigo, Richard Genoud, Roger Philibert, Romain Bignon, Romain Garbage, Ryan Nowakowski, Samuel Loury, Sébastien Monel, Simon Murail, Stefano Zacchiroli, Tanguy Ortolo, Tens San, Thomas Lecavelier, Vicnet, Vincent A, Vincent Paredes, Vincent Texier, Willy Villard, Xavier Guerrin, Yann Rouillard, ianux, leto, theocrite

Nous remercions également pour cette version les étudiants de l'Université de Lille 1, qui ont ajouté des tests dans le cadre d'un projet d'étude.

Weboob est un projet qui grossit et qui vit grâce à ses contributeurs. Si vous souhaitez l’améliorer, que vous connaissiez le Python ou pas, n’hésitez pas à contribuer.

Télécharger ce contenu au format Epub

Lire les commentaires

Sortie de la v1.2 de Zeste de Savoir

Jeudi 13 Novembre

L'idée de Zeste de Savoir s'est construite sur un but précis : promouvoir le partage de connaissances à travers des ressources pédagogiques gratuites et de préférence sous licence libre. Pour ce faire, il nous fallait un outil, et cet outil il nous fallait le créer.

Sous le nom Zeste de Savoir se regroupent en réalité trois entités :

  • Le logiciel « Zeste de Savoir » qui est une plate-forme web de partage de contenu et d'entraide (tutoriels, articles, forums, etc.) ;
  • Une instance de ce logiciel, zestedesavoir.com, dont le but est de promouvoir le partage de connaissances à travers des ressources pédagogiques gratuites et de préférence sous licence libre ;
  • Et l'association « Zeste de Savoir », qui est une association de loi 1901 française créée dans le but de gérer tout ce petit monde.

Cette dépêche traite principalement de la sortie de la v1.2 du logiciel, mais touche quelques mots du site et de l'association.

Sommaire Le logiciel Zeste de Savoir But

L'idée de Zeste de savoir s'est construite sur un but précis : promouvoir le partage de connaissances à travers des ressources pédagogiques gratuites et de préférence sous licence libre. Pour ce faire, il nous fallait un outil, et cet outil il nous fallait le créer.

Les besoins fonctionnels étaient assez clairs dès le début : l'outil doit permettre, au moins dans sa version de base, de :

  • créer des contenus pédagogiques et les publier sous divers formats (pages web au moins, puis PDF, formats pour liseuses, etc.) ;
  • gérer des contenus de types et surtout de tailles variés, pour accepter de courtes introductions comme des cours complets ;
  • permettre la relecture et la validation de ces contenus ;
  • permettre aux lecteurs de communiquer et de s'entre-aider entre eux, via des outils complets comme des commentaires sur les ressources, des forums pour poser des questions et un système de messagerie privée ;
  • et bien sûr d'administrer tout ceci.

Le partage est une notion de base dans le projet : si elle s'applique aux connaissances que l'on veut diffuser, la suite naturelle est donc que les outils que l'on développe à cette fin soient, eux aussi, partagés. Et quoi de mieux que le logiciel libre pour ce faire ?

Nous aurions pu céder aux chant des sirènes en développant un projet from scratch dans l'une des moultes technologies hype du moment. Cependant il existait déjà une base de code qui nous permettait de démarrer : Progdupeupl. Nous devions cependant l'adapter, ce que la licence (GPL v3 au moment du fork) nous a permis. Et grand bien nous en a pris, car malgré la présence de cette base conséquence, le développement ne fut pas de la petite bière !

Technique

Concernant l'aspect technique, nous cherchions des technologies éprouvées, open-source, et que nous pourrions nous approprier sans trop de problèmes. Progdupeupl est venu avec son lot de technologies propres, que nous avons conservé. Ainsi donc :

  • Le site lui-même est en Python 2.7, sous Django 1.6.
  • Puisque personne n'aime réinventer la roue, tout le système d'historique des contenus est géré avec Git. Pour l'instant sous-utilisé, il nous garantit une grande souplesse dans l'avenir.
  • La génération de PDF se fait avec pandoc.
  • Il nous fallait un langage compréhensible pour rédiger ; nous nous sommes tournés vers Markdown, dont il existe une version pour Python.
  • Quant à la base de données et au serveur HTTP, Zeste de Savoir n'impose aucune autre contrainte que celles de Django.

D'autre part, le libre, ce n'est pas que « se servir et profiter ». C'est aussi faire vivre des logiciels.

C'est pourquoi nous n'avons pas hésiter à forker certains projets pour les adapter à nos besoins spécifiques (python-markdown, GitPython), à faire remonter des correctifs et améliorations dans les upstreams (django-munin) et à signaler des bugs (Django).

Nouveautés de la v1.1 et de la v1.2

La v1.0 était la première version stable contenant toutes les fonctionnalités que nous pensions indispensables.

Le but de la v1.1 était à la fois de simplifier la tâche des auteurs et de stabiliser encore mieux le code. En ce sens, elle a apporté — en plus des inévitables petites améliorations et corrections de bugs :

  • la possibilité de modifier un tutoriel hors-ligne et de l'importer ;
  • l'import de plusieurs images dans la galerie en un clic ;
  • la création d'un fil de discussion automatique pour les tutoriels en bêta ;
  • la fonctionnalité de désinscription (indispensable pour ne pas nécessiter des dizaines d'opérations manuelles pour les administrateurs) ;
  • beaucoup de nettoyage de code. Eh oui, déjà : Zeste de Savoir a été développé par pas mal de monde, sans vraiment de structure au début. La v1.1 quant à elle respecte la PEP8.

Comme beaucoup de ces modifications sont visibles pour l'utilisateur, la sortie de cette release a été l'occasion de calculer quelques statistiques à son sujet.

Sortie à quelques jours du premier anniversaire du premier commit, la v1.2, quant à elle, a apporté surtout des petites améliorations, avec toutefois deux points qui sortent du lot :

  • Une amélioration très visible : les tags sont maintenant affichés devant les titres, ce qui devrait les rendre plus utiles en améliorant leur visibilité—en réalité les premiers retours laissent entendre qu'ils sont maintenant trop visibles.
  • Une amélioration qui devrait vous intéresser : le code source est maintenant bien plus open source. C'est-à-dire qu'on a fait le ménage pour éjecter toute référence à « Zeste de Savoir » en dur dans le code. Donc, si vous désirez installer votre propre instance de la plate-forme, vous n'avez qu'à installer le code et modifier les valeurs dans le paramètre ZDS_APP pour avoir un site à votre nom !
Et dans le futur ?

Le futur, c'est la communauté qui va le décider ! Plus exactement, la communauté du site Zeste de Savoir, grâce à un processus complètement repiqué sur Python et ses PEP : les ZEP.

Les prochaines améliorations à arriver devraient être :

  • une refonte de la page d'accueil ;
  • une nouvelle gestion du markdown à l'export ;
  • une API ;
  • une nouvelle gestion plus souple des contenus ;
  • un système de mise en relation des auteurs donnant une vision globale des tutos en cours de rédaction.

D'autre part, les sujets plus légers sont traités via des tickets Github.

Le site zestedesavoir.com

Les membres fondateurs de zestedesavoir.com sont tous des anciens membres très actifs du feu Site du Zéro, un site de diffusion de connaissances et d'entraide. À la suite du changement de politique de ce dernier, ils ont décidé de recréer une plateforme sur laquelle ils pourraient à nouveau s'entraider et partager convenablement leurs connaissances et surtout retrouver l'esprit communautaire qu'ils aimaient tant.

Contrairement au site dont il est inspiré, zestedesavoir.com vise un public et surtout un contenu beaucoup plus large, dans le thème (sciences « dures » ou non, musique, préparation d'une tarte aux myrtilles, … en fait tout type de savoir pouvant se transmettre) et dans la forme (tutoriels, articles, sans doute tribunes libres dans le futur, …).

Le site a été ouvert officiellement le 21 juillet 2014.

L'association

Le projet lancé, il restait deux grandes questions : comment le gérer, et comment le financer ?

Il n'était pas question d'avoir un dictateur qui impose des choix à tout le monde ; pas plus qu'il était question de mettre la moindre publicité sur le site.

Le meilleur moyen que nous avons trouvé pour garantir cette indépendance de gestion et de financement était de créer une association pour ce faire. Et ainsi fut fait. Cette association n'existe que pour gérer le site et le code ; elle est ouverte à toute personne inscrite au site et n'apporte aucun droit spécifique sur le site ou sur le code. Elle n'a même pas de forum privé : le forum de l'association est lui-même public !

Télécharger ce contenu au format Epub

Lire les commentaires

Pages