Linux France

S'abonner à flux Linux France
Mis à jour : il y a 27 min 15 sec

Foire du Libre 2014

Mardi 25 Mars

Louvain-li-Nux, une organisation étudiante affiliée à l'Université Catholique de Louvain-la-Neuve, organise la troisième édition de ce que nous appelons la Foire du Libre. Cet événement prendra place sur le campus de la ville universitaire de Louvain-la-Neuve le mardi 1er avril.

Nous y inviterons des représentants de logiciels libres en Belgique pour une soirée de conférences accessibles à tous. Les buts de cet événement sont de faire découvrir les logiciels libres et la philosophie qui a permis leur succès, d’expliquer en quoi les logiciels libres peuvent représenter un avantage pour les entreprises et être intégrés dans un nouveau type de business model et finalement de montrer à notre public que ce milieu n’est pas si éloigné d’eux en présentant des acteurs locaux dans le monde du logiciel libre.

Cela aura lieu à l'auditoire SUD 08 de l'Université Catholique de Louvain (UCL). Ces conférences ne sont pas techniques et ne requièrent pas de connaissances techniques : elles sont ouvertes à tous et gratuites.

Il est devenu très important de faire comprendre les intérêts et les implications que représentent l'utilisation et le développement des logiciels libres aujourd'hui. C’est afin d’expliciter ces implications, d’informer et de renseigner sur les logiciels libres que nous organisons cet événement.

Le Louvain-li-Nux est un kot-à-projet qui se charge de la promotion de l’informatique libre et des différents systèmes d'exploitation "GNU/Linux". Notre activité ne vise pas uniquement les étudiants, mais également tout particulier. C'est pourquoi nous avons besoin d’une visibilité plus large que le public universitaire. Vous trouverez sur notre site web une description plus détaillée de notre action sur le campus de Louvain-la-Neuve. Si vous êtes intéressé par l’idée de communiquer sur cet événement de quelque façon que ce soit, n'hésitez pas à nous en faire part par voie électronique ou venir nous rencontrer lors de notre conférence Latex ou directement au kot à projet, Rue Constantin Meunier, 12 à Louvain-la-Neuve (code postal : 1348).

Télécharger ce contenu au format Epub

Lire les commentaires

Sortie de la version 1.0 de Grisbi, logiciel de comptabilité

Mardi 25 Mars

Grisbi est un logiciel de comptabilité personnelle sous licence GPL. Mais il est aussi utilisable par des associations ou des petites entreprises. C'est un programme écrit par des Français, qui respecte parfaitement l'esprit de la comptabilité à la française.

Développé dans un esprit de simplicité, il est utilisable pour toute comptabilité personnelle (comptabilité de trésorerie), mais il n'en supporte pas moins des fonctionnalités avancées : Grisbi est multi-comptes, multi-devises et multi-utilisateurs ; il gère les comptes bancaires, de caisse, d’actif et de passif, les tiers, les échéances, les catégories de recettes et de dépenses, mais aussi les imputations budgétaires et les exercices.

Il permet donc de tenir une comptabilité analytique et une comptabilité en partie double, à partir d'une liste de catégorie adaptée, pour une association ou une petite entreprise soumises au Plan Comptable.

Parmi les principales fonctionnalités, on note : analyse et rapports financiers grâce à un puissant module de génération d’états, simulation de crédits et de tableaux d’amortissement, budgets prévisionnels, impression et importation ou exportation de données, d'états ou tableaux sous différents formats pour imprimantes, tableurs ou traitements de texte, ainsi qu'une très grande configurabilité.

La version 1.0 est sortie récemment et apporte les nouveautés suivantes :

  • graphiques sur les prévisions ;
  • gestion des cartes bancaires (débit immédiat ou différé) ;
  • comptabilité d’association avec plan comptable ;
  • encore plus de menus contextuels sur le bouton droit de la souris ;
  • import de fichiers de catégories dans les imputations budgétaires ;
  • calcul du solde en fonction de la date de l’opération ou de sa date de valeur ;
  • affichage des tiers inutilisés ;
  • commande d’affichage plein écran par touche de fonction ;
  • accès direct au manuel de l’utilisateur par le menu Aide ou par raccourci-clavier.

Grisbi dispose d'une documentation très complète, d'environ 200 pages, qui a été mise à jour pour la version 1. Les auteurs fournissent aussi des comptabilité exemples que vous pouvez installer.
Grisbi utilise encore GTK 2.

Télécharger ce contenu au format Epub

Lire les commentaires

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

Mardi 25 Mars

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

[francetv info] Internet et les libertés fondamentales: la démocratie à l'épreuve

Par Benjamin Loveluck, le samedi 22 mars 2014. Extrait:

Leurs visages ont été projetés sur écran géant lors de la récente conférence SXSW, grand-messe sur les médias tenue à Austin, au Texas. Ils ont pris la parole via une mauvaise connexion, hachée et entrecoupée, rappelant au public leur présence lointaine et leur statut de fugitifs. Et ils ont renouvelé leur appel à défendre internet contre les assauts de l’Etat américain. Juliian Assange a évoqué une "occupation militaire d’internet", la "militarisation d’un espace civil". Edward Snowden a expliqué que la NSA avait "mis le feu" au réseau.

Lien vers l'article original: http://www.francetvinfo.fr/internet/tribune-internet-et-les-libertes-fondamentales-la-democratie-a-l-epreuve_557781.html

Et aussi:

[cio-online.com] L'Agglomération de Clermont-Ferrand adopte une ToIP et un collaboratif open-source

Par Bertrand Lemaire, le vendredi 21 mars 2014. Extrait:

Les 21 communes de Clermont Communauté ont changé leur téléphonie sur IP pour développer les fonctionnalités et baisser les coûts, notamment en y joignant un collaboratif.

Lien vers l'article original: http://www.cio-online.com/actualites/lire-l-agglomeration-de-clermont-ferrand-adopte-une-toip-et-un-collaboratif-open-source-5709.html

Et aussi:

[ZDNet] Distributeurs de billets: de Windows XP à Linux?

Par Olivier Chicheportiche, le vendredi 21 mars 2014. Extrait:

Avec la fin programmée du support de Windows XP et de Windows XP Embbeded, les banques gestionnaires de distributeurs se posent sérieusement la question de l'open source.

Lien vers l'article original: http://www.zdnet.fr/actualites/distributeurs-de-billets-de-windows-xp-a-linux-39798851.htm

[usine-digitale.fr] Poppy, le robot open source fabriqué avec une imprimante 3D

Par Lélia de Matharel, le mercredi 19 mars 2014. Extrait:

Poppy le robot bordelais est la vedette du salon Innorobo, qui se déroule à Lyon du 18 au 20 mars. Et pour cause: ses plan sont accessibles en open source sur Internet et toutes ses pièces rigides peuvent être fabriquées avec une simple imprimante 3D.

Lien vers l'article original: http://www.usine-digitale.fr/article/poppy-le-robot-open-source-fabrique-avec-une-imprimante-3d.N249523

Et aussi:

[zonebourse] Microsoft: L'Open Source ne fait pas recette en Algérie

Par la rédaction, le mercredi 19 mars 2014. Extrait:

L'Administration algérienne ne s'intéresse pas aux logiciels gratuits Open Source. Plus de cinq ans après l'élaboration du projet e-Algérie, qui prévoyait l'introduction graduelle de l'Open Source, aucune démarche concrète n'a été menée. L'informatique dans des institutions stratégiques continue à fonctionner avec des logiciels propriétaires fermés.

Lien vers l'article original: http://www.zonebourse.com/MICROSOFT-CORPORATION-4835/actualite/Microsoft--LOpen-Source-ne-fait-pas-recette-en-Algerie-18119489/

[Numerama] Neutralité du net: vote crucial en Europe ce mardi

Par Julien L., le lundi 17 mars 2014. Extrait:

La commission ITRE du parlement européen doit se prononcer ce mardi sur le règlement "pour un Continent Connecté" proposé par la Commission européenne. Or, le texte contient des dispositions qui remettent en cause le principe de la neutralité du net. La Quadrature du Net appelle les citoyens à réagir.

Lien vers l'article original: http://www.numerama.com/magazine/28769-neutralite-du-net-vote-crucial-en-europe-ce-mardi.html

Et aussi:

[Le Figaro] Cinéma: l'application Popcorn Time relancée par un collectif de pirates

Par Guillaume Millochau, le lundi 17 mars 2014. Extrait:

L'application pour regarder des films en haute définition gratuitement, abandonnée par ses concepteurs, a été ressuscitée.

Lien vers l'article original: http://www.lefigaro.fr/secteur/high-tech/2014/03/17/01007-20140317ARTFIG00239-cinema-l-application-popcorn-time-relancee-par-un-collectif-de-pirates.php

Et aussi:

Télécharger ce contenu au format Epub

Lire les commentaires

LAN Xonotic à Lille

Mardi 25 Mars

Le vendredi 11 avril de 19h à 23h aura lieu une LAN autour de Xonotic à la salle d'arcade lilloise Akedo.

