Syndiquer le contenu
Mis à jour : il y a 6 heures 12 min

Les brevets logiciels : un frein à l'innovation et la recherche (un nouvel exemple aux États-Unis)

26 février, 2015 - 10:33

L'histoire en seconde partie raconte comment un brevet qui n'aurait jamais dû exister peut tuer la créativité, l'innovation et la recherche mathématique appliquée. On y voit aussi les ravages que peut commettre une entreprise qui a de l'argent et des avocats…

J'aime les maths, j'aime les maths appliquées à l'informatique. J'ai très souvent posté à ce sujet, par exemple dans le domaine du stockage de données : « De la probabilité que votre RAID vous abandonne… » ou encore le post scriptum. Je vais parler de ce second lien.

J'avais à l'époque cité dans ce post scriptum l'article « A Tutorial on Reed-Solomon Coding for Fault-Tolerance in RAID-like Systems » de James Plank. Ce formidable article m'a permis d'approcher le domaine. Cet article est simple, clair et efficace (Ce qui est rare dans le domaine). De nombreux logiciels libres tels que parchive se sont inspirés de ce papier.

Pourquoi je vous parle de cet article ? Aujourd'hui, je suis allé sur le site de l'auteur de cet article pour faire un peu de veille mathématique. Au détour des pages, j'ai visité les pages dédiées à ses implémentations libres : jerasure. A mon grand étonnement, j'ai trouvé la notice suivante sur la page :

On this page I (James Plank) am providing notice that: * GF-Complete and Jerasure versions 2.0 and later are no longer supported. * StreamScale, Inc. offers a similar solution for commercial purposes. * I offer no representations or warranties in general about StreamScale's products. * I have verified that StreamScale's solution is faster than GF-Complete or Jerasure in at least some respects. StreamScale, Inc. asserts that the use of GF-Complete (particularly as part of Jerasure 2.0 or later) or any similar software, method or code for erasure coding infringes StreamScale's issued United States Patent No. 8,683,296. * I express no opinion on StreamScale's claims, but I believe that parties should be aware that StreamScale asserts such claims.

En résumé, le monsieur a été menacé par une firme s'appelant StreamScale (inconnue au bataillon pour moi) pour violation de brevets. Ni une, ni deux, je me renseigne un peu, je trouve techdirt et erasure-code-patents qui expliquent la situation.

Cette brave boite a breveté le fait d'utiliser des instructions SIMD (MMX, SSE, …) pour effectuer des opérations sur un champ fini comme décrit dans mon post scriptum appliqué au codage avec effacement (erasure code). Je suis sur le cul et les bras m'en tombent.

Ils décrivent (les independent claims - le reste, on s'en fiche) dans le brevet ce que tous les erasure code font depuis la nuit des temps, en résumé : ils multiplient une matrice avec un vecteur ou une matrice avec des instructions SIMD

Rien n'est original, rien n'est d'autre que des maths, les SIMD sont utilisées à profusion dans les logiciels de calcul matriciel, les SIMD sont utilisés depuis bien longtemps dans les EC, normal c'est juste du calcul matriciel (par exemple, dans le code RAID6 de linux décrit depuis au moins 2004) ! Bref, des tonnes et des méga-tonnes de prior art.

Cette charmante boite a réussi :

  • à bloquer la recherche principale d'un chercheur de renommée : J. Plank ;
  • à arrêter le développement de bibliothèque par ce même auteur (ah ah ! Rien n'arrête le libre mais pour J. Plank c'est fini) ;
  • à menacer un journal scientifique, usenix (D'ailleurs, ils prétendent qu'il a révélé des secrets, faudrait savoir c'est un brevet ou pas ? Si oui, breaking news, c'est plus un secret car c'est publié ! Ils parlent peut-être d'autre chose mais le langage est tellement vague qu'il est impossible de le déterminer).

Alors selon vous, StreamScale patent troll ou pas ? Moi, mon opinion personnelle est faite !

Et la nimage indispensable, ironie du sort, leur logo est un grand qui écrase des petits…

Télécharger ce contenu au format Epub

Lire les commentaires

TorPy : la Tortue Python vernaculaire

25 février, 2015 - 20:04

TorPy est une version francisée (mais pouvant être traduite dans toute autre langue) du module turtle de Python. Inspiré de la tortue Logo, turtle permet d'apprendre à programmer, puisqu'on écrit les instructions que la tortue n'effectuera qu'ensuite. De plus, cela permet de produire de belles figures géométriques !

TorPy a été écrit par votre serviteur après avoir fait des essais d'utilisation de turtle par des élèves de collège. Son but est de pallier quelques difficultés rencontrées.

TorPy est développé en Python, et nécessite les dépendances supplémentaires suivantes :

Quelques particularités de TorPy
  • les instructions du module turtle sont traduites en français : par exemple on écrit avance(100) au lieu de forward(100) ;
  • seules les instructions sont affichées dans la zone de saisie, le reste du programme Python (shebang, etc) est masqué ;
  • les instructions sont exécutées sans avoir besoin d'être enregistrées au préalable (mais on peut évidemment enregistrer son fichier) ;
  • la liste des instructions disponibles peut être consultée à tout moment, et des exemples d'utilisation de chaque instruction peuvent être copiés-collés ;
  • toute autre instruction Python peut être utilisée pour une utilisation plus avancée (boucles, définitions de fonctions, importations de modules, etc…) ;
  • le programme peut être facilement adapté à d'autres langues que le français et il est facile aussi d'ajouter de nouvelles instructions ;
  • si le fichier est enregistré, le résultat peut être enregistré en image (format EPS, mais aussi SVG sous GNU/Linux si pstoedit est installé).
Fonctionnement

Au lancement, un sous-dossier torpy est créé dans le dossier temporaire de l'ordinateur et 3 fichiers y sont copiés :

  • turtle.cfg : fichier de configuration de la fenêtre de turtle (dimensions, titre, etc…) ;
  • importturtle.py : fichier contenant les traductions des fonctions ;
  • torpy.py : fichier qui sera exécuté (et contient un import du fichier importturtle.py).

Lorsque l'utilisateur demande l'exécution de ses instructions, celles-ci sont insérées dans le fichier torpy.py avant qu'il ne soit exécuté. Plus précisément, ce fichier contient la ligne suivante qui sert de repère et sera remplacée par les instructions de l'utilisateur :

# USER INSTRUCTIONS Remarque

Afin de pouvoir utiliser TorPy dans d'autres langues que le français, le fichier qui est situé dans le sous-dossier files s'appelle importturtle_xx.py, où xx désigne la langue de l'ordinateur.
La langue est détectée au lancement et si le fichier correspondant existe, il est copié dans le dossier temporaire sous le nom importturtle.py.

En conclusion

J'ai développé TorPy car j'en avais besoin pour mes élèves.
Ensuite je me suis dit que ça pouvait intéresser un peu de monde, donc autant prendre le temps de le finir, de rédiger une documentation et de venir ici signaler son existence.

Télécharger ce contenu au format Epub

Lire les commentaires

Tableau dynamique Logiciels Éducatifs Libres

25 février, 2015 - 17:27

Paulo Francisco Slomp, de l'université brésilienne UFRGS (Universidade Federal do Rio Grande do Sul) cherche à diffuser le « Tableau dynamique Logiciels Éducatifs Libres » (disponible en anglais, espagnol, français, italien, allemand et portugais). Ce tableau regroupe des informations sur les logiciels libres qui abordent le contenu du programme d’études scolaires. Il s'agit d'une page wiki éditable.

Ce tableau sous licence CC By Sa fait partie du projet « Logiciel Éducatif Libre dans Wikipedia », prévu par les édits 18 et 19 du Secrétariat de l'éducation à distance de l'UFRGS.

Télécharger ce contenu au format Epub

Lire les commentaires

jeudi du libre du 5 mars 2015, à Lyon : logiciel libre, des solutions pour le numérique

25 février, 2015 - 16:43

Rendez-vous mensuel organisé par l'ALDIL, le principal GULL lyonnais, le jeudi du libre du mois de mars prendra la forme d'une conférence au sujet du logiciel libre et des solutions qu'il apporte pour le numérique. Nous profitons de la semaine citoyenne du lieu d'accueil, la Maison Pour Tous, qui a pour thème les initiatives alternatives, pour proposer cette session.

La conférence débutera à 19h30 et aura lieu à la Maison Pour Tous / Salle des Rancy : 249 rue Vendôme - 69003 LYON (Métro Saxe Gambetta).

Plus de détails sur la conférence et l'intervenant en seconde partie de la dépêche.

La conférence

Le numérique occupe une place essentielle dans notre vie, au point qu'il devient impossible d'envisager agir sur la société sans prendre en compte sa présence et ses enjeux. Cependant, il ne faudrait pas envisager le numérique comme un monde entièrement différent : beaucoup de règles sont communes, et les enjeux sont ceux que l'on retrouve dans d'autres domaines. Au cours de cette conférence, nous envisagerons quelques parallèles entre le monde numérique et d'autres aspects de la société. Nous verrons ensuite quelles réponses le mouvement du logiciel libre est en mesure d'apporter et en quoi faire le choix du libre est un complément essentiel aux autres engagements sociaux.

L'intervenant

Doctorant en informatique, ancien professeur des écoles, Sébastien Dufromentel est militant pour le Logiciel Libre et la neutralité du net, mais s'investit également dans d'autres luttes, notamment pour l'éducation populaire et contre les discriminations injustes. Au cours de cette conférence, il expliquera ce qu'est le logiciel libre et quels en sont les enjeux, tout en proposant des parallèles avec d'autres mouvements qu'il a eu l'occasion d'approcher.

Télécharger ce contenu au format Epub

Lire les commentaires

IPFS : Un protocole révolutionnaire pour un hébergement P2P, résilient à la censure

24 février, 2015 - 22:09

Voici un projet très intéressant : IPFS, The permanent Web. Son ambition est de créer un nouveau protocole (comme HTTP) permettant de décentraliser l'hébergement de sites web (ou de n'importe quelle ressource statique). Ce protocole se base sur BitTorrent et Git (gestionnaire de version). Chaque ressource est identifiée par son hash (une empreinte unique), et les nœuds du réseau hébergent chacun des copies de certaines ressources, de manière décentralisée.

Cette infrastructure est une DHT. C'est une technique déjà utilisée dans les back office des applications web et dans les bases de données NOSQL. La nouveauté est d'en faire un protocole client et d'utiliser le réseau Torrent existant pour que ce réseau serve directement des contenus statiques, l'instar des CDN.

On obtient ainsi une infrastructure résiliente, hébergeant des resources versionnées. Il devient impossible de supprimer un contenu, à moins de faire tomber tous les nœuds qui en contiennent une copie.

Il existe déjà deux implémentations alpha, en Go et en Node.js hébergées sur GitHub. IPFS permet aussi de monter l'ensemble du réseau sur son système de fichier.

Une vidéo de démo assez impressionnante est disponible sur le net. Elle montre le démarrage d'un nœud du réseau, agissant comme passerelle HTTP, et permettant d'accéder aux ressources avec un navigateur web.

Télécharger ce contenu au format Epub

Lire les commentaires

systemd : l’init martyrisé, l’init bafoué, mais l’init libéré !

24 février, 2015 - 11:34

systemd est un projet composé de trois parties distinctes :

  • un processus d’initialisation, systemd, qui s’occupe de gérer le démarrage, du lancement du noyau Linux à l’interface graphique, et de la surveillance des processus ;
  • un ensemble d’outils qui contrôlent le processus systemd, notamment systemctl, et qui permettent, entre autres, de suivre, redémarrer et arrêter les différents services d’une machine ;
  • un jeu d’outils qui peuvent être utilisés comme base pour la création d’un système d’exploitation complet — un peu à la manière de ce que le projet GNU propose, mais avec une portabilité beaucoup plus réduite.

La première version de systemd a été publiée le 30 mars 2010. Presque cinq ans plus tard, quasiment toutes les distributions majeures l’ont adopté.

Remplaçant un composant central du système, il n’est pas étonnant que l’arrivée de systemd ait provoqué de nombreuses réactions. Elles ont parfois été violentes, mais pourquoi au juste ?

Cette dépêche éminemment collective (à peu près tous les contributeurs habituels sont venus participer, pour faire court) présente un état des lieux des opinions en présence, dans une démarche de remise à plat et d’apaisement, un peu similaire à celle entreprise ici ou et visible ici.

Sommaire Introduction

Les discussions sont souvent enflammées concernant systemd, et comme le sujet est un peu technique, il est parfois difficile de s’y retrouver. Pas de panique, il vous est expliqué de façon simple ce qu’est systemd, comment il se démarque des systèmes qu’il est censé remplacer, ainsi que les arguments des parties en présence.

Démarrage du système

Lorsqu’un ordinateur démarre, il initialise les différents composants de l’ordinateur (processeur, mémoire vive, disque dur, carte graphique, etc.) et effectue quelques vérifications basiques, puis démarre le cœur du système d’exploitation : le noyau (ici, Linux). En effet, c’est la partie qui communique directement avec les périphériques comme le clavier, la souris, la mémoire ou l’écran et permet leur utilisation.

Lorsque le noyau est chargé, l’ordinateur n’est pas encore prêt à l’emploi. Le noyau délègue au système d’initialisation le lancement du reste du système, selon la configuration établie par l'administrateur. Il lance les services d'arrière-plan (montage des périphériques de stockage, configuration du réseau, messagerie…) et l'interface utilisateur, qu’elle soit graphique ou pas. Le système d’initialisation possède aussi une autre fonction : récupérer les processus qui sortent de leur session. En effet, dans tous les Unix-like—et cela inclut GNU/Linux—tous les processus doivent avoir au moins un processus père, sauf le tout premier processus lancé (PID 1). Si un processus renie son père (on dit qu'il est démonisé), le noyau le rattache alors au premier processus.

