Syndiquer le contenu
Mis à jour : il y a 1 semaine %count jours

À quand les smartphones et tablettes libres ?

12 mai, 2013 - 13:07

La téléphonie mobile est un domaine des plus fermés, où les batailles commerciales font rage. Si l'on a pu voir dans le monde de l'informatique une montée en puissance des systèmes et logiciels libres, il n'en est (presque) rien pour ce qui est des ordiphones et, par extension, des tablettes. Comme souvent les limitations sont avant tout liées à la prise en charge du matériel, via des pilotes binaires propriétaires. Ajoutons à cela la pile GSM propriétaire.

Plusieurs nouvelles peuvent, si ce n'est nous réjouir, au moins remettre la question sur le devant de la scène.

Merci à tous les contributeurs de la dépêche (ils sont nombreux) et notamment à Nicolive pour l'avoir initiée et à Nÿco, PaulK, seb24 et Adeimantos pour le sprint final.

Sommaire Propos liminaires Installer un autre système sur son appareil à la place de celui existant

En dehors des rares cas où vous pourrez acheter un ordiphone ou une tablette avec le système libre de votre choix, il vous faudra, comme c'est le cas avec les ordinateurs personnels, « écraser » le système fourni et le remplacer par le système d'exploitation de votre choix.

Cette opération peut se faire suivant deux techniques :
1. Soit on reflashe l'appareil en utilisant le bootloader quand le constructeur le permet (c'est-à-dire si le bootloader n'est pas verrouillé),
2. Sinon il faudra rooter » le système de l'appareil (c'est-à-dire obtenir l'accès au compte root grâce au noyau Linux présent dans le système existant).

La possibilité d'installer un autre système est un point à bien examiner lors de l'achat de votre appareil.

Attention : cette opération, mal réalisée, peut rendre votre appareil inutilisable. Elle peut aussi annuler la garantie de l'appareil.

Libre, vous avez dit libre ?

Posons la question suivante : quelles caractéristiques un système d'exploitation pour mobile doit-il revêtir en 2013 pour que l'utilisateur puisse disposer de l'entière maîtrise de son appareil ?

Au delà de la nécessité d'avoir un système d'exploitation répondant à la définition du logiciel libre, d'autres caractéristiques peuvent être souhaitées :

  • que les fondations logicielles soient libres (toute la couche d'accès au matériel : pilotes et micrologiciels) faute de quoi l'utilisateur ne contrôle rien ;
  • que les applications soient libres (ce qui n'est pas le cas par exemple des applications Web Google comme Gmail, Maps…) ;
  • que la vie privée de l'utilisateur soit respectée ;
  • que l'utilisateur ne soit pas tributaire d'un seul fournisseur d'applications et de contenus qui déciderait pour l'utilisateur de ce à quoi il a le droit d'accéder (cas des fameux magasins d'applications exclusifs et centralisés) ;
  • bonus : que le développement des logiciels libres soit ouvert (c'est certes subjectif mais il sera sans doute plus facile d'accorder sa confiance dans ce cas).

Nous verrons dans la suite de la dépêche que ces caractéristiques sont rarement réunies.

Systèmes d'exploitation pour mobiles Android et dérivés Android OSP

Android est un système d’exploitation sorti fin 2007 et développé par la société Google ; il est basé sur un noyau Linux sous licence GPLv2 et un framework (ensemble interface + APIs) développé en Java, dont le code source est publié après diffusion des nouvelles versions sur Android Open Source Project (AOSP), sous licence Apache 2.0.

Android est souvent critiqué car il n’est que partiellement libre.

En réalité il faut distinguer différentes choses :

  • Android est à peu près complètement libre (les seuls composant non-libres sont les micrologiciels de quelques cartes wifi broadcom). Seul problème : il ne fonctionne pas en l'état réellement sur du matériel…
  • la partie qui gère le matériel (la couche d'abstraction matérielle entre le noyau et le framework) n'est pas libre. Ces composants ne font pas partie d'Android mais sont rajoutés par les constructeurs.
  • les applications de base Google (Gmail, Gtalk, Play Store, Maps, etc.) ne sont pas libres. Elles ne font pas partie de AOSP mais elles doivent être installées sur le matériel pour que celui-ci puisse revendiquer la marque commerciale Android. Elles rendent obligatoire l'identification préalable de l'utilisateur au moyen d'un compte Google.
  • si l'on affine encore, il faut ajouter que les surcouches constructeurs ne sont pas libres non plus (HTC Sense, Samsung TouchWiz, Mororola MotoBlur, etc.)

CyanogenMod

CyanogenMod est une distribution pour téléphone et tablette développée depuis 2009 qui base son travail sur le dépôt Android Open Source Project (AOSP) évoqué ci-dessus. Un point intéressant est le développement par CyanogenMod de plusieurs fonctionnalités permettant à l’utilisateur d’avoir un contrôle plus fin sur le fonctionnement de son appareil, tel que le mode incognito ou la restriction des permissions données aux applications.

CyanogenMod est critiqué au même titre qu'Android comme n'étant pas assez libre. Les composants non-libres sont de nombreux pilotes matériels, suivant le modèle de téléphone utilisé (ce qui inclut toute la couche de communication).

Les applications propriétaires de Google (Gmail, Gtalk, Play Store, Maps, fonctionnalités vocales et quelques bibliothèques associées à ses applications) sont téléchargeables séparément et en aucun cas obligatoires pour disposer d’un téléphone 100 % fonctionnel. On gagne donc un peu en liberté par rapport à un téléphone constructeur qui inclut nécessairement ces applications (leur présence est obligatoire pour pouvoir mettre en avant la marque Android), plus les surcouches le cas échéant. Tous les services rendus par ces applications sont remplaçables par des applications libres (lire ci-après). CyanogenMod met l'accent sur les performances du système (la défense de la vie privée ne semble pas être l'objectif principal du projet).

Replicant

Replicant est un dérivé de CyanogenMod qui est né pendant l'été 2010 et a pour objectif de créer un système 100 % libre sur téléphone portable. Le travail porte principalement sur l’écriture de pilotes libres destinés à remplacer ceux fournis par les constructeurs de SoC.

Replicant fonctionne actuellement sur les Nexus S, Galaxy S, S II et Nexus, Galaxy Tab 2 10.1 et 7.0 pour citer les modèles les plus récents (cependant quelques composants matériels peuvent ne pas être pris en charge ou nécessiter un pilote non-libre).

F-Droid, magasin alternatif d'applications libres pour Android

Concernant les applications elles-mêmes, Google Play (anciennement Android Market) peut être remplacé par (ou couplé à) F-Droid (Free Droid), un magasin d'applications libres. Pour un aperçu des ces applications, vous trouverez ce début de liste sur Wikipedia qui vous attend pour être complétée, et aussi cette précédente dépêche : Héberger ses données avec Android.

On citera ownCloud (souvent évoquée sur LinuxFr.org), K9mail, Beem/Xabber/Yaxim, ADW.Launcher, CSipSimple, DashClock Widget, Duck Duck Go, Firefox, Mustard, NewsBlur, VLC, WeeChat, etc.

En bref, relire le « Bricolage d'un Android tout libre » et « Précisions sur le bidouillage Android ».

Firefox OS

La fondation Mozilla prépare Firefox OS (nom de code : Boot to Gecko ou B2G), un OS pour mobiles utilisant les technologies Web HTML5/CSS/JavaScript (disons HTML5 pour faire court). Firefox OS est un OS complet basé sur un noyau Linux tel que modifié par Android Open Source Project et utilisant les pilotes conçus pour ce dernier. Il est actuellement en développement et devrait être lancé prochainement (probablement en juin) en Pologne, Colombie et Venezuela pour commencer, puis rapidement au Brésil, en Hongrie, au Mexique, au Monténégro, en Serbie et en Espagne. Ce lancement cible les pays émergents, donc les appareils d'entrée et de gamme moyenne.

En attendant, il est déjà possible d'acheter l'un des deux modèles commercialisés par Geeksphone à l'attention des développeurs.

Firefox OS s'appuie sur de nombreux partenaires commerciaux : dix-huit opérateurs (América Móvil, China Unicom, Deutsche Telekom, Etisalat, Hutchison Three Group, KDDI, KT, MegaFon, Qtel, SingTel, Smart, Sprint, Telecom Italia Group, Telefónica, Telenor, TMN, VimpelCom et Telstra) et quatre constructeurs (Alcatel, LG et ZTE mais aussi Sony).

Une des particularités du système d'exploitation piloté par la Fondation Mozilla est qu'il doit permettre de promouvoir le web ouvert, conformément à la mission que s'est assignée la fondation. En effet, celle-ci ne fait pas que pousser un énième OS dans un paysage encombré : Firefox OS se démarque par ses expérimentations, en collaboration avec Tizen par exemple, pour étendre la plateforme web et proposer de nouvelles fonctionnalités au W3C.

Par ailleurs, outre qu'il promet la possibilité d'applications multiplateformes (grâce auxdites technologies du Web), il permettra, en achetant une application une seule fois, de l'utiliser sur différents systèmes (dans un premier temps : Firefox OS et Firefox pour Android) sans avoir à la racheter à chaque fois. Également, la possibilité d'installer des applications en dehors du marché d'applications fourni (directement depuis un site Web par exemple) est une petite révolution pour l'utilisateur qui n'aura plus à subir la censure d'un unique fournisseur tel Apple/Google/Amazon.

Donc Firefox OS semble le plus libre ou ouvert d'esprit, en poussant le logiciel libre et les standards ouverts du web.

Mer

Commençons par dresser un rapide historique, commun à Mer et à Tizen (qui est évoqué à la suite).

Initialement, Nokia a développé Maemo pour ses tablettes (système libre dérivé de Debian GNU/Linux), pendant qu'Intel développait Moblin (système libre sous Linux). La fusion des deux a donné MeeGo en 2010.

Depuis, Nokia a abandonné MeeGo après avoir passé un contrat avec Microsoft pour utiliser Windows Mobile. Le premier et dernier téléphone Nokia sous MeeGo, le N9, est sorti fin 2011 (on pourra lire avec profit l'article très complet, en anglais, retraçant l'histoire du projet : « The story of Nokia MeeGo »).

Actuellement, le projet Mer est un dérivé communautaire de MeeGo, dont il reprend les bases (GNU/Linux, Qt, WebKit). Bien que ne recourant pas aux pilotes Android par défaut, ceux-ci (surtout ceux des GPU) peuvent être utilisés grâce à la bibliothèque libre Libhybris conçue par Jolla (plus ici, ici et ).

Les développements se font en utilisant Qt, EFL et HTML5.

Mer sert de base à Sailfish OS de la startup finlandaise Jolla qui a été montée en 2011 par l'ancienne équipe du smartphone Nokia N9 et qui semble très impliqué dans Mer, ou encore au système équipant la future tablette Vivaldi (lire ci-après pour l'un et l'autre).

Tizen

De son côté Intel continue l'aventure post MeeGo avec Tizen, un système basé sur GNU/Linux et WebKit qu'il développe avec Samsung et d'autres partenaires au sein de la Tizen Association, avec le soutien de la Linux Foundation, sur des bases techniques assez différentes toutefois (notamment Qt n'est plus intégré par défaut).

Le développement d'applications pour Tizen semble devoir être fait principalement en HTML5. À noter toutefois que :
1. Les applications Bada devraient fonctionner sur Tizen;
2. Les applications Android pourront tourner sur Tizen grâce à une couche logicielle propriétaire baptisée ACL et développée par OpenMobile.

Le 18 février 2013 est sorti la version 2.0 de Tizen, information couverte par LinuxFr.org. Les choses semblent s’accélérer puisqu'on apprend que Samsung lancera cet été un smartphone haut de gamme sous Tizen, et que Orange commercialisera des smartphones Tizen dès cette année.

QtMoko

Si nous avons rappelé rapidement l'histoire mouvementée des Maemo, Moblin, MeeGo et de leurs petits, nous allons voir que celle d'OpenMoko et de ses avatars – au rang desquels QtMoko – l'est tout autant.

