Linuxfr

Syndiquer le contenu
Mis à jour : il y a 33 min 26 sec

Quelles alternatives libres à Dropbox ?

il y a 1 heure 18 min

La société Dropbox a accueillit une nouvelle personne à son conseil d'administration : Condoleezza Rice, conseillère à la sécurité nationale de l'ère Bush et connue pour avoir approuvé des écoutes illégales. Confier ses données à une entreprise requiert une grande confiance et Dropbox vient de perdre la confiance de beaucoup d'utilisateurs. Dropbox s'est empressé d'affirmer que sa stratégie de protection des données reste inchangée.

Si comme beaucoup vous décidez d'abandonner Dropbox, pourquoi ne pas passer à un logiciel libre pour gérer et stocker la mise à disposition de fichiers ? De nombreuses solutions existent, avec serveur ou en peer-to-peer.

    Avec serveur

    Avec ces solutions, l'idéal est d'avoir son propre serveur. Pour ceux qui n'ont pas l'inclination de maintenir un serveur, des offres d'hébergement payantes et gratuites sont souvent disponibles. Choisissez un hebergeur en lequel vous avez confiance, dans un pays respectueux de vos libertés. Une fois que le serveur est en place, il suffit de s'y connecter avec le logiciel client.

    • Owncloud, qui requiert un serveur OwnCloud. Nombreuses offres d'hébergements à travers toute l'Europe. Beaucoup de fonctionnalités annexes, ce qui peut être un inconvénient. GNU-AGPLv3 pour le serveur, GNU-GPLv3 pour Linux/Windows/Mac/Android, licence MIT pour iOS.
    • Seafile, qui requiert un serveur dédié. GNU-GPLv3. Linux/Windows/Mac/Android/iOS.
    • Pydio (anciennement Ajaxplorer), qui est écrit en Javascript et PHP. Nécessite un serveur Web quelconque avec PHP5 dont les extensions MCrypt et GD. Simple à mettre en place. C'est un projet qui semble dynamique, plutôt ergonomique. GNU-AGPL. Linux/Windows/Mac.
    • SparkleShare, qui requiert un serveur Git. Idéal avec de petits fichiers, notament pour les grandes équipes qui veulent un historique complet. GNU-GPLv3. Linux/Mac/Windows.
    • git-annex assistant, aussi basé aussi sur Git mais mieux équipé pour les gros fichiers. GNU-GPLv3. Linux/Windows/Mac/Android. Ne nécessite pas forcément de serveur central.
    • Syncany, qui requiert un serveur FTP ou WebDAV. GNU-GPLv2. Linux/Windows/Mac.
    • CmisSync, qui requiert un serveur de GED. Adapté aux entreprises qui disposent déjà d'un serveur Alfresco, Nuxeo, SharePoint ou autre. GNU-GPLv3. Linux/Windows/Mac.
    • Unison, qui nécessite une configuration en étoile, avec un "hub" au centre. Unison a l'avantage d'exister depuis longtemps, mais il souffre d'une certaine vétusté, il est difficile à mettre en place pour un utilisateur lambda et son code source en OCaml n'attire pas foule de développeurs. GNU-GPLv3. Linux/Windows/Mac.
    En peer-to-peer

    Si votre smartphone est allumé la plupart du temps, vous n'avez pas vraiment besoin d'un serveur. Le logiciel non-libre BitTorrent Sync l'a compris et connait actuellement un succès phénoménal qui lui vaut le surnom de Dropbox-killer. Des solutions Open Source existent aussi, pour l'instant loin de rivaliser (en particulier, pas d'application pour smartphone).

    Le principe est de créer un "secret" sur l'appareil contient le répertoire à partager, puis renseigner ce secret sur chaque appareil à connecter.

    • Tahoe-LAFS est volontairement axé sur la sécurité des données, non seulement du point de vue de la disponibilité (en faisant en sorte que vos données soient suffisamment réparties), mais également du point de vue de la confidentialité (tout est chiffré, seules les personnes qui obtiennent un lien direct ont accès aux données en clair). L'organisation d'un groupe de pairs se fait typiquement sur les relations de confiance entre plusieurs humains qui veulent collaborer ensemble. GNU-GPLv2. Linux.
    • syncthing dont le but affiché est d'être un équivalent Open Source de BitTorrent Sync, codé en Go. Comme BitTorrent Sync, le client est une interface web locale. Licence MIT. Linux/Windows/Mac.
    • ClearSkies, la même chose en C++. GNU-LGPLv3. Seulement au stade de prototype, client basique en Python.
    • Hive2Hive qui se concentre pour l'instant sur sa bibliothèque. Licence MIT. Pas de client.
    Télécharger ce contenu au format Epub

    Lire les commentaires

    Catégories: Nouvelles du Libre

    Taxonomie des attaques Heartbleed

    il y a 1 heure 59 min

    Pour ceux qui se demandent encore si ils doivent vraiment changer leurs mots de passe suite à l'affaire Heartbleed, qui veulent comprendre pourquoi il ne fallait pas le faire trop tôt, ou qui n'ont pas vérifié si leur navigateur détecte les certificats révoqués, l'article Taxonomie des attaques Heartbleed recense et explique schématiquement les diverses attaques rendues possibles par le bug, y compris contre les logiciels clients (reverse heartbleed), Tor et les VPN.

    « Heartbleed » est une des pires failles qui soient arrivées à la sécurité sur Internet. À cause d'elle, les pirates ont pu ou peuvent obtenir des données confidentielles sans avoir besoin d'intercepter les échanges. Après les premières réactions centrées sur la mise à jour des serveurs web vulnérables, la révocation des certificats et le renouvellement des mots de passe, il a fallu quelques jours de plus pour comprendre que la faille Heartbleed affecte également les logiciels clients, les échanges SSL/TLS autres que HTTPS, et une multitude d'appareils embarqués qui ne recevront jamais de mise à jour logicielle.

    Plus de détails dans la suite de la dépêche.

    Scénarios d'attaques et contre-mesures :

    • Extraction de données sensible depuis un serveur HTTPS vulnérable
    • Extraction de données d'authentification depuis un serveur HTTPS vulnérable
    • Détournement de session sur un serveur HTTPS vulnérable
    • Extraction de la clé privée SSL d'un serveur HTTPS vulnérable>
    • Déchiffrement d'interceptions anciennes
    • Déchiffrement d'interceptions récentes
    • Imitation de sites sécurisés
    • Extraction de données depuis un navigateur HTTPS vulnérable, par phishing
    • Extraction de données depuis un navigateur HTTPS vulnérable, via des liens tiers
    • Extraction de données depuis un aspirateur d'URL vulnérables
    • Analyse et corrélation de trafic Tor
    • Identification de serveurs cachés et d'utilisateurs par des noeuds Tor hostiles
    • Attaques contre les services VPN
    • Attaques contre les proxys HTTPS vulnérables

    Au delà de HTTPS, de nombreux services et protocoles basés sur SSL/TLS risquent d'être touchés par la faille Heartbleed :

    • le système sécurisé de noms de domaine DNSSEC ;
    • des tiers de confiance d'horodatage ou de notarisation, où les clés privées sont utilisées à des fins de signature plutôt que de chiffrement ;
    • des systèmes de téléchargement automatique de mises à jour de logiciels ;
    • les protocoles d'authentification RADIUS, Diameter, etc ;
    • le courriel avec SMTPS, POP3S, IMAPS ;
    • la voix/vidéo sur IP avec SIPS ;
    • des systèmes de monnaie électronique et des applications de porte-monnaie ;
    • des infrastructures de développement open-source (git).

    NdM : voir aussi les journaux sur l'émission 14h42, la sélection du meilleur des journalistes, le fork d'Openssl par OpenBSD, etc. Et d'autres liens comme Heartbleed : des cas français existent et les banques ne sont pas épargnées (NextINpact), HeartBleed : une chance qu'OpenSSL soit un logiciel libre ! (April). la réaction de la CNIL, les recommandations de l'ANSSI, Bug Heartbleed, vers un ralentissement mondial du Web ? (ZdNet), etc.

    Télécharger ce contenu au format Epub

    Lire les commentaires

    Catégories: Nouvelles du Libre

    Concours de programmation CodinGame le 26 avril 2014

    mar, 22/04/2014 - 20:48

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

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

    Parmi les nouveautés sur la plate-forme :

    • Clojure est ajouté aux langages disponibles ;
    • l'autocomplétion est activée pour C# et Python ;
    • le thème de cette édition est « Skynet Revolution » : Vous êtes John Connor. Votre objectif : détruire Skynet. Votre arme : le code.

    L'objectif du challenge : résoudre deux problèmes de programmation dans le langage de son choix parmi les 19 proposés (C/C++, C#, Java, Javascript, PHP, Python, Python 3, Perl, Go, Dart, Scala, Haskell, Objective-C, Pascal, Ruby, Bash, Groovy et Clojure). La durée moyenne estimée de l'épreuve est de 2h30.

    Modalités de participation : c'est en ligne, c'est gratuit, et c'est anonyme pour ceux qui ne souhaitent pas communiquer leurs coordonnées. L’environnement de développement proposé donne accès à un éditeur de code et un shell Bash, pour lancer son programme depuis le navigateur.

    Comme d'habitude, le règlement prévoit que le code source des participants soit rendu public sous licence libre GPL v3 et affiché sur le site dès la fin du concours, pour que tout le monde puisse apprendre et progresser en consultant les solutions des autres.

    Télécharger ce contenu au format Epub

    Lire les commentaires

    Catégories: Nouvelles du Libre

    Prototypo, ou comment devenir typographe en quelques clics

    mar, 22/04/2014 - 20:46

    Qui n'a jamais été dans la situation où il ne trouvait pas exactement la police d'écriture qu'il cherchait, et surtout compatible multi-suppports, multi-applications ? Malgré le nombre de polices disponibles (gratuites ou non), il y a souvent toujours un détail qui vient entacher un choix. Malheureusement, la création d'une nouvelle police n'est pas chose aisée car cela demande de suivre un minimum de règles typographiques afin d'éviter certaines catastrophes visuelles…

    Campagne de financement

    Imaginez donc une application « WYSIWYG » (What You See Is What You Get) vous permettant de jouer au typographe en herbe sans avoir à vous soucier des bases de la typographie, le tout pouvant être exporté sous différent formats : c'est ce que propose Prototypo.

    Le projet, actuellement en phase de développement, a lancé le 9 avril dernier une campagne de financement participatif sur Kickstater afin d'accélérer son développement ainsi que prendre la température sur les fonctionnalités les plus attendues par la communauté.

    Prototypo est un projet open-source sous licence AGPL dont le but est de fournir une application en ligne permettant de contrôler la conception d'une police à l'aide d'un large choix de paramètres typographiques (plus d'une vingtaine) afin de gérer la forme des lettres, le tout avec sa souris, simplement.

    Yannick Mathey (le designer) et Louis-Rémi Babé (le codeur) utilisent des technologies standards (HTML5, CSS3, SVG et JS) pour réaliser cette application dont le code est mis à disposition sur GitHub.

    Encore en phase beta, Prototypo a besoin d'autres logiciels pour convertir les polices du format svg vers otf. La campagne Kickstarter vise justement à plus d'autonomie (entre autres). Le développement est plutôt actif, le chat des auteurs se charge de la communication.

    Il est aussi à noter qu'une partie du financement sera reversé à d'autres projets open-source contribuant au développement : un juste retour à la communauté, selon l'équipe de Prototypo.

    En à peine une dizaine de jours, le projet à déjà atteint son deuxième objectif. Il lui reste jusqu'au 10 mai prochain pour le troisième. Alors, c'est français, c'est open-source, et en plus ça facilitera la vie de beaucoup, donc pourquoi ne pas supporter cette initiative !

    Télécharger ce contenu au format Epub

    Lire les commentaires

    Catégories: Nouvelles du Libre

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

    mar, 22/04/2014 - 10:58

    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

    [Le Point] Axelle Lemaire veut "rétablir un Internet qui garantit les libertés fondamentales"

    Par la rédaction, le vendredi 18 avril 2014. Extrait:

    Entretien avec la nouvelle secrétaire d'État au Numérique, qui détaille pour la première fois la politique qu'elle entend mener au gouvernement.

    Lien vers l'article original: http://www.lepoint.fr/chroniqueurs-du-point/guerric-poncet/axelle-lemaire-veut-retablir-un-internet-qui-garantit-les-libertes-fondamentales-18-04-2014-1814411_506.php

    Et aussi:

    [Numerama] Des graines open-source pour jardiner librement

    Par Guillaume Champeau, le vendredi 18 avril 2014. Extrait:

    Aux Etats-Unis, des universitaires ont conçu l'Open Source Seed Initiative, une organisation qui vise à distribuer des graines libres d'utilisation et de reproduction, sur le modèle des licences Creative Commons.

    Lien vers l'article original: http://www.numerama.com/magazine/29144-des-graines-open-source-pour-jardiner-librement.html

    [Le Huffington Post] Quelles répercussions politiques pour la faille Heartbleed?

    Par Marc Thiriez, le jeudi 17 avril 2014. Extrait:

    La faille de sécurité Heartbleed liée à la technologie OpenSSL va-t-elle prendre une dimension politique? Considérée déjà comme une des plus importantes failles de sécurité de l'histoire (deux serveurs sur trois seraient concernés selon The Verge), Bloomberg révélait que la NSA, au courant depuis deux ans de l'existence de la faille de sécurité, aurait gardé l'information sous silence en utilisant Heartbleed pour collecter des informations sensibles. D'autres États, aux intentions plus agressives que les États-Unis, ont pu faire de même

    Lien vers l'article original: http://www.huffingtonpost.fr/marc-thiriez/quelles-repercussions-politiques-pour-la-faille-heartbleed-_b_5158431.html

    Et aussi:

    Voir aussi:

    [Le Monde.fr] Il pourrait changer la face de l'Europe: le traité transatlantique décodé

    Par Maxime Vaudano, le mardi 15 avril 2014. Extrait:

    Le traité TAFTA, négocié dans le secret par Bruxelles et Washington, a pour but de constituer un marché commun de 820 millions de consommateurs, qui représenterait la moitié du PIB mondial.

    Lien vers l'article original: http://www.lemonde.fr/les-decodeurs/article/2014/04/15/il-pourrait-changer-la-face-de-l-europe-le-traite-transatlantique-decode_4399476_4355770.html

    [infoDSI] Open Source: l’Etat joue le jeu

    Par Damien Clochard, le mardi 15 avril 2014. Extrait:

    La DISIC vient de publier la dernière version du SILL (Socle Interministériel de Logiciels Libres) émettant des recommandations sur l'usage des logiciels libres au sein des ministères. Force est de constater que depuis la circulaire Ayrault de 2012, le passage au logiciel libre s’est accéléré. Non seulement l’Etat adopte des solutions libres, mais il contribue à leur développement pour le bénéfice des communautés mais aussi des autres institutions : un cercle vertueux qui bénéficie aussi à l’écosystème des sociétés de service informatique.

    Lien vers l'article original: http://www.infodsi.com/articles/147820/open-source-etat-joue-jeu-damien-clochard-directeur-operations-dalibo.html

    [PC INpact] Œuvres orphelines, restrictions d’accès et œuvres libres: les réactions

    Par Marc Rees, le lundi 14 avril 2014. Extrait:

    Le Conseil supérieur de la propriété littéraire et artistique poursuit sa mission sur les œuvres orphelines. Et pour cause, d'ici la fin de l'année, la France devra transposer comme les autres pays membres une directive sur ce sujet. Au ministère de la Culture, le CSPLA a rédigé un questionnaire interne où il se demande s’il faut ou non prévoir des restrictions d'accès sur ces œuvres. Il soulève aussi la question des oeuvres libres. Next INpact a recueilli les réactions de l'Aful, l'April et SavoirCom1 sur ces deux thèmes.

    Lien vers l'article original: http://www.pcinpact.com/news/86925-%C5%93uvres-orphelines-restrictions-d-acces-et-%C5%93uvres-libres-reactions.htm

    [Numerama] Le CSA dresse la liste de ce qu'il veut contrôler sur Internet

    Par Guillaume Champeau, le lundi 14 avril 2014. Extrait:

    Dans son rapport annuel, le CSA dresse la liste des domaines d'expressions dans lesquels il entend pouvoir exercer un droit de regard et de censure sur Internet.

    Lien vers l'article original: http://www.numerama.com/magazine/29080-le-csa-dresse-la-liste-de-ce-qu-il-veut-controler-sur-internet.html

    Et aussi:

    Télécharger ce contenu au format Epub

    Lire les commentaires

    Catégories: Nouvelles du Libre

    Petit jeu en HTML5 et découverte de Crafty

    mar, 22/04/2014 - 10:56

    Rien de tel que de créer son propre jeu… à jouer dans le navigateur. Petite introduction au développement de jeux sur web avec le moteur Crafty.

    C'est un moteur de jeu pour HTML5 écrit en javascript. Il fonctionne par entités et propose un rendu par DOM ou Canvas. Dans ce tutoriel, on va utiliser un rendu par DOM, qui est apparemment plus rapide que Canvas (c'est ce que dit la doc !). Nous allons donc nous servir de Crafty pour créer un petit tableau de jeu généré aléatoirement, et y déplacer un personnage, tout en gérant les collisions et animations du personnage et son environnement.

    NdM : merci à etenil pour son journal.

    Sommaire Programmer des jeux vidéo avec Crafty

    J'ai commencé à apprendre la programmation pour développer mes propres jeux vidéos. Beaucoup d'eau a coulé sous les ponts depuis et je me retrouve à développer surtout du web et des systèmes de base de données. Mon but initial de faire des jeux vidéos sombrant dans l'oubli…

    J'ai donc choisi de renouveler mon intérêt pour le développement de jeux et de regarder du côté des technologies web. Leur promesse d'être utilisable sur tout support est séduisante et c'est aussi la seule manière de faire des jeux pour Firefox OS (mon téléphone).

    Tout d'abord, trouver quelques sprites; c'est quand même plus intéressant à voir que des blocs colorés ! Une bonne ressource est OpenGameArt.org. J'en ai fait une petite sélection et y ai ajouté une fleur animée.

    Vous pouvez récupérer le code du petit jeu, ça vous évitera d'être perdu.

    L'écran de chargement

    Le fichier HTML qui va nous servir de base est pratiquement nu.

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <script type="text/javascript" src="https://raw.githubusercontent.com/craftyjs/Crafty/release/dist/crafty.js"></script> <script type="text/javascript" src="game.js"></script> <style> body, html { margin: 0; padding: 0; overflow: hidden; } #game { margin: 100px auto 0; } </style> <title>Crafty game test</title> </head> <body> <div id="game"></div> </body> </html>

    Et voici la toute base de notre jeu, à mettre dans le fichier game.js.

    window.onload = function() { var game = document.getElementById('game'); randRange = function(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; } Crafty.init(320, 240, game); Crafty.sprite(16, "world.png", { grass1: [0,0], grass2: [1,0], grass3: [2,0], grass4: [3,0], flower: [0,1], bush1: [0,2], bush2: [1,2] }); Crafty.sprite(16, 18, "character.png", { player: [0,0] }); Crafty.scene("loading", function() { Crafty.load(["world.png", "character.png"], function() { Crafty.scene('main'); }); Crafty.background('#000'); Crafty.e("2D, DOM, Text") .attr({x: 140, y: 120}) .text('Loading...') .css({'text-align': 'center', 'color': '#FFF'}); }); Crafty.scene('loading'); }

    La première chose qu'on fait ici, c'est initialiser le moteur Crafty. Pour cela, on lance Crafty.init() en définissant la taille de la zone de jeu (320x240), ainsi que la zone de jeu elle-même (le div #game).

    On définit ensuite les sprites. Les sprites se gèrent très facilement dans Crafty; il suffit d'indiquer le fichier de sprites, puis l'index de chaque sprite dans l'objet de mapping. ici grass2 est situé à x=1 et y=0, c'est-à-dire 16px vers la droite, et collé au haut de l'image.

    Les sprites de personnages sont un peu différents car ceux-ci sont plus hauts que larges (16x18). Une fois définis, on pourra invoquer les sprites par leur petit nom directement, simplifiant ainsi les opérations. Notez que les sprites d'animation ne sont définis que par une seule image pour le moment, leur état neutre (voir player).

    Crafty utilise le concept de scène. Ici on a défini la scène de chargement, qui s'affiche jusqu'à ce que les objets nécessaires à la scène suivante soient chargés. Vous ne le verrez peut-être pas car c'est très court, mais le texte loading… devrait apparaitre brièvement sur un écran noir. La scène suivante main n'a pour l'instant pas été déclarée, conduisant à un écran noir.

    Il est temps de passer à la scène principale.

    Planter le décor

    La zone de jeu va être générée en grande partie aléatoirement. Le sol sera tapissé de carrés d'herbe aléatoires, quelques buissons et fleurs animées. Les bords de l'écran seront quant à eux délimités par des buissons. Enfin notre personnage sera au milieu la zone de jeu.

    On va définir empiriquement qu'il y a 1 chance sur 50 d'avoir une fleur sur un carré de sol, et 1 chance sur 25 de trouver un buisson aléatoire. Il sera aisé plus tard d'ajuster ces valeurs si besoin.

    Je vous livre la fonction de génération de monde :

    // Method to randomy generate the map function generateWorld() { // Generate the grass along the x-axis for (var i = 0; i < 20; i++) { // Generate the grass along the y-axis for (var j = 0; j < 15; j++) { grassType = randRange(1, 4); Crafty.e("2D, DOM, grass" + grassType) .attr({x: i * 16, y: j * 16}); // 1/50 chance of drawing a flower. if (i > 0 && i < 19 && j > 0 && j < 14 && randRange(0, 50) > 49) { var flower = Crafty.e("2D, DOM, SpriteAnimation, flower") .attr({x: i * 16, y: j * 16}) .reel("wind", 1000, 0, 1, 3) .animate("wind", 10) .bind("enterframe", function() { if (!this.isPlaying()) this.animate("wind", -1); }); } // 1/25 chance of drawing a bush. if (i > 0 && i < 19 && j > 0 && j < 14 && randRange(0, 25) > 24) { var bush = Crafty .e("2D, DOM, randbushes, bush"+randRange(1,2)) .attr({x: i * 16, y: j * 16}); } } } // Create the bushes along the x-axis which will form the boundaries for (var i = 0; i < 20; i++) { Crafty.e("2D, DOM, wall_top, bush"+randRange(1,2)) .attr({x: i * 16, y: 0, z: 2}); Crafty.e("2D, DOM, wall_bottom, bush"+randRange(1,2)) .attr({x: i * 16, y: 224, z: 2}); } // Create the bushes along the y-axis // We need to start one more and one less to not overlap the previous bushes for (var i = 1; i < 15; i++) { Crafty.e("2D, DOM, wall_left, bush" + randRange(1,2)) .attr({x: 0, y: i * 16, z: 2}); Crafty.e("2D, DOM, wall_right, bush" + randRange(1,2)) .attr({x: 304, y: i * 16, z: 2}); } }

    Passons à la déclaration de la scène principale.

    Crafty.scene("main", function() { generateWorld(); // Create our player entity with some premade components var player = Crafty.e("2D, DOM, player, controls") .attr({x: 152, y: 111, z: 1}) .reel("walk_left", 200, 6, 0, 2) .reel("walk_right", 200, 9, 0, 2) .reel("walk_up", 200, 3, 0, 2) .reel("walk_down", 200, 0, 0, 2); });

    Ici, on génère le monde aléatoirement, puis on place notre personnage principal en plein milieu de la zone de jeu. Les appels .reel() définissent les animations du personnage par rapport à l'arrangement des sprites. Les paramètres de .reel() sont le nom de l'animation, sa durée en ms, la position x du sprite de départ, la position y du sprite de départ, puis la longueur de l'animation en nombre de sprites (vers la droite).

    Pour l'instant le personnage est immobile, et les animations n'ont aucun effet. Nous allons remédier à cela.

    Premiers pas

    Crafty fournit deux contrôles de base. L'un permet d'aller à droite ou gauche et sauter, l'autre de se déplacer dans les quatre directions. Ce n'est pas très satisfaisant, nous allons définir nos propres contrôles qui permettront aussi des diagonales.

    Juste après la ligne generateWorld();, mettez le code suivant:

    Crafty.c('CustomControls', { __move: {left: false, right: false, up: false, down: false}, _speed: 3, CustomControls: function(speed) { if (speed) this._speed = speed; var move = this.__move; this.bind('EnterFrame', function() { // Move the player in a direction depending on the booleans // Only move the player in one direction at a time (up/down/left/right) if (move.right) this.x += this._speed; else if (move.left) this.x -= this._speed; else if (move.up) this.y -= this._speed; else if (move.down) this.y += this._speed; }); this.bind('KeyDown', function(e) { // Default movement booleans to false move.right = move.left = move.down = move.up = false; // If keys are down, set the direction if (e.keyCode === Crafty.keys.RIGHT_ARROW) move.right = true; if (e.keyCode === Crafty.keys.LEFT_ARROW) move.left = true; if (e.keyCode === Crafty.keys.UP_ARROW) move.up = true; if (e.keyCode === Crafty.keys.DOWN_ARROW) move.down = true; }); this.bind('KeyUp', function(e) { // If key is released, stop moving if (e.keyCode === Crafty.keys.RIGHT_ARROW) move.right = false; if (e.keyCode === Crafty.keys.LEFT_ARROW) move.left = false; if (e.keyCode === Crafty.keys.UP_ARROW) move.up = false; if (e.keyCode === Crafty.keys.DOWN_ARROW) move.down = false; }); return this; } });

    Voici notre code de contrôle. La logique est assez simple, à chaque appui sur un bouton, on regarde l'état des touches fléchées pour déterminer les directions du mouvement en une combinaison de gauche, droite, bas et haut. Une fois le mouvement défini dans __move, crafty déplacera l'entité de _speed pixels dans les directions données lors du rafraîchissement d'écran.

    On va maintenant modifier la déclaration du personnage pour le faire se déplacer, et animer son mouvement.

    var player = Crafty.e("2D, DOM, player, controls, CustomControls, SpriteAnimation") .attr({x: 160, y: 144, z: 1}) .CustomControls(1) .reel("walk_left", 200, 6, 0, 2) .reel("walk_right", 200, 9, 0, 2) .reel("walk_up", 200, 3, 0, 2) .reel("walk_down", 200, 0, 0, 2) .bind("EnterFrame", function(e) { if(this.__move.left) { if(!this.isPlaying("walk_left")) this.animate("walk_left", 10); } if(this.__move.right) { if(!this.isPlaying("walk_right")) this.animate("walk_right", 10); } if(this.__move.up) { if(!this.isPlaying("walk_up")) this.animate("walk_up", 10); } if(this.__move.down) { if(!this.isPlaying("walk_down")) this.animate("walk_down", 10); } }) .bind("KeyUp", function(e) { this.pauseAnimation(); this.resetAnimation(); });

    Notez la déclaration de CustomControls comme méthode controle, et la vitesse d'1px/image. Pour gérer les animations, on se greffe sur l'évènement EnterFrame, et on détermine l'animation à jouer par rapport à la direction de mouvement du personnage. Quand une touche est relachée, on arrête et rembobine l'animation pour revenir en position neutre (évènement KeyUp).

    À présent, le personnage devrait évoluer gaillardement sur votre écran, et passer allègrement à travers les buissons et hors de la zone de jeu…

    Collisions

    Il est temps de passer à la gestion des collisions. On va faire très simple et ne pas définir de hitbox. Crafty utilisera alors les sprites eux-mêmes comme hitbox. Pas terrible, mais simple.

    On va aussi ne s'occuper que des collisions entre le joueur et les buissons (quels qu'ils soient). Ça évitera au perso de sortir de la zone de jeu et le forcera à éviter les buissons dans l'herbe.

    Modifiez la déclaration du joueur comme suit :

    var player = Crafty.e("2D, DOM, player, controls, CustomControls, SpriteAnimation, Collision") .attr({x: 160, y: 144, z: 1}) .CustomControls(1) .reel("walk_left", 200, 6, 0, 2) .reel("walk_right", 200, 9, 0, 2) .reel("walk_up", 200, 3, 0, 2) .reel("walk_down", 200, 0, 0, 2) .bind("EnterFrame", function(e) { if(this.__move.left) { if(!this.isPlaying("walk_left")) this.animate("walk_left", 10); } if(this.__move.right) { if(!this.isPlaying("walk_right")) this.animate("walk_right", 10); } if(this.__move.up) { if(!this.isPlaying("walk_up")) this.animate("walk_up", 10); } if(this.__move.down) { if(!this.isPlaying("walk_down")) this.animate("walk_down", 10); } }) .bind("KeyUp", function(e) { this.pauseAnimation(); this.resetAnimation(); }) .collision() .onHit("wall_left", function() { this.x += this._speed; this.pauseAnimation(); this.resetAnimation(); }) .onHit("wall_right", function() { this.x -= this._speed; this.pauseAnimation(); this.resetAnimation(); }) .onHit("wall_bottom", function() { this.y -= this._speed; this.pauseAnimation(); this.resetAnimation(); }) .onHit("wall_top", function() { this.y += this._speed; this.pauseAnimation(); this.resetAnimation(); }) .onHit("randbushes", function() { if(this.__move.left) this.x += this._speed; if(this.__move.right) this.x -= this._speed; if(this.__move.up) this.y += this._speed; if(this.__move.down) this.y -= this._speed; this.pauseAnimation(); this.resetAnimation(); });

    Après avoir déclaré l'utilisation du module Collision, on l'initialise avec collision(). Ensuite il suffit de gérer l'évènement onHit sur les objets intéressants.

    Les évènements de collisions sont résolus après le mouvement, mais avant le rendu. C'est pour cela qu'on fait reculer le personnage d'un pas (enfin, de _speed) lors de la détection d'une collision. Du point de vue du joueur, le personnage restera parfaitement immobile.

    On pourrait bien entendu faire autre chose lors de la collision, comme lancer un combat, ou envoyer un bonus tout en laissant le personnage passer dans le buisson. Les possibilités sont infinies !

    Aller plus loin

    C'est donc une toute base de jeu, mais sans logique. On peut déjà améliorer le code sur beaucoup de points. Vous pourrez vous plonger dans la documentation de Crafty pour vous y atteler.

    On peut s'assurer que les buissons n'apparaissent pas sur des fleurs, et que le joueur n'apparaît pas sur des buissons.

    L'algorithme de génération du monde peut être largement amélioré pour grouper les types d'herbe et faire des zones herbues et d'autres moins. On pourra introduire d'autres types de sprites pour avoir un terrain un peu plus intéressant. Avec de gros sprites, on peut aussi introduire des éléments de décor comme des maisons, ou même des PNJ.

    Les hitbox des entités sont très maladroites. Il serait bien plus élégant de définir des hitbox sur les pieds du personnage et la base des buissons, afin de pouvoir passer derrière les éléments (il faudra aussi gérer l'axe Z des sprites pour le rendu !).

    En faisant des zones de sortie dans les buissons sur les rebords, on pourra lier d'autres tableaux, générés de façon procédurale eux aussi. Voire même générer plusieurs zones contigües à la fois et maintenir une structure de données pour que le jeu reste homogène.

    Et bien plus encore, autant que votre créativité permet !

    Télécharger ce contenu au format Epub

    Lire les commentaires

    Catégories: Nouvelles du Libre

    Grisbi : après le logiciel, le manuel en version 1.0

    mar, 22/04/2014 - 10:11

    Utilisateur du logiciel de comptabilité personnelle Grisbi depuis la version 0.3, j'ai un jour constaté que le logiciel avait tellement évolué que le manuel était devenu complètement obsolète ; je me suis donc attelé à sa remise à niveau, d'autant qu'il est écrit en Latex, que ça m'intéressait d'apprendre… D'où les versions 0.6, 0.8 et enfin celle-ci. Alors bonnes lectures !

    En plus de documenter le logiciel version 1.0 (voir la dépêche dédiée), c'est bien le moins (!), ce manuel de l'utilisateur apporte un certain nombre de nouveautés, détaillées en seconde partie.

    Nouveautés du manuel
    • un glossaire pour les termes techniques ;
    • un index pour une recherche plus rapide des fonctions et descriptions ;
    • un format html avec images, accessible par le menu Aide ;
    • la liste des nouveautés du logiciel ;
    • une liste de logiciels libres pour sa lecture ;
    • la réorganisation de certains chapitres pour plus de clarté ;
    • un grand nombre de précisions, en particulier à la demande des utilisateurs ;
    • un chapitre association présentant les principales procédures utilisées en comptabilité d'association ou de petite entreprise ;
    • tous les fichiers sous locale UTF-8 ;
    • et enfin quelques perles du style Album de la Comtesse, pour les aficionados (:-).

    J'ajoute que les utilisateurs disposeront dans quelque temps d'un format epub pour leurs liseuses : surveillez le dépôt sur Sourceforge !

    Télécharger ce contenu au format Epub

    Lire les commentaires

    Catégories: Nouvelles du Libre

    Logiciels pour survivre avec Docker

    mar, 22/04/2014 - 09:59

    Docker a déjà été présenté via un tutoriel pour manipuler les conteneurs et une présentation de la gestion des containers sur LinuxFR. Il s'agit d'un système de conteneurs qui étend ce que fait le système de cloisonnement Linux Containers LXC sous Linux. Cette dépêche présente un certain nombre de logiciels utiles pour compléter Docker.

    Gestion du réseau Pipework

    Pipework est un script de configuration réseau pour Docker/LXC. C'est un complément à Docker, lequel ne se charge pas directement de configurer le réseau (en tous cas pas suffisamment).

    Site officiel et doc

    Installation apt-get install arping bridge-utils git clone https://github.com/jpetazzo/pipework.git mv pipework/pipework /usr/local/bin/pipework Utilisation

    Créer un réseau privé entre deux conteneurs et l'hôte :

    pipework br1 conteneur1 192.168.1.1/24@192.168.1.254 pipework br1 conteneur2 192.168.1.2/24@192.168.1.254 ip addr add 192.168.1.254/24 dev br1 dnsmasq

    DNSMasq c'est un mini serveur qui vous évite d'installer des services plus lourds (comme Bind, ISC Dhcpd…). Il n'est pas spécifiquement lié à l'environnement Docker mais il peut être très utile pour se monter très simplement un service de noms et une distribution d'adresses.

    Configuration en deux minutes
    Documentation officielle

    Serveur PXE dans un container

    Un container pour booter en PXE des machines sous Debian.
    Les explications et le dockerfile.

    Gestion des containers Interface Web (DockerUI ou Shipyard)

    Docker peut aussi s'administrer avec une interface Web.
    C'est peut-être un gadget mais ça permet à ceux qui ne connaissent pas Docker de faire de l'administration basique (redémarrer un container, …).

    J'aime bien DockerUI qui a le mérite d'être simple.

    Ça s'installe directement dans un container :

    docker build -t crosbymichael/dockerui github.com/crosbymichael/dockerui docker run -d -p 9000:9000 -v /var/run/docker.sock:/docker.sock crosbymichael/dockerui -e /docker.sock

    Dans ce domaine, il y a aussi Shipyard qui semble plus complet, qui propose une API et qui fonctionne en client serveur (avec le shipyard-agent sur les containers).

    nsenter

    Problème habituel dans Docker : une fois qu'on lance un container en mode démon, on ne peut plus rentrer dedans.

    Pour résoudre ça, on va avoir besoin de nsenter fourni par le paquet util-linux > 2.23.
    Sous debian/ubuntu, c'est la version 2.20 donc il faut télécharger et compiler les sources :

    cd /tmp curl https://www.kernel.org/pub/linux/utils/util-linux/v2.24/util-linux-2.24.tar.gz | tar -zxf- cd util-linux-2.24 ./configure --without-ncurses make nsenter cp nsenter /usr/local/bin

    Et maintenant on se crée un script pour Docker (/usr/local/sbin/dkenter) :

    #!/bin/bash CNAME=$1 CPID=$(docker inspect --format '{{ .State.Pid }}' $CNAME) nsenter --target $CPID --mount --uts --ipc --net --pid

    Je lance un container en démon :

    docker run --name lamp1 -d lamp-maria supervisord -n

    Je ne peux plus m'attacher dessus alors j'utilise dkenter pour obtenir un shell.
    Quand j'en ressort, le container continue de tourner.

    dkenter lamp1 root@ff94c159642f# ... root@ff94c159642f# exit Boot2Docker

    Boot2Docker est une distribution Linux ultra-légère pour servir d'hôte Docker.
    On peut télécharger les images ISO ou suivre le manuel.

    Busybox

    Busybox est un système Linux ultra léger (2,5 Mo, qui dit mieux ?).
    Il existe en image Docker sur le dépôt officiel Docker

    Baseimage

    Baseimage c'est le contraire de busybox. Ça part du principe que l'image Ubuntu ou Debian fournie de base par Docker doit être complétée pour fournir d'autres services tels qu'un process init correct, un syslog, un cron, et un serveur SSH.

    Les explications
    Le dépôt git

    Créer son propre dépôt Docker

    Docker registry : un logiciel pour créer son propre dépôt Docker.
    Sur Github

    Télécharger ce contenu au format Epub

    Lire les commentaires

    Catégories: Nouvelles du Libre

    pkgsrc 2014Q1 est disponible

    lun, 21/04/2014 - 11:22

    Dans un message à des listes de diffusion pkgsrc et NetBSD, Alistair Crooks a annoncé la disponibilité de la branche pkgsrc-2014Q1 ! Pkgsrc est un framework de construction de logiciels tiers pour NetBSD ainsi que pour d'autres systèmes de type UNIX. Il permet donc à NetBSD et à d'autres systèmes d'exploitation de disposer de nombreux logiciels, sous forme source mais aussi sous forme binaire.

    Les développeurs pkgsrc fournissent une nouvelle version stable chaque trimestre. Comme son nom l'indique, pkgsrc 2014Q1 est donc la première sur les quatre de 2014, et est disponible depuis le 4 avril dernier. Anecdote amusante, il s'agit de la 42e version de pkgsrc.

    Plus de détails sur cette version en particulier en deuxième partie de dépêche.

    À propos de pkgsrc

    Pkgsrc est historiquement le système de paquets pour NetBSD, issu d'un fork en 1997 de la collection de ports FreeBSD. Avec le temps, pkgsrc a évolué, dans le même esprit de portabilité que NetBSD il est utilisable sur plusieurs systèmes d'exploitation. Ils peuvent alors gérer leur propre collection de paquets sources et binaires. Ainsi, pkgsrc prend en charge une vingtaine de plateformes, dont voici un extrait :

    Cygwin ;
    Darwin/Mac OS X ;
    DragonFlyBSD ;
    FreeBSD ;
    GNU/kFreeBSD ;
    Interix/SFU/SUA ;
    Linux ;
    Minix3 ;
    NetBSD ;
    OpenBSD ;
    Solaris/illumos.

    On notera que même si des architectures sont prises en charge, cela ne signifie pas pour autant que le projet met à disposition des paquets binaires pour celles-ci, ou que les systèmes d'exploitation concernés fournissent des paquets binaires officiels. À contrario, même si dports a pris le pas sur pkgsrc pour DragonFlyBSD, il est toujours possible de l'utiliser.

    Quelques chiffres

    En terme de paquets, pkgsrc-2014Q1 c'est :

    • 14255 paquets au total pour NetBSD-current/amd64 ;
    • 13841 paquets binaires compilés avec clang pour NetBSD-current/x86_64 ;
    • 12093 paquets binaires compilés avec gcc pour SmartOS/i386 ;
    • 12046 paquets binaires compilés avec gcc pour SmartOS/x86_64 ;
    • 11445 paquets binaires compilés avec gcc pour FreeBSD 9/x86_64 ;
    • 11233 paquets binaires compilés avec clang pour FreeBSD 10/x86_64.

    Ce trimestre, en terme de modifications, c'est :

    • 222 paquets ajoutés ;
    • 33 paquets retirés ;
    • 1681 paquets mis à jour ;
    • et, chose étrange, un paquet a été rétrogradé de version : math/R-zoo.
    Les changements

    Si on s'en tient aux chiffres, on peut penser que ce trimestre est un peu plus calme que le précédent, avec moins d'ajouts et moins de retraits. Il n'en est cependant rien, car il y a au moins 300 nouvelles mises à jour depuis 2013Q4. De plus, Alistair Crooks souligne l'arrivée de Python 3.3, en tant que « citoyen de première classe », ainsi que l'ajout d'une nouvelle plateforme compatible, portant son total à 22 : SCO OpenServer. Parmi les nouveaux arrivants, on peut aussi souhaiter la bienvenue à git-svn, plein de modules Perl et Python, ainsi qu'à Ruby 2.1.1. Du côté des départs, ce sont entre autres cvsup, SmartEiffel, ezm3 et snobol qui tirent leur révérence.

    Contribuez !

    Si aucun appel à contribution en particulier n'a été fait pour pkgsrc, sachez que vous pouvez toujours vous essayer à l'empaquetage pour pkgsrc grâce au projet pkgsrc-wip, qui avait été abordé lors d'une précédente dépêche. Néanmoins, un appel à contribution à été fait, sur Twitter par iMil pour pkgin, le gestionnaire de paquets binaires gérant les dépendances.

    Télécharger ce contenu au format Epub

    Lire les commentaires

    Catégories: Nouvelles du Libre

    Redmine Git Hosting 0.7

    lun, 21/04/2014 - 11:16

    Après un peu plus d'un an de travail, JBox Web est fière d'annoncer la sortie de la version 0.7 du plugin Redmine Git Hosting. Pour rappel, ce plugin pour Redmine, le fameux gestionnaire de projet codé avec Ruby on Rails, permet d'améliorer la gestion des dépôts Git en s'interfaçant avec Gitolite. Depuis la version 0.6 de nombreuses fonctionnalités ont été rajoutées et un gros travail de refonte du code et d'optimisation a été réalisé.

    Vous trouverez toute la documentation nécessaire dans le Wiki du projet Github.

    Mise à jour : depuis la rédaction de la dépêche, le plugin a reçu deux mises à jour mineures. La dernière version à utiliser est donc la 0.7.2.

    Changements de la version 0.7 :
    • retrait de la gestion de Redmine 1.x ;
    • retrait de la gestion de Rails 2.x ;
    • retrait de la gestion de Ruby 1.8.x ;
    • remplacement des Rails Observers par des Active Record Callbacks ;
    • remplacement de l'interface maison Gitolite par une gem Gitolite ;
    • beaucoup de nettoyage de code ;
    • beaucoup de corrections de bugs ;
    • ajout des listes de diffusion Git ;
    • ajout des jobs asynchrones Sidekiq ;
    • ajout du choix de la branche par défautselection ;
    • ajout de l'initialisation automatique de dépôt ;
    • ajout du téléchargement de l'historique Git ;
    • ajout de la prévisualisation des fichiers README ;
    • ajout de la gestion des clés config du dépôt ;
    • ajout des statistiques améliorées sur le dépôt ;
    • ajout de la synchronisation des problèmes Github ;
    • ajout du parcours des dépôts archivés ;
    • ajout de la CSS Bootstrap ;
    • ajout d'icônes avec une meilleure police.
    Changements de la version 0.7.1
    • suppression de la dépendance ENV['HOME'] ;
    • suppression de la dépendance sur le fichier Git config ;
    • suppression de la dépendance sur le fichier SSH config ;
    • diverses corrections de bugs ;
    • utilisation de la dernière version de la gem jbox-gitolite (1.1.11).
    Changements de la version 0.7.2
    • correction d'une erreur en cas de migration depuis une version 0.6.2 ;
    • correction d'un plantage quand une resynchronisation de clés SSH a lieu avec Sidekiq.
    Télécharger ce contenu au format Epub

    Lire les commentaires

    Catégories: Nouvelles du Libre

    Lots de correctifs pour NetBSD

    lun, 21/04/2014 - 08:41

    La fondation NetBSD a annoncé le 25 janvier dernier une nouvelle fournée de versions de leur système d'exploitation éponyme. Point de nouvelle fonctionnalité ici, il ne s'agit que de correctifs de bugs, et surtout de sécurité. Le nombre de nouvelles versions mineures peut sembler important, mais il n'est que l'application du plan de version tel qu'il est défini par la fondation. Ces versions sont les suivantes : 6.1.3, 6.0.4, 5.2.2 et 5.1.4.

    De plus, le 12 avril dernier, deux nouvelles versions de la branche 6 ont été rendues disponibles, afin de corriger la désormais connue faille Heartbleed : 6.1.4 et 6.0.5. La branche 5 n'est pas affectée par cette faille.

    Une partie de ces corrections est abordée en deuxième partie de dépêche.

    Pour toutes les versions

    Toutes les versions publiées corrigent le CVE-2014-0591 : il s'agit d'une faille dans Bind située au niveau de la gestion des zones signées avec NSEC3, qui peut aboutir à un plantage si des requêtes forgées sont reçues.

    Autre faille de sécurité corrigée pour tout le monde, et référencée sous l'indice CVE-2013-6462 : il s'agit d'un buffer overflow dans X.org, plus exactement dans libXfont. Celui-ci pouvait provoquer un plantage, voire une exécution de code. Xorg bénéficie d'une deuxième correction, corrigeant le CVE-2013-4396, qui pouvait entraîner un plantage, mais aussi une grande consommation mémoire.

    On repart du côté des services réseau : il s'agit cette fois d'ajouter des options par défaut au fichier de configuration du serveur NTP, afin d'éviter les attaques DoS d'une part, et d'amplifier d'autres attaques d'autre part.

    Parmi les autres correctifs communs, sont concernés Xen PR 46313, IPv6, la (non-)création d'image ISO pour l'architecture ews4800mips.

    Correctifs spécifiques aux branches 6.0 et 6.1

    Horreur ! Malheur ! Un bug dans Qemu l'empêche de faire démarrer NetBSD. Le problème est bien entendu remonté, et porte le numéro 897771. Bien qu'il ait été corrigé, il est possible que certaines personnes utilisent une version affectée par le bug. Une correction a donc été faite du côté du noyau NetBSD (port-xen/46313), qui consiste à utiliser le mode PCI 1 quand le système tourne sous Qemu.

    Autre composant corrigé dans la branche 6, l'installeur, nommé sysinst. Celui-ci doit, en théorie, se comporter comme fdisk lorsqu'il s'agit de l'alignement des partitions. Sauf que devinez quoi, dans le cas d'un disque de moins de 128 Go, l'offset du MBR était quand même positionné à 2048 quand on le mettait à 0. Les détails sont dans le PR 48304.

    Un deuxième problème Xen touchait aussi les branches 6, provoquant un kernel panic du dom0, ou un plantage de l'hyperviseur dans le cas de création de certains domUs. Pour rencontrer le bug, il fallait que le pilote frontend du domU ne fournisse pas à xenstore d'entrée nommée "protocol".

    Si vous utilisez NetBSD sur une machine sparc64, vous avez peut-être eu du mal à compiler gtk+ en version 3.10.6. Rassurez-vous, c'est du passé, des corrections ont été faites dans GCC, qui générait un mauvais code assembleur.

    Quelques autres corrections intéressantes touchant par exemple TLS (PR 48324), un plantage noyau avec tcpdrop (PR 48098), un problème au niveau des sockets (PR 47591), et une erreur de « couper-coller » dans fsck_ffs.

    Branche 5

    On notera l'absence de correctif spécifique aux versions 5.2 et 5.1 : en effet, les problèmes touchant ces versions touchaient aussi la branche 6.

    Télécharger ce contenu au format Epub

    Lire les commentaires

    Catégories: Nouvelles du Libre

    Sortie d’Ubuntu 14.04 LTS

    dim, 20/04/2014 - 19:01

    Sortie le 17 avril 2014, Ubuntu 14.04 est la vingtième version d’Ubuntu et la cinquième version LTS (pour Long Term Support, c’est‐à‐dire maintien à long terme). Son nom de code est Trusty Tahr, soit le caprin « tahr sûr » en bon français.

    Pour rappel, Ubuntu est une distribution GNU/Linux basée sur Debian. Elle est principalement destinée à être utilisée sur des ordinateurs de bureau, des portables ou des mobiles. Elle se veut simple d’accès pour les utilisateurs n’ayant pas des connaissances poussées en informatique.

    En plus de la distribution mère, Ubuntu, il existe plusieurs variantes officielles fournies avec des choix logiciels différents, afin de couvrir un besoin (Ubuntu Server, Edubuntu…) ou de fournir un environnement de bureau en particulier (Kubuntu, Xubuntu…). Cette dépêche présente les nouveautés pour les principales d’entre elles.

    Sommaire Une version LTS

    Une version ordinaire d'Ubuntu n'est maintenue que pendant 9 mois, ce qui la déconseille de fait aux utilisateurs peu avertis ainsi qu'aux entreprises qui ne souhaitent pas mettre à jour leurs machines aussi régulièrement.

    Tous les deux ans, une version dite LTS sort et offre, quant à elle, un maintien de 5 ans. Le maintien concerne à la fois la correction des bogues fonctionnels et de sécurité.

    Le gestionnaire de mises à jour permet de passer directement d'une LTS à la suivante sans passer par les versions intermédiaires. Notez cependant que la migration depuis Ubuntu 12.04 LTS ne sera proposée aux utilisateurs qu'à partir de fin juillet, quand la révision 14.04.1 sera sortie. En attendant, les impatients peuvent migrer via la commande update-manager -d.

    Canonical emploie une équipe spécifique pour maintenir tous les paquets du dépôt main. Le contenu des autres dépôts est maintenu du mieux possible par Canonical et la communauté.

    Certaines des distributions officielles dérivées d'Ubuntu disposent, elles aussi, d'un support à long terme et bénéficient, de ce fait, du label LTS. C'est notamment le cas d'Edubuntu, de Kubuntu (dont le support sera effectué pendant 5 ans par la société Blue Systems) ainsi que de Xubuntu, Lubuntu, Ubuntu GNOME et Ubuntu Studio, qui bénéficieront d'un support communautaire de 3 ans.

    Les principales nouveautés

    Alors que la précédente version utilisait Linux 3.11, Trusty Tahr dispose du noyau 3.13 sorti en janvier dernier. La 14.04 profite également de la sortie récente de APT 1.0.0.0b (voir aussi ce journal), qui est d'ores et déjà dans les dépôts. Toutes les opérations courantes de manipulation des paquets pourront désormais être effectuées avec la seule commande apt, bien que apt-get et apt-cache soient, pour l’instant, toujours disponibles par défaut pour des raisons de compatibilité. Toujours du côté technique de la force, on trouvera GCC 4.8.2, Python 3.4, Xorg 15.0.1 et Mesa 10.1.

    Ubuntu

    L’interface de USB Creator a été peaufinée pour régler quelques bugs. Pour rappel, il permet de mettre une image disque d’Ubuntu sur clé USB et de la rendre amorçable.

    Unity, l'interface utilisateur pour GNOME 3 développée par Ubuntu, a reçu de nombreuses améliorations détaillées dans cet article d'Ubuntuser.com. En effet, après plusieurs années de travail, le nouveau décorateur de fenêtre pour Unity est enfin disponible. Ce dernier permet d'utiliser un menu local (intégré dans la barre de titre) à la place du menu global (intégré dans la barre globale), un redimensionnement en temps réel des fenêtres et l'introduction de véritable coins arrondis dans celles-ci, ces derniers ayant jusqu'ici un léger effet pixelisé.

    Par ailleurs, il est maintenant possible de faire des recherches dans le mode exposé, ce qui peut-être pratique lorsqu'on cherche du contenu précis parmi de nombreuses fenêtres.

    On notera également que les développeurs ont fait des efforts pour remplacer les menus propres aux applications GNOME, qui s’intègrent très bien dans GNOME 3 classique mais sont plus gênantes dans Unity, par des menus déroulants plus traditionnels qui s'afficheront dans le menu global ou le menu intégré localement (comme c'est déjà le cas pour les autres logiciels).

    L'écran de verrouillage est maintenant directement géré par LightDM, ce qui améliore la sécurité de l'ensemble, la rapidité du processus de verrouillage et de déverrouillage et permet une meilleure intégration visuelle du-dit écran dans l'environnement de bureau.

    Enfin, les possesseurs d'écran très haute définition seront heureux d'apprendre que ces derniers sont désormais totalement pris en charge.

    LibreOffice, la suite bureautique libre fournie par défaut avec Ubuntu, a elle aussi été mise à jour. La nouvelle version 4.2.3 apporte beaucoup de corrections et de nouvelles fonctionnalités, présentées dans une précédente dépêche. Parmi les nouveautés visibles du premier coup d'œil, on notera l'introduction d'un nouveau centre de démarrage et l'arrivée d'un nouveau jeu d'icônes baptisé Sifr.

    Au final, cette nouvelle mouture apporte des évolutions appréciables mais relativement peu nombreuses. LTS oblige, une bonne partie du temps de développement a consisté à traquer puis corriger divers bugs au travers de l'interface, ceci afin de simplifier la maintenance de l'ensemble pour les 5 ans à venir.

    Kubuntu

    C’est le tout frais KDE 4.13 qui est présent dans cette version de Kubuntu.

    Ça faisait plusieurs versions que Rekonq était devenu le navigateur web par défaut. C’est désormais Firefox qui remplira ce rôle.

    Un équivalent Kubuntu du gestionnaire de pilotes matériels présent depuis quelques années dans Ubuntu a été introduit en remplacement de Jockey-KDE. Il s'agit d'un KCM (module de l’application « Configuration du système »), ce qui permet donc une intégration plus naturelle dans l'environnement tout en partageant d'avantage de code avec Ubuntu.

    Un nouvel outil pour gérer les pavés tactiles (touchpads) a été introduit. Il propose de nombreuses options, dont la désactivation du pavé tactile si un périphérique de pointage est branché ou pendant la frappe (afin d’éviter un clic accidentel).

    Un nouveau plasmoïde pour la gestion du réseau débarque. Il remplace complètement le précédent qui commençait à être vieillissant. Écrit en QML, il est plus compact et l’interface a été amélioré grâce aux retours utilisateurs. Vous pouvez trouver plus d’informations dans cet article chez grulja ou ou celui chez lamarque-lvs.

    KDE Connect est un tout nouveau logiciel absolument génial qui facilite les interactions entre KDE et votre appareil Android. Partage de fichier d’Android à l’ordinateur via le bouton Partager, contrôler les lecteurs multimédias de votre ordinateur depuis votre téléphone, synchronisation du presse-papiers, et d’autres petites choses sympathiques.

    Un nouvel outil a été ajouté pour pouvoir envoyer un rapport en un clic après un plantage.

    Pour le reste, on notera l'arrivée de nouvelles notifications systèmes, du SDK KDE, l'amélioration des paramètres de langue, l'introduction de KDE Telepathy et bien d'autres choses encore.

    Xubuntu

    Cette nouvelle version de Xubuntu apporte plusieurs nouveautés, dont beaucoup de changements au niveau de l'interface graphique. Le menu standard de XFCE 4 est ainsi remplacé par Whisker Menu tandis que MenuLibre remplace Alacarte comme éditeur de menu par défaut.

    Comme pour Ubuntu, l'ancien écran de verrouillage a été retiré au profit de Light Locker, l'écran de verrouillage fourni par LightDM. On notera également l'arrivée d'un nouveau fond d'écran par défaut et l'ajout dans les dépôts d'un paquet contenant les papiers peints issus d'un concours communautaire.

    Parmi les nombreux logiciels présents dans les dépôts qui ont été mis à jour, plusieurs sont fournis par Xubuntu à l'installation. La 14.04 vient ainsi, entre autres, avec gmusicbrowser 1.11.1 et Parole 0.6. gThumb n'est, en revanche, plus présent à l'installation, faisant désormais de Ristretto le seul logiciel de visionnage de photos présent par défaut.

    Lubuntu

    Cette version de Lubuntu apporte peu de changements, la principale nouveauté étant que ce système d'exploitation est, pour la première fois, maintenu à long terme.

    Un soin tout particulier semble néanmoins avoir été porté au rafraîchissement de l'interface, avec l'arrivée d'un nouveau thème, d'un nouvel ensemble d'icônes et d'une nouvelle interface de configuration pour LXSession. Par ailleurs, PCMan File Manager, le gestionnaire de fichier de LXDE, a bien été mis à jour et c'est la toute dernière version, la 1.2.0, qui est incluse par défaut.

    Ubuntu GNOME

    Comme pour Lubuntu, Ubuntu GNOME 14.04 est la première version de cette distribution à être maintenue à long terme.

    Les adeptes de cette déclinaison d'Ubuntu seront heureux d'apprendre que la majorité des composants de GNOME 3.10 sont désormais intégrés au système. De plus, les utilisateurs avancés désireux d'utiliser GNOME 3.12 pourront, si ils le souhaitent, télécharger les logiciels manquants depuis un PPA dédié. Par ailleurs, GNOME Classic session, le mode de GNOME 3 permettant de retrouver une apparence similaire à celle qu'avaient les anciennes versions de cet environnement de bureau, fait son arrivée dans Ubuntu GNOME à cette occasion.

    Edubuntu

    Cette variante dédiée au monde de l'éducation hérite de tous le travail qui a été fait sur le bureau Ubuntu standard. Une nouvelle version majeure 5.5 de LTSP fait son entrée. Celle-ci se veut plus rapide, plus économe en bande passante et plus fiable. Toujours dans le même domaine, on remarquera le passage de l'outil d'administration de labo informatique Epoptes en version 0.5.7 (cela faisait presque 2 ans qu'aucune nouvelle version n'était sortie).

    Ubuntu Server

    Ubuntu 14.04 apporte aussi son lot de belles nouveautés pour les serveurs, en particulier en ce qui concerne la grande mode du moment : les conteneurs.

    Conteneurs

    Cette nouvelle mouture d'Ubuntu voit débarquer LXC en version 1.0, soit sa première version décrétée « stable ». On notera qu'il permet maintenant de faire tourner un conteneur sans aucun privilège (le root du conteneur ne doit plus forcément correspondre au root de l'hôte).

    Toujours sur le même sujet, Docker fait une entrée remarquée dans les dépôts.

    Pour rappel, LXC est un ensemble d'outils relativement bas niveau qui permettent de gérer tous les aspects de la vie d'un conteneur, tandis que Docker vient au dessus pour fournir une interface simple ainsi qu'une série de fonctionnalités intéressantes comme le packaging, le versionnement et d'autres gourmandises dont les barbus raffolent.

    Pour résumer, il n'y a maintenant plus qu'un apt install docker.io entre une installation de base et le monde merveilleux des conteneurs !

    Le reste

    Le serveur Web nginx a intégré le dépôt main, ce qui signifie qu'il sera maintenu officiellement par Canonical pendant toute la durée de cette LTS.

    Du côté des autres avancées notables, on citera par exemple Xen 4.4, Puppet 3 et OpenStack 2014.1.

    Ubuntu Touch

    Énormément de travail a été fait sur cette version, apparue pour la première fois il y a 6 mois. On parle ici de Unity 8/Mir et de tout l'écosystème associé.

    Pour rappel, les deux premiers « Ubuntu-phones » commerciaux sont attendus avant la fin de l'année (l'un par Meizu, l'autre par BQ). Ceux-ci embarqueront très probablement cette version 14.04, agrémentée des diverses mises à jour fonctionnelles qui vont continuer d'y être poussées dans les prochains mois.

    Le support du Galaxy Nexus et du Nexus 7 version 2012 a été abandonné pour se concentrer sur du matériel plus récent et donc plus proche de ce qui sera proposé dans le commerce prochainement. Le Nexus 7 version 2013 est maintenant pris en charge officiellement.

    La première priorité était d'implémenter un mode « tablette » à l'interface. Celui-ci permet par exemple, en mode paysage, d'afficher simultanément deux applications : une en mode téléphone et une en mode tablette.

    Beaucoup de mises au point, d'optimisations et de fonctionnalités importantes ont été ajoutées (service pour les notifications Push, gestion des téléphones double SIM, des doubles appels, de la mise en attente, système d'alarme, synchronisation du calendrier et des contacts, notification lorsqu'une mise à jour est disponible…).

    Beaucoup d'autres choses sont dans les tuyaux et arriveront prochainement via les mises à jour. On citera par exemple la prise en charge des MMS.

    Nouveau changeur d'applications, testé et approuvé par votre serviteur :


    Comme auparavant, faire glisser un doigt du bord droit de l'écran vers la gauche permet de passer à l'application suivante (l'ensemble des applications lancées formant une pile). Cette nouvelle vue « globale » se déclenche si le mouvement du doigt se prolonge après la moitié de l'écran.

    Sous le capot, on notera principalement le passage à une base Android 4.4 pour ce qui concerne le noyau et les pilotes des modèles actuellement pris en charge.

    Alors qu'on pouvait qualifier la version 13.10 du téléphone d'ébauche, force est de constater que les choses ont bien évoluées. Les téléphones qui sortiront dans le commerce ne profiteront certes pas d'un OS aussi mature qu'un Android, mais le résultat devrait rester honorable.

    Et dans 6 mois ?

    Le nom de code de la version 14.10 n'a certes pas encore été annoncé, mais on voit déjà se dessiner les grands travaux qui auront lieu.

    Convergence, convergence et convergence

    Tous les efforts de Canonical et d'une partie significative de la communauté sont actuellement concentrés sur la création d'un environnement convergent complet.

    Pour faire court, une interface est dite « convergente » lorsqu'elle est utilisable sur toute forme d'interfaces. Mieux qu'un long discours, voici une vidéo montrant une application utilisant le SDK Ubuntu fonctionner sur un téléphone, une tablette et un PC.

    Concrètement, cela consiste à faire évoluer Unity 8 (l'interface utilisée actuellement sur téléphones et tablettes) pour qu'il puisse remplacer Unity 7, soit l'interface actuelle du bureau par défaut d'Ubuntu. Le tout sans faire régresser l'expérience utilisateur actuelle.

    Les plus aventureux d'entre vous pourront d'ailleurs tester Mir/Unity 8 sur leur Ubuntu 14.04, en sachant que celui-ci ne tournera qu'en mode « tablette » dans l'immédiat.

    Il y a objectivement peu de chance que ce travail titanesque soit achevé d'ici la 14.10. Cependant, il est probable que quelques applications du cœur d'Ubuntu Touch commencent à débarquer sur le bureau. Le gestionnaire de fichier et le panneau des paramètres système sont par exemple pressentis, en remplacement de Nautilus et du fork actuel de Gnome Control Center.

    De la polémique en perspective

    Nous verrons peut-être le début du remplacement d'Upstart par systemd !

    Télécharger ce contenu au format Epub

    Lire les commentaires

    Catégories: Nouvelles du Libre

    Radare2 lance son Radare Summer of Code

    sam, 19/04/2014 - 08:23

    Radare2 a tenté d'être accepté dans un Google Summer of Code, mais n'a pas été retenu. Au lieu de se lamenter sur son sort, le projet a décidé de lancer son propre Radare Summer of Code !
    Pour mémoire, radare2 est un framework d'analyse de binaires déjà évoqué sur Linuxfr.

     

    N'étant pas un gros projet comme Rails, les ambitions sont moindres et les règles différentes :

    • moins de budget ;
    • les mentors ne sont pas payés ;
    • l'intégralité des dons récoltés ira aux participants ;
    • il n'y a pas besoin d'être étudiant pour participer ;
    • les participants repartiront avec un t-shirt des des autocollants.
    Radare2, c'est quoi ?

    Pour rappel, radare2, c'est un cadriciel complet pour analyser des binaires :

    • multi-architectures : GNU/Linux, Android, *BSD, OSX, iPhoneOS, Windows{32,64} et Solaris ;
    • multi-plateformes : 8051, x86{16,32,64}, dalvik, avr, arc{4,compact}, arm, aarch64, c55x+, java, powerpc, sparc, mips, bf, pe{32,64}, te, [fat]mach0{32,64}, elf{32,64}, bios/uefi, dex and java classes ;
    • scriptable en : Vala, Go, Python, Guile, Ruby, Perl, Lua, Java, JavaScript, sh…
    • un éditeur hexadécimal complet ;
    • un (dés)assembleur (récursif !), avec coloration syntaxique ;
    • un débogueur natif, mais il est possible d'utiliser GDB en backend, voir même débogueur brainfuck !
    • la possibilité d'afficher des données sous de multiples formats: int, float, désassemblé, timestamps…
    • la possibilité de faire des recherches par patterns, checksums…
    • un support des disques, processus, fichiers et flux ;
    • de la comparaison de binaires (binary diffing), que ce soit sous forme traditionnelle, ou sous forme de graphes ;
    • analyse de code, au niveau des opcodes, des blocks, ou encore des fonctions ;
    • une machine virtuelle, permettant d'émuler du code ;
    • une interface web permettant de travailler de manière collaborative.
    Calendrier :
    • 22 avril - ouverture des inscriptions ;
    • 3 mai - fermeture des inscriptions ;
    • 8 mai - annonce des candidats/tâches sélectionnées ;
    • 17 juin - début de la période de code ;
    • 16 septembre - fin de la période de code ;
    • 27 septembre - le code produit doit être fusionné dans la branche principale.
    Organisation du projet

    La majorité du développement se déroule sur github, qui sert également de bugtracker. Pour la communication, les pads et IRC sont privilégiés à la liste de discussion. Le projet utilise une suite de tests unitaires, une instance Jenkins ainsi que Coverity , pour éviter les régressions.

    Tâches

    Bien qu'étant un projet orienté bas-niveau, il y en a pour tout les goûts :

    • améliorer/refactorer l'interface web ;
    • ajouter un support des templates à la 010Editor ;
    • continuer d'intégrer sdb dans radare2 ;
    • améliorer le compilateur de shellcodes ;
    • terminer de concevoir/implémenter l'émulateur de code ;
    • améliorer la compatibilité avec les outils Windows (WinDBG/PDB) ;
    • ajouter le support de nouvelles architectures ;
    • mettre à jour l'interface graphique.
    Conclusion

    Le projet recherche donc des dons ainsi que des curieux pour participer :).

    Télécharger ce contenu au format Epub

    Lire les commentaires

    Catégories: Nouvelles du Libre

    C : Science et éducation : EZ-Draw 1.2 est sorti

    sam, 19/04/2014 - 07:52

    Pour qui veut apprendre à réaliser une interface graphique, il y a un très grand choix de langages et de bibliothèques graphiques. Dans le cas particulier du langage C (ou C++), les bibliothèques graphiques communément utilisées (GTK+, Qt, etc.) sont très complètes, mais nécessitent un important effort d’apprentissage ; pour tout dire, elles ne sont clairement pas adaptées pour le débutant ou l’autodidacte. C’est pour cette raison que je développe EZ-Draw depuis maintenant six ans, et j’ai le plaisir de vous annoncer la sortie de la nouvelle version 1.2.

    EZ-Draw (Easy Draw) est une petite boîte à outil graphique pour le langage C, fonctionnant à la fois sous GNU/Linux, Mac OS X et Windows (toutes versions).

    EZ-Draw est conçu pour l’apprentissage de la programmation événementielle et des interfaces graphiques. Il permet de créer de façon très simple des fenêtres, y dessiner, réagir à la souris et au clavier, faire des animations.

    Au menu des nouveautés :

    • lecture et affichage des images aux formats PNG, JPEG, GIF et BMP ;
    • nouvelle documentation récrite avec Sphinx ;
    • traduction de tout le projet en anglais, et documentation bilingue ;
    • nouveaux jeux : Doodle in London, 2048 / 2584, Bubblet.

    Le logiciel est sous licence LGPL ; il est utilisé en particulier dans la Licence d’informatique de l’Université d’Aix‐Marseille, dans des projets d’algorithmique ou des projets de jeux en 2D (souvent inspirés des jeux sur smartphones).

    Télécharger ce contenu au format Epub

    Lire les commentaires

    Catégories: Nouvelles du Libre

    Signing party au salon Solutions Linux le 20 mai 2014

    jeu, 17/04/2014 - 10:45

    En ces temps troublés, il est important de sécuriser nos échanges d'information — en chiffrant — ainsi que la distribution de logiciels — en signant les publications.

    À cette fin, le salon Solutions Linux, Libres et Open Source sera l'occasion d'une signing party PGP, le 20 mai 2014 à 18h près du stand Debian France. Cette signing party est ouverte à tous les visiteurs et exposants du salon.

    Pour faciliter les échanges d'empreintes de clefs en cas d'affluence, il est possible que nous utilisions une liste officielle de participants selon le protocole de Zimmermann-Sassaman. Pour préparer cela, il est demandé aux participants de me contacter en m'envoyant leur clef publique. Selon la méthode de signing party retenue, je publierai ultérieurement des instructions plus précises.

    Télécharger ce contenu au format Epub

    Lire les commentaires

    Catégories: Nouvelles du Libre

    GNOME 3.12 : sans domicile

    jeu, 17/04/2014 - 06:54

    La fondation GNOME a publié sa nouvelle mouture. Au menu, autant de remaniements que de stabilisations. Le projet n’a jamais fait preuve d’autant de vitalité, et pourtant a rarement été aussi inaccessible.

    Totem et GEdit ont fait leur révolution. La recherche et le menu système du shell s’étoffent, la prise en charge de Wayland continue, GNOME 3 progresse significativement avec cette version, encore faut‐il réussir à l’installer !

    Sommaire

    Note d’Étienne BERSAC : à cause de soucis de santé, cette dépêche arrive très tard. Merci à Thomas DEBESSE d’avoir rédigé sous ma dictée la majeure partie de la dépêche !

    Nouveaux widgets pour nouvelle ergonomie

    Un nouveau widget est disponible dans GTK+ : le menu « Popover » (ou fenêtre en surimpression). Il s’agit d’une boîte de dialogue avec le comportement d’un menu et la généricité d’une boîte de dialogue. Ce widget est issu du monde mobile.

    Une des grandes forces des popovers, c’est d’être plus facile à utiliser que des composants de liste, d’être un conteneur permettant d’embarquer tout type de widget, de montrer à quel composant graphique le popover fait référence (puisqu'il pointe vers lui), de moins casser la concentration d’une boîte de dialogue… Il ne remplacera pas tout, mais une bonne partie des interactions pourrait se faire via des popovers dans le futur.

    À l'avenir (GNOME 3.14, selon Allan Day), GTK+ pourra convertir automatiquement les boutons-menu de manière à utiliser les popovers.

    Menu global allégé

    Le menu global d’application (dit AppMenu ou GMenu), celui qui apparaît en haut à gauche sur le tableau de bord, juste à côté du bouton "Activités", a été allégé dans beaucoup d’applications. Suite à des retours nombreux et des débats interminables, le Guide d’interface homme-machine (HIG) GNOME 3 a tranché pour une normalisation du menu application. Désormais, il sera réduit au minimum : aide, à propos, quitter, nouvelle fenêtre, préférences, etc. Quelques applications avaient abusé de ce menu, notamment Empathy, montrant une ambiguïté sur le but de ce menu.

    Les options de type « vue en liste / grille », « import / export », etc. seront contextualisées (elles seront affichées dans le menu de la fenêtre). Beaucoup d’applications du cœur de GNOME ont remanié leur menu d’application pour refléter ces changements de politique.

    Boutons de barre d’en-tête

    Depuis le début de GNOME 3, il y a une recherche d’économie de place en haut de fenêtre. Cela a commencé par la disparition de la barre de titre (et donc du bouton de fermeture de fenêtre) lorsque la fenêtre est maximisée. Puis, pour que le bouton de fermeture de fenêtre reste apparent, la barre d’en-tête (ou Header Bar pour les anglophones) a été introduite, fusionnant la barre d’outils et la barre de titre (via la technique des client-side decorations, ou CSD).

    Mais elle manquait de possibilités de paramétrage et surtout ne résolvait pas un triple conflit d’intérêts : le développeur de l’application veut choisir l’agencement des boutons pour la cohérence de son application (ex : GEdit et son panneau latéral), le développeur de thème veut changer l’ordre et la position des boutons par défaut, enfin l’utilisateur veut personnaliser ce paramètre également. Matthias Clasen a remanié ce composant pour satisfaire tout le monde.

    En bonus, la barre d'en-tête intègre le menu application s’il n’est pas déporté sur le tableau de bord ! Cela évite une barre de menu vide. Le logo de l’application est utilisé plutôt que son nom. L’utilisateur gagne de l’espace à tous les coups !

    La barre d’en-tête a donné des idées. Désormais, les boîtes de dialogue peuvent fusionner leur barre d’actions en bas avec la barre d'en-tête. Les boutons Ouvrir, Sélectionner, etc. sont déplacés en haut. Outre le gain de place, cela évite d’avoir deux manières d’annuler une boîte de dialogue, sans vraiment savoir si l’une est différente de l’autre. Ce comportement se déclenche avec une option GTK.

    Cette version 3.12 améliore aussi la gestion du glissé-déposé sur écrans tactiles grâce à la barre d’en-tête.

    Des actions plus claires pour Fichiers (Nautilus)

    GNOME 3.6 avait apporté différents raffinements à Fichiers dont la possibilité de copier ou déplacer des fichiers facilement via une entrée du menu contextuel. L’action « Copy to… » avait été traduite par « Envoyer vers… » ce qui n’était pas très heureux et était source de confusion. Dorénavant Fichiers proposera le plus correct « Copier vers… ».

    Client IRC dans les cartons

    GNOME prépare un nouveau client IRC : Polari, encore à un stade expérimental.

    Polari est une nouvelle application Gnome 3 concurrente d’Xchat. Cette version 3.12 apporte les fonctionnalités de base qu’on attend d’un client IRC de bureau : rejoindre un salon, ouvrir un chat privé, basculer d’un salon à l’autre avec un raccourci clavier, gestion des commandes et intégration expérimentale de pastebin. Cette application est intéressante parce que c’est typiquement une application développée par et pour les développeurs car IRC est le moyen principal de communication dans la communauté GNOME.

    Intégration de Pocket et Google Print

    Gnome Online Accounts étend la liste des services web pris en charge avec Pocket. Pocket permet de sauvegarder des articles pour consultation différée. On attend avec impatience la gestion de l’alternative libre Wallabag dont a souvent parlé dans ces colonnes ; selon Bastien Nocera, qui est à l’origine de la prise en charge de Pocket, ajouter des services similaires devrait s’en trouver facilité.

    Plus originale, l’arrivée de l’intégration du service Google Print. Google Print permet de partager son imprimante via son compte Google. En fait, cela permet surtout d’imprimer depuis un téléphone ou une tablette avec une imprimante connectée à son ordinateur. En bonus, GNOME permet d’imprimer dans un fichier directement sur le Google Drive.

    GNOME Photos, quant à lui, permet de partager ses photos sur Facebook à coté de Flickr et Picasa.

    Vidéo et GEdit passent à l’ergonomie GNOME 3

    C’est toute une flopée d’applications qui se met à la page de GNOME 3 pour cette version ; les deux mutations les plus spectaculaires étant les vénérables Totem et GEdit, qui adoptent enfin le look que la Design Team avait imaginé pour eux depuis déjà quelques temps.

    GNOME Vidéos a intégré la branche principale de Totem. GNOME Vidéos est un énorme remaniement. Au menu, une page d’accueil avec les aperçus des vidéos récentes. Le mode lecture reçoit de nouveaux contrôles en surimpression, très pratiques en visualisation plein-écran. L’usage évolue vers une consommation de services en ligne (Youtube, Vimeo, et Pocket précédemment cité, FreeboxTV via un plugin) avec recherche et navigation par catégories dans les vidéos du site. Pour plus d’information, voir la page du développeur Bastien Nocera.

    GEdit a fait sa mutation… et garde son nom ! Tadaaa ! Aucune fonctionnalité n’a été perdue… La nouvelle interface rappelle les efforts d’éditeurs minimalistes comme scribes. Parmi les petites nouveautés, le très populaire thème Solarized est désormais fourni par défaut.

    Web (Epiphany) passe au multi-processus

    Sous le capot, GNOME Web (anciennement Epiphany) continue d’intégrer les technologies Webkit avec l’isolation des onglets dans des processus séparés. Un onglet qui plante ne gèle ni l’application ni les autres onglets, et Epiphany a été expurgé de toute dépendance à Webkit 1 : la transition vers Webkit 2 est terminée. Le fournisseur de recherche web pour GNOME Shell est devenu un binaire indépendant ce qui évite au navigateur de rester actif pour permettre ce service alors même que toutes ses fenêtres sont fermées.

    Côté interface, la barre de titre et d’adresse, la barre des onglets, et le style incognito ont été affinés. Après le changement de moteur de recherche par défaut en faveur de DuckDuckGo, une nouvelle option pour choisir son moteur de recherche a été ajoutée.

    GNOME Logiciels

    GNOME Logiciels inclut un fournisseur de recherche pour GNOME Shell : lorsqu’on cherche une application non installée, elle apparaît dans une section et cliquer sur l’icône affiche la page de présentation de l’application.

    Autres nouveautés : GNOME Logiciels intègre un système de notation basique des applications et permet d’afficher de multiples captures d’écran. Il permet désormais de créer des dossiers d’applications personnalisés dans GNOME Shell (en attendant qu’un système de création par glissé-déposé d'un lanceur sur un autre, à la iOS, soit directement intégré dans le Shell).

    L’extension du support pour la distribution Ubuntu devrait arriver pour Gnome 3.14.

    Encore des changements dans le lancement d’applications

    Trois nouveautés autour du lancement d’applications : l’ouverture d’une nouvelle fenêtre et les jumplists. Désormais un clic milieu sur un lanceur d’applications ouvre une nouvelle fenêtre. Le cas à l’origine de cette modification est le terminal car on n'utilise le lanceur quasiment que pour ouvrir une nouvelle fenêtre.

    Les dossiers d’applications sont éditables via GNOME Logiciels ou gsettings.

    Fonctionnalité annoncée depuis longtemps et déjà présente dans Unity, la jumplist est un ensemble d’actions différentes appartenant à la même application et disponible directement via le lanceur (exemple : pour lancer Firefox en mode navigation privée ou ouvrir une nouvelle fenêtre). Il n’a pas d’outil graphique de paramétrage pour le moment, il faut donc éditer le fichier .desktop correspondant.

    Démarrage du Shell optimisé

    Pour optimiser le démarrage du shell, les fichiers en JavaScript ont été compilés en un seul fichier. C’est une fonctionnalité de Gjs qui permet d’embarquer tous les fichiers en JavaScript dans des GRessources. Ainsi, le binaire appelle l’interpréteur JavaScript directement sur ses ressources. GNOME Shell est désormais un binaire lié avec Mutter plutôt qu’un plugin de celui-ci.

    Mathias Clasen a préservé la possibilité de hacker GNOME Shell directement en extrayant les fichiers depuis les GRessources pour pouvoir éditer le JavaSCript embarqué dans le binaire. GNOME Shell utilise alors le script modifié externe plutôt que celui embarqué, sans recompiler. Un simple [Alt+F2 r] (recharger GNOME Shell) permet de tester son code.

    Nouveaux indicateurs dans le menu système

    De nouveaux indicateurs ont été introduits dans le menu système (en haut à droite de l'écran) : l’activité du service de géolocalisation, l’état de la connexion du réseau filaire et aussi le mode avion. Le retour de l’indicateur de réseau filaire a été acquis de haute lutte par les utilisateurs face aux réticences d’Allan Day.

    Le mode classique retrouve les boutons de fenêtre « minimiser » et « agrandir », même pour les applications avec barre d’en-tête.

    Nouveaux domaines de recherche

    La recherche dans GNOME Shell s'étend désormais aux photos, logiciels, et aux commandes en cours dans le Terminal (top, ssh…).

    Intégration Bluetooth semi-automatique

    L’interface de configuration des équipements Bluetooth a été simplifiée par Bastien Nocera. L’interface a été réduite à une liste des appareils connectés, cette liste est mise à jour en temps réel avec les périphériques proches, il n’a donc plus d’assistant de recherche de périphériques.

    Toujours à propos du Bluetooth, GNOME Contacts affiche désormais le carnet d’adresse des périphériques Bluetooth compatibles.

    Plateforme

    Après CSS et JavaScript, une nouvelle techno issue du web arrive dans GNOME : l’inspecteur. Parasite expose l’arborescence des widgets GTK, les règles CSS qui s’appliquent aux widgets et permet même de les éditer à la volée. "Si vous avez déjà utilisé Firebug, c'est un peu la même chose, mais pour les applis GTK+", explique le site officiel de Parasite.

    Un nouveau widget permet de présenter des actions contextuelles dans le même style que la barre d’en-tête. Il s’agit de GtkActionBar, un conteneur de boutons qui permet de ne pas détourner la barre d’en-tête dans la fenêtre.

    Geoclue 2.1.1 apporte la géolocalisation par le modem et par le WiFi. Une API permet de savoir si le service est en utilisation, ce qui permet à GNOME Shell d’indiquer l’utilisation du service.

    Session Wayland en démonstration

    Wayland est toujours en aperçu technologique. Ce qui fonctionne dans cette version :

    • Lancer GNOME avec Wayland depuis GDM ;
    • Les raccourcis claviers ;
    • Les applications Clutter.

    En revanche, ne fonctionnent toujours pas : la configuration du clavier, les tablettes Wacom, le glisser-déposer, et les notifications au démarrage de session. Il reste au moins un an de travail, en étant optimiste.

    Une version difficile à trouver

    Comme l’a fait remarquer The Register dans son test de Gnome 3.12, jamais GNOME n’a été aussi difficile d’accès. Par un concours de circonstance, même Fedora devrait repousser l’inclusion du nouveau GNOME.

    Fedora attendra peut-être GNOME 3.14

    Comme à l’accoutumée les utilisateurs de Fedora pourront bénéficier rapidement de cette version 3.12 et ce, via le dépôt « f20-gnome-3-12 » maintenu par Richard Hughes. Un débat sur l’inclusion ou non de GNOME 3.12 dans les dépôts officiels est toujours en cours.

    Fedora 21 devrait quant à elle intégrer la version 3.14 du bureau GNOME.

    Debian basera sa prochaine stable sur 3.12

    Utilisateurs aficionados de Debian, sachez qu’il existe la distribution Parsix GNU/Linux, basée sur Debian Wheezy, elle permet de profiter de la stabilité de cette dernière tout en proposant des versions récentes du bureau GNOME. La version 3.12 devrait donc arriver dans ses dépôts dans les prochains mois.

    Par ailleurs, cette version de GNOME devrait être celle qui prendra place dans Debian Jessie, la prochaine version stable de Debian.

    Ubuntu GNOME toujours en retard et incomplet

    Ubuntu GNOME 14.04 embarquera GNOME 3.10, comme pour les utilisateurs de Fedora, il faudra donc passer par un dépôt alternatif pour profiter de la dernière version.

    Gentoo, Sabayon et Arch

    Du côté des « rolling releases », la version 3.10 a été stabilisée dans les dépôts officiels des trois distributions. Arch et Sabayon ne devraient pas déroger à la règle et proposer rapidement la version 3.12. Pour les utilisateurs de Gentoo, il faut en général attendre la troisième version corrective (GNOME 3.12.3) avant qu’elle soit stabilisée dans portage.

    Autour de GNOME : Geary, California, Firefox, LibreOffice et Pitivi

    On attend depuis plusieurs versions que GNOME se dote d’une suite PIM dans sa nouvelle ergonomie. Contacts est un peu seul !

    Evolution, le client mail officiel, passe à un cycle annuel. Une manière de le mettre en pause ou de s’attaquer à des changements profonds ? Geary peut en tout cas représenter une alternative à suivre.

    Geary, le client mail de la fondation Yorba s’est rapproché de GNOME, partageant à présent infrastructure et feuille de route. Pour la version 0.5, Geary a un menu d’application sur le tableau de bord. La branche gtk-3.10 intègre la barre d’en-tête. Progressivement, Geary devient une application GNOME native.

    Yorba récidive avec California, prototype d’une application calendrier au dessus d’evolution-data-server. Comme le précise Jim Nelson sur son blog, California n’a pas pour vocation de remplacer le Calendrier officiel de GNOME, bien que le développement de ce dernier semble stagner depuis plusieurs mois.

    Par ailleurs, deux projets à succès extérieurs à GNOME ont reçu, au cours de ce cycle de développement, une mise à jour offrant une meilleure adaptation à notre environnement préféré :

    • Firefox, dont l’interaction avec Fichiers a été améliorée : sous GNOME, lorsque vous téléchargiez un fichier avec Firefox et lui demandiez d’ouvrir le dossier contenant le fichier, il fallait alors chercher ledit fichier dans tout le répertoire car Firefox se contentait d’afficher le répertoire de téléchargement dans une fenêtre Nautilus. À partir de Firefox 28, vous constaterez que – ô joie et bonheur – dorénavant le fichier téléchargé est pré-sélectionné et mis en surbrillance dans Fichiers.
    • LibreOffice, qui, à partir de la version 4.2, se voit doté d’un menu global.

    Notons enfin que, pour les distributions qui ne bénéficieraient pas des dernières versions du logiciel de montage vidéo Pitivi (1.0 bêta, alias 0.93, à ce jour), ses développeurs proposent depuis peu un exécutable autonome, comprenant toutes les dépendances, généré et mis en ligne quotidiennement, intégrant les derniers développements (et il est encore temps de participer à la campagne de financement).

    Avenir

    Une nouvelle étape de conception de Nautilus est sur les rails intégrant l’aperçu, le mode de sélection tactile, une barre latérale allégée, et une présentation des fichiers en grille façon GNOME Documents.

    Un remplaçant d’ Empathy a été ébauché, les discussions vont bon train pour savoir si Empathy va être migré comme Totem vers le design GNOME 3 ou si le nouveau projet GNOME Chat va remplacer Empathy in fine.

    Les ténors de la communauté GNOME se sont réunis en Californie pour discuter de sujets récurrents : Isolation d’application (sandboxing), logind et systemd pour la session utilisateur, Wayland, vulgarisation du développement GNOME, etc. À noter quand même, l’éventuelle intégration de Parasite dans Glade.

    Prochain rendez-vous, du 26 juillet au premier août 2014 à Strasbourg pour le Guadec !

    Télécharger ce contenu au format Epub

    Lire les commentaires

    Catégories: Nouvelles du Libre

    Shinken version 2.0

    mer, 16/04/2014 - 19:12

    Le projet de logiciel libre de supervision Shinken vient d’annoncer sa nouvelle version majeure, la 2.0. Elle apporte principalement une orientation du projet vers le cœur de supervision, la mise en place de HTTPS entre les démons et une forte améliorations des règles métiers. Le projet gagne au passage un nouveau logo.

    Un recentrage comme infrastructure de supervision

    Le changement important de cette version est un découpage bien plus clair qu’avant entre ce qui concerne le cœur du projet, l’infrastructure de supervision avec ses démons, et les divers modules et packs de supervision. L’objectif est de donner aux utilisateurs les connaissances et les choix pour bâtir leur propre solution.

    Ils sont aidés dans cette tâche par un nouveau site d’échange de packs et de modules, shinken.io et la nouvelle commande shinken permettant d’aller récupérer et installer automatiquement les paquetages :

    $ shinken install linux-ssh Installation via pip

    La partie installation a également fortement évolué. Précédemment basée sur un script d’installation, elle suit désormais les standards du monde Python avec un paquet disponible sur Pypi. L’installation de l’infrastructure devient donc tout simplement :

    $ pip install shinken

    Cette nouvelle méthode est bien plus adaptée pour les empaqueteurs, et des paquets pour les distributions principales sont en cours de finalisation.

    Il est à noter que les futures mises à jour de Shinken se feront simplement en relançant cette même commande. :)

    Amélioration des règles métiers

    Grâce au (gros) travail du contributeur Christophe Simon, les règles métiers (alias bp_rules) ont fortement évolué dans cette version. Il est désormais possible de créer un indicateur agrégé pour un ensemble d’éléments en se basant sur des expressions régulières ou des groupes dans lesquels ils se situent.

    Par exemple, pour créer un indicateur unique qui agrège les états de tous les disques de ses serveurs GNU/Linux, il suffit de déclarer :

    check_command bp_rule!g:linux,Disks Un passage au HTTPS entre les daemons

    Dernier changement, et non des moindres, les démons communiquent désormais en HTTP(S). Ceci permet de mettre en place facilement un chiffrement efficace (modulo les failles dans OpenSSL, évidemment) de manière simple par rapport aux versions précédentes qui utilisaient la bibliothèque Python Pyro peu compatible avec le SSL.

    Il est désormais possible d’interroger directement et facilement les démons Shinken (et leurs indicateurs internes). Par exemple, pour vérifier qu’un démon est en vie, il suffit de lancer :

    $ curl http://localhost:7770/ping "pong"

    Ou, par exemple, pour vider tous les hôtes chargés par Shinken :

    $ curl "http://localhost:7770/get_objects_properties?table=hosts" | json_pp

    Une liste complète des appels API est disponible via :

    $ curl http://localhost:7770/api_full | json_pp

    Les prochaines versions amélioreront fortement cette API, et les modules pourront également proposer leurs propres appels spécifiques.

    Feuille de route et cycle de versions

    Cette version a eu une gestation bien longue, notamment expliquée par le fait que le développeur principal de Shinken a lancé sa société d’édition pendant cette période et que les objectifs de réusinage de l’infrastructure étaient assez élevés (tout en assurant une compatibilité ascendante).

    Avec désormais un cycle de version propre à l’infrastructure, décorrélé de celui des modules qui peuvent être plus longs (par exemple, celui de l’interface graphique WebUI), et un objectif d’avoir moins de nouvelles fonctionnalités par version, le cycle de sortie devrait fortement réduire. :)

    Concernant les améliorations des futures versions, on notera tout particulièrement :

    • un rétroportage de certaines vues de la version Enterprise de Shinken dans la version communautaire ;
    • l’ajout d’une fonctionnalité tout particulièrement chère au cœur de l’auteur de Shinken : les arbiters relays, permettant de laisser la gestion complète d’un royaume (aka datacenter) à un démon sur place ;
    • l’ajout très prochainement des commandes d’instantanées (snapshots) permettant d’avoir une « vue » de l’état d’une machine (ex : par le lancement d’un ps) lors d’un souci de charge la nuit, par exemple ;
    • accès à toutes les informations internes des démons depuis l’API HTTP.
    Mise à jour et cours

    Concernant la documentation, elle est désormais disponible en ligne, mais elle est également embarquée avec l’installation de Shinken et disponible sur le port 8080 en lançant :

    $ shinken doc-serve

    Des cours en vidéos sont disponibles concernant la mise en place de cette nouvelle version et la mise à jour depuis la version 1.4 sur le blog du projet.

    Télécharger ce contenu au format Epub

    Lire les commentaires

    Catégories: Nouvelles du Libre

    Atelier d'initiation à Vim à Rennes le 22 avril

    mer, 16/04/2014 - 15:24

    L'association Actux organise deux événements autour de Vim. [Vim] est un éditeur de texte libre, très puissant mais assez difficile d'accès aux débutants.

    Le premier événement est un atelier d'initiation à Vim. Il aura lieu le mardi 22 avril, de 19h à 21h, au 4Bis à Rennes. Pour cet atelier, aucun pré-requis n'est nécessaire, il suffit simplement de venir avec son ordinateur portable.

    Le second événement est une soirée d'échanges sur Vim. Cette soirée est destinée aux personnes ayant un peu ou beaucoup d'expérience avec Vim. Ce sera l'occasion d'échanger ses trucs et astuces, de présenter son plugin préféré ou de montrer comment son vimrc est mieux que celui du voisin. Cette soirée est prévue pour le mardi 20 mai, de 19h à 21h au 4Bis.

    L'entrée est libre, gratuite et ouverte à tout le monde. Il n'est pas nécessaire d'être adhérent de l'association pour venir.

    Télécharger ce contenu au format Epub

    Lire les commentaires

    Catégories: Nouvelles du Libre

    Vosges Opération Libre, le 17 et 18 mai à Gérardmer

    mer, 16/04/2014 - 14:11

    À l'initiative de Framasoft, se déroulera, le samedi 17 mai et le dimanche 18 mai à Gérardmer, un événement inédit dans la région Grand Est : Vosges Opération Libre.

    Cette manifestation vise à promouvoir la culture libre et l’ouverture des données.

    Il s’agit de la seconde « Opération Libre » se déroulant sur le territoire français. La première ayant eu lieu à Brocas (Aquitaine) en 2013.

    Les Opérations Libres ont pour objectif de rassembler, le temps d’un week-end, des acteurs du Libre en vue d’initier la démarche open data dans les petites villes et villages en présentant les outils disponibles, notamment des logiciels libres. Elles invitent les habitants à participer à l’ouverture et à la diffusion des données de leur territoire. Elles proposent aussi d’engager les citoyens dans un rapport différent avec leur territoire en montrant que le partage des connaissances leur permet d’être collectivement valorisées.

    Une vingtaine de partenaires et associations sont impliqués dans l'opération tels que le GOALL (Groupe d'Organismes Acteurs du Libre en Lorraine), Lorraine Data Network, Wikimédia France, Libertic, Open Knowledge Foundation France, April, Veni Vidi Libri, OpenStreetMap France, Tela Botanica, etc.

    Au programme : 8 ateliers, 9 conférences (dont 1 conférence-débat le samedi soir avec Benjamin Jean et Benjamin Sonntag), 17 stands et une projection permanente de films libres.

    Télécharger ce contenu au format Epub

    Lire les commentaires

    Catégories: Nouvelles du Libre

    Conférences autour du Libre à Metz

    mar, 15/04/2014 - 23:47

    Le Graoulug - Groupe d'utilisateurs de GNU/Linux et de logiciels libres à Metz et ses environs - présente une journée de conférences autour du Libre le samedi 24 mai 2014.

    Voici le programme:

    • 09:30-10:30 : Leed: immersion dans un développement coopératif par Christophe HENRY, contributeur Leed.
    • 10:30-12:30 : 15 ans de direction d’entreprise dans le logiciel libre – anecdotes et réflexions par Arnaud LAPRÉVOTE, ex Directeur Général Mandriva.

    • 13:30-15:00 : Présentation FirefoxOS par Alexandre LISSY, FirefoxOS Software Engineer, Mozilla corp.

    • 15:00-16:15 : Le projet Debian par Lucas NUSSBAUM, Debian Project Leader.

    • 16:15-17:30 : Libérer Internet : Sexe, alcool et vie privée par Julien VAUBOURG et Sébastien JEAN, association LDN (Lorraine Data Network).

    L’accès est libre et gratuit, sous réserve de places disponibles.

    Télécharger ce contenu au format Epub

    Lire les commentaires

    Catégories: Nouvelles du Libre