Xonotic est un FPS futuriste sous licence GPLv2 qui combine un style addictif de jeu arène avec des mouvements rapides et une grande variété d’armes.

La soirée est organisée autour de 8 PCs haut de gamme avec un animateur pour découvrir le jeu et prendre ses marques rapidement.

Extended Play est un projet de salle de jeux libres dont cette LAN est le premier élément concret.

D'autres événements auront lieu selon le succès de l'opération autour de jeux tels que 0 AD, Battle for Wesnoth, Hedgewars, Warzone 2100 et selon les possibilités d'autres plus typés arcade comme Performous, Solar Wolf, Stepmania…

Les logiciels libres étant ce qu'ils sont, des contributions pourront toujours être récupérées en passant. Traductions, mods, effets sonores, storyline, concepts 2D/3D, reflexions conceptuelles, trolls…

Télécharger ce contenu au format Epub

Lire les commentaires

Appel à participation - Futurism - Les Siestes Electroniques

Mardi 25 Mars

En marge du festival toulousain Les Siestes Electroniques, nous organisons, les 28 et 29 juin 2014, des rencontres et ateliers ouverts à tous, Les rencontres Futurism, qui s’articulent autour de trois thématiques d’intervention :

  • la production musicale et le DIY
  • l’écosystème musical à 360°
  • la musique comme substrat culturel

Vous avez développé ou customisé (hacké au bon sens du terme) un logiciel, bricolé des patchs, des langages de programmation, un instrument réel ou virtuel, vous expérimentez des solutions originales avec les outils existants, ou vous voulez juste montrer aux autres comment vous y êtes arrivé, c’est à vous de partager votre savoir-faire (ou celui de votre entreprise) tout en acceptant le dialogue et l’échange entre passionnés ou simples curieux.

Vous avez jusqu’au 21 avril 2014 pour nous présenter vos projets en répondant à notre appel à participation.

Télécharger ce contenu au format Epub

Lire les commentaires

Ned et les maki 0.2 LTS Gusty Tsar

Mardi 25 Mars

Pour fêter l'adhésion de la Crimée à la Fédération de Russie ainsi que la victoire de [insérer ici le parti vainqueur] aux municipales, devnewton, Natir et Geeky Goblin Production ont décidé de sortir une nouvelle version du jeu libre Ned et les maki.

Le jeu

Ned et les maki est un jeu de puzzle libre. Il revisite le genre sokoban en proposant une histoire, de nouvelles mécaniques et un univers visuel original.

Les nouveautés Gameplay
  • Ned, le personnage principal, peut désormais voyager dans le temps : si le joueur se retrouve bloqué dans un niveau, il peut rembobiner pour tenter une autre stratégie sans avoir à tout recommencer ;
  • le jeu est utilisable à la souris ;
  • des niveaux de tutoriels pour expliquer les différents mécanismes du jeu ont été ajoutés.
Graphismes
  • Le jeu comprend plusieurs nouvelles animations :
    • les maki brûlent,
    • Ned a appris à
      • voler,
      • monter des escaliers,
      • changer ses chaussettes.
  • Les décors ont été enrichis (meilleure lisibilité des niveaux et ajout d’espaces verts) ;
  • l'écran titre et les menus sont beaucoup plus jolis et ergonomiques.
Blog

Les GGP ouvrent leur blog ! On y parlera de Ned et les Maki, mais pas que. Par exemple, des illustrations et des blagues plus ou moins compréhensibles devraient y fleurir.

Futurs développements

La prochaine version proposera l'ensemble des éléments du gameplay : nouveaux personnages, nouveaux objets, un système pour raconter l'histoire… Un musicien, Valentin, ayant rejoint l'équipe, il y aura peut-être du son.

Journées du logiciel libre

Une partie de l'équipe sera aux JDLL de Lyon les 12 et 13 avril, dans le village associatif près du stand jeux vidéo, pour présenter Ned et les maki ainsi que d'autres productions des GGP.

Télécharger ce contenu au format Epub

Lire les commentaires

Gérer les containers avec Docker

Mardi 25 Mars

Docker est un projet open-source sous licence Apache 2 pour automatiser le déploiement d'application sous forme de containers LXC

Jusqu'à présent on trouvait couramment des applications prêtes à l'emploi sous forme d'images VMware, XEN, VirtualBox, QEMU, etc. mais quasiment jamais l'équivalent sous forme de containers. Pourtant les containers représentent une forme de virtualisation légère qui peut dans bien des cas servir d'alternative à la virtualisation lourde.

NdM : merci aussi à Nycolive pour sa proposition de dépêche, qui a été fusionnée avec celle-ci.

Rappel
  • émulation complète : on émule un ordinateur virtuel complet. C'est lent mais très flexible, On peut par exemple émuler un processeur SPARC sur un ordinateur Intel. Exemple de logiciel : QEMU
  • virtualisation : on émule un ordinateur virtuel du même type que l'hôte. C'est moins flexible que l'émulation complète mais c'est beaucoup plus rapide. Techniquement ça repose sur les différents niveaux d'exécution du processeur (Ring 0,1,2,3) Exemple de logiciels : VMWare, Xen, VirtualBox, KVM, Hyper-V
  • containers : ce n'est plus l'ordinateur qui est virtuel, mais uniquement l'environnement d'exécution. Un seul et même noyau est utilisé par des containers qui sont isolés les uns des autres. C'est moins flexible que la virtualisation (on ne peut pas mélanger Windows/Linux), mais ça consomme moins de ressources systèmes. Techniquement ça repose sur chroot et cgroups. Exemple : OpenVZ, VServer, LXC, … et Docker dont nous parlerons ici.
Déploiement d'application

Actuellement, la solution la plus facile pour distribuer une application complexe, c'est de la fournir sous forme de machine virtuelle. Mais dans la plupart des cas on pourrait faire la même chose avec des containers et c'est là que docker intervient.

Docker permet de créer un container sur une machine puis de l'exécuter sur n'importe quel autre.

Docker fournit un dépôt de conteneurs avec des images officielles et des images créées par les utilisateurs enregistrés, un peu à la manière des dépôts GIT.

Nota

Docker ne concerne que Linux, pourtant les autres Unix disposent aussi de containers :

Télécharger ce contenu au format Epub

Lire les commentaires

Linphone 3.7.0

Lundi 24 Mars

Une nouvelle version majeure de Linphone, un softphone SIP open-source sous licence GPL, vient de sortir pour Linux/Windows/MacOSX. Cette nouvelle version est numérotée 3.7.0.

Beaucoup de changements et nouveautés sont au programme (voir dans la suite de la dépêche), d'autant que nous n'avions pas fait une news pour la sortie de la version 3.6.0 lors du mois de Juin 2013…

Dans cette nouvelle version :
  • possibilité de configurer différents comptes utilisant différents protocoles parmi UDP/TCP/TLS ;
  • possibilité d'utiliser en parallèle IPv4 et IPv6 ;
  • support des formats vidéo HD, utilisant si possible la présence de plusieurs coeurs pour l'encodage ;
  • codec OPUS ajouté ;
  • possibilité de choisir entre OpenGL et XV pour le rendu sous Linux ;
  • possibilité de spécifier une URL vers un fichier de configuration distant ;
  • fonction de recherche de contact via LDAP disponible pour Linux et MacOSX ;
  • notification de composition des messages dans la vue de chat ;
  • réponse plus rapide de l'interface grâce à l'amélioration de la librairie (opérations complètement asynchrones) ;
  • possibilité de taper les DTMFs via le clavier.

Les nouveautés principales de la version précédente :

La version 3.6.0 n'ayant pas bénéficié d'une dépêche, en voici les changements essentiels.

  • ICE (RFC 5245) et UPnP ajoutés ;
  • possibilité d'enregistrer les appels audio (ainsi que les conférences) ;
  • statistiques sur les appels en cours disponibles ;
  • les bibliothèques tierces osip et eXosip sont maintenant remplacées par notre propre bibliothèque SIP : belle-sip (voir les dépôts git);
  • sauvegarde des messages de chat et notifications de réception.

Du coup je ne vais pas vous faire une liste des améliorations de belle-sip dans cette version puisque c'est la première fois que j'en parle, disons simplement qu'elle supporte tout un tas de RFC en plus. Je vous invite à lire l'annonce sur le site du projet pour ceux (et celles) qui souhaitent en savoir plus.

Pour finir :

J'en profite pour préciser que notre entreprise recrute, voir l'offre d'emploi sur Lolix.

Télécharger ce contenu au format Epub

Lire les commentaires

Sortie de Gitblit 1.4.x

Lundi 24 Mars

Gitblit est un outil de gestion de dépôt Git, à l’instar de Gitosis ou Gitolite. L'idée est de permettre de partager ses dépôts, gérer des droits d'accès, fournir du backup… tout en restant dans les murs de l'entreprise si nécessaire.