Pour faire court, OpenMoko était un projet de la société Openmoko qui a accouché, côté logiciel, du système d'exploitation GNU/Linux du même nom, développé entre 2007 et 2009 et, côté matériel, d'un ordiphone sorti en 2008 et conçu tant pour faire tourner ce système d'exploitation que pour être bidouillable : le Freerunner alias GTA02.

En 2010 le projet initié par la société OpenMoko de réaliser un téléphone libre a été repris par l'entreprise allemande Golden Delicious qui produit actuellement l'ordiphone OpenPhoenux alias GTA04 (lire les dépêches dédiées), une mise à jour matérielle du FreeRunner.

Le projet OpenMoko a vu naître une constellation d'autres projets tels SHR et QtMoko.

Si aujourd'hui SHR ne semble plus vraiment activement développé (ses développeurs se consacreraient dorénavant à Open webOS), QtMoko est lui bien actif et fonctionne avec le GTA02 et le GTA04. Il s'appuie sur un GNU/Linux et Qt.

Freesmartphone.org (FSO) est un autre projet communautaire créé dans le sillage d'OpenMoko. Il s'agit d'un middleware qui permet de fournir des API standards pour l'accès au matériel (voir la liste des appareils supportés).

Open webOS

Open webOS est un système d'exploitation libre pour mobiles, fonctionnant grâce à un noyau Linux, glibc, Qt et WebKit.

Avant Open webOS était webOS tout court, un OS développé par Palm pour ses téléphones mobiles (Palm Pre & Pixi), puis par Hewlett-Packard (après qu'il eut racheté Palm) qui l'étendit aux tablettes (HP Touchpad) avant de mettre brutalement un terme mi-2011 aux projets en cours concernant ce système.

HP a alors libéré le code source du système d'exploitation au fur et à mesure pendant un an à partir de septembre 2011 (les sources d'Open webOS 1.0 beta ont été publiées en août 2012).

À noter que le framework HTML5/Javascript sur lequel est basé webOS, Enyo, a lui aussi été libéré (sous licence Apache v2) et rendu multi-plateformes. Enyo v. 1 avait été conçu à l'origine pour développer le HP Touchpad. Enyo v.2 s'affranchit de HP Touchpad, pour être compatible iOS, Android, Safari et Fairefox. Son développement est actif : la version 2.2 est sortie en février dernier.

En effet, une des originalités techniques principales de Open webOS est que l'interface graphique comme les services (daemons) sont développés avec des technologies web ouvertes (HTML5, JavaScript, JSON) et des frameworks libres (node.js, Enyo) (les développements natifs – C, C++, OpenGL ES, SDL – sont également possibles via le webOS Plugin Development Kit).

Finalement, LG a annoncé début 2013 le rachat des activités WebOS à HP. Les objectifs à court terme de l'entreprise sud-coréenne sont d'intégrer le système dans ses téléviseurs connectés, un objectif assez différent de celui mené jusque là par le projet qui visait les appareils mobiles tactiles.

La présence du logo de LG sur la page d'accueil de Open WebOS semble en tout cas indiquer son souhait de travailler sur la version communautaire. D'ailleurs, si vous souhaitez travailler sur Open WebOS, LG recrute !

Le site WebOS Ports référence les appareils pouvant accueillir Open WebOS (notamment grâce à la bibliothèque Libhybris initialement conçue pour Mer – lire ci-dessus), soit à ce jour : Nexus 7, Samsung Series 7 Slate PC et Galaxy Nexus.

Pour suivre l'actualité de cet OS en français, vous pouvez consulter webOS France.

Ubuntu Touch

Ubuntu Touch (anciennement Ubuntu Phone OS et Ubuntu Tablet OS) est une déclinaison de la fameuse distribution GNU/Linux Ubuntu, également développée par Canonical. L'interface Unity est totalement refondue et s'appelle maintenant Unity Next.

L'ensemble des applications et de l'interface ainsi que le SDK sont basés sur Qt et HTML5 (WebKit a priori). À terme l'affichage devrait être géré par le nouveau serveur d'affichage libre Mir qui saura, grâce à la bibliothèque Libhybris initialement conçue pour Mer (lire ci-dessus), utiliser les pilotes 3D conçus pour Android, tout en étant capable de faire tourner des applications conçues pour X11.

L'idee pour Ubuntu Touch est d'offrir une distribution Linux qui fonctionne aussi bien sur architecture ARM que x86 et dont l'interface s'adapte selon l'appareil ou l’écran utilisé : ordiphone, tablette ou PC.

Aujourd'hui, quatre appareils de la famille Nexus sont officiellement pris en charge comme plateforme de développement : Nexus Galaxy, Nexus 4, Nexus 7 et Nexus 10. La communauté, très active sur ce projet, a également porté 40 modèles et continue de travailler sur la prise en charge de 27 autres appareils (liste des appareils supportés officiellement ou communautairement).

Canonical a annoncé que la première version d'Ubuntu Touch devrait être disponible en téléchargement en octobre et proposer ainsi un début de convergence avec la version PC. La société espère voir commercialiser les premiers mobiles intégrant Ubuntu Touch au début de l'année 2014.

Les environnements traditionnels : GNOME 3, Unity et Plasma Active

Vivaldi (anciennement Spark) (site officiel, blogue) est une tablette (dont le lancement, qui devrait déjà être effectif, a finalement été retardé) qui tourne sous Mer avec Plasma Active (en gros : KDE pour tablettes). Techniquement il s'agissait d'une tablette Zenithink C71 : CPU AML8726-M Cortex-A9 (cœur ARMv7) à 1GHz, GPU Mali-400, 1 Go de RAM et écran 7 pouces. Reste à voir quel sera le modèle effectivement lancé et à quelle date.

Elle montre le chemin : les environnements de bureau classiques sont en train de mettre à jour leur infrastructure pour pouvoir fonctionner sur tablettes. Ainsi la récente interface de GNOME 3 est conçue en ayant à l'esprit notamment un fonctionnement sur écran tactile, et X.Org (avec X Input 2.2 et les pilotes qui vont bien) comme GTK+ 3.4 (et aussi Clutter) ou Qt 5 embrassent le tactile. GNOME a une page dédiée recensant les pièces manquantes.

Il faut espérer ensuite que le matériel soit pris en charge, et si possible au moyen de pilotes libres. C'est un gros chantier, il ne faut pas se voiler la face (cf les efforts de Replicant par exemple, ou le travail en cours de développement par rétro-ingénierie pour proposer des pilotes libres pour les cœurs graphiques embarqués sur les SoC). À défaut, la bibliothèque Libhybris initialement développée pour Mer (lire ci-dessus) permet d'utiliser sous Wayland les pilotes (libres ou non) conçus pour Android.

Il restera alors la question de savoir si ces environnements peuvent procurer une expérience convaincante sur tablettes en termes d'ergonomie (vous pouvez lâcher les trolls).

À noter d'ores et déjà que :

Propos finaux Tendances Linux partout

Tous ces ordiphones/tablettes, depuis Android jusqu'à Firefox OS en passant par Tizen, ont pour point commun de fonctionner avec un noyau Linux. Mine de rien, c'est une petite révolution, surtout si l'on regarde les parts de marché actuelles ou anticipées.

HTML5, une tendance lourde

Les applications développées en HTML5 tourneront directement et sans navigateur sur tous les nouveaux systèmes non dérivés d'Android : Tizen, Mer, Firefox OS, Open webOS et Ubuntu Touch… pas mal !

Incidemment on notera que, hormis Firefox OS qui utilise Gecko, les autres ont fait le choix de WebKit comme moteur de rendu (il est encore trop tôt pour savoir si Blink, le fork de WebKit initié par Google, se fera une place).

Une relative convergence vers Qt

Des systèmes évoqués, Mer, QtMoko, Open webOS, Ubuntu Touch et Plasma Active utilisent Qt (ni Android et ses dérivés ni Firefox OS ne l'utilisent, et Qt n'est pas fourni par défaut avec Tizen).

Il a en outre été annoncé que Jolla (Mer, Sailfish OS), Canonical (Ubuntu Touch) et KDE (Plasma Active) pourraient se rapprocher pour coopérer dans ce domaine.

Une histoire de pilotes Répétez après moi : Linux n'est pas GNU/Linux

Il faut rappeler que le noyau ne fait pas tout, ce qui explique que Android utilise des pilotes matériels qui ne sont pas compatibles avec nos distributions GNU/Linux. Android (comme Firefox OS) utilise en effet la bibliothèque Bionic libc là où nos distributions pour PC (tout comme Mer, Tizen, QtMoko, Open webOS et Ubuntu Touch) utilisent la fameuse glibc pour GNU C Library. Toutefois la bibliothèque Libhybris permet à un système basé sur la glibc d'utiliser les pilotes (libres ou non) conçus pour Android.

Des ordiphones sont annoncés sous Tizen (par Samsung, avec son interface propriétaire TouchWiz), Mer (par Jolla, avec son interface propriétaire Sailfish OS), Ubuntu Touch (par Canonical), ce qui veut dire qu'on aura bientôt à nouveau des distributions GNU/Linux préinstallées sur des ordiphones vendu dans le commerce !

Y a t-il un pilote (libre) dans l'avion ?

Si tous ces systèmes d'exploitation sont libres (même si on peut regretter que le développement d'Android Open Source Project ne soit pas ouvert/communautaire), cela ne suffit pas à assurer à l'utilisateur le contrôle de l'appareil si l'accès au matériel dépend de pilotes et micrologiciels non-libres : modem, radio, wifi, bluetooth, GPS, affichage 2D, accélération 3D, appareil photo, son, microphone, capteurs, téléphonie…