Hormis le noyau, il est donc le premier processus lancé sur la machine (ce qui explique l’appellation « PID 1 » — « processus n°1 ») et le dernier à s'arrêter, car il contrôle tous les autres. Par conséquent, le système d’initialisation est un composant critique du système car s’il ne fonctionne pas, la machine ne démarre pas. D’où sa robustesse requise.

Jusqu'à récemment ce programme était souvent SysVinit, mais des remplaçants, plus ou moins compatibles, se sont multipliés ces dernières années, comme Upstart qui est l'init par défaut d'Ubuntu. Un init de type SysV fonctionne comme suit : il lit le fichier /etc/inittab qui lui indique quoi faire à un niveau d'exécution (runlevel) particulier, puis il démarre, redémarre ou arrête automatiquement les services selon le niveau choisi par l'utilisateur.

La syntaxe de ce fichier n’étant pas turing complète, les administrateurs ont préféré déléguer l’essentiel du démarrage à des scripts rc nommés dans ce fichier et appelés par init.

Ces scripts sont aujourd’hui décriés à cause du travail dupliqué entre les distributions, de la difficulté réelle ou supposée de les maintenir et de leurs limites. Sont-elles supposées ou avérées ? Là est toute la question ! Quelques exemples :

  • tous ne sont pas, par exemple, forcément compatibles avec des composants tels que selinux (ou autre LSM à la mode) ;

  • il est difficile de lancer un service uniquement suite à un événement. Par exemple, lors du branchement d’une clé USB ;

  • il est difficile de s'assurer qu'un service (par exemple, sshd) sera relancé automatiquement en cas d'arrêt.

Le système d’init nécessite un travail d’intégration important dans la distribution ; il ne peut donc pas, la plupart du temps, être changé facilement par l’utilisateur.

Adoption de systemd

(bonus image Commitstrip : Systemd World : le parc est ouvert)

systemd est utilisé ou sera utilisé sur :

  • Fedora depuis presque 4 ans,
  • openSUSE, Mageia, Arch Linux depuis plus de 2 ans,
  • RHEL (Red Hat Entreprise Linux) et SLES (SUSE Linux Entreprise Server) depuis moins d’un an,
  • Debian 8.0 et Ubuntu 15.04.

Il y a cependant deux absents parmi les distributions majeures :

  • Gentoo, qui utilise par défaut OpenRC (une implémentation moderne du format traditionnel SysV), mais laisse la possibilité d’utiliser systemd ;
  • Slackware, dont la philosophie l’a souvent poussé à adopter les nouvelles technologies bien après les autres distributions.

Dans les distributions moins connues, on peut aussi citer Linuxconsole ou Crux.

C’est un logiciel relativement jeune pour un composant d’une telle importance. Son adoption a été fulgurante et beaucoup de personnes pensent que ce changement a été trop rapide, pas assez réfléchi, voire carrément forcé.

En dehors de l’adoption des logiciels eux-mêmes, la philosophie de systemd a rencontré de l’écho auprès de FreeBSD qui envisage de développer un système d’initialisation dont le fonctionnement est plus proche de systemd.

Qu’est‐ce qui différencie systemd du système précédent ?

Tout d’abord, quelques explications techniques.

Le projet systemd est écrit avec le langage de programmation C. Il s’agit d’une collection de logiciels sous forme de binaires. Le pilotage des services se fait grâce à des fichiers de configuration.