Pour les entreprises justement, qui n'ont pas toujours de compétences Rails ou de culture des clefs SSH, Gitblit possède certains atouts. Au niveau administration, avec une application légère en Java, autonome ou hébergeable dans un Tomcat ou dans le Cloud.
Au niveau de la gestion des utilisateurs, Gitblit offre au choix des solutions généralement appréciées des entreprises : Ldap ou Active directory avec gestion des habilitations basée sur les groupes, Windows, PAM, Container type Tomcat ou personnalisé. La gestion par clefs SSH sera apportée par la version 1.5.

Associé aux autres fonctionnalités plus courantes, Gitblit offre la possibilité de mettre en place un Github-like dans son entreprise.

Fonctionnalités précédentes Gestion des Hooks

Un mécanisme de Hook (ou Trigger) est accessible, permettant de scripter des actions lors des push. Ils se programment en Groovy et ont accès au cœur de l'application. Quelques lignes suffisent donc pour créer une interaction avec une intégration continue ou une gestion de ticket. Des exemples utilisables sont fournis entre autres avec Jenkins ou Redmine.

Un aspect intéressant, c'est qu'il est possible de définir des Hooks systématiquement executés (comme avec Subversion) pour une intégration avec Jenkins, mais également des Hooks activables à la demande et par projets dans l'interface. C'est le chef de projet qui choisit la gestion de ticket utilisée sur ce projet.

Fédération et réplication

Un système complet de fédération de serveurs est utilisable. Les objectifs possibles peuvent être par exemple d'avoir un miroir permanent sur un autre site afin de permettre une reprise d'activité rapide en cas d'incident.

Ou autre cas d'entreprise pour les grosses structures, d'avoir un dépôt dans chaque site ou ville, consolidé au niveau national.

Divers

Quelques autres fonctionnalités intéressantes :

  • Possibilité de n'être qu'un simple visualisateur de dépôt d'un autre service Git, comme Gitolite avec SSH, ou Gerrit.
  • Une indexation Lucene pour faire des recherches performantes sur un ensemble de dépôts
  • Des menus personnalisables pour les clients Git utilisables dans l'entreprise
  • Une API JSON-RPC, qui sera d'ailleurs largement complétée avec la version 1.5, afin de permettre des workflows avancés, comme des acceptations partielles par Jenkins de pull-request.
Nouveautés majeures apportées par la version 1.4.x Tickets

Une gestion de Tickets similaire à GitHub/BitBucket a été implémentée mais un peu différemment. Il n'y a pas de distinction entre un Ticket et un Pull Request.

Chaque ticket peut avoir un ou plusieurs commits lié(s) à une branche et il n'y a pas nécessité de créer plusieurs tickets pour différentes versions (forks) du même code.

Au niveau de Gitblit, la conception tourne autour de quelques principes :

  • Gestion simple pour tracer les actions ou les rapports d'utilisateurs
  • Chaque ticket peut contenir des commits partagés par un contributeur
  • Le ticket doit être la source canonique de commits lié au ticket (et non les commits d'un fork)
  • Les contributeurs supplémentaires d'un problème doivent pouvoir développer des ensembles de patch pour un ticket, et non seulement le créateur du ticket. Le ticket rassemble donc l'ensemble des contributions et non seulement une revue de code.
  • Pas de perte d'historiques entre le mainteneur ou contributeurs.

Gitblit a pris son inspiration depuis GitHub, BitBucket, and Gerrit. Les différents mécanismes techniques sous-jacents ont été implémentés et testés avant de faire les choix définitifs.

Workflow de collaboration (pull-request)

Les Pull Requests à la manière de GitHub demandent le workflow suivant:

  • Forker le ProjetA en MonProjetA
  • Cloner MonProjetA sur le poste de travail
  • Créer MonProjetA_Clone:topic_branch et travailler sur la contribution
  • Push MonProjetA_Clone:topic_branch upstream vers MonProjetA:topic_branch
  • Ouvrir une Pull Request depuis MonProjetA:topic_branch vers ProjetA:integration_branch
  • Le propriétaire de ProjetA pull MonProjetA:topic_branch vers ProjetA:integration_branch et inspecte la contribution
  • Le propriétaire de ProjetA push enfin la contribution fusionné vers ProjetA:integration_branch

Le flux avec Gitblit ressemble à ceci:

  • Cloner ProjetA
  • Créer ProjetA_Clone:topic_branch et travailler sur la contribution
  • Push ProjetA_Clone:topic_branch upstream vers ProjetA:refs/for/[new|id]
  • Le propriétaire de ProjetA fetch et merge la branche ticket/[id]
  • Le propriétaire de ProjetA pushe la fusion vers ProjetA:integration_branch

Le workflow Gitblit supprime la conception à 4 dépôts de Github (canonique, copie de travail canonique, fork, & copie de travail du fork) au profit d'une à 3 dépôts (canonique, copie de travail canonique, copie de travail du clone).

La conséquence de l'implémentation de Gitblit, c'est que pour le travail d'une nouvelle fonctionnalité donnée, il y a harmonie entre un ticket, les commits dans une branche liée, la contribution à plusieurs sur cette branche, les revue de code (avec notes) et la fusion.

Au passage, on économise les ressources système d'un dépôt supplémentaire et d'une étape dans l'interface Web.

Licence et Contribution

Gitblit est sous licence Apache 2.0, et est développé pour l'instant sur Github. Les contributions sont appréciées, via le mécanisme du Fork et Pull-Request.

Une traduction en français de l'interface est commencée sur le fork listé dans les liens, n'hésitez pas à y contribuer. L'objectif premier est d'avoir une traduction gardant le nom des commandes Git intact, et peut-être ensuite une autre plus « Québécoise » traduisant intégralement tous les termes. Les gens choisiront.

Télécharger ce contenu au format Epub

Lire les commentaires

The Hack language : PHP avec un peu de typage statique

Dimanche 23 Mars

Facebook vient enfin d'annoncer son nouveau langage de programmation pour le web, plus d'un an après les premiers déploiements en interne. Baptisé Hack et entièrement interopérable avec PHP, il s'exécute sur leur machine virtuelle maison (HHVM) et permet aux développeurs qui le souhaitent d'ajouter un peu de typage statique dans leur développement PHP. Il semble que pour Facebook, cette dose de typage supplémentaire était devenue indispensable à la maintenance sur le long terme de leur grande base de code.

D'un point de vue performance, la machine virtuelle HHVM utilise des techniques de compilation à la volée, alors que, précédemment, ils utilisaient pour le code en production un compilateur de PHP vers C++. Sur le code du site Facebook lui-même, ils annoncent un gain de performance de x10 en temps processeur. De manière plus générale, HHVM vise à terme une compatibilité complète avec PHP5—aujourd'hui, 98.5% de compatibilité—dans ce cas ils annoncent un gain de x2 par rapport à la version actuelle de Zend.

Au delà du gain en CPU dû à la machine virtuelle, cette annonce montre aussi que les questions de fiabilité et le typage statique commencent à faire leur chemin. La complexité croissante des applications Web en font une question centrale pour l'avenir. Même si Facebook a fait le choix conservateur de typer PHP plutôt que tout traduire vers un langage fortement typé (à cause de l'énorme masse de code déjà écrite), il est frappant de noter que le compilateur Hack lui-même et le tutoriel en ligne sont implémentés en OCaml.

Dans son annonce officielle Facebook remercie d'ailleurs l'équipe Gallium de l'INRIA pour le compilateur OCaml ; et, le projet Ocsigen (CNRS, INRIA, Université Paris Diderot) pour le compilateur js_of_ocaml. La machine virtuelle HHVM est écrite en C++.

Un peu, ou beaucoup, de typage statique

Ahhh, le typage statique ! Une ceinture de sécurité indispensable pour les uns, une plaie bridant l'imagination pour les autres. Un peu un combat entre une vieille Europe rationnelle et un nouveau monde plus dynamique. Hack propose une alliance originale entre deux modes de développement trop souvent présentés comme incompatibles.

Avec Hack, on préserve l'aspect réactif du développement avec PHP : il suffit d'éditer le fichier source et de rafraîchir son navigateur. Pas de phase de compilation, pas d'erreur de type interdisant l'exécution du programme. Le typeur est à côté, il nous apporte des garanties supplémentaires si on le souhaite et il se fait discret sur les fragments de code que l'on ne veux pas typer. Avec cette approche, on peut écrire le prototype sans se soucier du typage statique, puis progressivement ajouter des annotations de types et découvrir des erreurs de programmation que les tests n'avaient pas encore permis de découvrir.

Et, une fois le programme entièrement typé, que gagne-t-on ? À titre personnel, je dirais une certaine sérénité d'esprit et une dose de confiance supplémentaire en son code. Mais plus concrètement on peut dire : une meilleur compréhension de l'architecture du code, grâce à l'effort de spécification des types des fonctions et méthodes ; et, quand le nombre de ligne de code augmentera, la garantie que les modifications ne viendront pas trop facilement casser le code existant. Par exemple, changez le type d'une fonction, le typeur vous trouvera immédiatement —car celui de Hack est diablement rapide— toutes les lignes de code à adapter en conséquence.