De réelles avancées sont en cours, s'agissant de la prise en charge des GPUs équipant ces appareils au moyen de pilotes libres par exemple, mais tant que des composants aussi fondamentaux que l'accès au réseau resteront gérés par des pilotes binaires propriétaires, il sera difficile de s'assurer que la vie privée de l'utilisateur sera bien respectée. Hélas ! Il n'existe pas aujourd'hui de pilote libre pour la partie modem de nos ordiphones (il y a bien le projet OsmocomBB, mais peu de téléphones sont supportés – et aucun ordiphone – et ce n'est pas encore utilisable).

Hormis la partie modem, si on se préoccupe des couches inférieures, Replicant est la solution qui vous permet de bénéficier d'un système libre sur une sélection d'ordiphones pris en charge vendus dans les boutiques habituelles.

Une autre solution est de se procurer directement un ordiphone conçu pour être libre, comme le GTA02 Freerunner ou le GTA04 OpenPhoenux, qui bénéficient tous deux de pilotes matériel et d'un bootloader libres. Le rapport performances/prix n'est pas à l'avantage de ces téléphones, mais leurs qualités sont – vous l'avez compris – toutes autres.

Le GTA04 repose sur un SoC OMAP3. Ce qui n'est pas le meilleur choix dans l'optique de proposer un pilote 3D libre pour le GPU, mais au moins il existe un pilote 2D libre basique avec KMS qui suffit à offrir une expérience fluide même avec du compositing. En réalité le mérite de ce SoC est ailleurs : dans la mesure où aucune solution matérielle actuelle n'offre une partie réseau libre, le cloisonnement du modem – qui est ici un CPU distinct exécutant son propre système d'exploitation, certes non-libre, mais dialoguant avec le reste du matériel au moyen de logiciels libres – limite le risque d'espionnage de l'utilisateur (comparer avec d'autres SoC comme le Qualcomm QSD qui ont le modem embarqué dans le SoC, lequel modem a accès à la mémoire etc.).

Projections

De quelle façon les cartes seront-elles rebattues dans les prochains mois, compte tenu des nouveau arrivants ?

Quelques faits sont à prendre en compte :
1. les opérateurs de télécommunications veulent s'émanciper des Google, Apple et consorts, et renouer une relation avec leurs clients (et aussi avec les profits qui vont avec) et Firefox OS propose cela, en attaquant le marché par l'entrée de gamme ;
2. la marque Samsung est certainement plus connue qu'Android aujourd'hui (Android n'est même pas mentionné sur la page du Samsung Galaxy S4), d'autant que le sud-coréen dissimule Android sous une interface maison (TouchWiz) qui peut tout à fait être appairée avec un autre système, comme Tizen par exemple que Samsung prévoit (et c'est une surprise) de lancer sur des ordiphones haut de gamme.

Android risque ainsi de se faire tailler des croupières à la fois sur l'entrée de gamme et le haut de gamme dans les prochains mois… un rééquilibrage qui ne peut faire de mal face au duopole Google/Apple actuel.

Quant à Ubuntu Touch, il est encore trop tôt pour connaître ses chances de réussite, mais nul doute que celles-ci dépendront des partenariats commerciaux qu'il parviendra à nouer.

Lire les commentaires

Jeudi du libre de mai à Lyon : créer ses modèles sous LibreOffice Writer

11 mai, 2013 - 17:32

La prochaine conférence organisée par l'ALDIL aura pour thème LibreOffice, et plus particulièrement la création de modèles de documents.

En effet, les suites bureautiques ont été développées pour nous permettre de gagner du temps lors de la création de documents, mais peu de gens connaissent réellement l'ensemble de leurs possibilités.

Cette présentation visera donc à faire découvrir le système de modèles de documents, mais également de nombreuses autres fonctionnalités souvent méconnues.

Comme toujours, cela se passera à la Maison pour tous, salle des Rancy, 249 rue Vendôme, 69003 Lyon (Métro Saxe Gambetta). Exceptionnellement (jours fériés obligent), la conférence aura lieu le jeudi 16 mai à 19h30.

Pourquoi des modèles

Beaucoup de rédacteurs partent de pages vierges pour rédiger la plupart de leurs documents. Certains utilisent un exemple voisin qu'ils corrigent, ce qui est source de graves erreurs.

Les logiciels de traitement de texte permettent de préparer des modèles qui :

  • respectent la charte graphique de l'organisation sans troubler le rédacteur,
  • automatisent la mise en page,
  • évitent les répétitions et automatisent des fonctions logistiques,
  • apportent des aides à la rédaction de documents spécifiques.
Programme de l'intervention

Au cours de la soirée, nous réfléchirons aux services que nous devons attendre de modèles pour rédiger des documents aussi divers que du courrier, des notes et de longs rapports.

Des solutions seront proposées pour remplir quelques fonctions génériques des modèles.

Nous aborderons l'organisation de ses modèles personnels et le partage de modèles dans une organisation.

Les exemples seront illustrés à l'aide de Writer de LibreOffice, mais les concepts sont génériques à tous les logiciels de rédaction.

Des échanges d'expériences sont attendus entre les participants.

L'animateur

Jean-Yves ROYER est un contributeur à la communauté LibreOffice. Il est notamment, secrétaire de La Mouette, association qui soutient la bureautique libre et normalisée, dont le projet francophone LibreOffice.

Il a contribué à la rédaction de quelques notes sur le thème :

Avant de prendre sa retraite il a réalisé et supervisé la réalisation de centaines de modèles avec de nombreux logiciels de rédaction, utilisés dans des environnements très divers : maintenance de centrales nucléaires, centres de formation, ingénierie, assurance qualité, cabinets d'avocats, etc.

Il continue à animer des formations, notamment avec des collégiens.

Lieu

La conférence a lieu à la Maison Pour Tous / Salle des Rancy à partir de 19h30.

Maison pour Tous — Salle des Rancy
249 rue Vendôme
69003 Lyon
(Métro Saxe Gambetta)

Lire les commentaires

e-venement se consolide avec la v2.4 tout juste sortie

11 mai, 2013 - 11:44

Le logiciel libre de billetterie e-venement v2.4 se stabilise, se renforce, et continue de progresser dans son ergonomie. Suite à l'arrivée de plusieurs structures parmi les utilisateurs du logiciel libre de billetterie informatique, comme le Centre de Beaulieu à Poitiers ou la CCI de Morlaix entre autre, de nombreuses évolutions ont pu et dû être développées. De nouveaux usages ont permis de détecter des bugs spécifiques et ont apporté leurs nouveautés.

En parallèle, Libre Informatique, coopérative au lead du projet, continue de se renforcer en tant que structure humaine et économique. Les perspectives d'e-venement et de Libre Informatique, très liées sont pleines de promesses lors de la sortie de cette version 2.4 :

  • Refonte de l'interface de billetterie
  • Validation de la refonte de l'interface de gestion des relations aux publics
  • Gestion des reservations de salle
  • Amélioration du placement numéroté
  • Suivi des campagnes promotionnelles et de communication
Ce que la 2.4 apporte comme changement concret pour moi

Je suis responsable des relations aux publics

  • L'affichage des groupes est maintenant presque partout limité aux seuls groupes de la personne et aux groupes communs (selon permissions)
  • La sélection automatique de la ville et du code postal a été améliorée, à tester dans les fiches organisme et contact en particulier
  • Les recherches rapides sont beaucoup plus permissives en matière d'accents
  • Les filtres sur les noms et prénoms (contacts et organismes) se font sur les premières lettres et non sur le nom complet (plus efficace lorsque l'on recherche par exemple tous les noms commençant par une lettre donnée)
  • Un nouveau design des relations aux publics est disponible pour tests (nous contacter), en particulier les contacts et organismes
  • Il est désormais possible de fusionner des organismes, d'y chercher les doublons
  • Les organismes filtrés sont maintenant pris en compte lors de la création d'un emailing
  • Vous pouvez noter chaque adresse email comme "pas de newsletter", pour éviter les envois indésirables
  • Vous pouvez automatiser l'ajout de contacts créés par la vente en ligne dans des groupes que vous aurez choisi (menu Billetterie en ligne > Association de groupes)

Je suis responsable de la billetterie

  • Nous avons corrigé quelques petits bugs liés aux annulations et duplicatas
  • Nous avons corrigé/ajouté/amélioré des traductions
  • Vous pouvez maintenant ajouter l'affichage des dates et heures de fin de manifestation dans les opérations de billetterie (nous demander)

Je suis comptable ou superviseur de billetterie

  • Vous trouverez un nouveau menu "comptabilité", permettant de diminuer le menu "billetterie" et de bien séparer les choses
  • Nous avons corrigé certains calculs dans le journal détaillé et dans les bordereaux de manifestation
  • Vous pouvez nous demander d'ajouter de nouvelles informations en bas de vos factures et bons de commande
  • La TVA est maintenant inscrite dans chaque billet, gérant mieux les changements de TVA en cours de vente
  • Les billets dont les codes barre ont été contrôlés sont désormais visibles dans le journal des billets (billetterie dématérialisée)
  • Nous avons revu le calcul du livre des ventes lors de l'activation de l'option "billets encore non imprimés", car avant seuls les billets dont l'opération contenait au moins un paiement était pris en compte, donc en oubliant les billets imprimés non encaissés, les bons de commande sans paiement…
  • Vous trouverez le numéro de facture dans la liste des dettes (dans le menu Billetterie > Dettes)
  • Vous pourrez rechercher les factures par leur numéro (dans le menu Billetterie > Factures)
  • Vous pouvez maintenant extraire en CSV les livres des ventes et de caisse
  • Vous pouvez également extraire le livre des ventes dans un format compatible avec le logiciel comptable Linéal (encore en phase de tests)

Je suis à la direction

  • Navigation dans le menu d'e-venement par le clavier (accessibilité renforcée)
  • Nouveaux supports de cours disponibles sur le site Internet de Libre Informatique
  • Vous pouvez maintenant visionner graphiquement les jauges de manière beaucoup plus lisible directement depuis la liste des événements

Je suis technicien informatique chargé du suivi de la structure

  • Nécessité de vider le cache de l'ensemble des Mozilla Firefox du parc après la mise à jour de jQuery de 1.4 à 1.9
  • Navigation dans le menu d'e-venement par le clavier (accessibilité renforcée)

Je suis responsable de la programmation

  • La gestion de la TVA a beaucoup évolué. Regardez dans les paramètres des événements, et vous verrez des types de TVA… ce qui permet d'avoir un changement de taux de TVA en cours de vente. Nous en avons profité pour améliorer la gestion de la TVA lors de la création de manifestations pour un événement déjà paramétré.
  • Les prix sont maintenant triés dans les fiches manifestations, ce qui permet de mieux y voir…
  • Vous pouvez maintenant modifier la durée ou les dates/heures des manifestations d'un lieu ou d'un événement directement depuis ce dernier : leur affichage est passé dans un calendrier graphique permettant des modifications directes…
  • Vous pouvez maintenant visionner graphiquement l'état des jauges dans la liste des événements, ce qui permet d'avoir un aperçu plus rapide de l'ensemble de votre saison…

Lire les commentaires

Session TupperEmacs le mardi 14 mai à Grenoble

11 mai, 2013 - 08:20

Session TupperEmacs, échange de trucs et astuces sur l'éditeur de texte Emacs. Marre de te faire appeler "mécréant" à chaque TupperVim ? Viens donc prendre ta revanche au premier TupperEmacs de France !

Pour rappel, un atelier TupperVim consiste en une soirée où chacun échange des astuces sur l'éditeur de texte Vim. Suite au succès des derniers TupperVim organisés, la Guilde organise un TupperEmacs le mardi 14 mai. Le principe restera globalement le même, sauf qu'Emacs sera cette fois à l'honneur. L'occasion pour les vétérans d'échanger des techniques avancées, et pour les néophytes de s'initier à un autre éditeur.

Il aura lieu dans les locaux de l'Ensimag de Saint Martin d'Hères, puis se terminera dans un bar pour pouvoir honorer le traditionnel apéro nécessaire à ce genre de rencontres.

Entrée libre et gratuite.

Adresse de l'ENSIMAG :
681, rue de la passerelle
Domaine universitaire
38402 Saint Martin d'Hères
Amphi E1

Lire les commentaires

PacketFence  4.0 : un NAC open-source dans la cour des grands

9 mai, 2013 - 22:09

Inverse, société spécialisée en développement et déploiement de logiciels libres, annonce la sortie de la version 4.0 de PacketFence. PacketFence est une solution de conformité réseau (NAC) entièrement libre, supportée et reconnue. Procurant une liste impressionnante de fonctionnalités telles un portail captif pour l'enregistrement ou la remédiation, une gestion centralisée des réseaux filaire et sans fil, le support pour le 802.1X, l'isolation niveau-2 des composantes problématiques, l'intégration au détecteur d'intrusions Snort et au détecteur de vulnérabilités Nessus - elle peut être utilisée pour sécuriser efficacement aussi bien des réseaux de petite taille que de très grands réseaux hétérogènes.

La version 4.0 de PacketFence apporte une toute nouvelle interface web d'administration - rapide, moderne et efficace. On y trouve aussi une attribution dynamique des rôles en fonction des sources d'authentification, une gestion des profils de portail à partir du web, de puissants outils de recherche de noeuds et d'utilisateurs, ainsi qu'une propagation immédiate des changements de configuration - aucun redémarrage requis !

Plusieurs améliorations de performance ont été apportées, de même que certains correctifs. PacketFence atteint un nouveau niveau qui fera pâlir ses concurrents commerciaux !

NdM : PacketFence est sous licence GPL 2

PacketFence possède un grand nombre de fonctionnalités. Parmi celles-ci, on retrouve :

  • l'enregistrement des composantes réseau grâce à un puissant portail captif ;
  • le blocage automatique, si souhaité, des appareils indésirables tels les Apple iPod, Sony PlayStation, bornes sans fil et plus encore ;
  • l'enrayement de la propagation de vers et virus informatiques ;
  • le freinage des attaques sur vos serveurs ou diverses composantes réseaux ;
  • la vérification de la conformité des postes présents sur le réseau (logiciels installés, configurations particulières, etc.) ;
  • la gestion simple et efficace des invités se connectant sur votre réseau ;
  • des sources d'authentification variées, incluant Facebook et Google.

PacketFence est une solution non-intrusive qui fonctionne avec une multitude d'équipements réseaux (filaire ou sans fil) tels ceux de Cisco, Aruba, ExtremeNetworks, Juniper Networks, Nortel, Hewlett-Packard, Meru Networks, Foundry, Enterasys, Accton/Edge-corE/SMC, 3Com, D-Link, Intel, Dell et plus encore.

Lire les commentaires

Découvrez la communauté linux-sunxi

9 mai, 2013 - 00:05

La naissance de la communauté linux-sunxi a commencé avec une compagnie, Rhombus Tech, qui, surfant sur la vague médiatique de l'ordinateur au format carte de crédit Raspberry Pi, annonce un nouveau standard EOMA-68, spécifications physiques et matérielles. Ce qui intéresse surtout les gens, c'est le prix annoncé de 15$ US, possible grâce à l'utilisation du processeur A10 (un ARM Cortex-8 de la compagnie chinoise AllWinner Technology), dont le code source du noyau Linux et du u-boot (le chargeur d’amorçage de nombreuses cartes ARM, l'équivalent du BIOS du monde PC) est public.

Le nom de code de ce processeur est sun4i. Le processeur précédent est sun3i et le suivant est sun5i. D'où la généralisation en sunxi pour le nom de l'architecture dans le noyau.

En attendant la fameuse carte au standard EOMA-68, un des programmeurs de AllWinner, Tom Cubie, ouvre une petite boutique sur AliExpress (un site de e-commerce chinois) et commence à vendre des boîtes multimédia Mele A1000, basées sur le processeur A10, et avec un port UART console utilisable, ce qui permet de déboguer le boot. Un des gros avantages du processeur A10 est qu'il est impossible de le briquer, donc cela limite le risque pour les nouveaux. Briquer est un terme argotique de l'embarqué signifiant que l'ordinateur ne démarre plus, suite à une faute logicielle dans le firmware et donc est devenu aussi actif qu'une brique !

Autour du Mele se crée la communauté linux-sunxi qui commence à maintenir une branche du noyau Linux qui marche sur diverses machines utilisant le processeur A10. Et avec l'arrivée sur le marché chinois des clefs HDMI (un ordinateur qui se branche sur le port HDMI de votre TV et la transforme en terminal Android), aussi basées sur le processeur A10, un petit engouement se crée pour ces minuscules ordinateurs qui peuvent soudain démarrer Linux directement grâce au travail de la communauté.

Il en résulte plusieurs nouveaux développements que vous découvrirez dans la deuxième partie de l'article.

Comme la carte EOMA-68 ressemble de plus en plus à l'arlésienne, Tom Cubie décide de construire une carte Cubieboard, basée sur le A10. Il se finance par crowdfunding. La Cubieboard est « open hardware » (matériel libre, les schémas et toute la documentation sont disponibles sous une licence encourageant leur réutilisation). Olimex, une compagnie bulgare, lance une carte basée sur le A13 (une version amoindrie du A10), la A13-OLinuXino, aussi en « open hardware ».

Pendant ce temps, sous l'impulsion de Alejandro Mery (amery sur IRC) pour le noyau et Henrik Nordström (hno sur IRC) pour le uboot, le code de AllWinner est lentement mais sûrement nettoyé et « standardisé ». En effet, le code original a été produit rapidement, sans suivre les standards de code du noyau.

Le canal #linux-sunxi sur IRC freenode est le point de rencontre et le wiki est la source de documentation pour démarrer avec le A10, quel que soit votre niveau et votre matériel (carte, clef, tablette…). La distribution Fedora est portée sur A10 par Hans de Goede, ce qui entraîne une frénésie de développement autour des modes graphiques et de l'auto-détection des écrans.

L'aventure XMBC, un logiciel de média center pour TV dura un temps, avec le rêve d'un support par XBMC du co-processeur dédié au décodage multimedia CedarX integré au processeur A10, directement sous Linux, sans la couche Android. Mais un bogue dans la bibliothèque cedarX et le manque de coopération de AllWinner enterre le projet. Donc cela marche « presque ». Un effort de rétro-ingénierie du CedarX est en cours.

Luc Verhaegen (libv sur IRC et ailleurs), grand spécialiste des pilotes graphiques libres annonce le projet LIMA, pour délivrer le Mali 400, le co-processeur graphique 3D du processeur A10 et d'un certain nombre d'autres puces ARM. Il utilise le Mele et diverses autres cartes basées sur le A10 pour le faire, ainsi que Quake 3 !

Un effort de « mainlining » (faire entrer proprement dans le noyau officiel) de linux-sunxi est en cours, en particulier avec Maxime Ripard qui apporte son expertise de lklm, la liste de diffusion officielle du noyau Linux. Cela consiste à faire accepter par les mainteneurs de chaque composante du noyau Linux les patchs nécessaires au support du A10 (et de la famille sunxi en général) dans le noyau standard.

Le futur s'annonce intéressant

AllWinner a sorti 2 nouveaux processeurs, le A20, dual-core A7 avec un GPU Mali 400, et le A31, quad-core A7 avec un GPU PowerVR SGX544MP2 (donc pas de pilote Linux en vue, parce que PowerVR est « hostile » à l'idée). AllWinner sur leur propre site se vante d'avoir publié leurs sources (le respect de la GPL par les entreprises chinoises est « faible » !) et leurs ingénieurs discutent sur la lkml. Mele a annoncé 2 nouvelles machines sur A20 et A31. La prochaine CubieBoard sur A20 est annoncée. Olimex évalue le A20. Et Rhombus Tech a enfin un prototype de carte A10 !

La meilleure façon de prédire le futur est de l'inventer

La communauté linux-sunxi est petite, sympathique et accueillante, pour les débutants en embarqué qui veulent s'y mettre, à moindre coût. Un Mele ou une cubieboard neufs coûtent moins de 70 Euros (en comptant frais d'envoi et frais de douanes). Lancez-vous et construisez votre serveur ARM de poche, ou votre tablette Linux, ou… votre cluster !

Lire les commentaires

Caranille 3.5 - Éditeur de MMORPG en PHP

8 mai, 2013 - 19:20

Voici un projet qui me tient à cœur et que j'ai commencé il y a de cela presque 3 ans : ce projet se nomme Caranille. Pourquoi un tel nom ? Caranille est la contraction de Caramel et Vanille qui sont deux animaux que j'ai perdus il y a longtemps mais que j'ai énormément adorés.

Pour vous présenter Caranille sachez que c'est un logiciel/programme/script qui a pour but de vous aider à bâtir rapidement et gratuitement votre propre MMORPG ( massively multiplayer online role-playing game, c'est-à-dire jeu de rôle en ligne massivement multijoueur) pour votre site web personnel, pour une animation ou autres… Étant une personne qui utilise uniquement GNU/Linux et appréciant sa façon d'être (à savoir le partage des sources), j'ai décidé de mettre Caranille sous licence GNU GPL, ce qui permettra aux utilisateurs avancés de le modifier, de rajouter des modules et de les redistribuer selon la licence Creative Commons.

Possibilités

Fonctionnalités JdR :

  • une histoire principale pour votre jeu
  • plusieurs villes (qui peuvent être débloquées en fonction de l'avancée dans l'histoire)
  • des missions propre à chaque ville
  • des monstres et de choisir les objets qui pourront être gagnés lors de la victoire du joueur
  • des objets (armes, protection, objets de soin comme des potions etc.)
  • des chimères à invoquer lors des combats

Fonctionnalités MMORPG :

  • faire du PVP (Player Versus Player)
  • fonder sa propre guilde
  • discuter en direct avec tous les autres joueurs

De plus pour les habitués des grands JdR de Square Enix (ou anciennement SquareSoft) le menu de combat est présenté de la même façon à savoir :

  • Attaquer (porter une attaque physique)
  • Magie (lancer un sort sur ennemi)
  • Invocation (invoquer une puissante chimère)
  • Objets (utiliser un objet comme une potion)
  • Fuir (trop faible face à l’ennemi ? Fuyiez)
Avantages

Le gros avantage de Caranille est dans sa simplicité d'utilisation, celui-ci a été conçu de façon à ce qu'une personne ne connaissant rien en développement puisse l’utiliser et créer son MMORPG et sa communauté de joueurs.

Caranille est programmé en PHP5 et utilise MySQL pour le stockage des données ce qui vous permet de l'utiliser sur tous les hébergements mutualisés actuellement proposés ou pourquoi pas sur votre propre ordinateur avec un serveur WAMPP ou LAMPP.

L'un des principes fondamentaux de Caranille est de fonctionner sur tous les appareils disposant d'un navigateur internet (même des plus anciens).

Cela permet pour l'utilisateur final d'y jouer sur (presque) tous les terminaux confondus à savoir :

  • Un ordinateur (Fixe ou portable)
  • Un smartphone voir même téléphone
  • Toutes les dernières consoles de jeu portables ou fixes

En conclusion le but de Caranille est de fournir une plate-forme complète de développement de MMORPG gratuits et ces derniers pourront être joués partout comme chez vous, dans le bus pendant vos vacances via un cybercafé et même au travail, la seule condition étant de posséder un navigateur web et internet.

FAQ

Voici les questions les plus fréquentes :

À qui est destiné Caranille ?

  • Caranille est destiné à toutes les personnes ou entités qui souhaitent mettre en place un MMORPG sur leur site web.

Pourquoi n'y a-t'il pas de 2D, voir même 3D ?

  • Simplement car les éditeurs de MMORPG actuel qui utilisent de la 2D ou 3D utilisent forcément du javascript ainsi que la technologie AJAX. Ce qui au final ne permettrait plus à Caranille de fonctionner sur tous les terminaux ce qui est l'un des principes fondamentaux de l'éditeur.

Quels sont les cycles de sortie des nouvelles versions ?

  • Il sort une nouvelle version en moyenne tous les 3 mois, le temps de corriger les derniers bogues de la version actuelle et de mettre en place les nouveautés de la prochaine version

Les sources sont mises à disposition en temps réel, dès qu'une modification a lieu dans sur la version stable ou instable. Les utilisateurs peuvent télécharger à tout moment la dernière version.

Lire les commentaires

Atelier-Formation Debian Wheezy et le bureau XFCE à Paris le 18 mai

7 mai, 2013 - 15:35

Pour fêter l'officialisation de la nouvelle version de Debian, Wheezy, l'association StarinuX (GNU/Linux et Logiciels OpenSource), dans le cadre de ses formations mensuelles, organise l'atelier-formation « Prise en main de Wheezy et du bureau XFCE » : installation, configuration … une formation concrète et pratique. Découvrez la qualité de la distribution Debian et du bureau XFCE, léger et efficace. Une pierre deux coups !

Elle se tiendra le samedi 18 mai 2013 de 14h à 18h30 au 177 Rue de Charonne à 75011 Paris, dans la salle AGECA.

Jean-Luc Chopin sera notre formateur et un polycopié de la formation sera remis aux participants.
Une participation annuelle de 15 € (7,5 € en tant que demandeur d'emploi) est requise.

Infos : contact CHEZ starinux.org

Lire les commentaires

18 mai : présentation d’OpenStreetMap à Perpignan

7 mai, 2013 - 12:00

Le samedi 18 mai à partir de 9h30 une présentation d’OpenStreetMap aura lieu à Perpignan(66) en collaboration avec le GULL Perpinux. Cette présentation, assurée par les contributeurs de Catalogne Nord, a pour but de mieux faire connaître cet outil de cartographie libre et collaboratif. La présentation aborde les parties théoriques concernant le projet, les différentes utilisations des cartes et les outils pour mettre à jour la base de données OpenStreetMap. L'organisation de la cartopartie du 1er juin sera aussi abordée lors de cette matinée.

OpenStreetMap est un outil en ligne, libre et collaboratif, fondée en 2004 dans le but de réaliser une cartographie du monde. De nombreux outils et logiciels permettent de réaliser et d’imprimer des cartes à partir de la base de données OpenStreetMap. Ces cartes peuvent être thématiques (pistes cyclables, accessibilités des lieux publics, etc.) ou généralistes. OpenStreetMap est devenu célèbre en 2010 lors du tremblement de terre à Haïti, de nombreux contributeurs ayant participé à la réalisation de la carte de Port aux Princes en quelques jours. Cette carte a pu alors être utilisée par les associations humanitaires sur place.

Lire les commentaires

Tempête dans les nuages : OpenStack et le bazar des API

7 mai, 2013 - 11:27

Un des débats qui fait rage parmi les développeurs d'OpenStack réside dans le choix d'un framework commun pour le développement de leurs API. Pour information ou rappel, OpenStack est un moteur de cloud (informatique en nuage) de type IaaS (Infrastructure as a Service) issu de la fusion de la plateforme de cloud de la NASA (projet Nebula) et de Cloud Files de Rackspace (cloud storage), la société texane d'hébergement. Cette pile de logiciels libres est écrite en Python sous licence Apache et s'appuie sur la norme WSGI pour exposer ses APIs.

Pour reprendre une définition donnée par misc : « OpenStack, c'est beaucoup de choses, c'est un groupe de logiciels visant à gérer un nombre massif de machines virtuelles. En gros, tu rajoutes des serveurs, et OpenStack va faire tout seul le fait de rajouter des VM à la demande, via une API. API qu'on peut donc utiliser dans une interface web, ou via un script. » OpenStack se veut le concurrent open source de la plateforme propriétaire Amazon Web Services.

La dernière version d'OpenStack (nom de code : Grizzly) a été publié le 4 avril 2013 et offrait les composants suivants :

  • Nova : gestion d'instances de calculs
  • Swift : stockage d'objets
  • Cinder : gestion de volumes blocs
  • Keystone : authentification
  • Quantum : gestion de réseaux virtualisés
  • Dashboard : framework fournissant une interface d'administration web extensible basé sur Django
  • Ceilometer : collecte de métriques
  • Heat : orchestration
Sommaire Les API : un point clé

À l'heure actuelle, tous ces composants proposent une API REST native ainsi qu'une API offrant une compatibilité plus ou moins complète avec le leader du marché : Amazon Web Services.

Les API sont un point crucial pour le projet OpenStack, elles sont massivement utilisées à la fois en interne et par les utilisateurs finaux comme on peut le voir dans le diagramme ci-dessous.

Les frameworks actuellement en compétition

Deux compétiteurs sont actuellement en cours de discussions sur la liste.

Falcon

Falcon développé par Kurt Griffiths de Rackspace et annoncé comme étant un micro-framework pour développer des API supersonique pour le cloud (rien de moins que ça !). Il est utilisé dans le projet Marconi qui vise à fournir un service de messages queueing dans OpenStack.

Pecan et WSME

Pecan & WSME proposé par Doug Hellman, mainteneur du projet Ceilometer.

État des lieux

Actuellement, Nova utilise eventlet pour la partie réseau et Webob pour gérer les objets requêtes/réponses HTTP.
code middleware WSGI dans Nova

Swift quant à lui redéfinit ses propres objets requêtes/réponses HTTP.
code middleware WSGI dans Swift
code Requêtes/Réponses WSGI: SWOB

Ceilometer utilisait Flask pour la version 1 de son API puis Pecan/WSME pour la version 2
code de l'API v1
code l'API v2

On notera que pour des raisons de stabilité, quelque soit la solution choisie au final, les API existantes ne seront pas réécrites. Par exemple, dans le cas de Ceilometer, si Falcon était choisi, la v1 continuerait à utiliser Flask, la v2 Pecan/WSME, la v3 utiliserait Falcon. Les versions 1 & 2 continueraient à être distribuées pendant un certain temps.

OpenStack, Bazar et retours d'expériences

Bref, OpenStack est un vrai projet Bazar. La publication par Rackspace de Falcon a relancé le débat. Un point extrêmement intéressant est le retour d'expérience sur les différents frameworks WSGI dans des configurations massivement parallèles.

Éléments requis

Pour OpenStack, plusieurs critères comptent :

  • performance ;
  • listes de dépendances maitrisable;
  • prise en charge de Python 3 ;
  • possibilité de configurer les API sans trop de difficultés.
Possibilités

Falcon a été développé dans cette optique-là, la suite de benchmarks publiée montre qu'il bat à plate couture l'ensemble des frameworks existants (et ce, sans extensions natives). Il ne requiert que l'interpréteur Python et le package six permettant la prise en charge de Python 2.7 & 3.3+ à l'aide d'une même base de code. Néanmoins, il a pour inconvénient d'être justement trop léger au niveau des fonctionnalités pour développer une API REST de manière confortable.

Pecan est quant à lui un micro-framework WSGI encore peu connu, mais qui évolue très rapidement. Il a été créé pour faciliter le développement d'application RESTful sans fioritures. Il s'inspire ouvertement de CherryPy/TurboGears 1 et a le bon goût de s'appuyer sur WebOb qui pour le moment semble faire l'unanimité autour de lui (même l'exception SWOB s'en inspire ouvertement).

Quant à WSME c'est une réimplémentation des contrôleurs REST de TurboGears 1 (un des points forts de ce vénérable framework) destinée à être intégrée à d'autres frameworks (Pecan, Flask, Bottle, Pyramid via l'excellente extension Cornice, etc.). Le combo est relativement jeune mais tire profit de plusieurs années de retour d'expérience. L'inconvénient est que c'est une solution relativement intrusive qui, de l'aveu de Doug Hellman, peut difficilement être réalisée de manière incrémentale, elle influencera également la manière dont sont conçues les API.

L'apparition de Falcon a été également l'occasion de redonner un coup de fouet à la quête de performances pour Pecan. Ryan Petrello (DreamHost) a pu améliorer de 30% les résultats de Pecan par rapport aux benchmarks publiés par Falcon en quelques heures de travail.

Tempête de cerveaux

Pour le moment rien n'est décidé, le débat continue encore sur la liste openstack-dev à propos de l'implémentation de la nouvelle API de Nova.
Doug Hellman s'appuie sur les acquis du projet Ceilometer pour promouvoir l'utilisation de Pecan/WSME, et Kurt Griffiths a pour lui l'appui de Rackspace, fondateur du projet.

Une affaire à suivre…

Lire les commentaires

OpenStreetMap : pourquoi vous devriez l'utiliser

7 mai, 2013 - 11:19

OpenStreetMap (OSM), souvent appelé « la Wikipédia des cartes », gagnerait à être plus connu parmi les libristes. Je suis moi-même un contributeur récent, puisque j'ai appris à contribuer à OpenStreetMap grâce à une sympathique personne qui animait le stand OSM au FOSDEM 2013… et je suis devenu, depuis cette date, un contributeur assidu.

Nous vous laissons découvrir ce retour d'expérience dans la suite de la dépêche.

NdM : merci à Alexis de Lattre pour son journal.

Sommaire Base de données et moteurs de rendu

Tout d'abord, il faut bien comprendre qu'OpenStreetMap en lui-même n'est que la base de données d'informations géographique (330 Gio sans compression et 20 Gio avec une compression PBF) et non un moteur de rendu ou de navigation. Le site openstreetmap.org n'est qu'un exemple de rendu proposé par le projet, et je le trouve d'ailleurs assez mauvais car on ne peut pas faire de recherche par point d'intérêt et il ne tolère aucune erreur de frappe sur les adresses. Il existe par exemple des moteurs de rendu thématiques comme OpenCycleMap, qui offre un rendu étudié pour les cyclistes, ou OpenPisteMap et OpenSnowMap qui sont spécialisés pour les skieurs. Il existe aussi des cartes éditées par des associations pour mettre en avant les aménagements cyclables d'une ville, voici celle de Lyon par exemple, proposée par l'association la ville à vélo.

Il existe également un rendu francisé d'OpenStreetMap, disponible sur tile.openstreetmap.fr, où les boulangeries sont représentées par une baguette de pain au lieu d'un bretzel, où le logo des bureaux de Poste est sur fond jaune et où le logo des stations de métro est celui de l'opérateur de transport en commun de la ville !

OpenStreetMap, l'Île de Mann

OpenPisteMap, Chamonix

OpenCycleMap, La Haie

Hors ligne et points d'intérêt

Mais, là où je trouve qu'OpenStreetMap fait vraiment la différence, c'est quand je l'utilise sur mon téléphone mobile avec l'application Android OsmAnd (OpenStreetMap Android), disponible sous licence GPL. Les deux fonctionnalités qui font la différence sont :

  1. la possibilité de télécharger la carte en local sur son téléphone au format vectoriel et de pouvoir l'utiliser hors ligne. En France, il y a une carte par région à télécharger. Cela permet d'utiliser la carte de façon fluide même quand la couverture réseau est mauvaise. Cela permet aussi d'utiliser la carte à l'étranger sans se ruiner à cause de l'itinérance de données !
  2. la classification stricte des points d'intérêts. Envie d'un croissant ? Vous pouvez demander à l'application de vous donner la liste de toutes les boulangeries dans un rayon donné. Pas d'argent pour le payer ? Demandez-lui la liste de tous les distributeurs de billets les plus proches. Le réfrigérateur est vide ? Il vous fournira la liste de tous les supermarchés à proximité. Un besoin pressant ? Il a la liste de toutes les toilettes publiques. Une soif soudaine et pas un sou en poche ? Il vous donnera toutes les fontaines d'eau potable des environs. Une lettre à poster ? Il sait vous afficher la liste des boites-aux-lettres de La Poste ! Sachez qu'il y a un peu de paramétrage à faire pour obtenir ces filtres très précis. Par exemple, pour créer un filtre pour les distributeurs de billets, il faut aller dans le menu « Rechercher », puis « Filtre Personnalisé » puis « Autre », cochez « Distributeur Automatique » puis « Fermer » et enregistrez votre filtre via le logo représentant une disquette.
Applications mobiles

Sur Google Play, OSMand est disponible en version gratuite limitée à 10 téléchargements de cartes ou en version payante (6 €) sans limite quant au nombre de téléchargements. La version disponible sur F-droid n'a pas de limitations mais est très ancienne. Ces deux raisons font qu'aujourd'hui j'utilise plus souvent OpenStreetMap que Google Map sur mon téléphone portable. Si vous connaissez d'autres bonnes applications OSM pour téléphone mobile, indiquez-les en commentaire de la dépêche !

Il est possible de charger des cartes OpenStreetMap dans certains GPS de voiture, notamment les GPS Garmins (voir ces instructions). Adieu les mises-à-jour de carte payantes…

OsmAnd

OsmAnd, Bois de Vincennes, Paris

La consécration : une première carte Michelin basée sur OpenStreetMap !

Michelin a édité il y a quelques mois une carte de Clermont-Ferrand et de ses environs basée sur les données d'OpenStreetMap ! Cette carte est en vente ; on peut l'acheter en ligne sur fnac.com par exemple. Le rendu des données d'OpenStreetMap a été réalisé par Michelin : le style et les couleurs sont donc identiques aux autres cartes Michelin de la même série.

Pour réaliser cette carte, Michelin a dû compléter les données présentes dans OpenStreetMap à certains endroits (ajout de rues manquantes, sens uniques, etc.) et a donc contribué à OpenStreetMap. Vous trouverez plus d'informations sur cette carte Michelin unique en son genre dans cet article intitulé OSM met la gomme.

Contribution

Mais ne vous contentez pas d'être un simple utilisateur alors qu'il est si facile de monter en grade et de devenir contributeur ! Pour cela, il vous suffit d'ouvrir un compte sur le site openstreetmap.org puis d'utiliser l'application de votre choix pour contribuer à la carte. L'application de référence pour contribuer s'appelle jOSM. Elle est codée en Java donc ça tourne sur n'importe quel système. Elle est présente dans toutes les bonnes distributions Linux. Ce n'est pas très compliqué à utiliser, mais vous gagnerez beaucoup de temps d'apprentissage si vous demandez à un connaisseur de vous en montrer le fonctionnement, et que vous faites votre première contribution avec lui. Il est aussi possible de contribuer à la carte directement depuis le site openstreetmap.org sans installer d'application dédiée, grâce à une interface en Flash dénommée Potlatch 2 qui se lance via le bouton Modifier en haut à gauche de la page. Une interface alternative en HTML5, dénommée iD, est en cours de développement ; vous pouvez voir une vidéo très prometteuse sur la page d'accueil du projet.

Ce qui est génial quand on contribue à OpenStreetMap, c'est que, quand on soumet une amélioration pour la carte, cette amélioration est visible sur le site openstreetmap.org cinq minutes après (en tout cas pour le niveau de zoom maximal ; il faut attendre un peu plus longtemps pour les niveaux de zoom inférieurs) !

Autre chose à savoir : pas besoin d'enregistrer une trace GPS pour contribuer à OpenStreetMap ! En effet, OpenStreetMap a un accord avec Microsoft qui lui permet de bénéficier des images satellites de Bing pour contribuer à la carte. Concrètement, pour ajouter une rue manquante dans OpenStreetMap, il suffit de la décalquer de l'image satellite ! Si vous savez faire un décalquage, alors vous avez toutes les qualités requises pour devenir contributeur OpenStreetMap !

En ce qui concerne la qualité de la carte d'OpenStreetMap, il faut savoir qu'elle est variable d'un endroit à l'autre en fonction de la densité de contributeurs. Concrètement, les grandes villes sont généralement très bien cartographiées (beaucoup mieux que des cartes commerciales d'ailleurs), alors qu'à la campagne la qualité varie selon les endroits.

Contribuer à OpenStreetMap est assez amusant, et toute la famille peut participer. On imprime une carte OpenStreetMap papier depuis le site Walking-papers et on part se balader en notant tous les éléments manquants sur la carte papier (les noms des rues, les sens uniques, les commerces, les boites aux lettres, les numéros des maisons, etc.). De retour à la maison après ce bon bol d'air, on se remet devant son écran, on lance jOSM et on ajoute/corrige tout ce qu'on a noté sur la carte papier. Un vrai jeu d'enfant !

J'espère vous avoir convaincu de contribuer à OpenStreetMap ! Vous pouvez commencer par améliorer la carte de votre quartier, puis celle autour de votre boulot, puis celle de votre lieu de vacances…

Autres outils

Quelques outils tournant autour d'OSM :

Lire les commentaires

X.Org est mort, vive Wayland ! (2)

7 mai, 2013 - 10:59

L’activité du projet Wayland, projet visant à remplacer le vieillissant X.Org, a été très importante ces derniers mois. En voici les principaux faits marquants.

Merci à bayo, Nÿco et antistress pour leur contribution.

Sommaire Avancement Wayland 1.1

Six mois après la très symbolique version 1, le projet Wayland sort une nouvelle version majeure. Plus de 400 modifications ont été introduites entre les versions 1.0 et 1.1.

En voici les principales avancées :

  • possibilité d’installer Weston (le compositeur de référence de Wayland) sur le Raspberry Pi (voir ici pour son installation). Pekka Paalanen a travaillé sur le sujet (voir son correctif) ;
  • prise en charge du protocole RDP (modif), il est compatible avec le protocole de Microsoft RDP 7.1. Le protocole RDP permet d’accéder à un Windows distant en utilisant GNU/Linux (exemples de clients populaires : rdesktop, Remmina) ;
  • prise en charge du tampon de trame — Framebuffer — qui permet d’afficher des images en console ;
  • prise en charge des systèmes sans écrans _— headless —,_ dans le but de tests (la modif) ;
  • dépendance à la bibliothèque libunwind pour avoir de meilleurs vidages mémoire après plantage qu’avec glibc ;
  • utilisation de EGL_EXT_buffer_age dans KMS (voir la modif de Ander Conselvan de Oliveira). Si ce dernier n’est pas présent dans KMS, il est aussi possible de compiler Weston ;
  • optimisation de la façon d’endommager quand on bouge des surfaces à l’intérieur et à l’extérieur des plans (la modif) ;
  • prise en charge du balayage d’un tampon mémoire vidéo en plein écran lors d’une rotation (la modif) ;
  • gestion des surfaces en fenêtres surgissantes — popup — (la modif) ;
  • outil pour calibrer les écrans tactiles (la modif) ;
  • outil de restitution pour la manipulation de pixels ou pixman renderer (la mofif) ;
  • kit de développement logiciel pour les modules non officiels (l’annonce) ;
  • amélioration de la documentation.
Wayland 1.2

Kristian Høgsberg, le créateur et développeur principal de Wayland, a annoncé sa feuille de route pour les prochaines versions. Le rythme de développement va s’accélérer : une version tous les trimestres. Ainsi, la prochaine version sera pour la fin juin.

Les applications arrivent

Pendant que Wayland et Weston continuent à avoir de nouvelles fonctionnalités. Les logiciels progressent au niveau de leur compatibilité.

Bibliothèques logiciels Environnements de bureau
  • on peut donc être optimiste sur GNOME 3 qui se base sur GTK+ 3, il cependant faudra attendre GNOME 3.12 ;
  • pour XFCE, la prochaine version 4.12 commencera à utiliser GTK+ 3, mais il faudra probablement attendre la version suivante pour avoir une utilisation complète ;
  • concernant KDE, la difficulté est de migrer KDE vers la bibliothèque Qt 5 ; cette migration se fera progressivement. En tout cas, il n’y a pas de plan à court terme pour se passer de X ;
  • du côté d’Enlightenment, d’après le site officiel, il prend on charge Wayland, mais en utilisant X11. Le travail est consacré maintenant à utiliser Wayland sans X11. Une vidéo de la prise en charge de l’émulateur de terminal graphique sous Wayland a circulé.
Applications notables Les ennuis commencent

Il semblait acquis pour toute la communauté du libre que Wayland allait remplacer ipso facto X à long terme. Malheureusement cette prophétie est semé d’embûches. Voyons cela de plus près…

Mir

Le serveur d’affichage Mir, créé par Canonical (Ubuntu), a déjà fait couler beaucoup d’encre sur la toile et notamment sur LinuxFr.org.

Maintenant que la polémique est un peu retombée, il est intéressant de voir qui travaille derrière Mir : ce sont principalement deux développeurs qui ont été embauchés il y a juste un an (date de création de leurs comptes Launchpad) P. S. Jenkins et Alan Griffiths. Autour, il y a Robert Ancell (son blog), Alexandros Frantzis, Kevin DuBois (son blog), Daniel van Vugt et Robert Carr. Ce qui fait sept développeurs actifs, contre huit développeurs qui ont été actifs pour la version 1.1 de Wayland. Ainsi, en nombre, Mir n’est pas ridicule face à Wayland. Il reste à voir s’ils respectent la feuille de route qu’ils se sont fixés, avec pour objectif d’avoir une version utilisable pour avril 2014.

Espérons que Mir crée une émulation du côté de Red Hat et Intel, pour sortir rapidement Weston sous une forme utilisable par Madame Michu.

Northfield/Norwood

Un développeur isolé de Wayland et Weston, Scott Moreau, a annoncé des divergences — forks — de ces derniers baptisées respectivement : Northfield et Norwood. La raison de ces divergences est qu’il ne trouve pas Weston assez sexy pour l’utilisateur lambda, qui ne peut pas s’amuser comme il le pouvait avec Compiz.

Un développeur qui quitte un projet libre pour en créer une nouvelle branche parce qu’il ne lui convient plus, ce n’est pas rare. De plus, si l’on regarde le nombre de modifications depuis un mois sur Northfield et Norwood, il est quasiment nul !

Curieusement, le site Web Phoronix avait fait des tonnes, des tonnes et des tonnes sur le sujet, mais maintenant plus rien.

La mort de X en 2014 ?

Red Hat a annoncé que Fedora 21 sera livrée par défaut avec Wayland (avec GNOME 3.12). Il y a environ une version de Fedora tous les 6 mois. Fedora 19 est prévue pour juin juillet. Donc, Fedora 21 sortira fin 2014, si l’on suppose qu’il y a du retard.

Du côté de chez Canonical, on annonce la version d’Ubuntu avec Mir pour avril 2014.

Pour Tizen (soutenu par Samsung), il faut aller voir ici pour savoir où en est le projet. Wayland serait pris en charge fin 2013.

Pour l’anecdote, Rebecca Black OS (une distribution basée sur Ubuntu permettant de tester Wayland) a été mise à jour fin avril 2013.

Il n’y a pas que Linux dans la vie !

Concernant les systèmes BSD, cela bouge aussi pas mal. La principale difficulté du passage à Wayland est la dépendance obligatoire du noyau à KMS. Les pilotes Intel prennent maintenant en charge KMS pour OpenBSD. Les pilotes Radeon sont en train d’être portés sur FreeBSD (on peut trouver ici le statut du pilote). Rappelons que depuis FreeBSD 9.1, le pilote Intel prend en charge KMS. Enfin, Solaris 11 prend KMS en charge pour Intel, et offrira une prise en charge de Radeon pour la version 12. Un bon résumé sur les systèmes BSD dans cet article de Phoronix.

On peut donc supposer que 2014 signera l’amorce du déclin de X sous GNU/Linux, et sous UNIX en général.

Lire les commentaires

Revue de presse de l'April pour la semaine 18 de l'année 2013

6 mai, 2013 - 17:06

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

[L'Entreprise.com] L'économie collaborative, une nouvelle ruée vers l'or

Par Etienne Gless, le jeudi 2 mai 2013. Extrait:

Je partage, tu consommes, nous produisons… Bienvenue dans un monde "open" où partage et contribution sont la règle. L'économie contributive mise sur la force des communautés pour produire, consommer et travailler autrement. Bienvenue dans un monde nouveau qui selon certains préfigure une nouvelle révolution industrielle!

Lien vers l'article original: http://lentreprise.lexpress.fr/developpement-et-innover/oui-share-premier-festival-de-l-economie-collaborative-les-2-et-3-mai-a-paris_40616.html

[Youphil] Quand l'open source permet de fabriquer soi-même son tracteur

Par la rédaction, le lundi 29 avril 2013. Extrait:

Un agriculteur américain crée ses propres machines agricoles et partage ses plans librement sur internet.

Lien vers l'article original: http://www.youphil.com/fr/article/06435-agriculture-open-source-internet-marcin-jakubowski

[La Presse] Comment internet nous espionne: notre cyberprison

Par Rudy Le Cours, le lundi 29 avril 2013. Extrait:

L'attaque terroriste au marathon de Boston et le complot déjoué pour faire sauter un train au-dessus de la rivière Niagara ont fait ressortir à quel point la surveillance policière dispose désormais de moyens très puissants.

Lien vers l'article original: http://techno.lapresse.ca/nouvelles/internet/201304/29/01-4645511-comment-internet-nous-espionne-notre-cyberprison.php

[Joinup] Spain's Extremadura starts switch of 40,000 government PCs to open source

Par Gijs Hillenius, le lundi 29 avril 2013. Extrait:

(Le gouvernement de la région Espagnole "Estrémadure" a démarré le passage en open source de ses 40 000 PC) The government of Spain's autonomous region of Extremadura has begun the switch to open source of it desktop PCs. The government expects the majority of its 40,000 PCs to be migrated this year, the region's CIO Theodomir Cayetano announced on 18 April. Extremadura estimates that the move to open source will help save 30 million euro per year.

Lien vers l'article original: https://joinup.ec.europa.eu/community/osor/news/spains-extremadura-starts-switch-40000-government-pcs-open-source

[ZDNet] L’intégration du droit d’auteur au traité TAFTA fait polémique

Par Thierry Noisette, le lundi 29 avril 2013. Extrait:

La question de la protection des droits d’auteur, des brevets et des marques va être discutée dans le cadre des négociations du TAFTA (Transatlantic Free Trade Agreement).

Lien vers l'article original: http://www.zdnet.fr/actualites/l-integration-du-droit-d-auteur-au-traite-tafta-fait-polemique-39789909.htm

[Numerama] La journée mondiale 2013 contre les DRM, c'est aujourd'hui

Par Julien L., le vendredi 3 mai 2013. Extrait:

Comme chaque année, la FSF et l'APRIL se mobilisent contre les menottes numériques. Les deux organisations animent une journée mondiale contre les DRM, afin de sensibiliser le public sur leurs effets. L'édition 2013 se déroule toutefois dans une cadre spécifique, car le W3C envisage d'introduire ces verrous numériques dans la charpente même du web, en les autorisant dans le HTML5.

Lien vers l'article original: http://www.numerama.com/magazine/25870-la-journee-mondiale-2013-contre-les-drm-c-est-aujourd-hui.html

Et aussi:

Lire les commentaires

Paperwork : besoin de testeurs

6 mai, 2013 - 09:34

Paperwork est un outil pour faciliter la gestion de la paperasse de tous les jours. Il a été conçu pour les flemmards désorganisés comme moi, dans une optique de « scan & forget » : vous devriez pouvoir juste scanner un document, l'enterrer dans une pile de papiers quelconque, et quand même le retrouver le jour où vous en avez besoin. Après tout, trier est un travail de machine.

À chaque scan, Paperwork se charge de passer un coup d'OCR sur le document et de l'indexer. Comme l'OCR est imparfaite, il est aussi possible de mettre des labels sur le document. Aujourd'hui, la dernière fonctionnalité voulue pour Paperwork 0.1 a été implémentée. Maintenant, avant de faire une première release, il reste à tester tout ça. C'est là que votre aide sera précieuse : il faut des testeurs.

NdM : merci à Jérôme Flesch pour son journal.

Pour devenir testeur, il faut les choses suivantes :

  • Une distribution GNU/Linux
  • Un scanner compatible Sane
  • Savoir remplir un rapport de bug (en anglais de préférence)
  • Du temps à tuer

Attention, la branche Git à tester est la branche "testing" (branche par défaut). La branche "unstable" est celle où va commencer le développement de la 0.2.

Pour mettre l'eau à la bouche de ceux qui ne l'auraient pas déjà testé, voici une jolie capture d'écran pas-complètement-à-jour :

Merci beaucoup à ceux qui l'ont déjà testé, et merci d'avance à ceux qui vont le faire,

Lire les commentaires

Retour sur Django 1.5

5 mai, 2013 - 23:24

Le mardi 26 février, 11 mois après la 1.4, est sortie la version 1.5 du framework web Django, écrit en Python. Ce framework, basé sur un concept Modèle-Gabarit-Vue (MGV, à rapprocher du MVC), est conçu pour le développement rapide et reprend la plupart des grands principes de Python (« Explicit is better than implicit », notamment), ce qui en fait la plate-forme de développement Web idéale pour les perfectionnistes sous pression.

De plus en plus de sites utilisent Django (par exemple, 20minutes, Libération.fr, Disqus, Century21, Convore, Instagram, Threadless…) pour sa flexibilité et pour le nombre d’applications Django réutilisables, qui ne cesse de croître. Je vous propose de découvrir les quelques nouveautés que vous offrent les développeurs Django et toute la communauté.

NdM : le 28 mars la version 1.5.1 de Django est sortie. Il s'agit d'une version de maintenance corrigeant quelques bogues mineurs et un problème de fuite de mémoire introduit par la version 1.5.

Sommaire Notes de version Principales nouveautés
  • Configuration du modèle User
  • Compatibilité « expérimentale » avec Python 3
  • Meilleure gestion des streaming responses
  • Sélection des champs mis à jour lors de la sauvegarde d'un modèle
  • Prise en charge de l'enregistrement d'un sous-ensemble des champs du modèle
  • Mise en cache des instances liées au modèle
  • {% verbatim %} template tag
  • Récupération des instances associées ContentType avec des modèles de proxy
  • Nouvelle variable view dans le contexte des vues basées sur des classes
  • GeoDjango
Détails Modèle User configurable

Les versions précédentes imposent un modèle d'utilisateur. Ce modèle sert notamment à authentifier les utilisateurs et gérer les permissions. Pour étendre ce modèle il faut définir un autre modèle (nommé profile) qui contient les champs supplémentaires. Cette solution présente plusieurs inconvénients. Une requête SQL supplémentaire ou une jointure est nécessaire pour obtenir les autres champs et il n'est pas possible de modifier le champs username.e

La version 1.5 introduit la prise en charge des modèles utilisateurs configurable (Configurable User model). Il est donc possible de remplacer le modèle par défaut. Plusieurs classes abstraites sont disponibles pour faciliter l'intégration de son modèle avec le reste du framework (gestion des permissions) ou étendre le modèle User existant.

L'utilisation des profiles est toujours prise en charge mais la méthode get_profile du modèle User sera supprimée dans la version 1.7.

Pour ceux qui souhaitent migrer vers ces nouveaux modèles d'utilisateurs, south devrait faciliter la migration de la base de données. Cette question sur Stack Overflow donne quelques pistes.

Python 3

Il y a du changement sur les versions de Python prises en charge. Le support de Python 3 (en version 3.2) est de la partie. Pour le moment ce support est expérimental et certaines fonctionnalités dépendant de bibliothèques externes ne sont pas disponible avec Python 3. De plus, il faudra attendre que les applications les plus populaires soient également compatibles. À noter que la même base de code tourne sous Python 2 et Python 3.

Le support de Python 2.5 est quant à lui passé à la trappe. Cela devrait surtout impacter les utilisateurs de Jython qui peuvent se rabattre sur la version alpha de Jython 2.7 (supportée par Django).

Gestion améliorée des streamings responses

Avant Django 1.5, il était possible de créer des réponses de type « streaming » en passant un itérateur au constructeur HttpResponse. Malheureusement, ce comportement complique l'écriture des middlewares qui risquent de consommer l'itérateur. Pour palier ce problème, une nouvelle classe (StreamingHttpResponse) est disponible. Les middlewares peuvent dorénavant adapter leur comportement suivant le type des réponses reçues.

Améliorations de l'ORM

Plusieurs nouvelles fonctionnalités peuvent améliorées les performances de l'ORM.

Lors de l'enregistrement d'une instance (méthode .save() en base de données, il est désormais possible de limiter les champs sauvegardés. Cela permet de limiter les risques d'écrasement lors d'accès concurrents. Les instances différées (obtenues via les méthodes .only() et .differ()) limitent automatiquement aux champs pré-chargés et à ceux qui ont été explicitement modifiés.

Lors du parcours des relations, l'ORM évitera de récupérer les objets précédemment chargés. Par exemple, dans l'exemple suivant :

>>> first_poll = Poll.objects.all()[0] >>> first_choice = first_poll.choice_set.all()[0] >>> first_choice.poll is first_poll True

Avec Django 1.5, la troisième ligne n'exécute plus de requête SQL pour récupérer first_choice.poll puisqu'il a été défini par la deuxième ligne. Cette amélioration peut s'avérer très utile en combinaison de la méthode prefetch_related introduite dans Django 1.4.

La suppression d'un ou plusieurs objets est accélérée quand il n'y a ni signaux enregistrés ni suppressions en cascade.

Les modèles peuvent définir des index multi-colonnes.

Améliorations de la documentation

Les djangonautes auront l'agréable surprise de découvrir une nouvelle page d'accueil de la documentation mieux structurée. Plusieurs nouveaux tutoriels ont été écris dont l'un sur l'écriture d'applications réutilisables et un autre sur l'écriture de tests.

Template tag {% verbatim %}

Les templates javascript devenant de plus en plus populaire il fallait une solution pour éviter leur collision avec la syntaxe de template de Django. Vous pouvez maintenant utiliser la balise de bloc verbatim afin d'éviter l'analyse du contenu de la balise.

Récupération des instances associées ContentType avec des modèles de proxy

Les méthodes ContentTypeManager.get_for_model() et ContentTypeManager.get_for_models() ont un nouveau mot-clé comme argument- respectivement for_concrete_model et for_concrete_models. En passant False en utilisant cet argument, il est désormais possible de récupérer le ContentType associé à des modèles de proxy.

Autres changements
  • La commande dumpdata retourne les données lignes par ligne pour éviter les congestions de mémoire lors de l'export d'un grand nombre de données
  • LOGIN_URL et LOGIN_REDIRECT_URL accepte désormais les chemins de vues ou les noms de chemin d'URL tels que l'on puisse désormais écrire LOGIN_URL="testapp.mavue"ou LOGIN_URL="mylogin"
  • Fini les erreurs bien moches si l'on a oublié d'avoir des templates 404.html ou 500.html : Django affiche désormais des pages génériques pour ces situations si les templates correspondants ne sont pas présents. Les codeurs consciencieux que sont les developeurs Python s'assureront tout de même de que ces templates soient présents.
  • Un signal existe si un utilisateur n'a pas réussi a s'authentifier.
  • Abandon du module simplejson pour le module standard json
  • La commande loaddata possède un argument ignorenonexistent pour ignorer les champs présents dans le fichier qui n'existent plus dans vos modèles
  • Possibilité de filtrer par requête dans l'administration
Quelques statistiques

Le projet django a migré de subversion vers git en avril 2012.

Entre la version 1.4 et la version 1.5, il y a eu 13513 commits (git log --no-merges --pretty=oneline 1.4 1.5 | wc -l)

$ git diff --shortstat 1.4 1.5 3758 files changed, 164853 insertions(+), 153265 deletions(-) Modules utiles

On compense le retard de l'annonce de la sortie de Django en parlant de modules sympas sortis ou ayant une utilité particulière entre la 1.4 et 1.5 :

Mezzanine

Mezzanine est un Système de gestion de contenu (Content Management System ou CMS) distribué sous licence BSD. Basé sur Django, il se veut être une alternative à Wordpress. Il fournit un CMS complet qui peut être déployé sans écrire une seule ligne de code. Il propose de nombreuses fonctionnalités, telles que :

  • navigation hiérarchique
  • une interface d'administration complète (édition des pages, gestion des redirections, des médias, des formulaires)
  • éditeur WYSISWYG (via TinyMCE, remplaçable par du Markdown)
  • moteur de blog
  • gestion des tags
  • intégration avec plusieurs services externes (Disqus, Gravatar, Twitter, bit.ly, Askimet…)
  • une boutique en ligne Cartridge
  • et beaucoup d'autres fonctionnalités

Ces fonctionnalités sont intégrées de manière cohérente. Par exemple, le thème par défaut (basé sur Twitter Bootstrap) active le service de commentaires Disqus si celui-ci est configuré. Si Mezzanine propose un CMS complet, il reste facilement personnalisable. Les templates sont plutôt bien découpés et il est assez simple d'intégrer ses propres modèles de pages.

Mezzanine est un bon choix pour les débutants qui veulent déployer un CMS tout en découvrant Django.

La version 1.4.3 est sortie le 27 février et est compatible avec Django 1.5.

Django REST Framework

Dans ce joli monde des frameworks Javascript la nécéssité de représenter ses modèles via une interface CRUD devient de plus en plus impérative. Plusieurs applications Django existent dans ce sens comme :

Ce dernier à l'avantage de possèder une syntaxe se rapprochant du système de vues objet naturel de Django Class based views

La jolie n'image présente en page d'accueil du site de Django REST Framework est la représentation en HTML de l'API. Toute requête sur la même url avec par exemple le content-type application/json ou le paramètre format=json l'affichera en JSON.

Pour reprendre l'exemple voici ce que donnerai l'exposition du modèle User de base de Django : Tout d'abord, on configure un serialiseur qui s'occupera de déterminer comment traiter les données :

testapp/serializers.py

from rest_framework import serializers class UserSerializer(serializers.ModelSerializer): class Meta: model = User fields = ('url', 'username', 'email')

Une vue pour présenter ces données :

testapp/views.py

from django.contrib.auth.models import User from testapp.serializers import UserSerializer from rest_framework import generics class UserList(generics.ListCreateAPIView): model = User serializer_class = UserSerializer

Et enfin les urls associées :

testapp/urls.py

from django.conf.urls import patterns, url from rest_framework.urlpatterns import format_suffix_patterns from testapp import views urlpatterns = patterns('', url(r'^users/$', views.UserList.as_view(), name='user-list'), url(r'^users/(?P<pk>[0-9]+)/$', views.UserDetail.as_view(), name='user-detail') )

Pour jouer avec vous avez un joli bac à sable

south

South est une application qui se révèle rapidement indispensable puisqu'elle apporte la gestion des migrations des bases de données.

La dernière version de south (0.7.6) est en grande partie compatible avec Django 1.5 à l'exception de :

Vous pouvez éditer ce paragraphe en cliquant sur le crayon

Lire les commentaires

Libertarianisme et propriété intellectuelle, une traduction

20 avril, 2013 - 11:55

Les libertariens prônent, dixit Wikipedia, un système de propriété et de marché universel et la liberté individuelle en tant que droit naturel. Ils se fondent sur le principe de non-agression qui affirme que nul ne peut prendre l'initiative de la force physique contre un individu, sa personne, sa liberté ou sa propriété. De fait ils sont favorables à une réduction, voire une disparition de l'État en tant que système fondé sur la coercition, au profit d'une coopération libre et volontaire entre les individus.

Les positions libertariennes sur la propriété intellectuelle sont assez diverses. Elles vont d'un soutien complet au motif que toute création doit être détenue par son auteur à un rejet complet au motif que les biens non-tangibles ne peuvent être possédés. Le livre que je viens de traduire, bien nommé Contre la propriété intellectuelle adopte ce second point de vue. Seul le droit des marques est reconnu comme légitime, et les brevets ou le droit de copie sont rejetés, au nom du droit de propriété sur les biens tangibles.

L'auteur, Stephan Kinsella, est un juriste et philosophe anarcho-capitaliste spécialisé dans la propriété et le droit des contrats. La traduction du livre a été rapidement effectuée, donc il reste sûrement des erreurs. Vous pouvez les corriger ou télécharger les sources sur son dépôt Github. Le livre est sous CC-BY. En seconde partie de dépêche vous trouverez l'introduction du livre.

Des droits de propriété et de la tangibilité des biens

Tous les libertariens sont en faveur des droits de propriété, et s’accorde pour dire que les biens possédables incluent les biens tangibles. Cela signifie a minima le mobilier et l’immobilier. L’immobilier comprend les biens tangibles qui ne peuvent être déplacés, comme les maisons et les terres, et le mobilier concerne tout ce qui peut l’être, comme les meubles, les voitures, les montres…

Les libertariens soutiennent aussi que les individus possèdent leur propre corps. Les disputes portent surtout sur la question de savoir si nous pouvons nous aliéner notre propre corps au même sens que nous vendons les autres biens externes. Dans tous les cas, les libertariens défendent toujours que tous les objets tangibles, qu’il s’agisse de biens acquis ou créés, de mobilier ou d’immobilier, ou de nos propres corps, peuvent être soumis à un contrôle légitime, appelé droit de propriété, par des individus précis.

Lorsque l’on passe des objets tangibles, corporels, à des objets intangibles, la situation est moins claire. Le droit à la réputation (voir les lois contre la diffamation) ou le droit à l’intégrité psychologique (voir les lois contre le chantage) sont des droits qui concernent des objets totalement intangibles. La plupart des libertariens sont contre les lois interdisant le chantage et beaucoup sont contre le droit à la réputation.

Le concept de propriété intellectuelle, désigné par la suite PI, est aussi très disputé. Est-ce que nous avons des droits sur nos créations intellectuelles, comme les inventions ou les écrits ? Est-ce que le système légal devrait protéger ces droits ? Pour commencer, je résumerai les lois américaines actuelles sur les droits de propriété intellectuelle. Puis je passerai en revue différentes vues libertariennes sur les droits de PI, et je présenterai la vision des choses qui me paraît la meilleure.

Lire les commentaires

La sécurité dans le développement

19 avril, 2013 - 15:45

Voici une dépêche qui regroupe quelques bonnes pratiques sur les mots de passe et la gestion des données dans une application. Elle est loin d'être exhaustive et, donc, n'hésitez pas à la compléter dans les commentaires ou d'écrire la suite dans l'espace de rédaction collaborative.

Sommaire Les mots de passe Stockage des mots de passe sur le serveur

La principale préoccupation est de limiter les dégâts qui pourraient être causés si un attaquant (ou un admin malveillant) parvenait à lire la base de données de mots de passe. Pour cela, il faut ne surtout pas stocker les mots de passe en clair, mais les transformer en utilisant une fonction de hachage cryptographique préalablement à l'enregistrement. Également connues sous le nom de « fonctions à sens unique », ces fonctions sont faites pour qu'il soit difficile de retrouver leur entrée (le mot de passe en clair) à partir de leur sortie (le mot de passe haché). Contrairement aux fonctions de chiffrement, les fonctions de hachage ne sont pas paramétrées par une clé secrète et ne sont pas bijectives. Grâce à cela, les données stockées permettent uniquement de vérifier facilement qu'un mot de passe entré par l'utilisateur est le bon, mais pas de le retrouver.

Comme il est possible par bruteforce (ou des techniques plus raffinées) de retrouver le mot de passe en clair et qu'il existe des tables précalculées (Rainbow table) pour les principaux algorithmes, il est aussi conseillé de saler les mots de passe. Cela consiste à ajouter des bits aléatoirement générés à la création du login et les ajouter au mot de passe avant d'utiliser la fonction de hachage; cela rend l'utilisation des tables précalculées inutile et l'aspect unique par utilisateur permet d'éviter que deux utilisateurs avec le même mot de passe aient le même résultat de la fonction de hachage.

Avec la puissance de plus en plus importante des ordinateurs, même des hashs (résultat d'une fonction de hachage) salés peuvent permettre de retrouver rapidement les mots de passe les plus courts. Il ne faut donc pas utiliser une fonction de hachage prévue pour traiter rapidement de grandes quantités de données (MD5, SHA-512…) mais des algorithmes prévus pour être lents (bcrypt…). L'intérêt est de ralentir le déchiffrage de votre base de données, et, à moins que vous n'authentifiez des milliers d'utilisateurs par seconde (ce qui peut arriver en cas d'attaque DDoS, il est donc bon de s'en protéger), ça ne devrait pas poser de problème de performances sur votre serveur.

Du côté client

Il faut éviter de stocker des mots de passe en clair sur les postes des utilisateurs, cela permettrait à un intrus ou à un virus de les lire. On peut soit les demander à l'utilisateur au démarrage de l'application ou, s'il y en a plusieurs, les conserver chiffrés avec une clef basée sur un mot de passe demandé à l'utilisateur ou en se basant sur un gestionnaire de mots de passe du système tel que KWallet ou Gnome-keyring.

Données Données « externes »

Les données externes concernent bien sûr les saisies de l'opérateur, mais également celles provenant des autres programmes, du réseau, de variables d'environnement…
En fait, toute donnée qui a eu une relation avec un autre binaire (les périphériques matériels, donc l'utilisateur, sont après tout perçus au travers des pilotes, qui sont des binaires…) doit être considérée comme externe.

Les bibliothèques sont idéalement à inclure (mais cela représente certainement trop de travail pour être réellement fait) : un simple changement de version peut amener un changement de comportement, qui peut invalider les données et ainsi causer des vulnérabilités. Ce changement de comportement n'impliquant pas nécessairement une rupture de l'ABI (_application binary interface_), on ne peut se fier au système d'exploitation.

Mais le plus probable est une version compromise d'une des dépendances: il suffit qu'un attaquant ait indiqué au système qu'il faut utiliser une version qu'il a lui-même altérée de la bibliothèque (changement du PATH ou LDPATH, en fonction du système d'exploitation attaqué).

Ces données doivent être systématiquement vérifiées et protégées, car elles sont un important vecteur d'attaque. Quelques exemples:

  • buffer overflow : insertion de plus de données que le programme ne l'avait prévu, afin de modifier le binaire lors de son exécution. L'usage de conteneurs dynamiques (listes chaînées, par exemple) permet de réduire drastiquement les risques de ce genre d'attaques, mais impliquent un coût en ressources (temps processeur et occupation mémoire notamment) plus élevé. Ces conteneurs ne sont donc pas la panacée.
  • injection de code : lors de l'usage d'un langage de script (SQL ou PHP par exemple) il est possible d'insérer le caractère permettant de signaler à l'interpréteur la fin d'une chaîne de caractère, puis d'insérer du code directement. Cette attaque est très simple à réaliser.
Données « internes »

Les autres données nécessitent aussi des vérifications, sauf si elles garantissent leur réussite ou si leur état reste valide malgré l'échec d'une opération sur elles (un article intéressant à ce sujet).

Lorsque ces garanties ne sont pas présentes, il faut systématiquement vérifier que tout s'est déroulé comme prévu ou que la donnée est toujours dans un état valide.

Un exemple d'échec pourrait être un élément qui n'est pas correctement initialisé par manque de mémoire, laissant l'objet qui le nécessite dans un état indéterminé.

Ne pas effectuer ces vérifications expose à un risque de plantage, et qui dit risque de plantage dit possibilité d'attaque.

Lire les commentaires

GNOME offre un service ownCloud à ses développeurs

19 avril, 2013 - 14:28

Le projet GNOME vient de mettre en place sa propre installation de ownCloud. Pour le moment, l'accès est réservé aux membres du projet, et la qualité de service n'est pas garantie.

À l'instar de iCloud (né Mobile me) d'Apple et d'Ubuntu One de Canonical, GNOME propose lui aussi un service dit « dans les nuages » qui va de pair avec son produit. L'avantage de la solution du projet GNOME est qu'elle repose sur un logiciel libre.

Cette annonce est assez cocasse, car ownCloud est issue de KDE. Le projet KDE n'a jamais été jusqu'à mettre en place un tel service. Plus cocasse encore, cette installation d'ownCloud révèle quelques bugs dans GNOME Online Accounts.

Le service est hébergé et maintenu par les administrateurs système de GNOME. Les données sont stockées sur les serveurs du projet. Il est pour le moment uniquement destiné à ses développeurs, pour faciliter le partage de fichiers entre eux.

Lire les commentaires

Install Party le 27 avril 2013 à Marseille

19 avril, 2013 - 14:01

L'Association CercLL « CercLL d’Entraide et Réseau Coopératif autour des Logiciels Libres » organise une install party de 14h00 à 18h00 le 27 Avril 2013 au Bistrot des Anges 2 boulevard de Pont de Vivaux 13010 Marseille (Parking Assuré,Bus 18,Bus 91).

Vous avez envie de découvrir un système d’exploitation libre, simple d’utilisation, stable, rapide et sécurisé. Une nouvelle façon d’utiliser votre ordinateur. Vous vous sentez une affection naissante pour le Gnou et le Manchot, les mascottes de GNU/Linux.

Au programme :
DÉCOUVERTE de l’univers des logiciels libres.
INSTALLATION d’un environnement GNU/ Linux, ainsi que le meilleur des logiciels libres

Venez avec votre ordinateur nous installerons ensemble une distribution GNU/Linux avec un ensemble de logiciels libres et gratuits pour une utilisation quotidienne.

Entrée libre – accessible aux débutant-e-s.

  • Distribution GNU/ Linux : Ubuntu, Xubuntu, Voyager, Mageia, Mint…
  • Navigateur: Mozilla Firefox, Chromium…
  • Bureautique :LibreOffice, OpenOffice…
  • Graphisme : Gimp…
  • Multimédia : VLC, Audacity…
  • Messagerie : Thunderbird…
  • Diaporama : Imagination, Fotowall, Vidéoporama……
  • Photo : Digikam, Photoprint,shotwell…. Et bien d’autres…

Lire les commentaires

AFUP Lyon - 21 mai : conférence sur la programmation orientée aspect

19 avril, 2013 - 09:59

L'antenne lyonnaise de l'AFUP (Association Française des Utilisateurs de PHP) organise le 21 mai prochain une conférence sur la programmation orientée aspect (AOP). Celle-ci sera animée par Gérald Croës et Julien Salleyron.

L'AOP a pour but de protéger le code métier de préoccupations transverses telles que la mise en cache, la gestion transactionnelle, les logs, les droits… La présentation se déroulera en deux temps : une présentation du concept de l'AOP, et ensuite une présentation de l'extension AOP pour PHP.

La conférence aura lieu dans le grand amphithéatre d’Epitech Lyon, au 86 boulevard Marius Vivier-Merle 69003 Lyon, à 19h30 le 21 mai 2013.

Les inscriptions à cette conférence gratuite se font sur cette page.

Lire les commentaires