À première vue, cela ressemble à SysV (écrit en C, formé de trois exécutables et configuré par le fichier « inittab »), mais la grande différence est que SysV suit une approche minimaliste qui déplace une grande partie de l'initialisation des services dans des programmes écrits en Shell et utilisant des bibliothèques externes (par exemple, « start-stop-daemon » pour l'init Debian). À contrario, systemd implémente un large éventail d'actions afin de décourager l'utilisation de scripts de lancement. En pratique, un service SysV pour sshd a pour élément central un script de quelques centaines de lignes (script Shell qui peut être utilisé indépendamment de l'init), alors que sous systemd le service sera généralement piloté par un fichier texte d'une dizaine de lignes (dans une syntaxe spécifique à systemd).

On vante souvent la simplicité des anciens systèmes d’init : en effet, quoi de plus simple que des fichiers textes exécutables, certes pas forcément triviaux, mais dont on peut lire l’exécution ligne par ligne ?

En éditant ces fichiers, on a une maîtrise totale du démarrage de l’ordinateur (à partir du moment où l’on est capable de comprendre le code). Mais modifier le système d’init en lui-même peut poser problème lors de mises à jour ou simplement parce que ce code n’a pas été testé.

Systemd remplit les mêmes fonctions que les précédents systèmes, mais il met l’accent sur la simplicité d’utilisation et sur une maîtrise du système plus poussée et moins éparpillée, ce qui est parfois vu comme l’opposé de la philosophie Unix.

Ainsi, beaucoup de choses qui nécessitaient auparavant de modifier des scripts Shell existent maintenant sous la forme d’un simple paramètre dans un fichier. Le comportement est codé dans systemd ce qui permet de mutualiser beaucoup de code et de rendre les fichiers souvent beaucoup plus courts.

Pour la plupart des gens, utiliser systemd ou SysVinit ne fait aucune différence, y compris pour la vitesse de démarrage ; pour bidouiller, tout dépend des outils que l'on maîtrise, soit les outils systemd et leur syntaxe de configuration, soit la programmation Shell, les outils de suivi de processus et la configuration SysV.

Alternatives Upstart

Créé pour Ubuntu, est la seule alternative adoptée par des distributions de famille différentes (RHEL et Fedora, openSUSE). Aujourd’hui, la décision de Debian d’adopter systemd pour sa prochaine version stable a poussé Ubuntu à lui emboiter le pas, Upstart sera donc probablement abandonné.

OpenRC

Développé et utilisé par Gentoo, est l’alternative à systemd la plus souvent citée. Elle est basée sur un init SysV traditionnel, un cœur en C compilé et des scripts Shell. Pour résumer, OpenRC est plus simple, son cœur possède moins de fonctionnalités que systemd et il ne dépend pas de Linux.

Uselessd

C'est un fork jeune et non-stable de systemd. De nombreuses fonctionnalités ont été supprimé, et on peut utiliser musl ou uClibc (principalement pour l’embarqué, mais pas uniquement : par exemple des distributions légères comme Alpine y ont recours) là où l’auteur principal de systemd refuse de prendre en compte d’autres libc que la glibc.

D'autres systèmes d'init moins connus ont aussi vu le jour par le passé : on se souvient du système d'init de Pardus, de InitNG, d’expérimentations à base de make -j …, de runit, fastboot et d'autres encore. Aucun d'eux n'a percé, même si certains véhiculaient de bonnes idées.

À la suite du rejet par le comité Debian de maintenir par défaut deux systèmes d’initialisation différents, les responsables du site Debian fork ont annoncé qu’ils forkeraient effectivement Debian. La distribution, nommée Devuan, sera donc une Debian sans systemd. Une collecte de fonds a été lancée pour soutenir le démarrage du projet. Le système d’initialisation de Devuan n'est pas encore connu.

Apports de systemd

Comme on le voit, l’adoption de systemd est loin de s’être faite sans heurts. Quels avantages ont permis à systemd de contrebalancer l’avalanche de critiques, lors des décisions concernant son adoption ?

Tout d’abord, techniquement, il ne faut pas perdre de vue que systemd apporte certaines fonctionnalités qui ne se retrouvaient pas dans l’ancien système. En voici une liste non-exhaustive :

  • Allocation fine des ressources (processeur, mémoire, E/S, etc) aux services, grâce aux fonctionnalités avancées du noyau comme les cgroups ;
  • Surveillance améliorée (grâce aux cgroups, un processus ne peut pas s'échapper, même en forkant) ;
  • Log plus complet (commençant plus tôt, comprenant aussi la sortie standard et les sous-processus, proposant un aperçu centralisé de l’état des services ou un résumé des erreurs de démarrage…) ;
  • Possibilité de démoniser tout processus en le relançant automatiquement s'il s'arrête (à la façon de "runit", bien au-delà de ce que permet "start-stop-daemon") ;
  • Séparation claire entre les services fournis par la distribution et les services créés par l’administrateur, avec la possibilité pour l’administrateur de personnaliser les scripts de la distribution sans avoir à les dupliquer ;
  • Système de template dans les unités de lancement (par exemple un seul fichier getty@.service peut être utilisé pour gérer un nombre arbitraire d’instances : getty@tty1.service, getty@tty2.service…).

À un niveau moins technique, systemd est le seul projet à apporter les espoirs suivants dans le monde GNU/Linux :

  • Centralisation du développement des briques de base du système, ce qui permet une certaine normalisation entre différentes distributions GNU/Linux ;
  • Simplification du processus d’empaquetage des services en maintenant un seul fichier service en amont ;
  • Normalisation des formats de logs, grâce à journald.

Ces points sont moins techniques car auraient très bien pu être réalisés avec l’ancien système pour peu que les distributions et les différents projets aient pu se mettre d’accord ; il reste toutefois au crédit du projet systemd d’avoir réussi à lancer cette dynamique.

Arguments et points de débat Philosophie UNIX

La philosophie UNIX est plutôt : au lieu d’écrire un gros logiciel pour résoudre un problème, écrire plein de petits logiciels qui se concentrent sur une étape de la résolution du problème, fonctionnent orthogonalement et utilisent un protocole clair. L’intérêt est qu’avec cette stratégie, il est beaucoup plus facile d’adapter son travail pour résoudre un problème « voisin » et qu’on résout potentiellement beaucoup plus de problèmes (plus les composants sont orthogonaux, plus la combinatoire de ces composants est intéressante). Cf. : http://marmaro.de/docs/studium/unix-phil/unix-phil.pdf.

La limite de ce modèle est quand diverses couches doivent intervenir. Les logiciels sont alors sur des sables mouvants, les interdépendances devenant importantes. Il est quasi impossible de faire évoluer les logiciels indépendamment. L'exemple typique est la crosscompilation de Linux, GCC et la libc qui ne fonctionnent que pour des versions bien précises.

Un des reproches que l'on fait souvent à systemd est son non-respect de la philosophie Unix. Son résumé le plus connu est celui fait par Douglas McIlroy :

Écrire un bon programme qui ne réalise qu’une seule tâche. Écrire des programmes coopérant entre eux. Écrire des programmes qui gèrent des flots de données textuelles, car cette interface est universelle.

Comme tous les aphorismes, derrière ces quelques mots se cache une réalité plus complexe ; ainsi, Eric Raymond décrit environ 17 règles, qu’il explicite dans son livre L'Art de la Programmation Unix. On peut par exemple y lire (chapitre 4) une mise en garde contre une interprétation trop superficielle de cette citation :

Le conseil de Doug McIlroy « faire une seule chose, et la faire bien » est souvent compris comme un conseil de simplicité. En fait, il porte aussi sur l’orthogonalité, ce qui est au moins aussi important.

L’orthogonalité est importante car elle garantit l'indépendance réelle. Ainsi l'usage du texte comme format d'échange est primitif, mais a le bon goût de rester un format stable dans le temps.

Autrement dit, dans la philosophie Unix, l’approche pour résoudre un problème est d’écrire plein de petits logiciels qui se concentrent sur une étape de la résolution du problème, fonctionnent orthogonalement et utilisent un protocole clair, au lieu d'écrire un gros logiciel.

De ce point de vue, la principale critique faite à systemd est de ne pas respecter ces principes d’indépendance et d’orthogonalité (on ne peut pas, par exemple, séparer la gestion du cycle de vie des services de la gestion des cgroups). Pire encore, systemd tend à détruire l’orthogonalité dans des parties qui l’étaient précédemment ; ainsi Lennart a annoncé récemment que udev nécessiterait systemd, alors que les deux problématiques « gestion du matériel » et « gestion de l’initialisation du système » étaient clairement séparées auparavant.

Le monde des Unix-like possède en fait plusieurs philosophies — qui toutes tendent vers le même but : rassurer l'utilisateur et l'administrateur système. La chose la plus importante pour une entreprise (ou pour un professionnel de façon générale) est la pérennité de ce qu'il crée. Rien n'est plus désagréable que de mettre en place une méthode de travail pour créer des outils et des produits et de devoir tout mettre à la poubelle du jour au lendemain pour cause de changement massif dans la technologie. C'est parfois nécessaire, la technologie évoluant, mais c'est rarement bien accueilli.

De fait, les différentes philosophies existantes dans le libre sont là pour permettre aux professionnels de s'investir sereinement dans une technologie. Parmi les plus populaires, on a le KISS (Keep It Simple, Stupid), le rasoir d'Ockham et le Don't Repeat Yourself.

De plus, chaque gros projet a une philosophie ou, en tout cas, met l'emphase sur un aspect de leur stratégie de développement, toujours dans le but de rassurer l'utilisateur.
Pour le noyau Linux, le mot d'ordre est : « ne jamais casser l'expérience utilisateur ». En d'autres termes une correction ne doit jamais entraîner de régressions touchant l'espace utilisateur (Linus est très attaché à cela).

Pour FreeBSD, il s'agit de respecter le principe de la moindre surprise. Pour OpenBSD, le but est la sécurité et la chose la plus mise en avant est le respect de séparation des privilèges.

Concrètement, chaque outil de systemd fait une chose et la fait bien et tous ces outils sont développés ensemble afin de fournir une « boîte à outils » cohérente, un peu comme certains *BSD maintiennent tout un tas d’outils de base dans un même dépôt.

Systemd en tant qu'ensemble se focalise grandement sur l'aspect « Don't Repeat Yourself » les redondances de code sont limitées au maximum et les étapes de démarrage sont factorisées autant que possible. Cela garantit une bonne maintenabilité du code et évite de devoir agir sur plusieurs éléments séparés du code pour corriger un problème. Et il s'appuie aussi une approche type « rasoir d'Ockham », on enlève tout ce qui n'est pas strictement nécessaire. Repenser le PID 1.

Cependant, l'approche a des défauts, le PID 1 (systemd init) se retrouve à faire de très nombreuses choses (démarrage, suivi, restrictions de droits, application de cgroups, escalade de privilèges, changements de priorité, etc.). C'est une conséquence de la factorisation du code, les fonctions qui permettent (par exemple) de lancer, arrêter et suivre un processus sont souvent très liées, pour éviter de dupliquer du code il faut donc que ces fonctions soient dans le même processus.

Un autre défaut de l'approche systemd est que de nombreux processus deviennent fortement interdépendants. L'init systemd a absolument besoin de udev et de journald pour fonctionner par exemple, et bien que les binaires soient disjoints - ils sont fortement couplés (cf section plus bas).

Pour finir, dans un souci de simplicité et pour conserver la maintenabilité du projet dans son ensemble, systemd n'hésite pas à couper les ponts avec l'existant ou à intégrer des fonctionnalités de base dans son sein, puis à les faire évoluer dans son sens.

C'est sûrement ce dernier aspect qui pose le plus de problèmes, notamment avec l'intégration de udev (processus chargé de matérialiser coté utilisateur les différents périphériques connectés) dans le projet systemd. En l'absence de vision claire la distribution Gentoo a décidé de forker udev (c.-à.-d. développer en parallèle une version plus adaptée à leurs besoins) udev-ng vs eudev

Dans cet article, Greg KH annonce que le projet systemd n'a pas de buts à long terme bien définis, mais qu'il va forcer la main des distributions pour qu'elles suivent une structure dans laquelle les modifications sont sous contrôle, plutôt que de continuer à réinventer la roue en permanence.
Deux ans plus tard, Lennart Pottering annonce que les nouvelles versions de udev seront incompatibles avec les anciennes et devront nécessairement reposer sur un noyau récent (utilisation de kdbus). C'est le dernier avertissement pour Gentoo

Le projet systemd fournit environ 80 binaires. Parmi ces binaires, quelques exemples :

  • /sbin/init (systemd) ne s'occupe que de l'init ;
  • journalctl ne s'occupe que de consulter le journal ;
  • udev s'occupe de découvrir les périphériques et peupler /dev ;
  • hostnamectl s'occupe de la gestion du nom d'hôte (hostname) de la machine ;
  • machinectl s'occupe de la gestion des conteneurs lancés par systemd ;
  • coredumpctl s'occupe des vidanges système (core dump) ;
  • systemd-analyze s'occupe d'inspecter la vitesse du démarrage ;
  • systemctl permet de gérer les services.

D'un point de vue sécurité, systemd limite aussi les droits et capacités des services qu'il lance (il permet par exemple à Xorg — et Weston — d'être lancé sans qu'il soit root) appliquant ainsi la séparation des privilèges.

Couplage fort vs couplage faible

Tout d'abord il faut bien comprendre ce qu'est le couplage. Lorsque deux outils informatiques doivent interagir l'un avec l'autre et s'échanger des informations, on dit qu'ils sont couplés et la force de ce couplage est évaluée en termes de modifications à faire dans un logiciel quand l'autre évolue.

Jusqu'ici, SysVinit était faiblement couplé avec le noyau Linux : SysV n'utilisait que le strict minimum des API de Linux pour démarrer.

Systemd change très fortement la donne à ce niveau là. Systemd profite de multiples API du noyau pour contrôler et gérer les services, notamment :

C'est là d'où vient tout son intérêt et sa fiabilité. Mais, au fur et à mesure de ses évolutions, systemd n'hésite pas à se détacher des anciennes versions du noyau, des anciennes versions de D-Bus et udev ou encore des outils systemd précédents. Exemple :

Soyons clair, on s'attend à ce que systemd et le noyau soient mis à jour simultanément. On ne prend pas du tout en charge le mélange d'un noyau vraiment vieux avec un systemd vraiment récent. Jusqu'ici, on s'est concentré sur la prise en charge par systemd du noyau, jusqu'à une version antérieure de 2 ans (ce qui veut dire la 3.4 actuellement), mais même cela devrait être considéré avec précaution.

L'avantage de cette méthode est qu'elle permet d'avoir un ensemble limité de situations à prendre en compte et, de fait, limite les problèmes de rétrocompatibilité au minimum. L'inconvénient est que la masse de tests à faire pour monter en version est nettement accrue. En effet une mise à jour de systemd signifie nécessairement une mise à jour de udev et peut signifier une mise à jour de D-Bus, du noyau, des stratégies cgroups/SELinux, voire d'une partie de la hiérarchie de fichiers.

Dans un environnement où l'administrateur n'a pas forcément la maîtrise intégrale de ses systèmes (par exemple, pilotes propriétaires pour une baie de disque, programmes propriétaires ou non maintenus, mais nécessaires au fonctionnement de l'entreprise, hébergement de services ou de machines virtuelles pour des clients) - les tests peuvent être très complexes, voire impossibles à faire. La capacité à faire les mises à jour sereinement est mise à mal. Cependant, la capacité à ne pas mettre à jour l'ensemble du système et à bricoler avec une vieille version du noyau (par exemple) est, elle, complètement oblitérée. Plus on prend de retard sur des mises à jour systemd, plus la quantité de tests à faire pour s'assurer d'une non régression augmente et plus il va être dur de faire corriger les soucis rencontrés en upstream.

Les mises à jour sont donc complexes à faire, mais la non mise à jour n'est pas une option envisageable, même à court terme (systemd évolue à grande vitesse et des changements majeurs non rétrocompatibles se produisent tous les six mois environ — dernier en date udev nécessite désormais kdbus).

On peut donc comprendre une certaine réticence vis-à-vis de ce couplage fort par tout administrateur qui a soit de nombreux services au sein de son service informatique (i.e. beaucoup de tests), soit des applications fermées (i.e. d'un jour à l'autre, il va falloir lancer en urgence une migration parce que l'application X ne fonctionnera plus).

Journaux au format binaire

Il est reproché à systemd d'avoir des journaux systèmes (ou logs) au format binaire, alors que Syslog les stocke au format texte. Cela permet notamment :

  • de disposer de fonctions de recherche puissantes via journalctl (filtrage par date, application, etc., un peu comme une base de données) ;
  • d’intégrer des données binaires — telles que la vidange (dump) d’un résultant d’un plantage — directement dans le journal ;
  • de ne pas laisser n’importe qui ayant un accès root le pouvoir de modifier le journal (tel qu’un intrus voulant effacer ses traces).

Cependant, pour pouvoir traiter les journaux avec les outils qu’on utilise habituellement pour manipuler du texte, il faut utiliser journald. Cela signifie qu’en cas de problème, le format binaire ne peut pas être lu par une plateforme ne disposant pas de systemd.

D’autre part, l’indexation automatique de journald ne concerne que des éléments internes et connus, la recherche d'un élément arbitraire (par exemple une poignée de main SIP) nécessite toujours une recherche complète ou l’utilisation d’un système d’indexation externe type plein texte.

Un fichier binaire est plus sensible à la corruption qu’un fichier texte ; par exemple, il suffit généralement d’écrire une suite aléatoire de caractères au début du journal pour rendre l’ensemble du fichier inexploitable. Une autre technique consiste à apposer un sceau (seal) au début.

Cependant, comme avec syslog, les journaux sont répartis en plusieurs fichiers et journald est capable de gérer certains types de corruptions. Cela étant dit, des journaux qui se corrompent facilement peuvent devenir une vraie difficulté pour les administrateurs système quand ils doivent diagnostiquer des problèmes.

D’autre part, le format binaire de journald lui permet d'être actif très rapidement, et de mettre en log le tout début de l’initialisation de l'espace utilisateur qui était jusqu'alors non supervisable. Un flux binaire a besoin de nettement moins de fonctions du noyaux actives. On n’a, par exemple, pas besoin des locales, des maps de caractères, de faire attention aux caractères de contrôle, etc.

Cependant, il est tout à fait possible de paramétrer journald pour envoyer tous les journaux à syslog, retrouvant ainsi le format texte avec des informations supplémentaires (en effet, journald est capable de récupérer des informations plus tôt pendant le démarrage).

L’embarqué

Les fonctionnalités et la maîtrise qu’offre systemd se paye en terme de ressources utilisées. Par exemple, un développeur Debian nous apprend que systemd nécessite 236 kio à 550 kio de bibliothèques additionnelles à charger en mémoire et que la taille résidente en mémoire est de 1,8 Mio, soit 1 Mio de plus que Sysvinit. Autant dire que même sur un Raspberry Pi, ça ne fait aucune différence à l’utilisation.

Si systemd est aussi conçu pour et utilisé sur des plateformes embarquées, systemd peut se révéler trop gourmand sur certaines configuration particulièrement limitées. D’ailleurs, systemd ne fonctionne qu’avec la glibc et ne peut pas être utilisé, par exemple, avec les bibliothèques standards C plus légères qu’on retrouve sur certains systèmes embarqués.

Réécriture d’outils

On dit souvent que systemd réinvente la roue (syndrome NIH).

En effet, systemd intègre des fonctionnalités fournis par d’autres logiciels (par exemple, inetd ou cron). Cela permet à systemd de rendre ces fonctionnalités plus faciles à utiliser par systemd et par l’utilisateur.

systemd propose aussi des outils ayant comme but d’être des alternatives plus simples (moins de code), légères (moins de fonctionnalités) et sécurisées (moins de privilèges nécessaires) par rapport aux outils qui existent déjà, lesquels sont relégués au traitement des cas les plus complexes.

Au final, beaucoup de personnes se sont inquiétées de voir systemd réécrire et maintenir des outils qui existaient déjà, doutant de l’utilité réelle de ce travail en comparaison de la charge de développement et de maintenance supplémentaire.

L’étendue du projet systemd

Un argument important porte sur la forme du projet beaucoup plus que le fond technique. En effet, ce qui au départ n’était qu’un projet de système d’initialisation englobe désormais tout un tas d’autres outils et est défini par ses mainteneurs comme une plateforme modulaire qui fait la glu entre les applications et le noyau Linux.

Cette plateforme est développée comme un écosystème à la BSD, c’est pourquoi les outils jugés nécessaires sont tous développés en interne et maintenus dans le même dépôt. Il est alors légitime de s’inquiéter qu’un seul projet maintienne autant d’outils importants si on n’a pas confiance (que ça soit techniquement ou que ça soit des relations qu’ils entretiennent avec les autres projets).

D’autre part, certains outils sont difficiles à utiliser sans systemd comme udev (cf. udev), ce qui pose des interrogations quant à la possibilité de réutiliser ces composants ailleurs (comme on pourrait l’attendre d’un outil Unix).

En effet, il est devenu compliqué d’utiliser udev seul pour les distributions n’utilisant pas systemd, au point qu'on lui associe souvent, par abus de langage, le slogan adopte, étend et étouffe.

L’équipe de développement de Gentoo a créé un fork d’udev nommé eudev qui fonctionne sans systemd. C’est évidemment du travail en plus pour Gentoo mais n’importe quelle distribution peut maintenant utiliser eudev pour se passer de systemd.

Influence de Red Hat dans le développement de systemd

On reproche de temps en temps à systemd d’être le produit de Red Hat pour couler GNU/Linux (c’est rarement dit de manière plus subtile). Mais plus précisément, on reproche à Red Hat de forcer l’adoption de leurs logiciels.

Il faut rappeler que 26 personnes ont droit de commit sur le projet et 40 personnes contribuent tous les mois. D’un autre côté, Red Hat emploie 3 des 4 plus gros contributeurs à systemd, à savoir Lennart Pottering, Kay Sievers (développeur de udev) et Tom Gundersen (qui est aussi développeur Arch Linux).

Pourtant, les équipes de maintenance des distributions ont surement longuement réfléchi avant de choisir d’inclure ou non systemd, car c’est loin d’être un changement trivial. Le fait que Red Hat engage des gens pour travailler dessus est un point positif, c’est sûr, mais c’est loin d’être le seul critère pour l’intégration ou non de systemd.

Dépendance de GNOME à systemd

Depuis la version 3.8, GNOME dépend de systemd pour certaines fonctions liées à la gestion de l’énergie et aux paramètres système.

En réalité, systemd fournit une fonctionnalité utile via une interface documentée que le projet GNOME a décidé d’utiliser pour se simplifier la vie, plutôt que ConsoleKit qui n'est plus maintenu depuis plusieurs années. Cela a permis à Ubuntu de réimplanter l’interface pour faire fonctionner GNOME et donc a permis à Ubuntu GNOME de naître.

Il est logique que systemd expose de nouvelles interfaces de programmation pour accéder au matériel, et il est compréhensible que GNOME veuille en tirer parti. Il est cependant dommage que le fait d’utiliser GNOME sans systemd demande du travail supplémentaire aux distributions utilisant un autre système d’init. Cela est toutefois cohérent avec la politique de GNOME de réduction du nombre de fonctionnalités.

Jusqu'à présent, les autres environnements de bureau ont été plus prudents et essaient d’éviter les dépendances les liant à un système d’exploitation en particulier ou demandant un travail d’intégration supplémentaire.

Par exemple, KDE et Xfce4 tirent parti des avancées de systemd mais fonctionnent sans. Cela demande plus de travail, mais on peut espérer dans le futur que des projets comme systembsd permettent de profiter de certaines fonctionnalités de systemd sans lui et de se débarrasser du vieux code.

Attitude des développeurs de systemd Lennart Poettering

C’est l’auteur de systemd, qui mène toujours aujourd’hui en grande partie son développement. Il est employé par Red Hat pour travailler sur systemd.

Il a développé PulseAudio, le logiciel qui gère le son dans la majorité des distributions GNU/Linux. Pourtant, PulseAudio a une mauvaise réputation. Il est souvent désigné coupable par défaut des problèmes de son. L’histoire est en réalité bien plus complexe.

Certains affirment également que « systemd est un jouet qu’il abandonnera quand il en aura marre », rappelant qu’il a abandonné le développement d’Avahi. Ce dernier est également peu apprécié à cause de son fonctionnement parfois jugé intrusif.

Bref, si parler du comportement des développeurs de systemd est pertinent, il faut éviter de tomber dans le piège de l’Argumentum ad personam qui n’indique pas grand chose sur la qualité du logiciel.

Il y a un poste pour les adorateurs de L. Poettering : Startup and Shutdown System Expert

Conclusion

Voilà, à présent vous devriez mieux comprendre les débats enflammés concernant systemd.

systemd apporte plein de bonnes choses, mais a aussi ses points négatifs et il devient de plus en plus difficile de s’en passer. Après tout, utiliser des logiciels libres, c’est une question de choix… non ?

Cette dépêche ne prétend pas être parfaitement neutre, mais grâce à la participation de courants opposés dans une relative bonne ambiance où chacun à fait des concessions, elle essaie d’être au plus près des faits et d’apporter pour chaque argument un contre-argument.

Les titres de dépêche auxquels vous avez échappé
  • Pourquoi systemd existe ?
  • systemd a-t-il des problèmes d’init ?
  • Pourquoi systemd, pourquoi la vie ?
  • Pourquoi systemd est bon pour votre santé
  • La réponse à la question sur l’univers, la vie et systemd
  • all your init are belong to systemd
  • Je suis systemd
  • GNU/Systemdnux
  • 3 utilisateurs sur 6 aiment dé
  • systemd : Yes we Kaane !
  • The fabulous fairy tale of systemd and the 50 bastards.
  • Nous partîmes 500 et paf systemd.
  • xcomcmdrd.
  • systemd dans ta gueule, connard
  • systemd, haters are gonna ♫ hate hate hate ♫
  • l'antisystemdisme, un mal français
  • systemd, une lumière dans la nuit
  • systemd : let's drop Linux
  • systemd ne t'a rien demandé
  • systemd président, Zino 1er ministre, MultiDeskOS aux affaires étrangères
  • (systemd : l'init martyrisé, l'init bafoué, mais l'init libéré !) ah non vous n'y avez pas échappé
  • systemdivise
  • systemd : il ne passera pas par moi.
  • systemd sera le genre humain.
  • systemd : l'union sacrée
  • Souriez, vous êtes systemd :)
  • Kabaled

1 000 commits, 50+ participants, 25+ titres, 1 dialogue de sourds

Télécharger ce contenu au format Epub

Lire les commentaires

Revue de presse de l'April pour la semaine 8 de l'année 2015

24 février, 2015 - 10:00

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

[usine-digitale.fr] Des cultivateurs-bricoleurs fabriquent eux-mêmes leurs machines agricoles grâce à l'open hardware

Par Lélia de Matharel, le vendredi 20 février 2015. Extrait:

L’open hardware, qui permet aux passionnés de technologie de construire eux-mêmes leurs robots, leurs smartphones ou leurs voitures, intéresse un nouveau public: les agriculteurs. Grâce à des plans accessibles librement sur Internet, ils peuvent fabriquer des machines agricoles moins chères que celles qui sont disponibles dans le commerce.

Lien vers l'article original: http://www.usine-digitale.fr/article/des-cultivateurs-bricoleurs-fabriquent-eux-memes-leurs-machines-agricoles-grace-a-l-open-hardware.N314684

[La Vie] Emmabuntüs, des ordinateurs pour tous

Par Claire Legros, le jeudi 19 février 2015. Extrait:

En France, environ 20 kg de déchets électroniques par personne, dont la majorité n’est pas recyclée, sont produits chaque année. Pour éviter ce gaspillage, une vingtaine de bénévoles se réunissent chaque semaine dans les communautés Emmaüs de Perpignan, Dijon et Paris pour reconditionner le matériel informatique collecté par les compagnons. L’équation est simple.

Lien vers l'article original: http://www.lavie.fr/hebdo/2015/3625/emmabuntus-des-ordinateurs-pour-tous-17-02-2015-60620_676.php

[Mediapart] Profil de Libriste: Frank

Par André Ani, le mercredi 18 février 2015. Extrait:

Bonjour Prof Tux, je m’appelle Frank Rousseau, j’ai 32 ans et je suis libre comme l’air! Bon en fait j’ai pas grand chose en commun avec GTO. J’aime juste passer beaucoup de temps devant mon ordi pour faire des sites et applications web et ce depuis plus de 15 ans. Et ce en tant que hobby ou activité professionnelle. Aujourd’hui je suis Co-Fondateur et Directeur Technique de Cozy Cloud, une startup qui réalise des clouds personnels libres.

Lien vers l'article original: http://blogs.mediapart.fr/blog/andre-ani/180215/profil-de-libriste-frank

[Next INpact] Le Sénat adopte le nouveau délit d'obsolescence programmée

Par Xavier Berne, le mardi 17 février 2015. Extrait:

Le Sénat a adopté tard dans la nuit l’article de la loi sur la croissance énergétique punissant les pratiques dites d’obsolescence programmée de deux ans de prison et de 300 000 euros d’amende. L'objectif? Sanctionner les fabricants réduisant sciemment la durée de vie de leurs produits (imprimantes, smartphones…) afin que les consommateurs les remplacent plus souvent.

Lien vers l'article original: http://www.nextinpact.com/news/93090-le-senat-adopte-nouveau-delit-d-obsolescence-programmee.htm

[InformatiqueNews.fr] Instrumentaliser la terreur pour contrôler les communications chiffrées: une dérive dangereuse

Par Guy Hervier, le mardi 17 février 2015. Extrait:

Les attentats de janvier à Paris ont déclenché une vague de discours sécuritaires et de dangereux projets législatifs s’annoncent bien au-delà des frontières françaises. Un contrôle des communications en ligne, de la surveillance, des attaques contre l’expression anonyme et le chiffrement sont déjà à l’ordre du jour, sous prétexte de combattre un ennemi invisible dans une guerre perpétuelle.

Lien vers l'article original: http://www.informatiquenews.fr/instrumentaliser-la-terreur-pour-controler-les-communications-chiffrees-une-derive-dangereuse-jeremie-zimmermann-quadrature-du-net-30248

Et aussi:

[Branchez-Vous!] Un collectif réclame une enquête publique sur l'informatique au gouvernement du Québec

Par Laurent LaSalle, le lundi 16 février 2015. Extrait:

Devant la place prépondérante qu’occupe désormais la technologie, les signataires d’une déclaration commune demandent une enquête publique sur l’octroi des contrats gouvernementaux liés aux technologies de l’information.

Lien vers l'article original: http://branchez-vous.com/2015/02/16/collectif-reclame-enquete-publique-sur-linformatique-au-gouvernement-du-quebec

Télécharger ce contenu au format Epub

Lire les commentaires

Conférence Git Merge le 8 et 9 avril 2015 à Paris

24 février, 2015 - 08:42

En 2013 GitHub avait organisé la première Git Merge à Berlin. Pour les dix ans de Git, GitHub récidive en organisant une Git Merge à La Gaîté lyrique à Paris dans le 3ème arrondissement.

En 2013 cette conférence était gratuite, mais avec un nombre de places limitées, donc il fallait être dans les premiers à s'inscrire pour avoir une place (sauf pour les contributeurs à Git). On peut maintenant s'inscrire depuis le site de la conférence, ce qui nous amène notamment sur un site d'achat pour y accéder, vendant les places 99$.

Le programme, détaillé en seconde partie de la dépêche :

  • 8 Avril : échauffement
  • 9 Avril : évènement principal

Informations plus détaillées, notamment d'ordre pratique sur le site de la conférence.

8 Avril : échauffement

Un choix entre :

Des entraînements de niveau avancé sur Git, de 11H à 15H, en s'y inscrivant, pour apprendre au contact d'une partie des meilleurs formateurs au monde.

Une visite guidée de Paris, spécialement préparée pour les participants à la conférence, afin de découvrir la culture et la gastronomie parisienne avant le réel début des conférences.

Par invitation également, se tiendra une rencontre des contributeurs à Git le mercredi, pour les contributeurs et mainteneurs du cœur de Git ("Core implementations", je prends pour une meilleure traduction). Pour cela, il sera nécessaire d'envoyer un e-mail à events@github.com pour y prendre part.

9 Avril : évènement principal

L'accueil se fera à partir de 9H et l'évènement principal commencera à 10H. Une partie des conférenciers prenant part à l'évènement sera constituée de :

  • Junio Hamano, Google
  • Rick Olson, GitHub
  • Angelos Evripiotis, Bloomberg
  • Emma Jane Hogbin Westby, auteur de « Git for Teams »
  • John Garcia, Atlassian
  • Dirk Lehmann, SAP
  • Wilhelm Bierbaum, Twitter
  • Edward Thomson, Microsoft

Il y aura de nombreuses opportunités de discuter, apprendre, collaborer à propos du futur de Git avec chacun des participants.
Le tout se clôturera par une fête d'anniversaire de Git mémorable.

Télécharger ce contenu au format Epub

Lire les commentaires

Présentation du projet libreidea.org

24 février, 2015 - 08:41

Le projet libreidea, lancé en octobre 2014, se veut être une boite à idées (avec un code libre et une instance de base ayant vocation à diffuser le contenu sous CC By Sa 3.0).

Deux parties viennent avant et après les idées : les problématiques qui induisent les idées et les projets, résultantes des idées.

Les idées s(er)ont évaluables par la communauté de manière subjective, mais aussi rationnelle, ce qui permettra à chacun une aide à la décision pour participer à un ou plusieurs projets.

Types d'idées :

  • logiciels
  • objets physiques
  • concepts
Différents objectifs
  • Donner aux libristes des buts communs autour des idées et concepts
  • Donner toute sa place au libre dans la recherche et l'innovation
  • Utiliser les avantages du libre
    • la puissance de la collaboration (Wikipédia, GNU/Linux…)
    • facilité d'utilisation (a contrario des brevets par exemple)
  • Donner des outils :
    • à ceux qui ont des idées, mais pas les compétences
    • aux futures générations
  • Élargir les champs d'application du libre, plus seulement aux arts, logiciels… mais aussi (contre les) brevets et (pour les) innovations.
Imaginez…
  • Un grand libreidea avec des dizaines de milliers d'idées et des centaines/milliers de projets qui transcendent les participants
  • Les idées incroyables des habitants de notre planète
Besoins prioritaires
  • se constituer une communauté
  • développer une fonctionnalité d'évaluation, subjective et aussi rationnelle, ainsi que de classement
  • trouver des prix : dédicaces d'objets de personnalités du libre, argent, matériel… qui motivent les créatifs à déposer leurs idées.
Télécharger ce contenu au format Epub

Lire les commentaires

Formation OpenStack Boot Camp I à Paris du 9 au 11 mars 2015

23 février, 2015 - 11:14

Mirantis étoffe son programme de formations "Mirantis Training pour OpenStack" avec deux nouveaux cours ainsi qu’un portail de vérification des certifications.

Depuis 2011, Mirantis Training pour OpenStack permet de se former à OpenStack, un ensemble de logiciels libres pour une infrastructure de cloud computing ou infrastructure en tant que service, et obtenir une certification. 88 % des employés en formation notent mieux cette filière que toute autre formation de branche professionnelle en raison de la qualité et de l’expertise de ses formateurs, de son format flexible et de ses contenus indépendants, exclusivement focalisés sur OpenStack.

Selon le cabinet de recrutement Hays France, les ingénieurs en cloud computing peuvent toucher jusqu'à 10.000 euros de plus par an que leurs homologues généralistes, dont le salaire annuel avoisine les 36.000 euros brut. Des chiffres en pleine croissance ; le rapport BSA Global Cloud Scorecard 2013 (*) prévoit la création d’environ 14 millions d’emplois liés au cloud en 2015.

Le programme de formations Mirantis Training pour OpenStack est proposé sur 70 sites à travers le monde. La prochaine formation à Paris a lieu le 9-11 mars 2015.

NdM : la formation est en anglais et coûte environ 2200 € (2515 $). La société Mirantis est notamment connu dans le monde OpenStack pour son logiciel libre de gestion et de déploiement Fuel.
(*) le rapport BSA cite en fait en page 1 une étude IDC 2012, consultable chez Microsoft par exemple.

Le programme :

  • jour 1 : présentation d'OpenStack et de son architecture, ses buts, ses cas d'utilisation ; les opérations de base, les principes de déploiement ; etc.
  • jour 2 : le stockage et le réseau avec OpenStack ;
  • jour 3 : Heat et Ceiliometer, supervision et orchestration, préparation à la certification OpenStack.
Télécharger ce contenu au format Epub

Lire les commentaires

Quand la cybernétique hiberne l'éthique

23 février, 2015 - 11:05

La 19 février 2015, le ministère français de la défense a mis en ligne (sur Youtube) une cybervidéo pour nous parler de la cyberdéfense afin d'arrêter les cybermenaces des cyberméchants. Cette vidéo a notamment été reprise dans Les liens idiots du dimanche de NextINpact sous le titre « Cyberdéfense : la drôle de publicité de l'armée ». Le titre officiel « La cyberdéfense : le combat numérique au cœur des opérations » est plus vendeur.

Le « nouveau terrain d'affrontement » est l'occasion de parler de « propagande djihadiste, des pirates cagoulés qui tapent au hasard sur des claviers, les Anonymous, Stuxnet, etc. avant d'enchainer sur des avions de chasse, sous-marins, hélicoptères et autres artilleries lourdes. »

Évoquons un peu (dans la seconde partie de la dépêche) cette vidéo, avant de faire un petit résumé des épisodes précédents dans l'armée française.

La vidéo est dans un style très cinématographique à effets spéciaux qui doit en jeter. Si vous vous attendez à ce qu'elle parle de reprise de contrôle des infrastructures par la fabrication de processeurs « Made in France » (de préférence open hardware), de logiciels en marinière (de préférence libres) et de routeurs tricolores (de préférence DIY), vous allez être déçu(e). Il s'agit plus de montrer que le pays a plein d'armes (après tout la France est dans les gros vendeurs d'armes), de faire de belles images guerrières, et de compléter d'images faisant « cyber », des portables, des cagoules, des consoles, des curseurs qui clignotent, des caractères qui défilent à la Matrix et du cliquetis de clavier.

Un cyberméchant qui utilise (pas très bien) cat et sed :

Un cybergentil sous Windows :

Encore du cybergentil sous Windows mais qui utilise du libre (Firefox) :

Un cybergentil sous Matrix :

Un cybergentil sous Windows mais qui utilise du libre (GnuPG, VirtualBox, etc.) mais en root :

La vidéo 14h42 #22 : est-ce que nous sommes en cyberguerre ? me semble avoir plus d'intérêt ; évidemment, il y une différence de longueur et de fond entre une publicité et une émission longue comme 14h42 de NextINpact et Arrêt sur Images.

Notons néanmoins que le ministère français de la défense et l'armée française en général est (comme toutes les grandes structures) un lieu de contradiction (la liste qui suit n'étant pas exhaustive évidemment) :

Télécharger ce contenu au format Epub

Lire les commentaires

Ubuntu Install Party à Cazères (31) le 7 mars 2015

23 février, 2015 - 09:35

Envie de découvrir une informatique libre, éthique et accessible ? L'association Allis et la société AltSysNet.com de Cazères (31) vous proposent une Ubuntu Install Party dans le Comminges.

L’événement aura lieu le samedi 7 mars 2015 de 15h à 18h chez AltSysNet.com (8, place de l’hôtel de ville 31220 Cazères).

Au programme :

  • informations sur les logiciels libres ;
  • présentation d'Ubuntu 14.04 ;
  • aide à l'installation d'Ubuntu et de logiciels libres sur votre PC ;
  • découverte Ubuntu sur des ordinateurs en libre service.
Télécharger ce contenu au format Epub

Lire les commentaires

Pour plus de sécurité au bureau, évitez les chips (ou alors, chuchotez) !

23 février, 2015 - 09:34

Ok vous vous dites « qu'est-ce que c’est encore cette dépêche ? » (vous n’auriez pas tort) mais sous ce titre il est vrai aguicheur, je vais vous parler d’un article que j’ai lu récemment.
Article très sérieux où il n’est pas question du tout nouveau logiciel open source, mais plutôt de paquet de chips, de cyberespionnage, de plante et de ronronnement d’ordinateur…

La suite de la dépêche a pour but de montrer que la sécurité informatique est un domaine vaste et complexe qui parfois est complètement indépendant de la bonne volonté des informaticiens…

Ils « filment » vos conversations

Il parait que les plantes c’est bon pour la productivité au bureau, le problème est que les scientifiques (américains, israéliens et allemands) sont à présent capables de vous espionner grâce aux vibrations de l’air générées par vos paroles.

Explication : en réalité c’est très simple, lorsqu’on parle on fait vibrer l’air grâce à nos cordes vocales. L’air vibre OK, mais pas que. En fait, tout ce qui est suffisamment fin et souple vibre également de manière infime : feuilles d’une plante verte, paquet de chips posé sur le bureau, même vos écouteurs (via leurs membranes)…

Comment ? Une caméra (celle d’un smartphone suffirait) filme les micro-mouvements de l’objet puis un algorithme à la pointe de l’analyse statistique et du traitement de signal reconstitue la conversation (à condition qu’elle soit suffisamment forte/audible).

Je ne vous ai pas tout dit, ils « écoutent » aussi vos courriels…

Quoi encore ?! Des chercheurs (américains) sont capables de retranscrire un courriel grâce aux sons émis par les touches de votre clavier.

Comment ? Le micro (et même l’accéléromètre) de votre smartphone posé à proximité du clavier enregistre les sons de ce dernier. Un logiciel de traitement analyse, compare et arrive à reconstituer des phrases entières avec un taux de réussite de 80%. Autant dire que votre clé PGP ne servira pas à grand-chose. Bien sûr il faut avoir accès soit à votre bureau soit à votre téléphone…

De là à imaginer, une application qui « écoute » en continu puis qui envoie les données brutes à la NSA/GCHQ/WHATEVER

Remarque : il existe également une technique plus ancienne (évoquée en 2008) basée sur l’écoute des ondes électromagnétiques…

…et vos clés RSA

Le principe est assez similaire à l’écoute des courriels sauf que là on écoute le « ronron » de votre ordinateur. Résultat, un scientifique israélien est capable (en 2010) de déchiffrer une clé RSA de 4096 bits en une heure !

Comment ? Les composants électroniques (condensateurs et bobines) vibrent en fonction de la tension électrique qui les parcourt dans le but de fournir une tension constante au CPU. Ces vibrations émettent un bruit qui, grâce à un algorithme de traitement de signal, permet de retranscrire la clé de chiffrement utilisé.

Le scientifique indique qu’il vous suffit de placer un micro professionnel à 10 m de votre « cible » (un micro de smartphone doit être à environ 30 cm de la source sonore) afin d’extraire 100% de la clé bit par bit…

Conclusion

Ces techniques d’espionnage sont appelées « attaque par canal caché ou auxiliaire », selon l’article de Science&Vie qui traite le sujet : le contre-espionnage s’organise déjà.

Personnellement je me pose des questions autour de la sécurité dans les centres de données. Un micro (ultrasensible) orienté vers la baie du concurrent, et hop vous récupérez les clés de chiffrements.

Alors science-fiction ? Snowden nous en parlera peut-être dans quelque temps…

Comment se protéger ?

Voici quelques pistes afin de se protéger contre ces attaques :

  • Enfermez votre PC/Serveur dans une chambre anéchoïque.
  • Vous avez une réunion importante ? Chuchotez !
  • Occultez vos fenêtres ou mieux, murez-les…
  • Évitez les chips au bureau (votre taux de cholestérol vous en remerciera).
  • Investissez dans un clavier silencieux (pas certain de l’efficacité)
  • Travaillez en musique afin de brouiller les pistes.

Source : Science&Vie - janvier 2015 - N°1168

NdM : le sujet n'est pas vraiment nouveau en sécurité informatique. Voir par exemple dans le magazine Misc de sept./oct. 2014 « Extraire le code assembleur d’un système embarqué en analysant le courant consommé : possible ? », le journal sauter l'airgap avec des ultrasons (2013), la dépêche sur une attaque de GnuPG via le cache (2013) ou une autre dépêche sur l'analyse de prédiction de branche" (BPA) (2006) ou Tempest (publiquement depuis 1985).

Télécharger ce contenu au format Epub

Lire les commentaires

Appel à contribution OSM en Guinée - 25 février 2015 à Montpellier

22 février, 2015 - 23:53

Un appel à contribution a été lancé par Humanitarian OSM Team (HOT, équipe OpenStreetMap au service des missions humanitaires) le 11 février pour produire la carte de base de la préfecture de Kindia en Guinée par rapport à l’épidémie Ebola qui y sévit et persiste encore.

Vous pouvez apporter une contribution à l’éradication de cette maladie dans ce pays en fournissant des données à travers OpenStreetMap aux différentes équipes sur le terrain (CartONG/MSF).

Ainsi, l'association Montpel'libre sollicite une contribution du groupe local OSM Hérault et de l’ensemble de la communauté OpenStreetMap à la production de ces données pour les agents sur le terrain en Guinée. Sachant que, même après cette épidémie, ces données pourront servir à beaucoup d’autres choses sur la connaissance du territoire guinéen.

L’équipe HOT a mis en place un outil de contribution collaborative (OSM Task Managing) très simple d’utilisation qui fournit des taches et des zones à cartographier à chaque contributeur.

Mercredi 25 février 2015 de 19h00 à 23h00
Cowork’in Montpellier au 19, rue de l’école de droit à Montpellier
Tramway ligne 3, arrêt Plan Cabanes
GPS latitude : 43.610769 | longitude : 3.876716

NdM : 10 jours après l'ouverture de la tache #892, les statistiques indique qu'elle est réalisée à 64% et validée à 48%. Pour citer quelques autres taches prioritaires du moment :

Télécharger ce contenu au format Epub

Lire les commentaires

Apéro numérique Linux et Logiciels Libres à la MJC de Castelnau-le-Lez - 25 février 2015

22 février, 2015 - 18:59

Laissez-vous guider par les spécialistes de l’association Montpel’libre lors d'une soirée conviviale pour découvrir et échanger sur les logiciels libres et plus précisément sur le système d’exploitation Linux. Vous découvrirez également les principales distributions et environnements de bureau (Unity, Gnome, KDE, Xfce, LXDE, Cinnamon et MATE) disponibles sous Linux.

Mercredi 25 février 2015 de 18h00 à 21h00
MJC Centre André Malraux 10, avenue de la Moutte à Castelnau-le-Lez
Bus Ligne 35 arrêt Collège Frédéric Bazille
Tramway ligne 2 arrêt La Galine
GPS : latitude : 43.633946 | longitude : 3.905794

Télécharger ce contenu au format Epub

Lire les commentaires

Repas du Libre à Toulouse le 26 février 2015

22 février, 2015 - 15:31

Le groupe d'utilisateurs et utilisatrices de Logiciels Libres de Toulouse Toulibre en collaboration avec Tetaneutral.net fournisseur d'accès internet et hébergeur libre proposent aux sympathisantes et sympathisants de se retrouver l'un des mardis ou jeudis de chaque mois pour échanger autour des logiciels Libres, des réseaux libres, discuter de nos projets respectifs et lancer des initiatives locales autour du Libre. Ce repas est ouvert à toutes et à tous, amatrices et amateurs de l'esprit du Libre, débutantes et débutants ou technicien(ne)s chevronné(e)s.

Ce Qjelt aura lieu le jeudi 26 février 2015 à 20 heures, au restaurant Bois et Charbon situé au 64 rue de la Colombette à Toulouse. C'est à proximité de la place Saint Aubin accessible par le métro à la station Jean Jaurès (ligne A et B). Entrée/plat/dessert + 1/4 de vin à 18€. Pour des raisons de logistique, une inscription préalable avant la veille au soir est demandée.

Télécharger ce contenu au format Epub

Lire les commentaires

QElectrotech 0.4 pour vos schémas électriques

22 février, 2015 - 02:18

Un peu plus d'un an après la dernière version stable de QElectroTech (QET), la version 0.4 est maintenant disponible en téléchargement.

Pour rappel, QElectrotech est un logiciel libre multi‐plate‐forme, permettant de réaliser des schémas de circuits électriques. QET est disponible sous licence GNU GPL. Le développement du logiciel se fait en C++ avec la bibliothèque Qt 4.

Sommaire Général

Des changements dans le code ont permis de supprimer l'option "-fno-ipa-sra", ceci a réglé les problèmes de compilation sous Mac OS X et sous FreeBSD avec clang.
Yoann rejoint l’équipe, il s'occupe des paquets Mac OS X.

La collection officielle a encore été remaniée, grâce au travail de Nuri une nouvelle structure est en place.

Elle contient à ce jour : 2298 éléments, dans 376 catégories (soit 2674 fichiers).

La traduction allemande est complète et celle en russe a bien avancé, grâce au travail de Nuri, et de Ximer.
Les traductions en flamand et en norvégien ont été ajoutées, grâce au travail de Ronny, ainsi que de Paul et Elbert.

Un répertoire eaux a été ajouté grâce au travail d'un enseignant brésilien pour ses élèves.

Un menu a été rajouté, permettant de changer la langue de l'application et des symboles au prochain démarrage de QET.

Il a été ajouté un outil de création de sommaire.
Une fois activé, il place en deuxième position une page sommaire contenant les numéros de folios, son titre, auteur et date ; une nouvelle page sera automatiquement créée tous les 58 folios, et ce, sans limite du nombre de folios dans le projet.

Un bouton "exporter la nomenclature" transforme les données du schéma en CSV pour alimenter un tableur.

Elle exporte ces données :

  • Nom du projet
  • N° folio
  • Titre du schéma
  • Désignation de élément
  • Label
  • Commentaire
  • Nom du fabricant
  • Référence fabricant
  • Localisation sur la machine.

Arun a écrit un manuel détaillé et de qualité en anglais, mais les changements dans le code ont été nombreux et rapides en quelques mois… à ce jour il doit être réécrit pour coller aux nouveautés.
Il ne sera plus basé sur des fichiers TEX et compilé dans Emacs avec le paquet Auctex, mais sera basé sur le logiciel Sphinx Inventory, il permet de générer la documentation dans divers formats de sortie, l'internationalisation de ce manuel en sera facilitée.

De nouveaux outils ont été ajoutés, ils permettent de créer des liaisons mécaniques et de dessiner des coffrets, pupitres, boîtes de dérivation, ou zones directement sur le schéma (outils ligne, rectangle, ellipse, polygone, type : trait fins style : tirets). La touche espace permet de sortir de l'outil ou de l'action.
Une croix d'aide au  positionnement, au dessin, et au centrage a été ajoutée.
L’état verrouillé des images et des formes de base (basic shapes) est maintenant enregistré dans le projet.

La touche "control" pendant le mouvement d'un élément, champ texte désactive l'accrochage sur la grille, pour un positionnement libre.

Il est maintenant possible de choisir le fond des folios en blanc ou gris, pour le confort des yeux (l'impression restant sur fond blanc, cela va de soi).

 
Qet prend en charge les gestes du trackpad (multitouch), le pinch to zoom, déplacement à trois doigts.
Le zoom out que ce soit avec la molette de la souris, au clavier, ou par les boutons de l'interface ou avec trackpad ne réduit plus à l'infini la zone du schéma, et revient sur un zoom adapté.

Dans la configuration de Qet, il est maintenant possible d'ajouter des variables cartouche globales pour les prochains projets.

Les dates des cartouches utilisent maintenant la date courte du système et le format date suivant la langue détectée en paramètre dans l' OS.

On profite du passage à la norme C++11, et un gros nettoyage dans le code a été fait.

Avant la 0.4, la pile d'annulation undo/redo surveillait chaque folio, du fait des fonctionnalités suivantes : renvois de folio, références croisées ; elle surveille maintenant l’ensemble du projet.
La fonction obsolète "d'enregistrement des folios modifiés" et son icône ont été supprimées du code. 
Nous savions pertinemment que la gestion de la pile d’annulation par folio ne serait plus adaptée avec les renvois. Ce mode était justifié jusque-là ; maintenant, les folios sont liés entre eux par les renvois, les liaisons équipotentielles au travers des renvois le sont aussi, et quelques problèmes sont apparus.
Il a été décidé de passer la pile d'annulation à l'ensemble du projet et non plus par folio, pour éviter d'avoir des incohérences  de numérotation de conducteurs sur les schémas.
Les actions undo ou redo dans la pile d'annulation sont maintenant animés graphiquement.

Le filtre de recherche d'éléments dans les collections se voit ajouter une fonction multi critères, il est maintenant possible de filtrer en ajoutant + entre chaque valeur.
Exemple : omron + cj1 + 22 

Lors de l'action enregistrer, enregistrer sous, la barre d’état affiche le nom et le chemin de la sauvegarde réalisée.

Qet est maintenant capable de venir charger une feuille de style (stylesheet) directement du répertoire conf.
Un exemple est fourni dans le répertoire examples/styles : il suffit de copier le "style.css" dans le dossier personnel Qet et de décocher "activer les couleurs système".
Exemples de styles.css pour Qet
Sous Windows, avec l'installateur c'est c:\utilisateurs\user\AppData\Roaming\qet.
Avec la ReadyToUse dans le répertoire conf/.
Sous Debian et autres distributions GNU/Linux c'est dans /home/user/.qet
ou ~\.qet.


DXF

Un export DXF a été ajouté, l'ensemble des folios du projet peut être exporté sous ce format.

Le convertisseur DXF vers les fichiers élément .elmt continue de progresser, grâce au travail de Ronny.
Il permet de transformer un fichier symbole au format DXF en un fichier elmt lisible par Qet.
Pour l'instant il n'est pas inclus dans le programme, les sources, et des binaires sont disponibles.

Video Youtube

Éditeur

Les variables de position X,Y .. des primitives sont maintenant fixées à deux décimales.
Au survol les primitives sont mises en valeur par un halo bleuté.
L’éditeur peut changer le style de plusieurs primitives en même temps.

L’éditeur d'élément se voit ajouter un widget épaisseur de ligne, de même les boutons de sélection "Style" ont été remplacés par une liste de choix.
Les nouveaux éléments créés dans l’éditeur devront avoir un champ  mis en label pour être sauvegardés.
Pour pouvoir valider un élément créé, il faut juste ajouter un champ texte à coté de l'élément ou dans l’élément.
Puis cliquer sur ce champ et dans la boîte de dialogue définir le tag en label.
Ce champ label sert de nom à l'élément dans les folios, il peut être renseigné directement ou mieux par le widget de propriété en double cliquant sur le symbole.
En renseignant chaque élément avec ce widget, on enrichit la nomenclature.
Pour les formes simples (primitives) : une croix d'aide au positionnement, au dessin et centrage a été ajoutée. 
Le clic droit annule le dessin de la primitive en cours.
Le double clic termine le polygone.

La primitive sélectionnée reste active pour un nouveau dessin, la touche "echap" ou clic droit désélectionne l'outil.
La touche espace provoque la rotation de la primitive arc, et aussi des bornes pendant le dessin.
L'outil conserve l'orientation de l'ancienne borne tournée avec la touche espace.

Un widget permet de définir les propriétés de l’élément en cours de dessin.
À ce jour sont proposés :

  1. Élément avec propriété type simple
  2. Élément avec propriété type maître (bobine), ou protection
  3. Élément avec propriété type esclave
  4. Élément avec propriété type renvoi
  5. Élément avec propriété type borne
Conducteurs

Il est maintenant possible d'avoir une taille de police variable sur le texte des conducteurs.
Il est aussi possible d'appliquer les nouvelles propriétés à l’ensemble des conducteurs au même potentiel, même au travers des renvois.

Quand plusieurs conducteurs ont la même valeur équipotentielle, il n'est pas utile de l'afficher sur tous les conducteurs.
Dans le cas d'un nœud de plusieurs conducteurs, donc ayant la même liaison équipotentielle, seul le conducteur ayant le segment le plus long contiendra le texte, et ce, par folio. Une case à cocher valide cette fonction. 

Renvoi de folio

Il est maintenant possible de choisir la représentation du texte des renvois :

  • En France, les renvois sont du type (n° folio-ligne colonne).
  • Ailleurs la norme IEC 61082-1:2006 est de vigueur et est du type (/n° folio.ligne colonne).

Pour satisfaire le plus grand nombre d'entre vous, ce label est dorénavant personnalisable.

Exemple pour le type (/n° folio.ligne colonne) : /%f.%l%c.

Pour la liaison des renvois de folios un widget permet de rechercher: par folio, par n° de conducteur et de les lier, voir de délier des renvois existants.

Un double clic sur le texte de position d'un renvoi (il passe en bleu au survol) se comporte comme un lien web et la vue se déplace sur l'aboutissant de ce renvoi.

Références croisées

Il est maintenant possible en reliant des contacts esclaves à une bobine maître, de générer en automatique sous la bobine le type de contacts enfants de cette bobine, leurs positions dans le projet, le type de contact NO, NF, switch.

Dans le tableau des références croisées : les valeurs NO, NC, représentant le type de contact ont été remplacées par leur représentation graphique.

Pour les Xrefs (références croisées), on peut choisir de l'afficher en mode croix ou liste, soit en bas ou sous le label,
On peut aussi afficher, par exemple : la référence en croix en bas de page dans le cas d'une bobine et en liste sous le label dans le cas d'un maître type protection.

Il est maintenant possible d'ajouter les contacts esclaves puissance dans le tableau.
Pour la table de référence croisée, il est possible de rajouter un préfixe suivant le type de contact, qui sera affiché dans la croix.
Exemple : P pour contact puissance, T pour contact temporisé.
Il est aussi possible de switcher du mode tableau au mode liste.

Si vous avez renseigné le label de vos bobines, lors de la liaison d'un contact esclave vers sa bobine, ce contact prend maintenant automatiquement le nom du label de sa bobine maître, et ajoute dessous la position de la bobine en réel.
Le nom du label est ajouté au widget de liaison-contact vers bobines, il est donc plus facile de rechercher et de lier par le nom des bobines ces contacts, par exemple KA1, KA2, etc.

Le widget propriétés liaisons des contacts esclaves profite aussi d'un tri par folio, et bénéficie d'une recherche et filtrage sur les champs "label","commentaires" des propriétés ajoutées à chaque bobine.

Quand on copie colle des bouts de schémas contenant des renvois de folios, des contacts esclaves, des bobines maîtres, etc., les liens sont supprimés, les champs label, commentaires sont remis à leurs valeurs d'origine lors du coller : soit { "/" ,"_" }.

Dans un folio le survol des éléments bobines, protections, contacts met en valeur les liaisons parents enfants par un halo bleuté.
Un double clic sur le texte de position de ces éléments maîtres ou esclaves (il passe en bleu au survol) se comporte comme un lien web et la vue se déplace sur l'aboutissant de cet élément.

Exemple avec ce screencast

Numérotation semi automatique:

Les règles de numérotation sont maintenant disponibles pour l'ensemble du projet.
On peut passer d'une règle à l'autre à la volée: règle puissance, commande, I/O API, etc.
Elles sont exportées dans le fichier projet, mais pas encore dans la configuration de Qet.
Pour l'instant un hack est possible: ouvrir le fichier XML d'un projet avec un éditeur texte et coller ces règles dans le nouveau projet XML.

Liaisons automatiques d’éléments entre eux

Un bouton active la connexion automatique des conducteurs de l’élément lors du déplacement de celui-ci.

Video Youtube

Des lignes d'aide ont été ajoutées afin de mieux positionner les éléments entre eux.

Windows

Suite à une demande d'un enseignant, l'installateur Windows de Qet, gère maintenant le mode multi-utilisateur sous Windows.
Chaque élève pourra avoir sa session propre, sa configuration Qet, ses cartouches, sa collection officielle personnelle, sans dépendre des autres sessions.

Pour rappel, une version dite portable existe aussi : la "ReadyToUse". Elle présente l'avantage d'avoir le programme, ses symboles, cartouches, schémas personnels, et de pouvoir être lancée directement depuis une clé USB sur une machine Windows où l'installation de logiciels n'est pas autorisée.

Qet détecte, au lancement, la version de Windows et applique le style graphique adéquat, suivant la version de Windows.

Version 0.5

Pour la future version 0.5, il est prévu de :

  • migrer sur Qt5.
  • numéroter les borniers.
  • identificateurs de structure : norme IEC 81346
Avis de recherche

Comme beaucoup de projets du monde libre, QElectroTech recherche des gens motivés (et surtout disponibles) pour rejoindre et renouveler l’équipe existante.

Le projet est plus particulièrement à la recherche de contributeurs pour les activités suivantes :

  • de traducteurs pour continuer la traduction du logiciel ;
  • des empaqueteurs pour répandre QET facilement sur les autres distributions GNU/Linux, et pour nous faire des retours sur l’intégration ;
  • des contributeurs pour la collection d’éléments ;
  • des testeurs ayant une réelle procédure de test ;
  • de personnes ayant des connaissances sur les feuilles de styles XSLT et LibreOffice Éditer certaines données projet XML de QET dans un tableur (filtres d'import/export)
  • des développeurs C++/Qt pour l’application elle‐même, bien entendu.

Qet est un projet libre, nous sommes bénévoles et les besoins augmentent : matériel, sauvegardes, déplacements RMLL, etc. Si vous appréciez notre travail et ce logiciel, n’hésitez pas à nous soutenir par vos dons. Vous pouvez aussi soutenir notre sympathique hébergeur TuxFamily.org, sans qui ce projet n'aurait pas vu le jour.

Télécharger ce contenu au format Epub

Lire les commentaires

Sortie d’Inkscape 0.91

21 février, 2015 - 18:22

Inkscape 0.91 est sortie le 30 janvier 2015, soit quatre ans et demi après la précédente version 0.48, qui était sortie le 23 août 2010.
Pour rappel, Inkscape est un logiciel de dessin vectoriel riche en fonctionnalités, pouvant être utilisé pour un large éventail de tâches : des maquettes d’interface, de la conception d’icônes et de logos à l’illustration numérique. Inkscape est un logiciel multi-plateforme, disponible sous GNU/Linux, FreeBSD, Mac OS X et Windows. Enfin, Inkscape se base sur le standard SVG du W3C, mais est capable de lire ou d’écrire dans une grande variété d’autres formats.

Le saut dans le numéro de version (de 0.48 à 0.91) avait été annoncé par les développeurs d’Inkscape durant le « Libre Graphics Meeting 2014 » et veut refléter la maturité du code atteinte par Inkscape (voir l’article LWN sur les mise-à-jour des projets durant les LGM 2014). Le but est (bien sûr !) de viser la version 1.0.

Cette nouvelle version, en plus de marquer la fin d’une grande période de refactoring, apporte de (très) nombreuses corrections de bugs, des améliorations de performance, de rendu et des outils existants et introduit de nombreux nouveaux outils/extensions/réglages.

Sommaire Rendu et performances

Inkscape 0.91 inclut un nouveau moteur de rendu, basé sur la bibliothèque Cairo. Un travail qui a été en grande partie effectué durant les projets Google Summer of Code 2010 et 2011.

  • Augmentation des performances : le nouveau moteur de rendu est nettement plus rapide sur la plupart des tracés. Les rendus des objets complexes sont mis en cache automatiquement, afin d’améliorer les temps de réponses durant l’édition.
  • Multithreading OpenMP pour les filtres : les filtres utilisent maintenant tous les cœurs disponibles pour le calcul, procurant ainsi des gains de vitesse appréciables lors de l’édition d’objets filtrés imposants sur les systèmes multi-cœurs.
  • Utilisation mémoire : Inkscape utilise maintenant bien moins de mémoire pour l’ouverture de dessins complexes. Dans certains cas, Inkscape 0.91 n’utilise plus que 25 % de la mémoire utilisée par Inkscape 0.48. Des fichiers plus gros peuvent donc maintenant être ouverts !
  • Amélioration des temps de réponse : le rendu du dessin SVG est maintenant mis en cache. Les temps de réponse pour le surlignage des chemins, la sélection/dé-sélection d’objets et la modification de chemin en mode mise à jour différée ont ainsi été grandement améliorés.
  • Le rendu du contour des objets transformés valide maintenant la spécification SVG.
  • Corrections des bugs de rendu : la plupart des défauts de rendu du gestionnaire de bugs ont disparu d’Inkscape 0.91. Le rendu est à présent correct pour :
    • les remplissages de motifs (plus d’espacement entre les tuiles, indépendamment de la transformation) ;
    • les tracés des objets transformés dans les motifs ;
    • les motifs contenant des objets avec découpe ;
    • les chemins de découpe imbriqués ;
    • les objets masqués et découpés avec des masques ou chemins de découpe larges, en mode d’affichage par contour ;
    • les chemins avec des contours larges et des extrémités plus longues ;
    • les polices.
Mode d’affichage des couleurs

Un mode d’affichage de couleur en niveaux de gris a été ajouté, utile pour ceux qui voudraient savoir comment rendra leur dessin sans couleurs. Shift + numpad5 bascule le mode d’affichage des couleurs entre normal et niveaux de gris.

Travail (presque) invisible
  • La transition du projet vers C++ est terminée.
  • Inkscape se charge de manière bien plus rapide grâce à un nouveau cache des icônes sur le disque) et un chargement plus rapide des polices. Voir bug #488247.
Outils Outil de sélection

Les valeurs entrées dans les champs numériques (X, Y, largeur, hauteur) sont utilisées de manière plus précise.

Outil d’édition des nœuds

La barre de contrôle de l’outil d’édition de nœuds gagne un menu déroulant permettant l’insertion de nœuds sur les valeurs extrêmes d’une courbe. Par exemple (voir l’image ci-dessous), il est possible d’ajouter un nouveau nœud sur le point le plus haut d’une courbe en utilisant « Insérer un nœud à l’ordonnée maximale. ».

Outil de mesure

L’outil de mesure est une nouvelle fonctionnalité permettant de mesurer les distances dans un dessin. Pour utiliser l’outil de mesure, une fois celui-ci sélectionné, il suffit de cliquer n’importe où dans le dessin puis de tirer la règle à partir de ce point. L’outil de mesure affiche en temps-réel les mesures de distances et d’angles des objets présents sous la règle.

Outils de texte
  • L’unité par défaut de la taille du texte est maintenant le point (pt) et peut être changée (px, pt, pc, mm, cm, in, em).
  • La barre de contrôle de l’outil de texte et la boîte de dialogue « Texte et Police » proposent maintenant la liste complète des styles disponibles pour une famille de police. La liste des familles de polices est maintenant plus pratique et affiche ainsi en haut de la liste les familles de polices utilisées dans le document courant.
  • La barre de contrôle permet également la sélection de tous les autres objets textes utilisant la même police que l’objet texte sélectionné.
  • Les fichiers avec une taille de texte exprimée en em sont lus correctement.
  • À l’ouverture d’un SVG utilisant des polices qui ne sont pas installées sur votre système, Inkscape vous avertit et vous propose de les substituer par des polices dont vous disposez.
Outils d’édition des dégradés
  • La barre de contrôle de l’outil d’édition des dégradés a été améliorée et permet maintenant la sélection et la modification des points d’arrêts, l’inversion de la direction du dégradé, l’activation d’une répétition et enfin la liaison des dégradés.
  • L’édition des dégradés directement sur le dessin est plus facile, un double-clic permet de créer un stop, et le focus suite à une sélection est maintenant correct.
  • Les dégradés peuvent être triés par couleur, par nom ou par usage et peuvent aussi être renommés dans le dialogue « Remplissage et Contours ».
Boîtes de dialogues, etc. En vrac
  • Les statuts et les positions des dialogues sont retenus entre les sessions (configurable, activé par défaut).
  • La plupart des dialogues sont maintenant ancrables (incluant « Propriétés de l’objet », « Attributs de l’objet », « Texte et police », « Vérification orthographique », « Exporter une image PNG », « Éditeur XML », « Rechercher/Remplacer » et « Créer un pavage avec des clones »).
  • Les utilisateurs Windows peuvent maintenant choisir quel dialogue « Ouvrir/Enregistrer » Inkscape va utiliser (GTK ou natif).
  • Le dialogue « Métadonnées du document » a été fusionné à l’intérieur de « Propriétés du document ».
Organiser (anciennement « Lignes et colonnes »)

Le dialogue « Organiser » est doté d’une nouvelle fonctionnalité « Coordonnées polaires ». Ce dialogue permet de disposer des objets sur un cercle, une ellipse ou un arc.
Voir le document de proposition.

Aligner et Distribuer

Les opérations d’alignement disposent désormais de raccourcis (Ctrl+Alt+Touche du pavé numérique).

De nouvelles fonctionnalités ont également été ajoutées au dialogue « Aligner et Distribuer » sous la forme de trois boutons permettant d’échanger les positions des objets sélectionnés (par ordre de sélection, par ordre d’empilement (z-index) et enfin dans le sens horaire).

Dans l’exemple suivant trois objets sont sélectionnés et leurs positions sont échangées en utilisant leur ordre de sélection :

Propriétés du document

Il est maintenant possible de désactiver l’anti-aliasing pour un document (voir bug #170356). Le réglage se fait dans les propriétés du document.

Rechercher/Sélectionner
  • Il est maintenant bien plus aisé de sélectionner un objet situé derrière d’autres objets. Alt + Défilement molette souris permet de choisir parmi les objets empilés sous le curseur de la souris. (Alt + Shift + Défilement molette souris pour ajouter à la sélection courante). Pour le moment les groupes ne sont pas respectés, seuls les objets individuels dans les groupes sont considérés.
  • Un nouveau dialogue « Rechercher/remplacer » a été ajouté. Il peut travailler sur les textes ou sur les attributs des objets.
  • « Sélectionner même » est une nouvelle fonctionnalité permettant de sélectionner les objets ayant la même propriété que l’objet actuellement sélectionné. Il est possible de sélectionner les objets similaires sur les critères suivants : remplissage et contour, couleur du remplissage, couleur du contour, style du contour et type d’objet. Ci-dessous un exemple de sélection sur la même couleur de remplissage :

Cette fonctionnalité est disponible dans le menu Édition, ou dans le menu contextuel d’un objet sélectionné.

Remplissage et Contours

Le formulaire de sélection des marqueurs a été amélioré afin de prendre moins de place.

Et, chose qui devrait en ravir plus d’un, les marqueurs prennent maintenant les couleurs de l’objet (remplissage et contour).

La vue des dégradés dans le dialogue « Remplissage et Contours » affiche maintenant la liste de tous les dégradés du document. Cette liste affiche le rendu du dégradé, son nom et son nombre d’utilisations dans le document.

Calques
  • Le tri des calques peut maintenant se faire avec de simples glisser/déposer. Les sous-calques peuvent aussi être créés de cette manière.
  • Les options « Montrer/Cacher tous les calques » font également leur apparition dans le menu contextuel des calques.
Symboles

Un nouveau dialogue « Symboles » a été introduit dans Inkscape. Ce dialogue permet d’afficher les symboles d’une bibliothèque de symboles. Par défaut, Inkscape 0.91 inclut cinq bibliothèques en exemple : Bulles de bandes dessinées, Éléments d’organigrammes, Symboles du service des parcs nationaux des États-Unis, Panneaux signalétiques AIGA, Symboles logiques. Le dialogue Symboles permet également de construire une bibliothèque pour le document courant. Les symboles peuvent être glissés/déposés depuis le dialogue.

N’importe quel fichier SVG peut servir de source pour créer une bibliothèque de symboles tant qu’il contient des symboles : un symbole est défini par un élément SVG <symbol>. Pour utiliser une bibliothèque de symboles, il suffit alors de placer le fichier dans le dossier utilisateur $XDG_CONFIG_HOME/inkscape/symbols (share/inkscape/symbols si l'on veut ajouter les symboles au niveau système). Si le symbole a été fait de manière adéquate, il peut être fourni avec un contour/remplissage par défaut qui pourra être plus tard modifié par l’utilisateur.

Les fichiers Visio Stencil Set (.vss) peuvent aussi être utilisés comme source de bibliothèque de symboles, la qualité du résultat n’est cependant pas garantie.

Transformer

La boîte de dialogue « Transformer » se dote d’un outil permettant la rotation d’un objet dans le sens des aiguilles d’une montre (et dans le sens contraire des aiguilles d’une montre).

Vectoriser le bitmap

La boîte de dialogue « Vectoriser le bitmap » dispose maintenant d’un aperçu en direct, et le dialogue peut être agrandi, agrandissant ainsi l’aperçu.

Effets de chemin

L’effet de chemin « Contour dynamique », bien qu’encore en chantier et instable, est disponible dans cette version. Il vient avec l’effet « Cloner le chemin original ». Des explications plus précises sont disponibles dans les notes de version.

Filtres

Un certain nombre de filtres peuvent maintenant être configurés avant d’être appliqués. Une boîte de dialogue permet de configurer des paramètres simples et permet d’avoir un aperçu en direct de l’application du filtre. Cela permet d’éviter de passer obligatoirement par la boîte de configuration de filtres, qui, pour certains filtres, peut s’avérer particulièrement complexe à utiliser.

Vectoriser du Pixel Art (libdepixelize)

La bibliothèque depixelize a été développée au sein d’Inkscape et sert à vectoriser des fichiers d’images matricielles. Cette bibliothèque, qui est spécialisée dans la vectorisation de Pixel Art, a été intégrée sous la forme d’un dialogue « Vectoriser du Pixel Art… » dans le menu « Chemin ». Cette nouvelle fonctionnalité ne remplace pas l’ancien « Vectoriser le bitmap… », mais vient bien en complément. Vous pouvez trouver des informations sur la manière dont fonctionne la bibliothèque depixelize ici.

Autres modifications de l’interface graphique Général
  • Une couleur de fond peut être définie pour le dessin sans que celle-ci soit ensuite utilisée pour l’export. En effet la transparence du fond n’étant appliquée que pour l’export du dessin, une couleur ayant une transparence maximale ne se verra pas à l’export, mais se verra durant l’édition. (Fichier > Propriétés du document > Page > Couleur de fond).
  • L’option « Déplacer la zone de travail en utilisant la barre espace » est maintenant toujours activée et n’a plus besoin d’un clic souris pour attraper le dessin : il suffit maintenant de presser la barre espace et de déplacer la souris pour déplacer votre zone de travail.
Guides

La visibilité des guides peut être changée en cliquant sur les règles.
On peut maintenant mettre des labels sur les guides et la couleur d'un guide peut également être modifiée par l’utilisateur (un peu d’aide : Le dialogue de configuration des guides apparaît en double-cliquant sur un guide).

Menu/accessibilité
  • Les raccourcis clavier pour les éléments d’interface (Alt + Autre Touche) sont maintenant disponibles dans de (toujours) plus nombreux dialogues.
  • Les dialogues « Texte et police », « Remplissage et contour » et « Vérification orthographique » sont maintenant accessibles depuis le menu contextuel des objets texte (menu contextuel : clic droit sur l’objet).
  • Des cases à cocher indiquent maintenant dans le menu « Affichage » si les options suivantes sont activées : « Grilles », « Guides », « Affichage avec gestion de couleurs ».
  • Les fonctionnalités « Grouper » et « Dégrouper » ont été ajoutées au menu contextuel des objets.
Préférences

Le dialogue de Préférences a subi un grand nettoyage/réorganisation.
En plus de cela, voici une liste non-exhaustive des modifications et ajouts dans le dialogue de Préférences :

  • Interfaces > Raccourcis clavier : nouvel éditeur de raccourcis clavier.
  • Interfaces : nouvelles options pour les barres détachables et les boutons de commutation (icônes, texte, icônes et texte).
  • Interface > Fenêtres : possibilité d’enregistrer & de restaurer l’état des boîtes de dialogues, ou pas.
  • Comportement > Incréments : possibilité de sélectionner l’unité pour le réglage des incréments (déplacer, redimensionner, contracter/dilater).
  • Comportement > Incréments : possibilité d’effectuer la rotation d’un guide autour d’un point d’aimantage (Shift+Ctrl+Clic et déplacement souris sur un guide).
  • Comportement > Clones : une option a été ajoutée qui lorsque la sélection dupliquée contient un clone et son original (dans un groupe par exemple), permet de relier le clone dupliqué à l’objet original dupliqué plutôt qu’à l’original initial. Voir bug #239297.
  • Entrée/sortie > Sortie SVG : il est maintenant possible de forcer les données de chemin a être écrites en coordonnées relatives, en coordonnées absolues ou encore en mode optimisé, qui mélange mode absolu et relatif pour obtenir les chaînes les plus courtes possibles.
  • Bitmaps : des options ont été ajoutés pour configurer la gestion des bitmaps : « mise à l’échelle lors de l’importation », « résolution d’importation », « résolution d’exportation », « Rendu des images en mode contour »…
Effectuer des calculs simples dans les spinboxes

La majorité des spinboxes peuvent dorénavant effectuer des calculs simples. Quelques exemples :

  • 2 × 3
  • 50 + 100
  • ((12 + 34) * (5 + 5) - 2) / 2

En outre, il est possible d’utiliser des unités pour les valeurs entrées, p.e. 2 px + 2 cm. Le résultat sera ensuite converti dans l’unité sélectionnée pour la spinbox.

Poignées de contrôle

La taille des poignées de contrôle du dessin peut maintenant être réglée dans la section « Périphériques de saisie ».

Format de fichiers pris en charge
  • Nouveaux formats d’export : Flash XML Graphics (FXG), Synfig Animation Studio (SIF), HTML5 Canvas.
  • Nouveaux formats d’import : Visio (VSD) (basé sur libvisio), internal CorelDraw (CDR) (basé sur libcdr).
  • Le format d’export XAML a été amélioré (et inclut un mode de compatibilité Silverlight).
SVG

Le format « SVG compressé avec média » a été amélioré et dispose de nouvelles options :

  • définir un répertoire pour les images liées ;
  • lister dans un fichier texte les polices utilisées dans le document SVG.

La gestion du SVG est également améliorée :

  • Une nouvelle option propose de définir la manière de lier les bitmaps : toujours lier, toujours incorporer ou demander au moment de l’import.
  • Il est maintenant possible de vérifier la présence d’éléments invalides ou inutiles dans les SVG. Des options permettent de spécifier si ces attributs doivent générer des avertissements ou simplement être supprimés. Ces vérifications peuvent être effectuées lors de la lecture, de l’édition ou de l’écriture.
  • L’option de ligne de commande --export-text-to-path (permettant de convertir les textes en chemin) fonctionne désormais aussi avec l’export de SVG simple.
  • Le rendu des propriétés suivantes est maintenant pris en charge (mais sans possibilité de les utiliser avec l’aide de l’interface graphique, sauf, bien sûr, en passant par l’éditeur XML) :
    • clip-rule ;
    • color-interpolation-filters : les filtres (non-issus d’Inkscape) spécifiant une interpolation de couleur linearRGB sont rendus correctement. Les filtres créés par inkscape utiliseront encore une interpolation de couleur sRGB par défaut.
    • text-decoration : underline, strike-through, overline.
    • text-decoration-line, text-decoration-style : gestion préliminaire (CSS 3).
    • paint-order : Permet de définir l'ordre dans lequel seront peints les éléments. Par exemple le contour peut être peint avant le remplissage et donc en dessous de celui-ci : très utile pour le texte. Quelques exemples :
EMF/WMF

L’import et l’export des formats EMF et WMF (Enhanced MetaFile et Windows Metafile) ont été complètement réécrits et fonctionnent maintenant sur toutes les plate-formes. Il est dorénavant possible de copier-coller des fichiers EMF entre une application Windows tournant sous wine et une version Linux d’Inkscape.

GIMP XCF
  • Une option « exporter le fond » ajoute le fond du document à chaque calque converti.
  • Les calques exportés utilisent maintenant comme nom l’attribut label ou, si celui-ci n’est pas défini, l’attribut id.
  • Une option « Résolution du fichier » permet de fixer la résolution du fichier XCF en DPI.
  • Un nouvel onglet « Aide » nous explique tout ça.
  • Et enfin quelques bugs et avertissements ont été corrigés.
PDF
  • « Fond perdu/marge » : il est possible de spécifier une marge supplémentaire qui serait ajoutée à la boîte englobante devant être exportée. Cette option est utile pour exporter un PDF avec une marge blanche tout autour du dessin, ou pour exporter un fond perdu de quelques mm en dehors de la zone de dessin.
PDF/EPS/PS + LaTeX
  • Il est maintenant possible de redimensionner l’image. Le package « calc » doit être inclus dans le préambule du document LaTeX, l’image peut alors être redimensionnée en utilisant la balise \svgscale au lieu de \svgwidth.
  • Le style de police est aussi exporté. Il est possible d’utiliser \textit{} pour du texte en italique, \textbf{} pour du texte en gras ou encore \textsl{} pour du texte oblique. Il est important de noter que la police « Arial » dispose d’un style oblique, mais pas de style italique. Ainsi, le résultat en LaTeX sera oblique au lieu d’italique. Si vous voulez une police italique, il est donc préférable d’utiliser une autre police.
Extensions Unités : perte de la compatibilité ascendante

La mise en œuvre d’unités adaptées aux documents introduit des modifications rendant les anciennes extensions obsolètes. Les fonctions inkex.unittouu et inkex.uutounit ont dû être modifiées et déplacées vers la classe inkex.Effect.
Les appels de conversions d’unité doivent donc maintenant remplacés par des appels à inkex.Effect.unittouu et inkex.Effect.uutounit (anciennement self.unittouu et self.uutounit).

Voir aussi : Notes On Units Handling in Extensions in 0.91.

Nouvelles extensions
  • « Guillotine » : permet d’exporter le dessin divisé sur plusieurs PNG. Les divisions sont effectuées en ajoutant des guides verticaux et horizontaux dans le cadre du dessin, le cadre servant de limite extérieure ;
  • « G-code » : un générateur de G-code, pour la programmation de machines à commandes numériques ;
  • « QR code » : un générateur de codes QR ;
  • « Grille isométrique » ;
  • « Rogner une image matricielle » ;
  • « Extraire du texte » : permet d’extraire le texte d’un dessin dans un ordre choisi ;
  • « Fusionner du texte » qui permet de fusionner plusieurs blocs de textes sélectionnés en un seul ;
  • « Ajuster TSL » ;
  • « Remplacer la police » ;
  • « Mise en page multicadres » qui permet de préparer une mise en page avec plusieurs pages par feuille, mais est actuellement sujette à un bogue ;
  • « Diagramme de Voronoï » : crée des diagrammes de Voronoï et des triangulations de Delaunay en utilisant le barycentre des objets sélectionnés ;
  • « Interpoler l’attribut dans un groupe » : applique une valeur sur les attributs interpolables de l'ensemble des éléments de la sélection ;
  • « Texte Hershey », une extension pour rendre un texte destiné à être gravé (par exemple par un laser ou une CNC) et donc défini par un tracé plutôt que par une zone à remplir comme les polices traditionnelles ;
  • Un nouveau menu « Extensions Typographiques » facilite la création de glyphes pour FontForge et permet ainsi fabriquer sa propre police (voir Typography extensions in inkscape 0.91).
Améliorations
  • « Numéroter les nœuds » : Il est maintenant possible de choisir le début de la numérotation, ainsi que l’incrément entre deux nœuds.
  • Les valeurs des paramètres des extensions (sauf les attributs !) peuvent maintenant avoir un contexte de traduction en utilisant msgctxt.
  • De nouveaux sous-menus apparaissent dans le menu « Rendu ». Ils regroupent les code-barres, les grilles et les extensions de mise en page.
Magnétisme
  • Les préférences ainsi que la barre d’outils du magnétisme ont été retravaillées (dans le code sous-jacent comme dans l’interface graphique) afin de les rendre plus faciles à comprendre, à maintenir et afin de pouvoir trouver et corriger plus facilement les bugs de magnétisme restants.

  • Inkscape permet maintenant d’aimanter de manière perpendiculaire ou tangentielle aux chemins : à la création des chemins avec l’outil stylo, en déplaçant des nœuds ou encore en déplaçant des guides. Les guides tout juste créés (tirés depuis la règle) s’aimantent perpendiculairement ou tangentiellement à n’importe quelle courbe. Deux cases à cocher ont été ajoutées à la boîte de dialogue des propriétés du document (sur l’onglet magnétisme) pour activer ces options. Merci de noter qu’aimanter perpendiculairement ou tangentiellement ne fonctionnera pas dans l’outil de sélection lors de la transformation d’un objet (ou d’un ensemble d’objets).

  • Il est maintenant possible d’aimanter à l’intersection d’un chemin et d’un guide.

  • L’aimantation est entièrement gérée lors de la transformation d’une sélection de nœuds (redimensionnement ou rotation) dans l’outil nœuds.

  • L’aimantation aux ancres de texte et aux lignes de base fonctionne maintenant correctement.

  • Lorsque la préférence « Aimanter seulement le nœud le plus proche du pointeur » est activée, la touche Tab permet de changer le nœud qui va être utilisé comme source d’aimantation (à l’intérieur de votre sélection). Cela permet de changer la source d’aimantation de la sélection sans relâcher le cliquer-glisser.

Télécharger ce contenu au format Epub

Lire les commentaires

Sortie de Proxmox VE 3.4 avec ZFS

20 février, 2015 - 15:23

Proxmox Virtual Environment (VE) est une solution de virtualisation serveur complètement libre, basée sur KVM et des conteneurs. La societé Proxmox Server Solutions GmbH vient de publier la nouvelle version 3.4. Cette dernière offre de nouvelles options telles que le système de fichiers ZFS, un greffon de stockage ZFS et le « branchement à chaud ».

Cette version 3.4 est basée sur la dernière Debian (Wheezy 7.8). Elle comprend le support NUMA (non‐uniform memory access) et plusieurs améliorations dans l’interface Web qui avaient été demandées par la communauté (démarrage et arrêt de toutes les machines virtuelles, migration de toutes les machines virtuelles et suppression des cartes réseaux virtuelles).

Télécharger ce contenu au format Epub

Lire les commentaires

Le jeu "Baston de taverne" passe au libre

20 février, 2015 - 13:28

Baston de taverne est un jeu en 2D vue du dessus (assez semblable à un ancien Zelda sur le principe) dans un univers médiéval fantastique (sur Windows uniquement actuellement).

Suite à un message sur internet l'association LanPower a contacté l'auteur, Charles SEMPE, étudiant, pour lui proposer de passer ce jeu "gratuit" à plus que gratuit : une licence libre. Après une courte réflexion, et une prise de renseignement, l'auteur a basculé son jeu sur la licence GNU/GPL V3.
Nous vous proposons à la suite de la dépêche une interview de l'auteur.

Description du jeu :
Le jeu consiste, comme son nom l'indique, à se rendre dans les tavernes et déclencher des bastons ! Vous pouvez alors récupérer tout ce qui vous passe sous la main : les chopines, les jambons, les chaises, etc, afin de massacrer tous vos adversaires ! Il existe différents modes de jeu. Il y a tout d'abord un mode "Partie rapide" qui permet de bastonner rapidement. Ensuite vient le mode "Histoire", où il est possible de se promener dans un monde ouvert. Vous pourrez interagir avec de nombreuses personnes, changer d'apparence, éclater des poulets et j'en passe. Mais le point le plus important est que les bastons que vous réaliserez auront des conséquences sur votre prestige et votre argent, ce qui influencera bien sûr le jeu !

Interview :
Suite à mon courriel, vous avez décidé de basculer le jeu sous une licence libre. Finalement qu'est-ce qui vous motive ?

Je me suis renseigné sur les licences libres et je me suis rendu compte que c'est l'aspect légal qui manquait à mon projet. Pour un développement sur internet et une distribution du jeu, je pense que c'était quelque chose de vraiment essentiel à mettre en place.

Certains bruitages ou musiques ne semblent pas sous licence libre : donc pour l'instant ce jeu est classé en partiellement libre. Souhaitez-vous de l'aide pour que le jeu soit entièrement libre ?

J'ai personnellement veillé à ce que tous les sons que j'utilise soient libres de droits. Les sons ont trois origines différentes : Universal Soundbank, qui est libre de droit, Alban Lepsy, qui est libre de droit à partir du moment où il est cité (ce qui est fait), et le Naheulband pour la musique du menu principal, qui m'a accordé les droits pour le titre.

Pouvez-vous préciser la licence ? "libres de droits" est un terme utilisé par les majors mais qui ne veut pas dire grand chose en fait. "libres de droits" ne veut pas dire qu'on a le droit de faire ce qu'on veut. Les oeuvres sont-elles dans le domaine public ? Qu'a dit l'auteur en fait, c'est là la question ? Pour Naheuband, on le sait donc, mais les autres ?

Pour ce qui est d'Universal Soundbank, aucune précision n'est apportée quant au type de licence apposée. Le site nous informe juste que tous les sons récupérables sont gratuits et libres d'utilisation. Pour ce qui est d'Alban Lepsy, je dispose d'un document m'accordant la liberté d'utilisation de ses œuvres. L'auteur ne fait mention d'aucune licence précise comme j'ai pu en entendre parler lorsque je me renseignais à ce sujet.

OK, on pourrait supposer dans les 2 cas, que c'est équivalent à une licence de type cc-by-sa-nd http://creativecommons.org/licenses/by-nd/4.0/ (mais il faudrait vérifier, on s'en contentera pour le moment)

Quand à mon projet, il est entièrement sous licence GNU_GPL. Les logiciels ou bibliothèques que j'ai pu utiliser sont sous licence GNU_LGPL et j'ai réalisé moi-même l'ensemble des graphismes.

En quel langage le jeu est-il développé ? Utilisez-vous un moteur de jeu existant ? Pourquoi ces choix ?

Le langage utilisé est le langage C. Il s'agit du premier langage que j'ai appris ; c'est donc un peu mon langage favori. Je n'utilise pas de moteur de jeu existant, uniquement une bibliothèque graphique nommée SDL, qui permet la gestion de l'affichage, ainsi que d'autres bibliothèques affiliées pour la gestion du texte ou encore du son (SDL_ttf, SDL_mixer, …). Le projet de jeu était à la base un simple exercice pour m'entraîner à utiliser ce langage et ces bibliothèques, il a pris plus d'ampleur par la suite et j'ai donc continué avec les mêmes outils.

Une dernière question : vous lancez un appel à contributeurs. Pouvez-vous préciser votre message ? (J'ai vu qu'il y avait sur le site un appel à porter le jeu sur d'autres systèmes d'exploitation que Windows)

Je ne recherche pas d'aide en particulier. La question des systèmes d'exploitation est un point sur lequel je compte travailler par la suite de toute façon. Il s'agit juste de prévenir les gens que s'ils sont capables de m'apporter des renseignements à ce sujet ce serait un gain de temps pour moi et un moyen de partager le jeu avec plus de personnes.

Merci Charles SEMPE d'avoir répondu à mes questions.

Télécharger ce contenu au format Epub

Lire les commentaires