Le tutoriel interactif, en lien dans la dépêche, contient une introduction au système de type de Hack. Reste à voir, si le système de type choisi sera aussi utilisable avec les styles de programmation différents de ceux utilisés en interne chez Facebook.

Quelques autres nouveautés

En plus d'un mécanisme de transition en douceur vers le monde merveilleux des types statiques, Hack ajoute à PHP deux ou trois petits choses utiles, par exemple (les extraits de code proviennent du tutoriel) :

  • De nouvelles classes pour les collections : Set, Vector, etc. Elles sont génériques pour le typage : leur type est paramétré par le type des éléments qu'elles contiennent.
  • Une syntaxe légère pour les lambda, ce qui est particulièrement pratique pour utiliser les méthodes map ou filter des collections sus-nommées.
function vector_add1(Vector<int> $v): Vector<int> { // Construit un nouveau vecteur en ajoutant 1 à chaque élément du vecteur $v return $v->map($x ==> $x + 1); }
  • De nouvelles primitives pour faciliter la programmation asynchrone: async et await.
  • L'extension XHP d'écriture de squelette HTML, avec protection contre les XSS, est disponible par défaut:
function build_paragraph(string $text, string $style): :div { return <div style={$style}> <p>{$text}</p> </div>; }
  • Une syntaxe plus concise pour initialiser les champs d'un objet
/* En PHP */ class PHPPoint { private float $x; private float $y; public function __construct(float $x, float $y) { $this->x = $x; $this->y = $y; } } /* En Hack */ class HackPoint { public function __construct( private float $x, private float $y ) {} } En prime : du multicœur pour OCaml ?

Pour ne pas freiner l'adoption du typage statique dans une communauté qui n'y est pas nécessairement habituée, il faut que le typeur soit rapide, voire très rapide, y compris sur un code de la taille de celui du fameux réseau social. Et pour ça, point de secret, la programmation multicœur peut aider ! Et en fouillant dans le code de Hack—disponible avec une licence BSD sur github—on découvre une bibliothèque OCaml de tas partagé entre plusieurs processus.

Techniquement parlant, le typeur de Hack est un serveur qui tourne en tâche de fond et surveille les dossiers sources, notamment en utilisant inotify sur Linux. Ce serveur sert uniquement de point d'entrée, il délègue ensuite les vérifications de type et autres mécanismes d'inférence à des processus fils, créés à la demande. L'état global du typeur est maintenu collaborativement par tous les fils dans un tas partagé. Cette architecture collaborative évite aux processus fils de devoir communiquer leurs résultats au serveur maître et évite donc d'y introduire un goulet d'étranglement.

Ce joli exemple pourrait permettre de faciliter grandement la programmation multicœur en OCaml. Espérons que la bibliothèque de Hack sera rapidement proposée à la communauté OCaml, par l'intermédiaire d'un paquet pour opam, le gestionnaire de paquets édité par OCamlPro.

Télécharger ce contenu au format Epub

Lire les commentaires

GStreamer 1.x mûrit et Pitivi 1.0 bêta déboule

Samedi 22 Mars

Impossible de faire l'impasse sur l'actualité de la bibliothèque de manipulation de sons et d'images GStreamer suite au hackfest qui vient de se dérouler.

L'actualité de GStreamer, c'est aussi celle des applications qui s'appuient dessus :

  • le lecteur multimédia Totem qui pourra lire les vidéos en cours de téléchargement par torrent ;
  • le transcodeur vidéo Transmageddon qui pointe son nez refait dans une toute nouvelle version plus simple d'utilisation et dotée de nouvelles fonctionnalités ;
  • le logiciel de montage vidéo Pitivi qui continue son chemin vers la tant attendue version 1.0 et qui a pour cela engagé une campagne de financement…
Sommaire GStreamer 1.x mûrit

GStreamer est une bibliothèque logicielle de gestion du son et de l’image (autrement dit : un framework multimédia) disponible pour les systèmes GNU/Linux et cousins, Mac OS X, Windows et Android. C’est aujourd’hui un pilier du projet GNOME (Totem, Rhythmbox, Epiphany, Gajim ou encore PiTiVi s’appuient dessus, pour citer quelques exemples). Firefox l’utilise également pour décoder les H264, AAC et MP3 des séquences audio‐vidéo en HTML 5 sur GNU/Linux.

La branche 1.x a succédé à la branche 0.10.x le le 24 septembre 2012 après un long travail de développement devant permettre au framework de réaliser de nouvelles prouesses à partir d'une base retravaillée (rappelons que les deux versions peuvent coexister sur un même système afin de faciliter la transition).

GStreamer étant basé sur un système de greffons, c'est l'ensemble de ceux-ci qui devaient être adaptés pour fonctionner avec la nouvelle version et en tirer profit.

L'accélération du (dé)codage vidéo fait partie de ces bénéfices.

Récemment la sortie des version 0.5.7 et 0.5.8 de la bibliothèque gstreamer-vaapi a rendu celle-ci possible (respectivement pour le décodage et le codage).

Le GStreamer Hackfest qui vient de s'achever dans les bureaux de Google Office à Munich a permis un certain nombres d'avancées.

Parmi celles-ci (liste complète et détaillée ici), citons :

  • accélération du décodage au moyen des fonctions OpenGL de la carte graphique ;
  • accélération matérielle plus efficace sur Android ;
  • nouveau jeu de décodeurs basés sur l'API mem2mem de v4l2, que l'on retrouve sur certains SoC Samsung Exynos (un travail de mise à niveau de la partie de GStreamer 1.x faisant appel à v4l2 devra d'ailleurs être réalisé « dans un futur proche ») ;
  • raffinement de l'accélération matérielle recourant à la VAAPI ;
  • possibilité via Pulse Audio de passer directement un flux encodé ;
  • travail en cours afin de pouvoir lire un fichier en train d'être téléchargé via le protocole torrent sans atteindre la fin du téléchargement (l'auteur considère que son travail n'est pas assez finalisé pour l'inclure dès à présent dans GStreamer) ;
  • amélioration de la prise en charge de Dynamic Adaptive Streaming over HTTP, une technologie de streaming multimédia développée par le MPEG.

Les applications Gnome Sound Recorder (enregistreur de sons pour GNOME) et Transmageddon (transcodeur universel ainsi que rippeur de DVD) ont également bénéficié de ce hackfest.

Enfin un gros travail est en cours pour enfin permettre la manipulation du format MPEG-TS dans des travaux de montage vidéo. MPEG-TS, très présent dans la télévision numérique, est conçu pour la diffusion continue et pas du tout pour le montage, ce qui rend la bête difficile à apprivoiser. Heureusement, les gars de Pitivi (Mathieu Duponchelle et Thibault Saunier) sont à la tâche.

En parlant de Pitivi, ses développeurs ont pu à cette occasion finaliser les briques GStreamer Editing Services, GNonLin et gst-python sur lesquelles ils basent Pitivi et qui permettent à tout à chacun de construire un logiciel d'édition audio et/ou vidéo profitant de la puissance de GStreamer sans avoir à tout coder directement à partir de ce dernier (gros boulot !). Plus d'infos ici.

Pitivi 1.0 bêta déboule

Pour rappel, Pitivi est un logiciel de montage vidéo pour systèmes GNU/Linux.

Comme nous venons de le voir, les développeurs de Pitivi sont au taquet ; outre le travail direct sur GStreamer, GStreamer Editing Services, GNonLin et gst-python, ils en ont profité pour sortir la première bêta de Pitivi 1.0 !

Cette version, estampillée 0.93, apporte, comme pour les précédentes (0.91 et 0.92, à qui les développeurs avaient donné le stade d'alphas, par prudence), de nombreuses corrections de bogues mais aussi un certain nombre d'améliorations notamment en termes d'utilisabilité (une des deux priorités de Pitivi, avec la stabilité). Vous trouverez un exemple ici et la liste complète des changements intervenus depuis la 0.92 ici.

Les utilisateurs de Debian devraient, comme pour les précédentes, pouvoir piocher cette nouvelle version assez rapidement dans les dépôts Experimental, tandis que les utilisateurs d'Ubuntu pourront utiliser ce PPA. Les autres, qui ne souhaitent pas attendre les paquets pour leur distribution, suivront les instructions du site officiel.

Envie que ça aille plus loin, plus vite ?

Vous avez envie que ça aille plus vite, vous voulez un beau logiciel libre de montage vidéo pour GNU/Linux qui soit conçu pour être stable, simple à utiliser et capable de tout (dé)coder grâce à GStreamer ? Alors pensez à participer à la campagne de financement de Pitivi qui permettra à deux développeurs expérimentés et ayant fait leurs preuves de travailler à plein temps sur le projet pendant plusieurs mois (à partir de la bêta qui vient d'être publiée).

Celle-ci est organisée sous l'égide de la fondation GNOME, et le projet GStreamer lui-même a fait une donation de 2.500 € : en effet, et comme nous venons de le voir, Pitivi se base GStreamer qu'il améliore et étend au passage, afin que le travail effectué profite à tous.

La campagne avance bien mais la route est encore longue avant que l'objectif soit atteint, c'est pourquoi il est important que les personnes intéressées par le projet puissent contribuer, chacun selon ses moyens.

Bref, c'est ici que ça passe pour faire un don : fundraiser.pitivi.org

Télécharger ce contenu au format Epub

Lire les commentaires

[ApéroLibre] 27 mars à Nantes : Déploiement de logiciels / Suivi de production

Samedi 22 Mars

Retrouvez-nous autour d'un apéro le jeudi 27 mars (18h45-21h) à la Cantine Numérique Chaussée de la Madeleine - 11 Impasse Juton - 44000 Nantes.

Pour découvrir deux thématiques :

  • Déployez facilement vos logiciels avec WAPT
  • Le suivi de production propulsé par Apache-OFBiz

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

Dates suivantes : 15 mai, 17 juillet, 18 septembre, 20 novembre

Déployez facilement vos logiciels avec WAPT

Intervenants : Vincent Cardon, Hubert Touvet et Frédéric Bonnier (Tranquil IT Systems)

Installer, paramétrer, mettre à jour et désinstaller des logiciels sont des pratiques courantes du quotidien des informaticiens. Cumulées, ces opérations prennent du temps. Et si vous pouviez consacrer ce temps à d'autres activités, tout en gagnant en qualité ?

Alors venez découvrir la nouvelle solution de gestion de parc WAPT (APT pour Windows). Grâce à sa console de gestion centrale, vous pouvez administrer facilement l'ensemble des logiciels installés sur vos postes MS Windows et vous dégager du temps. Gérer un parc logiciel complexe devient alors simple et même agréable…

Le suivi de production propulsé par Apache-OFBiz

Intervenants : Julien Nicolas, Guillaume Sigoigne et Serge Roy (Nomaka)

Parce que trouver un logiciel de suivi de production Libre et efficace relève de l'impossible, et parce que le suivi de production est notre métier, nous nous sommes lancés dans l'aventure ! S'appuyant sur l'efficacité du logiciel Apache-OFBiz, Nomaka développe sa solution de suivi de production depuis novembre 2013.

Venez découvrir les points forts de la version standard d'Apache-OFBiz en matière de gestion de production ainsi que notre nouveau module de suivi de production Libre… et efficace :) Réalisée par une agence de webdesign Nantaise, l'interface, pensée pour être installée sur des terminaux en environnement à forte contrainte, est un des points forts de notre solution.

Télécharger ce contenu au format Epub

Lire les commentaires

Proxmox VE 3.2 est disponible

Samedi 22 Mars

Proxmox Server Solutions, fournisseur de la solution de virtualisation Open Source Proxmox Virtual Environment (VE), annonce la sortie de la version 3.2.

Cette version Proxmox VE 3.2 apporte les fonctionnalités suivantes :

  • Ceph, le système de fichiers distribué ; il est possible d'administrer le cluster Ceph via l'interface Web de Proxmox et donc d'utiliser le système de fichier partagé Proxmox pour répliquer la configuration dans le cluster.
  • Spice (le protocole d'accès à distance, pas le simulateur de circuit électrique) était disponible en tant que Technology Preview pour accéder aux invités KVM, il est maintenant possible de l'utiliser pour accéder aux conteneurs OpenVZ ou même à une console sur l'hôte. Cela devrait être plus pratique que l'actuelle applet Java.
  • Open vSwitch, est un logiciel qui permet de simuler un switch sur l'hôte pour interconnecter les invités, il est de plus en plus utilisé par les différentes solutions de virtualisation et prend en charge de nombreux protocoles standards comme NetFlow ou LACP
  • Et d'autres nouveautés mineures.
Télécharger ce contenu au format Epub

Lire les commentaires

Meetup Python à Nantes le 09 avril : GrapheekDB une base de données graphe rapide en Python !

Samedi 22 Mars

Une base de données graphe, c’est quoi ? À quoi ça sert ? Pourquoi GrapheekDB ?

Pour ce premier rendez-vous Python, nous vous proposons de découvrir GrapheekDB, avec Raphaël Braud, Mercredi 9 Avril, de 19h00 à 21h00 à La Cantine du numérique de Nantes.
Cette base de données de graphe libre se distingue de ses consœurs car elle repose sur la rapidité des bases clé-valeur et propose déjà de nombreuses optimisations qui boostent les recherches.
Venez comprendre comment GrapheekDB s’utilise et permet de créer un algorithme de recommandation, de comprendre les principes du page rank ou d’inférer des règles logiques.

Cette petite conférence est une première tentative pour instaurer un rendez-vous avec la communauté Python de Nantes. Les développeurs de tous bords sont bien sûr bienvenus. On espère bien avoir le temps de boire un coup ensemble ensuite !

Télécharger ce contenu au format Epub

Lire les commentaires

Spéciale Lennart Poettering : nouvelles versions de systemd et PulseAudio

Vendredi 21 Mars

La sortie de la dernière version de PulseAudio coïncide avec celle de trois nouvelles versions de systemd, c’est donc l’occasion de faire une dépêche spéciale Lennart Poettering !

    Sommaire PulseAudio

    Lien de l’annonce

    En résumé
    • Prise en charge de BlueZ 5 (A2DP seulement) ;
    • Ré-implémentation des modules tunnel ;
    • Prise en charge de systemd-journal comme système de journalisation ;
    • Petits changements ça et là ;
    • Beaucoup de corrections de bogues.
    Prise en charge de BlueZ 5 (A2DP seulement)

    Posons d’abord le décor : les développeurs du projet BlueZ a décidé de refaire leur interface (de programmation) client. Ils ont aussi décidé d’abandonner la prise en charge de l’ancienne interface. BlueZ 4 a l’ancienne interface et BlueZ 5 a la nouvelle. La décision d’abandonner la prise en charge de l’ancienne interface dans BlueZ 5 signifie que toutes les applications, incluant PulseAudio, qui fonctionnaient avec BlueZ 4 ne fonctionneront pas avec BlueZ 5.

    La gestion de BlueZ 5 a progressivement été ajoutée dans diverses applications, et c’est la première version de PulseAudio qui prend en charge BlueZ 5. Cela signifie que tout est bien, n’est-ce pas? Pas vraiment. Le projet BlueZ a aussi décidé d’abandonner la prise en charge des profils HSP et HFP, qui étaient les profils qui avaient la responsabilité de gérer la téléphonie audio. Si vous avez un casque, son microphone ne va pas fonctionner avec BlueZ 5, parce que le microphone est seulement géré par les profils HSP et HFP.

    Des distributions ont migré vers BlueZ 5 sans fournir aux utilisateurs la possibilité de rester avec BlueZ 4. Certaines de ces distributions ont probablement fait la transition sans en comprendre les conséquences — elles ont maintenant une sérieuse régression en terme de fonctionnalités, car les casques de leurs utilisateurs ont cessé de fonctionner (d’accord, les casques peuvent toujours être utilisés pour écouter de la musique, mais ils sont inutiles pour les applications de VoIP).

    GNOME a aussi pris la décision, peut-être en étant mal informé, d’abandonner la prise en charge de BlueZ 4 dans leur dernière version, ce qui signifie que passer à la version courante de GNOME (3.10) pose un problème différent en fonction de la version de BlueZ du système : avec BlueZ 4, l’interface utilisateur de GNOME pour gérer le Bluetooth ne va pas fonctionner et avec BlueZ 5 la gestion des casques audio sera castrée.

    Comment refaire fonctionner les profils HSP et HFP avec BlueZ 5 ? Il sont partiellement gérés dans oFono (un démon de téléphonie), qui va heureusement être terminé prochainement et la prochaine version de PulseAudio gèrera donc HSP/HFP via oFono. Cela rajoute une pile de téléphonie comme dépendance à PulseAudio pour utiliser vos casques Bluetooth, ce qui peut être considéré comme excessif. Ce problème reste à résoudre avec les développeurs de BlueZ.

    Maintenant, les détails techniques à propos de la gestion de BlueZ 5 dans PulseAudio ; il y a désormais des modules séparés pour BlueZ 4 et BlueZ 5 : module-bluez4-discover et module-bluez5-discover. L’ancien module-bluetooth-discover existe toujours et est utilisé dans la configuration par défaut. module-bluetooth-discover est maintenant une couche d’abstraction : il va charger module-bluez4-discover et/ou module-bluez5-discover en fonction de ce qui est présent sur le système. Cela signifie que la migration vers Bluez 5 peut être effectuée sans changer la configuration de PulseAudio.

    Ré-implémentation des modules tunnel

    Les anciens module-tunnel-sink et module-tunnel-source ont une implémentation indépendante du protocole client de PulseAudio. Il y a une autre implémentation dans libpulse, qui est utilisée par les applications pour discuter avec le serveur PulseAudio. C’est clairement une duplication d’efforts et cela rend la maintenance des modules tunnel beaucoup plus dure qu’elle ne devrait l’être.

    Dans le cadre d’un projet GSoC, Alexander Couzens a ré-implémenté les modules tunnel pour qu’ils utilisent libpulse au lieu d’implémenter les détails du protocole eux-mêmes. Ils sont maintenant disponibles sous les noms module-tunnel-sink-new et module-tunnel-source-new. L’implémentation n’est pas tout à fait complète, ce qui explique que les anciens modules existent toujours, mais les nouvelles versions peuvent déjà être testées (si vous avez des problèmes avec la qualité de la diffusion audio des anciens modules tunnel, ça vaut la peine de voir si les nouveaux modules fonctionnent mieux). Notez que si vous utilisez module-tunnel-sink-new ou module-tunnel-source-new dans un fichier de configuration, ce fichier de configuration ne fonctionnera plus quand ces modules seront terminés car le suffix «-new» sera supprimé du nom du module.

    Prise en charge de systemd-journal

    Une nouvelle cible pour le système de journalisation a été ajoutée : « journal ». Il est utilisé par défaut si PulseAudio est compilé avec prise en charge de systemd-journal. La nouvelle cible pour le système de journalisation est aussi gérée dans daemon.conf (option log-target), par la ligne de commande (option --log-target) et dans pacmd (commande set-log-target).

    systemd

    Voici une traduction des journaux des modifications concernant systemd. Les changements les moins importants et/ou trop techniques n’ont pas été traduits, et nous vous invitons alors à consulter les notes de version originales.

    Un petit résumé pour les pressés : beaucoup d’améliorations et d’ajouts concernant la sécurité, quelques nettoyages et surtout beaucoup de nouvelles fonctionnalités dont certaines raviront l’utilisateur final, comme une meilleure prise en charge de la fermeture d’un écran d’ordinateur portable et la sauvegarde/restauration de la luminosité de l’écran.

    Sur une note un peu plus technique, on pourra aussi noter l’implémentation de kdbus de plus en plus complète, une meilleure prise en charge de SELinux et d’options de sécurité, une syntaxe pour écrire des unités qui s’enrichit encore pour permettre plus de flexibilité, sécurité et contrôle sur les processus, et la fonctionnalité qui permet de démarrer sans /etc/fstab s’améliore pour gérer encore plus de cas.

    Note : côté sécurité mais un peu en marge, la version 3.0 des pilotes Intel pour X.Org permettra à ce dernier de tourner sans les droits root en s'appuyant sur systemd/logind (le défunt OS Moblin 2.0 avait étrenné dès 2009 cette fonctionnalité rendue théoriquement possible par KMS).

    systemd 209

    Lien de l’annonce

    • Un nouveau composant nommé systemd-networkd a été ajouté. Il peut être utilisé pour configurer les interfaces du réseau local, statiquement ou via DHCP. Il est capable de construire des ponts, des VLAN, et d’agréger des liens. À l’heure actuelle, aucun script pour la configuration interactive de réseaux n’est fourni. Utilisez-le pour votre initrd, conteneur, configuration embarquée ou serveur si vous avez besoin d’une solution de configuration réseau simple mais puissante. Sa conception est plutôt ingénieuse, car il permet le filtrage par métacaractère parmi les interfaces branchées à chaud. Par exemple, avec un seul bout de configuration, vous pouvez faire en sorte que toutes les interfaces Ethernet qui apparaissent soient automatiquement ajoutées à un pont, ou des choses similaires. Il gère le link-sensing et bien plus.

    • Un nouvel outil appelé systemd-socket-proxyd a été ajouté. Il agit comme un proxy bidirectionnel pour les sockets TCP. C’est utile pour ajouter la prise en charge de l’activation par socket aux services qui ne la prennent actuellement pas en charge, incluant les machines virtuelles et compagnie.

    • Ajout d’un nouvel outil pour sauvegarder/restaurer l’état des interrupteurs physiques (rfkill) à l’arrêt/redémarrage.

    • Sauvegarde/Restauration de l’état du rétro-éclairage du clavier ainsi que la luminosité de l’écran à l’arrêt/démarrage.

    • Une nouvelle option de ligne de commande du noyau - systemd.restore_state=1|0 - permet d'activer/désactiver les restaurations des états sauvegardés des périphériques matériels. Plus précisément, les états des interrupteurs matériels et du rétroéclairage ne sont pas restaurés.

    • udev possède maintenant une nouvelle construction SECLABEL{} pour étiqueter les nœuds de périphérique avec une étiquette de sécurité spécifique quand ils apparaissent. Pour le moment, seulement SECLABEL{selinux} est pris en charge, mais la syntaxe est prête pour des frameworks de sécurité additionnels.

    • systemd ne dépend plus de libdbus. Toute la communication est désormais effectuée avec sd-bus, l’implémentation de la bibliothèque de bus bas niveau de systemd.

    • la prise en charge de kdbus a été ajoutée au PID 1 lui-même. Quand kdbus est activé, le PID 1 met en place le bus système et active la prise charge d’un nouveau type d’unité .busname qui encapsule l’activation des noms de bus dans kdbus. Ça fonctionne un petit peu comme les unités .socket, excepté pour les noms de bus. Un nouveau générateur a été ajouté qui convertit automatiquement les fichier d’activation de service dbus1 classiques aux formats .busname et .service natifs de systemd.

    • Un démon proxy est maintenant fourni aux clients proxy se connectant via les socket D-Bus AF_UNIX classiques vers kdbus, pour fournir une compatibilité totale avec D-Bus classique.

    • Un pilote de bus qui gère la compatibilité avec les appels D-Bus classiques a été implémenté.

    • L’option de compatibilité FsckPassNo= dans les unités de montage/service a été supprimée. Le générateur de fstab ajoutera désormais automatiquement les dépendances nécessaires, et ne nécessite plus de gestion par le PID 1.

    • journalctl a gagné une nouvelle option, --list-boots, qui liste les démarrages récents avec leur date et ID de démarrage.

    • Les divers outils tels que systemctl, logintctl, timedatectl, busctl, systemd-run, etc ont obtenu une nouvelle option -M pour se connecter à un conteneur de système d’exploitation local (connexion directe sans utiliser SSH). Cela fonctionne sur n’importe quel conteneur qui est enregistré avec machined, comme ceux créés par libvirt-lxc ou nspawn.

    • systemd-run et systemd-analyze ont aussi obtenu l'ajout de l’option -H pour se connecter à un hôte distant via SSH. C’est particulièrement utile pour systemd-run car cela permet de mettre en file d’attente des tâches sur des systèmes distants.

    • machinectl a obtenu une nouvelle commande login pour ouvrir une connexion getty dans n’importe quel conteneur local. Cela fonctionne avec n’importe quel conteneur enregistré avec machined (comme ceux créés avec libvirt-lxc ou nspawn), et qui font tourner systemd à l’intérieur.

    • machinectl a gagné une nouvelle commande reboot qui peut être utilisée pour lancer un redémarrage sur un conteneur spécifique enregistré avec machined. Cela fonctionne sur n’importe quel conteneur qui possède un système d’initialisation quelconque.

    • systemctl a obtenu une nouvelle commande, list-timers, qui affiche une liste sympathique des unités timer avec le temps qu’il reste avant leur prochaine échéance.

    • Des paramètres alternatifs de reboot() peuvent maintenant être spécifiés sur la ligne de commande systemctl reboot, et seront passés à l’appel système reboot().

    • Il existe désormais dans /etc/systemd/systemd.conf de nouveaux paramètres pour configurer les temps d’expiration des unités, ainsi que l’intervalle limite de départ et de burst. Ils peuvent toujours être redéfinis dans chaque unité.

    • journald: lors de la redirection du journal vers la console, l’horodotage est maintenant inclus (en fonction du paramètre dans /sys/module/printk/parameters/time).

    • OnCalendar= dans les unités timer comprend maintenant les chaines de caractères spéciales yearly et annually (les deux sont équivalents).

    • La précision des unités timer est maintenant configurable avec le nouveau paramètre AccuracySec=. Sa valeur par défaut est de 1 minute.

    • Un nouveau type de dépendance JoinsNamespaceOf= a été ajouté, et permet de lancer deux services dans le même /tmp et espace de nom de réseau, si PrivateNetwork= ou PrivateTmp= sont utilisés.

    • Une nouvelle commande cat a été ajoutée à systemctl. Elle affiche le fichier d’unité original d’une unité, et le concatène avec le contenu des fichiers de configuration supplémentaires, affichant ainsi la configuration complète.

    • systemctl gère désormais les métacaractères pour les diverses commandes list-xyz, comme list-units et list-sockets, ainsi que pour les commandes qui prennent plusieurs noms d’unités en paramètres.

    • L’option --unit= de journalctl a obtenu la prise en charge des métacaractères.

    • Tous les démons systemd utilisent maintenant la logique de watchdog, systemd remarque donc automatiquement quand ils restent bloqués.

    • La base de données de matériel d’udev contient désormais des informations sur les vendeurs/produits des appareils SDIO.

    • Les services par connexion activés par socket incluent maintenant une courte description des paramètres de connexion dans la description.

    • Une nouvelle option PrivateDevices= a été ajoutée aux unités de service ce qui permet de faire tourner un service dans un répertoire /dev situé dans un espace de nom qui ne contient aucun nœud pour les périphériques physiques. Plus précisément, il contient seulement les périphériques tels que /dev/null, /dev/urandom et /dev/zero qui sont les points d’entrée de l’API.

    • logind a été étendu pour gérer des comportements tels que le changement de terminal virtuel sur les sièges qui ne prennent pas en charge un terminal virtuel. Cela rend le multi-session disponible sur les sièges qui ne sont pas le premier (seat0), et sur les systèmes où la gestion par le noyau pour les terminaux virtuels a été désactivée à la compilation.

    • Si un processus maintient un verrou de délai pour la mise en veille ou l’arrêt du système et n’arrive à le libérer à temps, son identité sera désormais enregistrée dans le journal. Cela rend plus facile l’identification des processus qui provoquent des lenteurs lors de ces deux opérations.

    • Lors de l’analyse d’/etc/crypttab, la gestion d’une nouvelle option key-slot= comme Debian a été ajoutée. Cela permet d’indiquer quel emplacement LUKS utiliser sur le disque, accélérant le chargement de la clé.

    • La sortie du statut de démarrage est maintenant activée automatiquement après un court délai si le démarrage ne progresse pas, dans le but de donner à l’utilisateur une indication de ce qu’il ou elle attend.

    • La sortie au démarrage a été améliorée pour montrer combien de temps il reste avant que la tâche soit périmée.

    • L’option KillMode dans les unités de service a obtenu une nouvelle valeur possible, mixed. Si utilisée, et que l’unité est arrêtée, alors le SIGTERM initial est seulement envoyé au processus principal du démon, tandis que le signal SIGKILL suivant est envoyé à tous les processus restants du service.

    • Lors de la lecture des fichiers d’unité, systemd vérifie désormais les droits d’accès à ses fichiers, et affiche un avertissement pour certaines combinaisons suspectes. Cela a été ajouté pour rendre plus facile la vérification d’erreurs d’empaquetage où les fichiers d’unité sont marqués exécutables ou en écriture pour tout le monde.

    • systemd-nspawn a été mis à jour pour créer un nouveau domaine kdbus pour chaque conteneur qui est invoqué, permettant alors à chaque conteneur d’avoir son propre ensemble de bus systèmes et utilisateurs, indépendant de l’hôte.

    • systemd-nspawn a obtenu une nouvelle option, --drop-capability=, qui permet de lancer le conteneur avec moins de capacités que par défaut. --drop-capabilité= et --capability= acceptent maintenant tous les deux la chaine spéciale all pour abandonner ou garder toutes les capacités.

    • systemd-nspawn a gagné une nouvelle option pour exécuter les conteneurs avec des étiquettes SELinux spécifiques mises en place.

    • logind va maintenant suivre un identifiant «Desktop» pour chaque session qui code l’environnement de bureau de cette dernière. C’est utile pour les environnements de bureau qui veulent identifier plusieurs sessions en cours d’eux-mêmes facilement.

    • Un nouveau paramètre SELinuxContext= pour les unités des services a été ajouté et permet de spécifier un contexte d’exécution SELinux spécifique pour un service.

    • La plupart des outils client de systemd respecteront désormais $SYSTEMD_LESS pour le visualiseur de texte. Par défaut, ces outils outrepasseront $LESS pour permettre à certaines opérations de fonctionner, telles que le « saut à la fin ». Avec $SYSTEMD_LESS, il est possible d’influencer cette logique. (NdR: cette dépêche a permis de découvrir un bug avec Mathjax.)

    • Le script «seccomp» de systemd a été modifié pour utiliser la libseccomp au lieu d’utiliser sa propre implémentation. Cela a pour avantage une meilleure portabilité parmi d’autres choses.

    systemd 210

    Lien de l’annonce

    • systemd va maintenant ré-étiqueter /dev après le chargement de la politique SMACK en fonction des règles SMACK.

    • Une nouvelle option pour les unités AppArmoreProfile= a été ajoutée pour définir le profil AppArmor du processus d’une unité.

    • Une nouvelle vérification de condition ConditionArchitecture= a été ajouté pour rendre l’unité conditionnelle en fonction de l’architecture du système, comme rapporté par le champ «machine» d’uname.

    • systemd-networkd peut maintenant filtrer par système de virtualisation, architecture, ligne de commande du noyau, nom d’hôte, et ID de la machine.

    • Le comportement logind est maintenant beaucoup plus vigilant lors de la suspension de la machine à cause d’un écran rabattu. Au lieu d’agir seulement lors du rabat de l’écran, il va surveiller en permanence son statut et agir en conséquence. C’est utile pour les ordinateurs portables sur lesquels le bouton d’allumage est à l’extérieur du châssis et peut être actionné sans ouvrir l’écran (comme le Lenovo Yago). Sur ces machines, logind va immédiatement re-mettre en veille la machine si le bouton a été pressé par accident pendant que l’ordinateur était en veille et dans un sac ou dos ou autre.

    • nspawn va désormais utiliser le gestionnaire cgroup des périphériques par défaut, et seulement permettre la création et l’accès aux nœuds de périphériques de l’API comme /dev/null ou /dev/random, ainsi que l’accès aux (mais pas la création de) périphériques tpy.

    • systemd comprend désormais les suffixes usuels M, K, G, T selon les normes du système international d’unités (c’est-à-dire en base 1000) lorsque qu’utilisé pour décrire des flux et des métriques matérielles. Il conservera les conventions de la commission électrotechnique internationale (c’est-à-dire en base 1024) pour les métriques logicielles, selon ce qui est habituel d’après Wikipédia. Nous documentons explicitement quelle base est utilisée pour quelle option de configuration.

    • Le paramètre DeviceAllow= dans les fichiers d’unités prend désormais en charge une syntaxe pour mettre sur liste blanche un groupe entier de nœud de périphérique d’un seul coup, en se basant sur la liste de /proc/devices. Par exemple, avec la chaine char-pts, il est maintenant possible de mettre sur liste blanche tous les pseudo-terminaux virtuels courants et futurs en une seule fois.

    • systemd-networkd n’est plus activé statiquement, et utilise la section habituelle [Install] pour qu’il puisse être activé et désactivé avec systemctl. Il est tout de même encore activé par défaut.

    systemd 211

    Lien de l’annonce

    • Une nouvelle option pour les fichiers d’unités RestrictAddressFamilies= a été ajoutée pour restreindre à quelles familles d’adresses de socket les processus d’unités ont accès. Cela prend les noms de famille d’adresse tels que AF_INET et AF_UNIX, et est pratique pour minimiser la surface d’attaque de services via des piles de protocoles exotiques. Cela fait partie du système de filtrage d’appels systèmes de seccomp.

    • Deux nouveaux paramètres pour les unités ont été ajoutés pour gérer des dossiers de runtime par démon sous /run: RuntimeDirectory= et RuntimeDirectoryMode=. Cela permet de remplacer la mise en place de permissions appropriées avec des bouts de code de tmpfiles, et possède l’avantage que la durée de vie du dossier est limitée à celle du démon et que le démon commence avec un dossier vide à chaque fois. C’est particulièrement pratique lors de l’écriture de services qui se débarrassent de privilèges avec les paramètres User= et Group=.

    • Le paramètre d’unité DeviceAllow= supporte maintenant les métacaractères pour sélectionner les noms d’un groupe de périphériques.

    • Le fichier de configuration systemd.conf possède désormais les paramètres DefaultCPUAccounting=, DefaultBlockIOAccounting= et DefaultMemoryAccounting= pour activer ou désactiver globalement la compatibilité de ses ressources (cgroups) pour toutes les unités. Ces paramètres peuvent cependant toujours être écrasés par chaque unité individuellement.

    • systemd-gpt-auto-generator est maintenant capable de découvrir les partitions /srv et root en plus d’/home et des partitions d’échange (swap). Il prend maintenant aussi en charge les partitions chiffrées avec LUKS. Avec tout cela en place, la découverte automatique des partitions à monter suivant la spécification des partitions découvrables est maintenant beaucoup plus complète. Cela permet de démarrer sans /etc/fstab et sans root= en paramètre de la ligne de commande du noyau sur les systèmes préparés correctement.

    • systemd-nspawn gagne une nouvelle option --image= qui permet de démarrer des images disques et des installations Linux sur n’importe quel périphérique bloc qui suit la spécification des partitions découvrables (voir au-dessus). Cela signifie que les installations faites avec des installeurs mis à jour de façon appropriée peuvent maintenant être démarrées et déployées en utilisant le gestionnaire de conteneurs, sans aucune modification (nous espérons que libvirt-lxc ajoutera bientôt la prise en charge de cette fonctionnalité également).

    • system-networkd peut désormais configurer les adresses locales en utilisant IPv4LL.

    • Le nouvel outil systemd-network-wait-online a été ajouté pour attendre de façon synchrone la disponibilité du réseau en utilisant systemd-networkd.

    • Les dossiers de runtime $XDG_RUNTIME_DIR pour chaque utilisateur sont maintenant des instances individuelles de tmpfs, ce qui a pour avantage d’introduire des groupes séparés pour chaque utilisateur, avec des limites de taille individuelles. Cela permet de s’assurer qu’un client non-privilégié ne puisse plus affecter négativement le système ou d’autres utilisateurs en remplissant leur $XDG_RUNTIME_DIR. La nouvelle option RuntimeDirectorySize= dans logind.conf permet de contrôler la taille limite par défaut pour tous les utilisateurs. Cela utilise par défaut 10% de la mémoire physique disponible. Ce n’est cependant pas un remplacement pour les quotas sur tmpfs (ce que le noyau ne gère toujours pas), car /dev/shm et /tmp sont toujours des ressources partagées entre le système et les utilisateurs non-privilégiés.

    • logind va maintenant désactiver automatiquement la mise en veille lors du rabat de l’écran d’un ordinateur portable si plus d’un écran est connecté. Nous avions auparavant prévu que ça soit implémenté individuellement par les environnements de bureau (comme GNOME). Cependant, cela a été ajouté à logind pour éviter au démarrage le scénario dans lequel un environnement n’aurait pas été démarré et donc n’aurait pas pu placer de verrou inhibiteur à temps.

    • login va désormais attendre au moins 30s après chaque cycle mise en veille/reprise du système, et 3min après le démarrage du système pour mettre en veille le système dû au rabat d’un écran d’ordinateur portable. Cela devrait donner assez de temps aux stations d’accueil USB et appareils similaires pour être reconnus et configurés après la reprise du système et le démarrage pour agir comme bloqueur de mise en veille.

    • systemd-run a obtenu un nouveau paramètre --property qui permet d’initialiser les propriétés de contrôle de ressource (et d’autres choses) pour les cadres (scope) créés ou les unités de service. Exemple : systemd-run --property=BlackIOWeight=10 updatedb peut être utilisé pour lancer updatedb avec une priorité d’ordonnancement des E/S faible.

    • Quand systemd est compilé avec la prise en charge de kdbus, la gestion basique des politiques imposées est maintenant en place. (Notez qu’activer kdbus annule toujours votre garantie et qu’aucune promesse de compatibilité d’API n’est faite).

    Télécharger ce contenu au format Epub

    Lire les commentaires

    Concours de programmation CodinGame le 22 Mars 2014

    Vendredi 21 Mars

    La prochaine édition de CodinGame, le challenge de code en ligne, aura lieu ce samedi 22 Mars 2014 à 18h (heure française).

    L'événement accueillera des développeurs du monde entier pour leur permettre de passer un bon moment, défier leurs pairs, gagner des prix ou entrer en contact avec des sociétés qui leur plaisent et qui recrutent.

    Parmi les nouveautés sur la plate-forme :

    • Groovy est ajouté aux langages disponibles
    • Le tchat est intégré à l'IDE pour échanger pendant l'épreuve
    • Le thème de cette édition est "Kirk's Quest", en hommage au célèbre capitaine de Star Trek. Comme pour la précédente édition, ce concours offrira aux participants une ambiance proche du jeu vidéo.
    • Objectif du challenge : résoudre deux problèmes de programmation dans le langage de son choix parmi les 18 proposés (C/C++, C#, Java, Javascript, PHP, Python, Python 3, Perl, Go, Dart, - Scala, Haskell, Objective-C, Pascal, Ruby, Bash et Groovy).
    • Durée moyenne estimée de l'épreuve : 2h.
    • Modalités de participation : c'est en ligne, c'est gratuit, et c'est anonyme pour ceux qui ne souhaitent pas communiquer leurs coordonnées.
    • L’environnement de développement proposé donne accès à un éditeur de code et un shell Bash, pour lancer son programme depuis le navigateur.
    • Comme d'habitude, le règlement prévoit que le code source des participants soit rendu public sous licence libre GPL v3 et affiché sur le site dès la fin du concours, pour que tout le monde puisse apprendre et progresser en consultant les solutions des autres.
    Télécharger ce contenu au format Epub

    Lire les commentaires

    Première version de NOALYSS

    Jeudi 20 Mars

    NOALYSS est la première version de PhpCompta avec son nouveau nom. Ce programme de comptabilité entièrement en ligne a eu sa première version publique en 2003. Depuis lors, suite à de nombreuses améliorations, il est devenu un ERP complet.

    Noalyss est fourni avec tous ses plugins et développement en libre, il n'y a pas de version commerciale.

    Le nom de PhpCompta a été abandonné pour deux raisons, la première parce que nous avions mis le nom du langage de programmation principal dans le nom, ce qui était déconseillé par les développeurs de PHP, et la seconde parce que ces dernières années, nous avons élargi les possibilités à celles d'un ERP et Compta ne reflétait plus la réalité.

    Ses possibilités sont, aujourd'hui :

    • différents suivis :
      • clients ;
      • fournisseurs ;
      • administration (fiscale) ;
      • administrateur (contact et banque) ;
    • agenda partagé ;
    • gestion de stock ;
    • tableau de prévisions ;
    • facturation électronique ;
    • envoi électronique de documents ;
    • bilans, déclarations fiscales ;
    • une partie comptable complète avec la comptabilité analytique.

    Noalyss peut aussi être étendu grâce aux extensions (plugins, greffons). La création de documents se fait sur la base de modèles donné au format OpenDocument (comme LibreOffice, Calligra Suite, etc.). Même si le produit est stable et mature, il reste encore beaucoup de choses à améliorer, réécrire ou documenter.

    Télécharger ce contenu au format Epub

    Lire les commentaires

    Full disclosure, c'est fini

    Jeudi 20 Mars

    John Cartwright a annoncé la fermeture de la liste de diffusion Full disclosure. Cette liste était destinée à la publication de failles de sécurité et à la discussion sur ce sujet. Dans son message de fermeture, John Cartwright annonce qu'il en a marre des membres de la « communauté » qui demandent la modération d'anciens messages et pense que ça devient de plus en plus difficile de maintenir un forum ouvert dans le climat légal actuel.

    La liste a été créée le 9 juillet 2002 par Len Rose, et était administrée par John Cartwright. Elle était sponsorisée par Secunia, une boîte de sécurité elle aussi créée en 2002.

    Wikipédia cite trois failles 0 day révélées initialement sur cette liste concernant Microsoft Windows Help and Support Center en 2010, Apache HTTP Server en 2011 et la base de données Oracle en 2012. Une petite recherche sur LinuxFr.org en signale aussi une sur FreeBSD en 2009, parmi diverses autres failles évoquées touchant des logiciels libres ou non.

    Éternelle question autour du « full disclosure », de la divulgation publique opposée à la sécurité par l'obscurité ? 2002, procès Kitetoa, 2004, procès Guillermito « C'est le procès du full-disclosure », 2004, adoption de la loi sur la confiance dans l'économie numérique en France « Quel avenir pour le full-disclosure en France ? » Etc., etc.

    Télécharger ce contenu au format Epub

    Lire les commentaires

    Atelier traitement de texte LibreOffice Writer

    Mercredi 19 Mars

    Dans le cadre de ses formations bi-mensuelles, l'association StarinuX organise l'atelier Traitement de texte LibreOffice Writer.

    : salle Mas, 10-18 rue des Terres au Curé 75013 Paris

    Quand : le samedi 29 mars 2014 de 9h00 à 18h00

    Le programme : créer des tableaux, des tables de matières, un sommaire, insertions de lettrines, gestion des images, application de styles, numérotations de paragraphes, listes à puces… Bref, apprenez à réaliser des documents à présentation professionnelle en une seule journée.

    L'animatrice est Ghislaine Royer, consultante, passionnée de GNU/Linux et du logiciel libre et opensource qu'elle utilise quotidiennement dans sa profession.

    Comme à l'accoutumée, une cotisation annuelle est demandée, valable pour de nombreux autres ateliers (15 € et 7,5 € pour les demandeurs d'emplois).

    Télécharger ce contenu au format Epub

    Lire les commentaires

    Gagnez un livre en contribuant à Debian

    Mercredi 19 Mars

    Vous voulez contribuer au projet Debian mais vous ne savez pas comment ?

    Debian France a pensé à vous et monte une opération pour vous encourager à faire vos premiers pas au travers de plusieurs projets, tous encadrés par des développeurs Debian.

    Parcourez la liste des projets proposés à la recherche d'un thème qui vous attire et prenez contact par email avec le (ou les) « mentor(s) » indiqué(s) en expliquant que vous êtes intéressé par le projet en question. Debian étant un projet international, merci d'utiliser l'anglais sauf si vous savez que le mentor en question est francophone.

    Si vous êtes retenu, et que vous menez le projet à son terme dans les deux mois (ce qui ne devrait pas vous prendre plus de 16 à 32 heures en théorie, même si l'on espère tous que vous allez y prendre goût et contribuerez plus…), les auteurs du Cahier de l'Admin Debian Wheezy et Debian France vous offrent un exemplaire dédicacé de ce livre de référence.

    Télécharger ce contenu au format Epub

    Lire les commentaires

    Pages