Linux France

S'abonner à flux Linux France
Mis à jour : il y a 7 min 5 sec

Install Party au Havre le 18 octobre 2014 avec GoeLUG

Jeudi 16 Octobre

Suite au succès d'une première install party, l'association collégiale GoeLUG vous invite pour une deuxième édition, ce samedi 18 octobre de 14h30 à 18h30 au Sonic (Fort de Tourneville, Le Havre).

Au programme : conseils, aide à l'installation d'un système libre (si demande), et démonstrations.
Le matin, une formation sera assurée au bénéfice des installeurs, toute personne souhaitant apprendre comment installer correctement un système GNU/Linux (avec la gestion du dual boot en particulier) peut demander à y participer. Pour cela, nous vous invitons à nous contacter par courriel (contact chez goelug.org)

Vous pouvez venir avec votre portable, si vous avez une tour il n'est pas nécessaire de s'encombrer avec l'écran et les autres périphériques, nous en aurons à disposition.

Pour toute demande de renseignement, n'hésitez pas à nous joindre à l'adresse suivante : contact chez goelug.org

Télécharger ce contenu au format Epub

Lire les commentaires

Sortie de 0 A.D. Alpha 17 Quercus

Mercredi 15 Octobre

0 A.D. : Empires Ascendant est un jeu vidéo de stratégie en temps réel (RTS) historique en 3D développé par Wildfire Games. C'est un projet libre (code source sous GNU GPL v.2, données artistiques sous CC-BY-SA 3.0), au développement ouvert, visant des standards de qualité artistique comparables à ceux de l'industrie, ainsi qu'un grand respect de la réalité historique. Le jeu permet d'incarner 12 factions qui ont marqué leur histoire entre les rives de l'Atlantique et la chaîne de l'Himalaya, au cours de la période allant de -500 à -1.
0 A.D. : Empires Ascendant est actuellement en cours de développement, mais une communauté de joueurs conséquente s'est déjà construite autour de ce jeu. Cette dépêche présente la version alpha 17 du projet.

Sommaire

0 A.D. Alpha 17 est sortie le 12 octobre 2014. Son nom de code est Quercus ("chêne" en latin). Sous la république romaine, la corona quercea (couronne de chêne), aussi appelée corona civica (couronne civique), était une haute décoration militaire accordée au soldat qui avait sauvé la vie d'un citoyen romain au combat. Durant la période de temps couverte par 0 A.D., le chêne était également très important dans les cultures grecque et celte, où il était considéré comme un arbre sacré.

TL;DR : Quercus est une version de maturation. Au cours de son développement, les efforts se sont surtout portés sur la correction de bugs. Le travail artistique s'est également concentré sur l'amélioration de l'existant, avec de nouvelles animations, des remodélisations de vieux bâtiments et un remix de la musique principale. Certaines des grosses améliorations espérées après la sortie de l'alpha 16 (Spidermonkey v.31, faction séleucide…) ont été repoussées, alors que d'autres (triggers) ont fait leur apparition plus tôt que prévu. Mais les changements les plus visibles pour l'utilisateur final seront probablement les nombreux ajustements d'équilibrage faits par la communauté et les progrès époustouflants de l'intelligence artificielle.

Quercus apporte les changements suivants :

Code Interface utilisateur
  • L'interface propose deux nouvelles options dans le menu de vitesse de jeu (0,25 x et 0,1 x) ;
  • Nouvelles options de configuration :
    • infobulles détaillées : cette option ajoute des détails supplémentaires (santé/attaque/portée/armure/vitesse) aux infobulles qui décrivent les unités pouvant être entraînées, dans le GUI des bâtiments.
    • affichage des FPS : cette option autrefois activée sur demande via Alt+F peut maintenant être activée de façon permanente ;
    • affichage de l'heure système et du temps du jeu ;

  • Nouvel écran de sélection de mod, accessible dans les options ;

Salon multijoueurs

Ajout de la fonctionnalité de recherche de profil et d’un encadré qui affiche les performances des utilisateurs.

Gameplay
  • Les auras des héros ptolémaïques et séleucides ont été implémentées (dans la mesure des possibilités actuelles du moteur) :

    • Les unités égyptiennes dans le champ de vision de Cléopâtre se battent 20% plus rapidement.
    • Le coût des mercenaires est réduit de 50% lorsque Ptolémée Ier est en vie. Placez celui-ci près d'un échafaudage et les constructeurs travailleront 10% plus vite.
    • Si vous choisissez d'entraîner Ptolémée IV, vous aurez la possibilité de posséder 5 Juggernauts (Tessarakontères) simultanément, au lieu d'un seul. Placez-le à proximité de vos syntagmes pour booster de 20% les statistiques (attaque/armure/PV) de vos piquiers.
    • Antiochos III augmente l'armure de toute la cavalerie de 2 points tant qu'il est vivant.
    • L'armure des bâtiments et des unités mécaniques (armes de siège, navires) ennemis situés dans le champ de vision d'Antiochos IV est réduite de 20%.
    • Séleucos Ier dispose quant à lui d'une aura qui augmente de 20% la vitesse et la puissance des attaques des éléphants du joueur situés dans son champ de vision.
  • Deux des trois héros romains ont désormais des auras fonctionnelles :

    • Marcellus : les unités romaines dans son champ de vision ont +15% d'attaque.
    • Maximus : les unités et bâtiments romains ont +1 de défense (tous types) lorsque dans son champ de vision.
  • Les ibères, qui étaient fortement désavantagés sur l'eau, n'ayant pas de véritable navire de combat, bénéficient désormais de la barge de guerre celtique.

  • Les carthaginois peuvent construire des birèmes et des trirèmes dans leur port civil.

  • Les changements des bâtiments dans le brouillard de guerre sont désormais cachés (les changements de territoire restent visibles).

  • Nouvelles technologies :

    • Livres Sibyllins : +50% de ligne de mire pour toutes les unités romaines.
    • Les Logistiques romaines n'éliminent plus la dégénérescence des bâtiments concernés mais la divisent de 50%.
  • De très gros changements dans l'équilibrage. Voir la section Équilibrage pour plus de détails.

Moteur
  • Implémentation des triggers (déclencheurs) : le moteur de 0 A.D. Pyrogenesis est désormais capable de gérer le déclenchement d'évènements indépendants des mécanismes "normaux" du jeu, comme l'apparition soudaine d'unités quelque part sur la carte, la destruction d'un bâtiment, le don d'un tribut, le déclenchement d'une attaque de l'IA à un moment précis, etc. Cette nouvelle fonctionnalité est un grand pas en avant pour la réalisation future de scénarios de campagnes et de cinématiques. Trois cartes permettent actuellement de tester les triggers : une nouvelle démo (Treasure Island), une nouvelle carte aléatoire (Survival of the Fittest) et une escarmouche déjà existante (Gallic Fields). Plus d'informations dans la section Art/cartes.
  • Gestion de SDL2.
  • Ajout de la possibilité de spécifier un type de cible pour la commande moveAttack (ordre "déplacement-attaque"). Vous pouvez tester la fonctionnalité dès maintenant en pressant Ctrl + Q + Clic droit pour ne cibler que les unités lors du déplacement.
  • Gestion des tourelles : les tourelles ont été implémentées dans le moteur et feront, peut-être, leur apparition sur les modèles du jeu dans un futur proche.
  • On peut lancer des maps de type "escarmouche" depuis la ligne de commande.
  • Unités sur les murs : on peut désormais placer des archers et des javelinistes sur des pans de murs, en utilisant la fonction "garnison". Ces unités gagnent alors +3 d'armure et +20 de champ de vision tant qu'elles sont sur le mur et bénéficient d'un bonus de portée dû à l'altitude.
Intelligence artificielle (IA)
  • Petra, la nouvelle IA apparue dans 0 A.D. alpha 16, s'améliore et commence à se débrouiller avec les cartes maritimes. Celle-ci est désormais capable d'utiliser des navires de pêche, de développer une flotte militaire pour défendre ses ports et d'envoyer des navires de guerre sur les côtes ennemies pour y débarquer des troupes terrestres. Un début de gestion des héros a également été implémenté dans Petra.
  • Aegis a été supprimée et Petra est désormais l'IA par défaut.
Éditeur
  • Ajout d'un outil "copier-coller" dans Atlas \o/
Équilibrage

0 A.D. alpha 16 a été beaucoup critiquée au sein de la communauté, de nombreux joueurs dénonçant un déséquilibre flagrant entre les unités dans cette version. Une branche git dédiée à l'équilibrage a donc été mise en place par scythetwirler pour être testée. Deux mois plus tard, les modifications ont été intégrées dans la branche principale.

Les changements apportés par cette branche sont :

  • Unités

    • Tous les bonus en dur ont été retirés.
    • De base (sans avancée technologique), les unités peuvent transporter moins de ressources.
    • Les unités se déplacent plus vite.
    • Les citoyennes sont entraînées bien plus rapidement.
    • La fréquence d'attaque des unités a été augmentée.
    • Les épéistes coûtent moins de métal, mais coûtent un peu de bois.
    • Les prêtres ne coûtent plus que de la nourriture.
    • Les projectiles des frondeurs infligent des dégâts perçants et contondants.
    • La cavalerie est plus faible contre le perçage, mais plus résistante contre les armes tranchantes.
    • Les javelinistes ibères d'élite voient leur statistiques renforcées.
    • Les lanciers de cavalerie se comportent plus comme des chevaliers - forte puissance d'attaque, mais fréquence d'attaque réduite.
    • Les éléphants sont bien plus forts, mais aussi plus chers.
    • Les béliers peuvent attaquer toutes les unités. Pour compenser, toutes les unités ont par défaut 3 points d'armure contre les armes contondantes.
    • Les balistes et les onagres ont une portée et une ligne de mire plus grande.
    • Les balistes font plus de dégâts.
    • Les formations basiques, plus gênantes qu'utiles en l'état actuel, ont été désactivées temporairement. Le bénéfice en terme de performances se fait ressentir, notamment lorsqu'on rassemble un grand nombre d'unités éloignées les unes des autres. En revanche les unités regroupées en masse compacte peuvent avoir un peu plus de mal à trouver leur chemin.
  • Structures

    • Toutes les structures sont maintenant plus faibles contre les dégâts contondants et tranchants.
    • Les champs sont plus résistants, notamment contre les attaques tranchantes et perçantes.
    • De base (sans avancée technologique), les tours d'angle ne tirent aucune flèche.
    • Les murs et les tours d'angle sont beaucoup plus longs à construire.
    • Le camp retranché romain a été significativement renforcé.
    • Les ports carthaginois ont maintenant une influence territoriale et peuvent accueillir des unités en garnison.
  • Technologies

    • La plupart des technologies ont été dépariées et certaines ont été remplacées par une branche de technologies successives.
    • Presque toutes les technologies ont vu leur coût augmenter significativement. Les technologies militaires notamment requièrent désormais une quantité considérable de bois, et ont un coût important en métal et en pierre.
    • Les technologies successives sont de plus en plus coûteuses au fur et à mesure qu'on avance dans les phases.
    • Certaines technologies ont été supprimées : par exemple la technologie "Héroïsme" a été supprimée et "Volonté de combattre" affecte désormais tous les soldats. C'est la technologie la plus chère du jeu, demandant 3000 points de chaque ressource. Les technologies de promotion des citoyens-soldats ont été supprimées.
    • De nouvelles technologies ont été ajoutées : les tours disposent désormais d'un ensemble de quatre technologies, permettant d'augmenter le nombre de flèches par défaut, d'augmenter le nombre de flèches par unités en garnison, d'augmenter la portée des tours et d'augmenter leur résistance. Dans le corral, une branche technologique permet d'augmenter la vitesse de la cavalerie. Une technologie a été ajoutée pour permettre aux casernes de soigner leurs garnisons. La merveille permet de développer une technologie augmentant de 50 points la capacité de population du joueur.
    • Passer à la phase supérieure augmente les points de vie des citoyens.

Ces changements importants vont sans conteste modifier profondément l'expérience des joueurs habitués aux versions précédentes de 0 A.D.. Dans Quercus, le rythme du jeu est très différent de celui de Patañjali : l'économie est accélérée du fait de la vitesse d'entraînement des citoyennes, du coût réduit des épéistes, de l'augmentation de la vitesse des unités et de l'étalement des technologies économiques sur les trois phases. Les nouvelles statistiques rendent inefficaces les raids de cavalerie légère sur les fermes et réduisent l'avantage militaire des ibères en début de jeu. L'impact accru des technologies et leur coût élevé incite à se focaliser moins sur l'expansion démographique et davantage sur le progrès technologique : la course aux phases prend le dessus sur la course au nombre. L'abandon des technologies de promotion militaire joue aussi dans cette tendance. Les technologies militaires sont donc cruciales, et une bonne partie du gameplay repose désormais sur le choix de l'ordre dans lequel on les développe. Le premier joueur à rechercher la technologie "Volonté de combattre" (si tant est que la partie aille jusque là) disposera d'un avantage temporaire significatif sur les autres joueurs, qu'il devra convertir au mieux pour s'assurer la victoire.

Art Objets Bâtiments
  • Égyptiens : nouveau corral, nouvelle forge.
  • Ibères : nouveaux modèles de caserne, maisons, tours, et nouvelle merveille (Cancho Roano).

  • Gaulois : nouveau dépôt de nourriture, moulin rotatif gaulois. Il s'agit du premier bâtiment du jeu à disposer d'un modèle animé.
Unités
  • Ptolémée Ier , loup arctique.
Animations
  • Nouvelles animations pour le faucon.
  • Nouvelles animations d'attaque pour les armes de siège (ballistes, scorpions…).

Cartes
  • Nouvelle carte aléatoire : Schwarzwald.
  • Nouvelle escarmouche : Oasis de Siwa.
  • Nouvelle démo (avec triggers) : Treasure Island. Une carte constituée de petites îles sur lesquelles sont éparpillés des trésors. Le joueur qui collecte le plus de trésors a gagné.
  • Nouvelle carte aléatoire (avec triggers) : Survival of The Fittest. Chaque joueur commence sur un petit plateau surélevé, séparé du reste de la carte par des falaises. Seul le côté adjacent au bord de la carte n'est pas fermé par un relief infranchissable. Ces plateaux sont situés en cercle, et dépourvus de ressources naturelles. Au centre, une sorte d'arène remplie d'arbres et de trésors, qui réapparaissent à intervalles réguliers. Chaque joueur commence avec une unité de support dans cette arène. Des troupes d'unités championnes ennemies apparaissent régulièrement sur chaque plateau, du côté adjacent au bord de la carte. Le but du jeu est de collecter les trésors le plus rapidement possible avec son unité de support au moment où ils apparaissent, et de les utiliser pour développer son armée afin de faire face aux vagues d'attaques successives. Le dernier joueur en vie a gagné. Notez que cette carte n'est pas vraiment utilisable avec des joueurs IA : ceux-ci sont incapables de collecter des trésors et se font massacrer dès la première ou la deuxième attaque.
  • Ajout de triggers dans l'escarmouche Gallic Fields : désormais Gaïa fait apparaître des légionnaires romains aux extrémités de la carte à intervalles irréguliers, et les fait se diriger vers les camps des divers joueurs en attaquant tout ennemi sur leur chemin. Le nombre de légionnaires qui apparaît à chaque vague d'attaque augmente au fur et à mesure.
Musiques et sons Autre
  • Nouvelle texture d'eau.

Communauté
  • La version alpha 16 de 0 A.D. ne disposait pas de version MacOS lors de l'annonce officielle, à cause de problèmes de dernière minute et par manque de testeurs. Le package OS X de l'alpha 16 a finalement été publié le 26 juin.

  • Départ de Mythos_Ruler : Mythos_Ruler, un des vétérans de Wildfire Games, a quitté l'équipe de développement, ayant de moins en moins de temps à consacrer au projet. Mythos_Ruler était très impliqué dans l'équilibrage du jeu et apportait des modifications fréquentes dans le gameplay. Il a également dessiné des icônes et une bonne partie du concept art initial. Project Leader à plusieurs reprises, il avait une idée très précise de l'aspect final du jeu et intervenait souvent sur les forums autour des questions de game design, d'art et de fidélité historique. Son départ ne l'empêche pas de continuer à contribuer occasionnellement.

  • Apparition de nouvelles branches consacrées à l'équilibrage : deux mois après son départ, Mythos_Ruler a commité un gros ensemble de changements destiné à corriger les problèmes d'équilibrage (plus quelques petits changements artistiques). Ce commit inattendu a provoqué de vives réactions parmi les utilisateurs de la branche alternative d'équilibrage que scythetwirler avait mise en place peu après le départ de Mythos. L'équipe de développement a donc décidé de révoquer les changements liés à l'équilibrage, et de placer ceux-ci dans une branche git séparée, afin que les propositions de Mythos_Ruler et celles de scythetwirler puissent être testées individuellement, sans entrer en conflit.
    Il existe donc désormais deux branches consacrées à l'équilibrage : la branche personnelle de Mythos_Ruler et la branche de scythetwirler (cette dernière étant plus dynamique, car testée régulièrement par une petite communauté de joueurs et mise à jour en fonction des retours des joueurs sur le forum).
    Le 7 septembre, les changements de la branche de scythetwirler ont été intégrés dans 0 A.D.

  • Omri Lahav célèbre la nouvelle version de Honor Bound avec une piste bonus destinée à l'album de 0 A.D. Les aficionados peuvent alors apprécier, dès maintenant, un audacieux remix 8-bit du thème principal.

Performance

Comme ses versions précédentes depuis l'alpha 14, cette version alpha 17 s'est vue gratifiée d'un nombre significatif de correctifs liés à l'amélioration des performances. Parmi ceux-ci, un nouveau moteur de rendu des unités, la souscription de messages dynamiques dans le moteur et une petite amélioration dans le rendu des silhouettes.

Conclusion…

Cette version alpha 17 n'est pas la plus impressionnante en terme de changements. Les améliorations escomptées, notamment le passage à SpiderMonkey 31 et les bâtiments séleucides, n'auront pas vu le jour au cours de cette version.
On pourrait être tenté d'expliquer cela par le retard pris sur la version OS X de l'alpha 16 (les contributeurs sous Mac OS étant peu nombreux), le départ de Mythos_Ruler, la période de vacances d'été et de rentrée scolaire (beaucoup de contributeurs sont étudiants ou lycéens), autant d'évènements ayant pu engendrer un éventuel ralentissement de l'activité autour de cette alpha 17.
Mais cela serait oublier qu'une grande partie du travail de l'alpha 17 s'est faite plus ou moins dans l'ombre : en effet cette alpha a connu en réalité une activité aussi importante que la précédente en nombre de commits, simplement la plupart concernait des résolutions d'erreurs, du nettoyage de code et de petites améliorations de l'IA, pas toujours directement visibles par le joueur. Sur le plan artistique aussi, il y aurait eu beaucoup de travail en coulisses en préparation des futures alphas, mais les infographistes du projet sont avares de détails…

Que peut-on alors espérer de la prochaine version de 0 A.D. ?

  • de nouvelles améliorations de l'IA, notamment en ce qui concerne la gestion de l'économie, le combat naval, l'utilisation des merveilles et la gestion des triggers.
  • de nouvelles expérimentations avec les triggers
  • la gestion des tourelles au niveau des objets (chariots, éléphants…)
  • de nouveaux animaux sauvages et leurs animations
  • l'apparition des premiers modèles de bâtiments séleucides
  • des améliorations esthétiques sur certains bâtiments (notamment romains et perses)

…et, peut-être, le passage à la version 31 de SpiderMonkey. Les développeurs espèrent sortir la version alpha 18 à Noël, mais pour cela, il faut de la main d'œuvre, donc…

…Contribuez !
  • Vous rencontrez un bogue ou souhaitez proposer une amélioration ?
  • Vous connaissez le C++ ou le Javascript ? Vous avez des compétences en programmation dans le domaine des jeux 3D ? Aidez à améliorer le code !
  • Vous maîtrisez Blender ? Vous pouvez dessiner des textures, concevoir des modèles et les animer ? Proposez vos embellissements ou vos icônes, animez la faune et les soldats, ou participez à la modélisation de la faction séleucide !
  • Vous jouez d'un instrument acoustique ? Vous composez de la musique traditionnelle ou symphonique ? Contactez Omri Lahav et contribuez à la bande originale de 0 A.D. !
  • Vous êtes plus branchés MAO ? Vous pouvez créer, enregistrer et mixer des sons ? Aidez à donner vie aux cités antiques et aux terres vierges de 0 A.D. !
  • Vous étudiez les langues anciennes ? Vous connaissez la prononciation de mots latins, grecs, hébreu, sanskrits ou gaéliques ? Aidez à donner de la voix aux unités du jeu !
  • Vous êtes passionnés d'histoire antique ? Venez discuter sur les forums et proposer vos améliorations en matière de gameplay ou de graphisme !
  • Vous êtes plutôt calés géo ? Familiarisez-vous avec l'éditeur et concevez des cartes réalistes et fun à jouer !
  • Vous parlez plusieurs langues dont l'anglais ? Participez à la traduction et à la documentation !
  • Vous savez compiler un logiciel ? Téléchargez la version SVN et profitez des nouvelles améliorations et des nouveaux bogues avant tout le monde !
  • Vous voulez aider à faire connaître 0 A.D. ? Vous aimez faire de jolies copies d'écran ? Participez à l'élaboration de dépêches de qualitaÿ sur LinuxFr.org ! \o/
  • Aidez les autres joueurs à ouvrir les ports de leurs box pour héberger des parties multijoueurs.
  • Passez le mot : parlez de jeux libres, de 0 A.D. à vos proches et à votre travail. Nous comptons sur des évangélistes du Datalove comme vous <3
Télécharger ce contenu au format Epub

Lire les commentaires

Bref, j'ai créé une bibliothèque Rust et un moteur iBus (et je cherche comment les empaqueter)

Mardi 14 Octobre

Tiré du journal d'Allan Simon qui donne un exemple de bibliothèque en langage Rust et comment créer des bibliothèques Rust appelables :

Pour le décideur pressé, j'ai écrit:

  • une bibliothèque en Rust, compatible ABI C (c-à-d un joli .so et .h) pour manipuler du pinyin : librustpiniyn ;
  • un moteur iBus pour taper chinois en précisant les tons, utilisant la bibliothèque du dessus : ibus-pinyintone ;
  • un ensemble d'exemples sur comment créer des bibliothèques Rust appelables comme si c'était une lib C : ffi-rust.

Et je me demande comment je pourrais empaqueter les deux premiers dans un joli .deb qui va bien.

Sommaire Contexte

Tu as sûrement entendu parler de Rust, ce nouveau langage de programmation hype, tellement hype qu'il n'est pas encore stable, écrit par Mozilla.

Les promesses de Rust qui m'ont séduit :

  • (quasi) sans-runtime : rien ne se passe dans votre dos, possibilité de distribuer des binaires compilés depuis Rust sans devoir faire installer à l'utilisateur une JVM de plus ;
  • langage compilé : si vous pouvez lancer le binaire il y a peu de chances que ca plante dans les 2 premières secondes parce que vous avez fait une coquille ;
  • langage fortement typé avec déduction automatique des types : le beurre et l'argent du beurre, pas d'arguments qui sont parfois des entiers, parfois des chaines de caractères car votre collègue incompétent a parfois fait le parseint avant, parfois après, parfois pas, tout en n'ayant pas besoin de préciser le type à chaque fois que c'est évident ;
  • possibilité d'être compatible avec l'ABI C ;
  • une librairie standard très complète (des primitives pour faire du code multi-tâches, un décodeur json intégré, que du bonheur)  ;
  • des structures et des traits, pas d'héritage ;
  • possibilité de faire les choses de manière fonctionelle (closure etc.) ;
  • performance qui rivalise avec C++ (tout du moins à terme, mais c'est déjà plus ou moins le cas) ;
  • un compilateur très strict avec des jolis messages d'erreurs très lisibles ;
  • une communauté vibrante (merci #rust sur IRC) ;
  • un système de build et de gestion de dépendances simplissime (cargo build et c'est bon).

Bref, du coup je me suis dit que ce langage serait parfait pour moi qui aime le C++ (surtout depuis C++11) et Python, en gros le meilleur de ces deux mondes réunis.

J'ai donc écrit pendant mes vacances, avec l'aide d'un ami, une bibliothèque Rust pour convertir du pinyin, qui est en gros la transcription phonétique standardisée en alphabet latin du Chinois mandarin, en caractères chinois. par exemple pouvoir convertir ni3hao3 en 你好.

La bibliothèque une fois créée sera utilisée par un moteur iBus (iBus étant le système le plus commun sous Linux pour taper des langues qui se tapent mal avec un clavier standard, ibus offrant les briques communes, capture des entrées clavier etc. , et les moteurs eux offrent la logique spécifique à une langue, par exemple on peut avoir iBus installé avec un moteur pour le chinois, et un moteur pour le japonais).

Les moteurs iBus étant le plus souvent écrits soit en C, soit en Python (iBus n'offrant les bindings que pour ces deux langages à ma connaissance, et quand bien, le peu de code d'exemple est écrit dans l'un de ces deux langages), et ayant trouvé un exemple de template de moteur ibus-tmpl en C, il était plus simple d'avoir toute la logique en Rust (isolé dans la bibliotheque) et la glue du moteur en C pour réutiliser le code d'exemple.

Comment écrire une bibliothèque Rust, compatible ABI C, sans runtime (i.e avec un joli .so et .h a la fin)

Les exemples (ainsi que d'autres plus complexes) peuvent être retrouvés sur le projet github https://github.com/allan-simon/ffi-rust.

Générer un .so avec Rust

Il y a deux manières de procéder, soit directement dans le fichier Rust .rs ou en le précisant dans le fichier Cargo.toml (le "MakeFile" de rust).

Pour les petits projets, il suffit simplement de mettre #![crate_type = "dylib"] au début du fichier :

#![crate_type = "dylib"] pub extern fn hello_world() { println!("hello world"); }

pub extern est là pour dire que la fonction doit être exportée, ainsi que pour dire au compilateur de ne pas s'inquiéter s'il ne voit pas la fonction hello_world utilisée, que ce n'est pas du code mort.

Pour le fichier cargo, cela donne :

[package] name = "votre_lib_qui_va_bin" version = "0.0.1" authors = [ "Votre Nom <votre@email.com>" ] [lib] name = "nomdelalib" path = "src/lib.rs" crate-type = ["dylib"]

et cela génère dans les deux les deux un cas un fichier .so qui va bien, mais appelable seulement depuis un autre projet Rust.

Rendre les noms de fonctions compatibles avec l'ABI C

Pour pouvoir appeler la fonction Rust depuis du C, du Python etc., il faut que son nom soit prédictible, pour cela, hyper simple, il suffit de rajouter la directive #[no_mangle] au-dessus de la fonction, ce qui nous donne :

#![crate_type = "dylib"] #[no_mangle] pub extern fn hello_world() { println!("hello world"); }

et voila, rien de plus rien de moins, et vous avez à présent un .so compatible ABI C, ce qui vous permet par exemple de l'appeler depuis Python en faisant :

import ctypes votrelib = ctypes.CDLL("libvotrelib.so") votrelib.hello_world()

magique, non ?

Faire des choses plus compliquées

Je ne rentrerai pas dans de longs détails ici, juste qu'il est assez simple de créer une bibliothèque, même très complexe depuis C en suivant les conseils ci-dessous :

  • il est assez simple d'échanger des int / string dans les deux sens entre Rust et C (avec une légère conversion à faire pour les string, comme elles finissent par \0 en C et pas en Rust) ;
  • pour les types plus complexes (du style HashMap etc.), essayer au maximum de tout faire en Rust, et de n'utiliser C que pour transporter le pointeur sur la structure d'un appel Rust à un autre.

Si des personnes sont intéressées je verrai peut-être pour écrire un guide plus détaillé sur des exemples plus poussés (passage de callback, comment gérer la mémoire etc., comment se passer du runtime etc.).

ibus-pinyintones : pour les personnes qui apprennent le Chinois et oublient toujours les tons pourquoi un moteur alternatif pour écrire le chinois

Cette partie est un peu moins technique : je pense que beaucoup moins de personnes sont intéressées par "comment écrire votre propre moteur iBus". Le but était pour moi qui apprend le Chinois d'avoir un moyen de me forcer à me souvenir des "tons" des mots Chinois.

Pour ceux qui ne connaissent pas le Chinois, les tons sont une composante super importante du Chinois oral. Pour donner une similarité avec le Francais, lisez a voix haute "Tu viens manger." et "Tu viens manger ?" : vous remarquez que pour la question on monte le ton en fin de phrase, ce qui permet a l'oral de distinguer la question de l'affirmation. Maintenant, imaginez en Chinois le même concept mais syllabe par syllabe et non plus pour savoir savoir si une question est affirmative ou interrogative mais tout simplement pour savoir quel caractère Chinois c'est.

Le ton est super important en Chinois, car le nombre de sons en chinois est très limité. Cependant à la saisie sur ordinateur ou téléphone, souvent on entre la phonétique sans le ton (et le moteur de saisie se charge des ambigüités, en classant les propositions par fréquence, et en s'aidant des mots tapés avant). Cela a donc le fort désavantage de ne pas demander la connaissance du ton, ce qui fait que l'on peut parler sur Skype/mails de manière quasi parfaite, tout en étant incompréhensible a l'oral.

Caractéristique de ibus-pinyintone, différence avec les moteurs habituels

Ici il faut donc taper obligatoirement le ton.

On peut taper "n3h3" ou "ni3hao3" pour avoir 你好, mais le nombre (c.a.d le ton) doit être présent. Cela demande donc un poil plus de frappes, mais cela est compensé par le fait qu'ainsi le nombre d'homonynes est très très fortement réduit et réduit le nombre de sélections manuelles que l'on a à faire avec les touches multidirectionnelles

Le prochain objectif est d'ajouter la prédiction du mot suivant, par exemple si je tape "je mange une" , que le moteur propose directement "pomme" "poire" "pizza" (ce que ne propose pas ibus-pinyin par exemple, et encore une fois, ce qui avec l'aide des tons, permettrait de rendre la prédiction plus efficace)

Demande d'aide : comment créer un paquet Debian de tout cela

Voilà, j'arrive à la toute fin et le principal but de mon journal (je vous ai bien eu, en fait je voulais juste de l'aide, mais je ne voulais pas poster dans la catégorie forum) : j'aimerais avoir un peu d'aide pour empaqueter mon moteur et ma bibliothèque.

J'ai commencé à lire le guide pour empaqueter sous Debian mais voir que faire un paquet pour une bibliothèque est mis dans la catégorie "tâches difficiles", et que j'avoue être un peu flemmard, si une bonne âme se sent de m'aider, j'en serais très reconnaissant.

Vers l'infini et l'au-delà

À l'avenir je vais essayer de rapidement porter de nouveau les moteurs iBus que j'avais écrits il y a très longtemps pour l'anglais et le français (base sur une intégration d'aspell dans ibus), de manière à pouvoir taper les accents sur mon qwerty sans encombre et éviter les fautes de dyslexie du clavier que je fais souvent.

Télécharger ce contenu au format Epub

Lire les commentaires

Gajim 0.16 sort de terre

Mardi 14 Octobre

Deux ans et demi après la dernière mise à jour majeure et près de 6 mois depuis la dernière mineure ; une nouvelle version de Gajim est sortie le 4 octobre 2014 !

Gajim, ce client XMPP basé sur Python et Gtk semblait ne plus donner signes de vie mais NON ! Il n'est pas mort !

Au niveau des nouveautés majeures, voici :

  • l'amélioration du transfert de fichier en utilisant Jingle ;
  • l'amélioration de la sécurité ;
  • l'amélioration des appels audio / vidéo et du partage d'écran ;
  • la correction du dernier message ;
  • la prise en charge de systemd-logind.

Sur le fond, Gajim utilise maintenant python-nbxmpp, un fork de xmpppy, pour le remplacer dans Gajim afin de gérer le protocole XMPP. Ceci permet notamment des connexions non bloquantes.

Télécharger ce contenu au format Epub

Lire les commentaires

GNU Emacs : quelques extensions (première partie)

Mardi 14 Octobre

Pour son premier journal, ptitjano a décidé de nous parler de GNU Emacs, et nous on a décidé d'en faire une dépêche : au menu de cette première liste d'extensions, un gestionnaire de paquets, une meilleure navigation parmi les buffers, un M-x amélioré, la liste des derniers fichiers ouverts, l'insertion simple de templates, la complétion visuelle, le classement des buffers en catégories et la recherche dans les buffers ouverts.

Sommaire

GNU Emacs 24.4 devrait sortir le 20 octobre 2014 mais j'ai l'impression qu'on en parle trop peu sur ces pages (on peut tout de même trouver quelques journaux récents, notamment « des prompteurs pour Emacs », « peigner la girafe, BPM » ou « Emacs 24 toute résistance est inutile). J'ai donc décidé d'apporter ma pierre à l'édifice. (Certains éléments reprennent d'ailleurs des astuces ou des commentaires des journaux précédemment cités).

Conventions

On utilisera dans ce journal la même convention que celle de xaccrocheur :

  • C : (Control) la touche Ctrl ;
  • M : (Meta) la touche ALT ;
  • S : (Shift) la touche Maj ;
  • s : (Super) la touche WIN ;
  • SPC : (Space) la touche Espace ;
  • buffer : Un… heu… buffer.
Package.el : un gestionnaire de packages

Emacs 24 a introduit un gestionnaire de packages. On peut maintenant installer des packages automatiquement pour ajouter de nouvelles fonctionnalités sans quitter son Emacs chéri.

Ajout de dépôts et initialisation

Il suffit de rajouter ces quelques lignes à son .emacs :

(require 'package) (package-initialize) ;; initialisation de package (add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/") t) ;; ajout du dépôt "melpa" (add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/") t) ;; ajout du dépôt "marmalade" Installer des packages
  • lister tous les packages : M-x list-packages ;
  • installer un package : M-x package-install Entrée <package> Entrée.

Un article très complet sur le sujet est disponible chez Xah Lee.

Ido : une meilleure navigation parmi les buffers

Ido pour "Interactively DO things" est un mode qui permet de naviguer entre les fichiers et les buffers d'Emacs de manière beaucoup plus rapide en surchargeant ces différentes opérations. Il est disponible par défaut depuis Emacs 22 (soit juin 2007).

Activer ido

À ajouter dans son .emacs :

(require 'ido) (setq ido-enable-flex-matching t) ;; activer le fuzzy matching pour trier les résultats (setq ido-everywhere t) ;; activer ido pour find-files et les buffers (ido-mode 1) ;; activer ido Ido en pratique
  • changer de buffer : C-x b <premières lettre> puis Entrée pour sélectionner le candidat courant ;
    • on peut naviguer entre les différents candidats avec C-s (suivant) et C-r (précédent) ;
    • Tab affiche la liste des candidats dans un nouveau buffer ;
  • ouvrir un nouveau fichier : C-x C-f ;
    • Retour arrière pour aller au répertoire parent ;
    • afficher un buffer dired dans le répertoire courant : C-d ;
    • créer un nouveau sous-répertoire : M-m ;
    • forcer la création d'un nouveau fichier avec le nom entré : C-j.

Il suffit de l'essayer pour comprendre immédiatement son utilité.
Un article complet de présentation et quelques astuces sont disponibles chez masteringemacs.

Ido-ubiquitous : obtenir ido partout

Le mécanisme d'ido n'est disponible que pour find-files et la navigation entre les buffers. On aimerait pourtant l'utiliser partout. Heureusement, ido-ubiquitous ajoute cette possibilité. Il va remplacer le système de complétion natif d'Emacs dès que possible. Il sera donc disponible pour tous les packages utilisant ce mécanisme.
Pour l'installer, on passe par package.el :
M-x package-install Entrée ido-ubiquitous Entrée

On rajoute ensuite dans son .emacs :

(require 'ido-ubiquitous) (ido-ubiquitous-mode t)

D'après certains gourous d'Emacs il est nécessaire de rajouter quelques lignes pour assurer le bon fonctionnement d'ido-ubiquitous avec les versions les plus récentes de certains packages. Faisons leur confiance :

;; Fix ido-ubiquitous for newer packages (defmacro ido-ubiquitous-use-new-completing-read (cmd package) `(eval-after-load ,package '(defadvice ,cmd (around ido-ubiquitous-new activate) (let ((ido-ubiquitous-enable-compatibility nil)) ad-do-it)))) (ido-ubiquitous-use-new-completing-read webjump 'webjump) (ido-ubiquitous-use-new-completing-read yas/expand 'yasnippet) (ido-ubiquitous-use-new-completing-read yas/visit-snippet-file 'yasnippet) Smex ou M-x amélioré à la sauce ido

Smex est une extension fort utile d'ido. En effet, ce dernier est très pratique mais on aimerait bien pouvoir l'utiliser lors de l'appel de fonctions (M-x). C'est ici que smex entre en jeu : il surcharge la commande M-x
N'étant pas disponible par défaut, il est nécessaire de l'installer. Heureusement, on dispose d'un gestionnaire de packages pour automatiser la tâche :
M-x package-install Entrée smex Entrée
Les sources de smex sont disponibles chez Github.

Installation et activation

Rajouter dans son .emacs :

(require 'smex) ; Not needed if you use package.el (smex-initialize) (global-set-key "\M-x" 'smex) (global-set-key (kbd "M-X") 'smex-major-mode-commands) Smex en pratique

Recentf : obtenir la liste des derniers fichiers ouverts Principe et utilisation

Il est possible de demander à Emacs de garder la trace des derniers fichiers ouverts en utilisant recentf (intégré depuis Emacs 21). Il suffit de quelques lignes dans son .emacs :

(require 'recentf) (setq recentf-max-saved-items 50) ;; fixer le nombre d'enregistrements à 50 (recentf-mode 1) ;; l'activer

la fonction ido-recentf-open permet d'obtenir une liste de ces fichiers : M-x ido-recentf-open. On peut bien entendu lui assigner un raccourci clavier :

(global-set-key (kbd "C-x C-r") 'ido-recentf-open) Combiner recentf et ido :

masteringemacs.org propose une intégration élégante de recentf et ido :

(require 'recentf) ;; get rid of `find-file-read-only' and replace it with something ;; more useful. (global-set-key (kbd "C-x C-r") 'ido-recentf-open) ;; enable recent files mode. (recentf-mode t) ; 50 files ought to be enough. (setq recentf-max-saved-items 50) (defun ido-recentf-open () "Use `ido-completing-read' to \[find-file] a recent file" (interactive) (if (find-file (ido-completing-read "Find recent file: " recentf-list)) (message "Opening file...") (message "Aborting"))) Yasnippet : insérer des templates simplement

Yasnippet est un système de gestion de templates. Il permet d'insérer un morceau de texte en tapant une abréviation. Ces abréviations dépendent du mode du buffer actif.

Installation et activation

Pour l'installation, il suffit de faire confiance à package.el :
M-x package-install Entrée yasnippet Entrée
Pour l'activer, comme toujours, quelques lignes sont nécessaires dans son .emacs :

(require 'yasnippet) ;; not needed if you use package.el (yas-global-mode 1) Utilisation et personnalisation

Pour insérer un template : Tab (pour yas/expand)
De nombreux templates sont définis par défaut pour la plupart des modes (C/C++, HTML, Perl, Python, latex, Markdown, Ruby, SQL, CSS, etc.)
Bien entendu, il est possible d'ajouter ses propres templates (des explications complètes ici).
On peut également trouver un nombre incalculable de templates sur le web. Il peut être utile de les rajouter dans un sous-répertoire de son emacs.d . On les chargera ensuite depuis son .emacs :

(add-to-list 'load-path "~/.emacs.d/mes-supers-snippets") Auto-complete : une complétion visuelle

Auto-complete est un mode qui permet d'afficher et de trier des candidats à la complétion de la saisie courante. L'un de ces points forts est qu'il est possible de fournir et trier les candidats à la sélection.

Installation et activation

Rien de bien extraordinaire avec package.el : M-x package-install Entrée auto-complete Entrée
Pour l'activer, il suffit d'ajouter deux lignes à son .emacs :

(require 'auto-complete-config) (ac-config-default)

Pour naviguer plus facilement entre les candidats :

(define-key ac-completing-map (kbd "C-n") 'ac-next) (define-key ac-completing-map (kbd "C-p") 'ac-previous)

Il est par ailleurs possible d'étendre la liste des candidats pour un mode donné avec d'autres packages (par exemple auto-complete-octave pour le mode octave).

Utiliser ido et auto-complete ensemble

Il est nécessaire d'activer ido avant auto-complete dans son .emacs . Pour que les deux cohabitent harmonieusement, on ajoutera ces quelques lignes à la configuration d'auto-complete :

(add-to-list 'ac-sources 'ac-source-yasnippet) ;; Let's have snippets in the auto-complete dropdown ;;; set the trigger key so that it can work together with yasnippet on tab key, ;;; if the word exists in yasnippet, pressing tab will cause yasnippet to ;;; activate, otherwise, auto-complete will (ac-set-trigger-key "TAB") (ac-set-trigger-key "<tab>") Ibuffer : gérer ses buffers intelligemment

Ibuffer permet d'afficher et manipuler la liste de tous les buffers ouverts de la même manière que dired pour les répertoires. Il est partie intégrante d'Emacs depuis la version 22. Il n'y a donc rien à installer. La configuration est fort simple. Comme toujours, cela se passe dans son .emacs :

(require 'ibuffer) (global-set-key (kbd "C-x C-b") 'ibuffer) ;; remplace buffermenu Classer ses buffers en catégories

L'une des fonctionnalités les plus intéressantes de ibuffer est la possibilité de trier les buffers ouverts suivant différentes catégories que l'on peut personnaliser. Par exemple, (code tiré de emacs-fu) :

(setq ibuffer-saved-filter-groups (quote (("default" ("Org" ;; all org-related buffers (mode . org-mode)) ("Mail" (or ;; mail-related buffers (mode . message-mode) (mode . mail-mode) ;; etc.; all your mail related modes )) ("MyProject1" (filename . "src/myproject1/")) ("MyProject2" (filename . "src/myproject2/")) ("Programming" ;; prog stuff not already in MyProjectX (or (mode . c-mode) (mode . perl-mode) (mode . python-mode) (mode . emacs-lisp-mode) ;; etc )) ("ERC" (mode . erc-mode)))))) (add-hook 'ibuffer-mode-hook (lambda () (ibuffer-switch-to-saved-filter-groups "default"))) Occur : faire un grep sur les buffers ouverts Introduction

Le mode occur permet d'obtenir la liste de toutes les lignes contenant une expression régulière. Cette liste s'affiche dans un nouveau buffer (*Occur*) et la recherche se limite au buffer actif. Pour l'appeler, rien de plus simple :
M-x occur Entrée expression-a-chercher Entrée
Pour chercher une occurrence dans plusieurs buffers, on peut utiliser la commande M-x mutli-occur.

Multi-occur sur un mode donné

masteringemacs propose une personnalisation permettant de rechercher l'expression régulière parmi tous les buffers ouverts du même mode que le buffer actif. Son code est le suivant :

(eval-when-compile (require 'cl)) (defun get-buffers-matching-mode (mode) "Returns a list of buffers where their major-mode is equal to MODE" (let ((buffer-mode-matches '())) (dolist (buf (buffer-list)) (with-current-buffer buf (if (eq mode major-mode) (add-to-list 'buffer-mode-matches buf)))) buffer-mode-matches)) (defun multi-occur-in-this-mode () "Show all lines matching REGEXP in buffers with this major mode." (interactive) (multi-occur (get-buffers-matching-mode major-mode) (car (occur-read-primary-args)))) ;; global key for `multi-occur-in-this-mode' - you should change this. (global-set-key (kbd "C-<f2>") 'multi-occur-in-this-mode) La suite

Il est temps de s'arrêter pour cette première partie. Au prochain épisode, on présentera notamment uniquify, iedit, flycheck, jedi (pas le chevalier), org-mode et ace-window.

Télécharger ce contenu au format Epub

Lire les commentaires

Install party à Grenoble le 16 octobre 2014

Mardi 14 Octobre

Le GUL du Dauphiné (la Guilde) organisera une install party le jeudi 16 Octobre 2014 à l'ENSIMAG bâtiment H - salle H202 (Campus de Grenoble).

  • Vous souhaitez découvrir les systèmes libres mais vous n'osez pas franchir le pas ?
  • Vous voulez donner un coup de jeune à une machine un peu ancienne ?
  • Une simple envie de changement de vos pratiques informatiques ?

N'hésitez pas : venez avec votre ordinateur ! Nos gentils bénévoles vous aideront à installer un système d'exploitation libre, ainsi que les logiciels (libres) nécessaires à votre usage quotidien.

e-mail : contact @ guilde.asso.fr

Télécharger ce contenu au format Epub

Lire les commentaires

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

Lundi 13 Octobre

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

[Slate.fr] Jeremy Rifkin: L’Internet de tout nous sauvera-t-il tous?

Par Jean-Laurent Cassely, le samedi 11 octobre 2014. Extrait:

Pour savoir si sa prophétie selon laquelle l'internet des objets allait renverser le système économique basé sur la propriété privée des moyens de production allait se réaliser, on a fait un pari avec Jeremy Rifkin

Lien vers l'article original: http://www.slate.fr/story/92925/jeremy-rifkin-internet-nous-sauvera-t-il-tous

Et aussi:

[cio-online.com] Jacques Marzin (DISIC): «Nous gardons une approche raisonnée en matière de logiciels libres»

Par Bertrand Lemaire, le jeudi 9 octobre 2014. Extrait:

Jacques Marzin, directeur de la Disic (Direction interministérielle des systèmes d'information et de communication) et ainsi «DSI groupe» de l'Etat, détaille la stratégie pragmatique qu'il défend en matière de logiciels libres. Cette prise de position intervient à environ deux semaines de l'Open CIO Summit et de l'Open World Forum.

Lien vers l'article original: http://www.cio-online.com/actualites/lire--7114.html

Et aussi:

[Metamedia] Abolir la neutralité du Net, c’est revenir au Minitel

Par Eric Scherer, le jeudi 9 octobre 2014. Extrait:

La fin de la neutralité du Net nous ferait retourner à l’époque ultra-contrôlée du Minitel, et poserait d’importants risques à notre future croissance économique, a averti jeudi à Budapest, l’expert français Bernard Benhamou.

Lien vers l'article original: http://meta-media.fr/2014/10/09/la-fin-de-la-neutralite-du-net-cest-le-retour-au-minitel.html

[Numerama] Framasoft veut "dégoogliser" Internet

Par Julien L., le jeudi 9 octobre 2014. Extrait:

L'association Framasoft a mis sur un pied un nouveau projet visant à "dégoogliser" Internet, qui consiste à encourager les utilisateurs à migrer vers des solutions libres, éthiques, décentralisées et solidaires. Et quoi de mieux, pour faire passer ce message, que de s'inspirer des aventures d'Astérix et Obélix, que tout le monde connaît?

Lien vers l'article original: http://www.numerama.com/magazine/30861-framasoft-veut-degoogliser-internet.html

[Next INpact] Un futur commissaire européen engagé en faveur du logiciel libre

Par Xavier Berne, le mercredi 8 octobre 2014. Extrait:

Le très probable futur commissaire européen en charge du «Marché numérique unique» vient d'affirmer à l’occasion d’une audition devant le Parlement de Strasbourg qu’il soutiendrait le développement et l’utilisation des logiciels libres au sein de l’Union, sans toutefois préciser davantage ses intentions en la matière.

Lien vers l'article original: http://www.nextinpact.com/news/90316-un-futur-commissaire-europeen-engage-en-faveur-logiciel-libre.htm

Et aussi:

Voir aussi:

[ZDNet] Systemd et les « t…. du c.. » de la communauté Open Source

Par Christophe Auffray, le mardi 7 octobre 2014. Extrait:

On ne peut pas plaire à tout le monde. C’est ce que constate le co-créateur de systemd, Lennart Poettering qui se dit sur Google+ victime d’une véritable campagne haineuse et d’appels à la violence, notamment au sein du premier cercle de Linus Torvalds.

Lien vers l'article original: http://www.zdnet.fr/actualites/systemd-et-les-t-du-c-de-la-communaute-open-source-39807395.htm

[RTBF Info] La ville de Liège bazarde ses logiciels libres

Par Michel Gretry, le mardi 7 octobre 2014. Extrait:

Le conseil communal de Liège, ce lundi soir, a entériné l'achat de licences Microsoft; une décision qui peut paraître anodine, mais dont la portée symbolique n'échappe à personne: c'est la fin des logiciels libres dans l'administration de la cité ardente. L'oposition de gauche l'a amèrement déploré.

Lien vers l'article original: http://www.rtbf.be/info/regions/liege/detail_la-ville-de-liege-bazarde-ses-logiciels-libres?id=8372046

[LeMonde.fr] Android rapporte plus d’un milliard de dollars par an à… Microsoft

Par Jérôme Marin, le lundi 6 octobre 2014. Extrait:

L'écrasante domination d'Android sur le marché des smartphones et des tablettes ne profite pas seulement à Google, son concepteur. Elle rapporte aussi très gros à… Microsoft ! L'éditeur américain de logiciels, qui a bien du mal à imposer son système d'exploitation Windows sur les supports mobiles, a en effet conclu il y a quelques années des accords de licences avec les principaux fabricants de terminaux Android, pour leur permettre d'utiliser une partie de ses brevets.

Lien vers l'article original: http://siliconvalley.blog.lemonde.fr/2014/10/06/android-rapporte-plus-dun-milliard-de-dollars-par-an-a-microsoft

[Next INpact] Concertation numérique: Manuel Valls invite à «bousculer» le gouvernement

Par Xavier Berne, le lundi 6 octobre 2014. Extrait:

Samedi matin, le Conseil national du numérique (CNNum) a donné comme prévu le coup d’envoi de sa grande concertation censée préfigurer le dépôt, devant le Parlement, d’un texte de loi consacré au numérique. Le Premier ministre a pour l’occasion détaillé sa vision politique du numérique.

Lien vers l'article original: http://www.nextinpact.com/news/90260-concertation-numerique-manuel-valls-invite-a-bousculer-gouvernement.htm

Et aussi:

Télécharger ce contenu au format Epub

Lire les commentaires

Sortie de Linux 3.17

Lundi 13 Octobre

La sortie de la version stable 3.17 du noyau Linux a été annoncée le 5 octobre 2014 par Linus Torvalds. Le nouveau noyau est, comme d’habitude, téléchargeable sur les serveurs du site kernel.org. Le détail des évolutions, nouveautés et prévisions est dans la seconde partie de la dépêche.

Sommaire En bref

Pas moins de quatre (!) nouveaux appels système ont été ajoutés dans cette version :

  • memfd_create() (détails dans la section Architecture) ;
  • seccomp() (détails dans la section Sécurité) ;
  • getrandom() (détails dans la section Sécurité) ;
  • kexec_file_load() (détails dans la section Sécurité).

Concernant le DRM (Direct Rendering Manager), les render nodes ont été activés par défaut.

Annonces des RC par Linus Torvalds RC-1

La version RC-1 est sortie le 16 août 2014 :

Je vais passer la journée de demain dans un avion et je ne suis pas vraiment fan des demandes d’intégration de dernière minute pendant la période d’intégration, donc je ferme la période d’intégration une journée en avance et la 3.17-rc1 est donc de sortie. En fait, elle est sortie depuis un bon moment, mais le réseau était tellement mauvais là où je voyageais que cela m’a empêché de faire cette annonce.

Quoi qu’il en soit, cette période d’intégration était un peu plus courte que les dernières, probablement à cause des ralentissements estivaux dans l’hémisphère nord. Ce qui ne veut pas dire que c’était petit — les dernières publications étaient plus grosses que d’habitude —, celle‐ci est dans la moyenne. C’est déjà trop gros pour que je ne puisse pas attacher le résumé succinct de ces changements. Donc, comme d’habitude dans le rapport d’intégration qui est attaché, ce ne sont pas les noms des développeurs qui ont écrit le code mais ceux des intégrateurs.

Les changements sont répartis partout, mais il n’y a pas d’ajout de nouvelles architectures ou de nouveaux systèmes de fichiers. Environ trois quarts des changements concernent les pilotes et, pour le reste, la moitié consiste en des mises à jour d’architecture. Le reliquat étant les changements divers du noyau (réseau, systèmes de fichiers, etc.).

La prochaine semaine est occupée par le Kernel Summit, donc je suppose que la RC2 sera assez petite, mais nous verrons bien.

Linus

RC-2

La version RC-2 est sortie le 25 août 2014 :

J’ai donc dérogé à mon habitude de publier le dimanche, en partie parce qu’il n’y avait pas grand chose ce jour‐là (à cause du Kernel Summit et de la LinuxCon), mais aussi pour des raisons sentimentales : le 25 août est l’anniversaire de l’annonce originelle de Linux (« Hello everybody out there using Minix »), donc c’est une bonne journée pour les annonces de publication.

Quoi qu’il en soit, pour une RC2 c’est plutôt petit et j’espère que cela continuera ainsi. C’est environ 60 % de pilotes (DRM, réseau, HID, son, PCI), 15 % de mises à jour de systèmes de fichiers (CIFS, ISOFS, NFS), 10 % d’architectures (MIPS, ARM, quelques trucs mineurs dans x86) et le reste est « divers » (noyau, réseau et documentation).

En d’autres termes, il y en a un peu partout et rien de particulier ne ressort.

Merci de bien la tester,

Linus

RC-3

La version RC-3 est sortie le 31 août 2014 :

Je suis revenu à la livraison dominicale et la RC3 est sortie. Comme prévu, il y a plus de changements que dans la RC2, puisque les gens sont clairement de retour du voyage du Kernel Summit, etc. Mais, heureusement, ce n’est pas beaucoup plus gros que la RC2 et il ne se passe rien de particulièrement bizarre, donc je vais simplement ignorer l’explication que « c’est l’été » et j’espère que tout va vraiment bien.

Ne me prouvez pas que j’ai tort,

Linus

RC-4

La version RC-4 est sortie le 7 septembre 2014 :

Pendant un court moment, cette semaine fut vraiment agréable et calme, mais c’était surtout parce que l’entrée linux-foundation.org est tombée de l’univers DNS et ma boîte à lettres est devenue très calme pendant quelques heures. Le reste de la semaine a paru assez normal.

« Assez normal » n’est pas si mal cependant, et je ne m’en plains pas. Il n’y a rien eu de particulièrement gros ou effrayant — nous avons eu une frayeur passagère à cause d’une stupide anomalie dans les couches de compatibilité, mais il s’est avéré que c’était juste un faux positif et, au final, quelques commentaires ont été ajoutés au lieu de modifications de code.

Les statistiques des modifications sont raisonnables et elles sont sainement réparties. Nous avons les mises à jour habituelles d’architectures et de pilotes mais il y a en vérité plus de changements dans fs/ que dans le reste. C’est principalement dû à une mise à jour tardive de F2FS, pour laquelle j’ai décidé que je n’allais pas m’embêter à me mettre en colère, composée en grande partie de corrections propres, avec quelques nettoyages de code.

Et, vraiment, si les modifications de F2FS semblent importantes, c’est parce que le reste est vraiment petit.

Espérons que ça reste calme. Je note que ni Greg ni Davem ne m’ont finalement envoyé quelque chose pour la RC4, ce qui explique probablement pourquoi c’est calme et peu volumineux.

Linus

RC-5

La version RC-5 est sortie le 14 septembre 2014 :

Alors, j’aurais probablement dû décaler cette sortie à mercredi pour des raisons sentimentales : ça fera 23 ans que j’ai mis en ligne les sources de la 0.01. Mais je ne suis pas une personne très sentimentale, donc, tant pis. Je reste sur ma sortie normale du dimanche.

Et, comme je l’ai mentionné dans les commentaires de la RC4, la précédente version était assez petite, probablement parce que ni Greg ni Davem ne m’avaient envoyé de mises à jour cette semaine. Devinez quoi ? Les mises à jour de David sur la partie réseau sont arrivées une heure après la publication de la RC4 et, comme Greg est revenu cette semaine aussi, donc — surprise, surprise — la RC5 est plus grosse que la RC4 ne l’était.

Eh bien, c’était trop beau pour durer.

J’ai aussi eu un rapport d’une ancienne régression dans le dentry cache (depuis 3.10 — assez ancien) et cela a eu pour effet de me faire jeter un coup d’œil un peu plus poussé, et il y avait quelques autres cas spéciaux qui pouvaient nous faire fonctionner d’une manière non optimale. J’en ai corrigé une partie et Al a corrigé le reste. Donc, je l’espère, nous n’avons pas seulement corrigé la régression connue, mais nous faisons mieux qu’avant.

De toute façon, la taille de la RC5 impose que je ne fasse pas la publication trop tôt, ce qui veut dire que je vais devoir réfléchir à ce que je vais faire pour la prochaine période de fusion. Parce qu’il semble que cela va entrer en conflit avec mon voyage à la LinuxCon EU. Je n’ai pas encore décidé ce que je vais faire — je pourrais publier la 3.17 normalement, mais ne pas ouvrir la période de fusion à cause du voyage. Ou bien, s’il y a plus d’anomalies que ce que je pense, peut‐être que je décalerai la publication de la 3.17.

Nous verrons bien.

Peu importe, les changements de la RC5 sont pour la moitié des pilotes (réseau, processeurs graphiques, USB, entrées, ATA…) et pour le reste, c’est un mélange de mises à jour des systèmes de fichiers (le truc mentionné précédemment dans le cœur de la couche VFS, mais aussi des anomalies sur des exportations NFS trouvées par Al et divers autres trucs), d’achitectures (ARM, PA-RISC, s390) et du cœur réseau. Ainsi qu’une poignée d’autres. Le rapport résumé est ci‐joint.

En d’autres termes, tout semble normal, même si j’aurais préféré que la RC5 soit plus petite. Mais, au sujet de l’arrivée des modifications du réseau et des pilotes, je ne vais pas prétendre que c’était inattendu ou particulièrement effrayant. J’espère que c’est fini maintenant et que la RC6 et la RC7 seront plus calmes.

Touchons du bois.

Linus

RC-6

La version RC-6 est sortie le 21 septembre 2014 :

Ça a été calme — suffisamment pour qu’avec mon prochain voyage ce soit la dernière RC et que la version finale 3.17 sorte la semaine prochaine.

Bien sûr, cela dépend toujours des évènements — si nous avons quelque chose d’important qui arrive la semaine prochaine, j’aurai peut‐être à reporter la sortie. Mais, pour le moment, nous sommes dans les rails.

Le résumé des modifications est ci‐joint ; vu depuis trois mille mètres d’altitude cela semble normal : un peu plus de la moitié concerne les pilotes (pilotes graphiques, son, IIO, média, USB), un peu moins du tiers concerne les mises à jour d’architectures (ARM, MIPS, x86), et le reste concerne principalement les mises à jour de systèmes de fichiers (GFS2, CIFS, Btrfs, NFS).

Rien de particulier ne ressort et je ne suis au courant d’aucune grosse anomalie en attente. Donc, s’il vous plaît, allez le tester, parce que ça devrait être proche de la publication.

Linus

RC-7

La version RC-7 est sortie le 28 septembre 2014 :

J’avais vraiment espéré pouvoir garder la RC6 comme dernière RC et sortir la version 3.17 aujourd’hui, mais cela ne s’est pas produit. Rien de bien méchant, mais, franchement, les choses ne se sont pas calmées comme je l’avais espéré.

Et, même si mon plan de voyage aurait été bien plus agréable si j’avais pu faire une version plus-rapidement-que-d’habitude, le confort ne fait pas partie des critères pour sortir une version. Tant pis.

Cela signifie donc probablement (sauf circonstances exceptionnelles) que la semaine prochaine sera celle de la sortie de la version 3.17, et, qu’à cause des déplacements, je retarderai probablement l’ouverture de la fenêtre de fusion d’une semaine.

Je vais être très grognon si quelqu’un m’envoie des demandes d’intégration que je jugerais inappropriées en ce moment. Je ne pense pas que ce qu’il y a dans la RC7 soit dangereux, mais j’ai l’impression que certaines personnes ont attendu la dernière minute pour m’envoyer ce qui fait partie des correctifs « pas tout à fait tranquilles ». Si j’ai le même sentiment la semaine prochaine, je ferai mon malpoli habituel et déciderai probablement que vous avez manqué votre tour.

Bref, retour à la RC7. Il y a des choses de tous les côtés. La partie I²C des correctifs sort un peu du lot à cause de déplacement de code, mais, à part ça, les différences sont plutôt minimes. Environ 60 % pour les pilotes, le reste étant un mélange de documentation, architectures, systèmes de fichiers et réseau. Rien de particulier n’émerge, mais c’était trop gros pour sortir une version sans nouvelle RC.

Linus

La version finale

La version finale est sortie le 5 octobre 2014 :

Donc, la semaine dernière a été calme et je n’ai donc pas d’états d’âme à livrer la 3.17 selon le programme normal (à l’inverse du programme optimiste « je peux peut‐être livrer une semaine en avance » qui n’aurait pas dû exister).

Cependant, j’ai des voyages en vue — ce que j’espérais éviter lorsque je comptais encore livrer en avance. Ce qui veut dire que, même si la 3.17 est sortie, je ne vais pas commencer à intégrer activement la semaine prochaine, ni celle qui suit, pendant laquelle aura lieu LinuxCon EU

Ce qui veut dire que selon comment vous voyez les choses, la période d’intégration de la 3.18 sera soit de trois semaines ou bien démarrera tout doucement. Ça ne m’embête pas de recevoir des demandes d’intégration maintenant (en vérité j’en ai déjà quelques unes en attente dans ma boîte de réception), mais je ne commencerai probablement pas à les traiter avant une semaine.

Peu importe, retour à la 3.17. Rien d’important n’est arrivé durant la semaine dernière, comme vous pouvez le voir dans le résumé en pièce jointe. Principalement des pilotes (i915, Nouveau, Ethernet, SCSI, son) et quelques corrections sur le réseau ; avec quelques modifications diverses et variées.

Allez le tester,

Linus

Les nouveautés Architecture x86 : la génération Broadwell prend en charge le mode inactif

La future génération de processeurs de chez Intel, baptisée Broadwell est maintenant prise en charge dans le pilote idle de chez Intel. Après l’ajout de cette génération au pilote P-State dans la version précédente du noyau, c’est maintenant au tour du pilote idle d’en recevoir la prise en charge.

Pour rappel, le mode idle (inactif) d’un processeur correspond à l’état dans lequel il se retrouve lorsqu’il n’y a rien à faire. Un processeur peut passer la majorité de son temps à être inactif. Lorsque cela se produit, le noyau le passe en mode idle qui, pour la majorité des architectures, se traduit par une consommation énergétique réduite.

Nouvelles puces ARM Rockchip

Le dernier système mono‐puce de Rockchip, le RK3288, est maintenant pris en charge. Il s’agit de la première réalisation matérielle d’ARM Cortex-A17 effectuée par Rockchip. Gravé en 28 nanomètres, il dispose de quatre unités de calcul cadencées à 1,8 GHz, prend en charge la virtualisation ARM et la technologie LPAE. La puce contient un processeur graphique Mali-T764, un DSP permettant de gérer le décodage matériel du H.264 et H.265 jusqu’à 4K, ainsi qu’un crypto‐processeur qui prend en charge un bon nombre de crypto‐systèmes contemporains (AES 128 bits, SHA-1, SHA-256…). En bref, il fait tout, sauf repasser le linge !

La gestion des appareils ainsi que des diverses cartes de développements qui disposent d’un RK3288 sera prévue à partir de la prochaine version. Pour l’instant, les développeurs se concentrent essentiellement sur la prise en charge des cartes d’évaluation mises à disposition par Rockchip.

NVIDIA Tegra

Des travaux de partage d’infrastructure de code pour les puces NVIDIA Tegra ont été menés, afin de factoriser le plus de code possible entre les plates‐formes. Ceci est notamment réalisable grâce à l’utilisation du device tree.

La carte d’évaluation Tegra T30 Apalis est également prise en charge et dispose d’une arborescence matériel (device tree) au sein du noyau.

Texas Instruments

La carte d’évaluation pour les puces de la famille des AM437x fait son apparition. Le TI AM437x est une puce disposant de processeurs à haute performance basés sur des Cortex A9. Ce système mono‐puce peut s’interfacer avec des contrôleurs Ethernet Gigabit, un bus CAN, un écran tactile et dispose de 2 Gio de mémoire vive DDR3.

Ceci permet de prendre en charge les futures tablettes, cartes de développement et téléphones mobiles qui arriveraient avec les modèles de puces AM4379, AM4376 ou encore AM4378.

Allwinner

Destiné au marché des téléphones mobiles et annoncé en septembre 2013 par Allwinner, le A23 est désormais pris en charge. Double cœur, ARM Cortex A7 cadencé à 1,5 GHz et équipé d’un processeur graphique Mali-400 MP2, il s’agit d’une version basse consommation du A20. Notez toutefois qu’il est ici question d’un début de prise en charge, la communauté sunxi étant comme celle de Rockchip, essentiellement maintenue par des passionnés et des bénévoles.

La carte de développement Hummingbird, équipée d’un Allwinner A31 est également de la partie.
Destinée aux développeurs, elle dispose d’un Cortex A7 quadri‐cœur, d’un processeur graphique PowerVR SGX544 MP2, de 1 Gio de mémoire vive en DDR3, 8 Gio de mémoire Flash interne, d’une connexion Ethernet Gigabit et d’une connexion Wi‐Fi 802.11n.

Fin de la prise en charge de certaines architectures

Les vieilles architectures POWER3 et RS64 ne sont plus prises en charge par le noyau. Ces architectures ne fonctionnaient manifestement plus depuis plusieurs versions et personne ne l’a remarqué. La prise en charge des processeurs Samsung S5P6440, S5P6450, et S5PC100 (des processeurs ARMv6 et ARMv7 sortis en 2009) a également été supprimée.

memfd : descripteur de fichier pointant vers une zone de mémoire scellée

L’un des quatre appels système ajoutés dans cette version est memfd_create(). Il introduit le concept de sceau (seal) pour rendre plus simple l’utilisation de zones de mémoire partagées.

Lorsque deux processus veulent partager une zone de mémoire, ils s’assurent généralement que certaines propriétés sont respectées pour que les accès soient valides :

  • il ne faut pas qu’un processus écrive par dessus les données en train d’être lues par un autre ;
  • il ne faut pas qu’un processus réduise la taille de la zone de mémoire partagée pendant qu’un autre y accède ;
  • il ne faut pas qu’un processus étende la zone partagée au‐delà de la limite initiale.

Ces propriétés sont généralement vraies si les deux processus qui échangent des données sont de confiance. Mais ce n’est plus nécessairement le cas si l’on souhaite utiliser le partage de mémoire comme méthode générique de communication inter‐processus. Voici deux exemples :

  • Une application graphique veut partager avec le serveur graphique la zone de mémoire dans laquelle elle effectue le rendu du contenu d’une fenêtre. L’application cliente se charge d’allouer l’espace mémoire et transmet un descripteur de fichier au serveur. Lorsque celui‐ci voudra lire le contenu à afficher sur l’écran, il ne pourra jamais être sûr que le client ne sera pas en train de manipuler le contenu ou la taille de la zone de mémoire partagée. S’il réduit la taille du tampon, le serveur devra gérer le signal SIGBUS, ce qui ajoute une complexité non négligeable.

  • Un processus veut faire appel à une fonction d’un autre processus. Pour éviter d’avoir à recopier une quantité potentiellement importante d’information en mémoire, le principe de « zéro copie » (partage mémoire) est préférable. Sauf qu’une fois que la zone de mémoire est partagée entre deux processus, le processus appelant n’a plus de garantie quant à son usage par l’autre processus. Cette situation oblige chaque processus à garder une copie des données qu’il partage et empêche donc tout fonctionnement en mode zéro copie.

Il existe trois méthodes pour contourner ces problèmes (le signal SIGBUS, les verrous POSIX et le drapeau obsolète MAP_DENYWRITE de l’appel mmap()), mais chacune a des inconvénients majeurs (gestion des signaux dans le cas des bibliothèques, accès concurrents, déni de service).

C’est ici qu’intervient le concept de sceau. Ils permettent d’indiquer qu’une fois posés sur un descripteur de fichier, certaines opérations ne peuvent plus être effectuées. Il n’est pas possible de les supprimer, ce qui permet à un programme de s’assurer sans ambigüité de l’impossibilité de certaines opérations.

Les sceaux introduits sont les suivants :

  • SHRINK : la taille d’un partage mémoire ne peut plus être réduite par un appel à ftruncate() ou open(O_TRUNC) ;
  • GROW : la taille ne peut plus être augmentée par un appel à ftruncate(), fallocate() ou write() ;
  • WRITE : aucune opération d’écriture n’est désormais possible (fallocate(PUNCH_HOLE), mmap() et write()) ;
  • SEAL : plus aucun nouveau sceau ne peut être ajouté.

Cette fonctionnalité permet de simplifier significativement l’utilisation des partages mémoire dans les cas sus‐cités. Pour s’en servir, il faut donc utiliser l’appel système memfd_create() pour créer des fichiers prenant en compte cette opération.

Les zones de mémoire scellées sont une composante essentielle du projet kdbus, qui vise à remplacer le démon D-Bus en espace utilisateur par une implémentation beaucoup plus efficace dans le noyau. D’autres détails et des exemples sont disponibles via les liens suivants : memfd_create(2), correctifs [1] et [2], documentation provisoire de kdbus.

Pilotes graphique libres DRM (Direct Rendering Manager)

Après des mois de discussion, Maarten Lankhorst a enfin réussi à faire accepter ses modifications afin de permettre à un pilote graphique d’attendre qu’un autre pilote ait fini de faire un rendu avant de continuer son exécution. Cette interface de programmation (API) de fencing sera probablement utilisée en conjonction de DMA-buf dans Linux 3.19 afin de permettre de synchroniser le rendu dans le cas d’utilisation de la technologie Optimus ou dans les systèmes mono‐puces. Certaines personnes ont essayé de limiter cette interface de programmation aux modules GPL, mais sans succès.

La gestion des nœuds de rendu (render nodes) qui avait été ajoutée dans Linux 3.12 vient d’être activée par défaut. Pour mémoire, cela permet à des applications d’utiliser le processeur graphique sans avoir besoin de communiquer avec un serveur d’affichage.

Pour finir, la gestion de la rotation des plans graphiques fait également son entrée dans Linux 3.17.

Pour plus d’informations, vous pouvez consulter la demande d’intégration.

AMD/ATI (pilote radeon)

Peu de nouveautés du côté de Radeon pour cette nouvelle version, puisque la seule nouvelle fonctionnalité est la prise en charge de la mise à l’échelle intégrée à certains écrans permettant de dispenser le processeur graphique de cette tâche.

Une nouvelle version des en‐têtes des micro‐codes a été ajoutée pour simplifier leurs mises à jour.

Il y a cependant beaucoup de corrections de bogues. Par exemple, la gestion énergétique DPM est maintenant activée par défaut sur les familles Cayman et BTC.

Pour plus d’informations, vous pouvez consulter la demande d’intégration radeon.

Intel (i915)

La nouveauté principale de cette version est l’activation par défaut du Panel Self‐Refresh (PSR) pour les liens eDP des processeurs graphiques Haswell et Broadwell. Cette activation a nécessité un travail de fond sur le suivi précis du tampon avant (front buffer) qui a eu pour effet de pouvoir également activer la compression du tampon de trame (frame buffer) sur toutes les plates‐formes, le PSR sur Baytrail et le changement dynamique de taux de rafraîchissement (DRRS). Cela devrait permettre de diminuer la consommation énergétique.

Toujours du côté de l’économie d’énergie, l’alimentation des processeurs graphiques sera maintenant désactivée lorsque l’écran est en veille (DPMS OFF). Les modifications pour obtenir cette fonctionnalité ont été très invasives, mais elles préparent également l’arrivée de la gestion du mode d’affichage atomique.

La plate‐forme Baytrail a également reçu beaucoup d’attention pour la gestion du lien graphique DSI, la gestion du rétro‐éclairage, le séquenceur matériel et la gestion de la commutation de page (page flipping).

Pour finir, la gestion des modes d’affichage en espace utilisateur (UMS) est maintenant désactivée par défaut. Le code sera supprimé du noyau dans une prochaine version si personne ne se plaint. La gestion des modes d’affichage par le noyau (KMS) devient donc la seule façon de gérer l’écran sur tous les pilotes libres majeurs (Intel, Nouveau et Radeon).

Pour plus d’informations, vous pouvez consulter l’article de Daniel Vetter sur Linux 3.17.

NVIDIA (pilote nouveau)

Une fois n’est pas coutume, la demande d’intégration pour le pilote Nouveau n’a pas été envoyée par Dave Airlie (mainteneur DRM), mais par Ben Skeggs directement. Ce retard a été causé par un bogue qui est devenu beaucoup plus présent avec le nouveau code et qui a pris énormément de temps à être identifié, ce qui a empêché Ben de donner son code à temps à Dave. Du coup, Ben a envoyé le code directement à Linus qui l’a accepté sans problème.

La nouveauté la plus visible de cette nouvelle version est l’amélioration de la gestion du GK20A, le processeur graphique intégré au Tegra K1. Celui‐ci sera maintenant détecté directement par Nouveau grâce à un nouveau module appelé nouveau_platform qui s’occupe d’amener du courant au processeur graphique et d’activer l’horloge [commit]. Le GK20A a également reçu la gestion du recadencement (reclocking) manuel [commit].

Certains processeurs graphiques démarrent avec le processeur graphique principal désactivé. Après avoir demandé de l’aide, NVIDIA a donné un peu de documentation sur comment réactiver ce processeur [commit].

La gestion d’une fonctionnalité d’effacement de texture n’utilisant pas de bande passante mémoire, appelée Zero‐Bandwidth Clear, a été ajoutée au noyau. Pour vraiment en tirer parti, il est nécessaire d’ajouter sa prise en charge dans l’espace utilisateur, même si certaines rares applications peuvent déjà en tirer parti sans modifications.

Pour finir, il est maintenant possible d’accéder à une partie de l’interface interne de nouveau-drm depuis l’espace utilisateur, ce qui permet d’éviter de devoir écrire des ioctl() pour chaque nouvelle fonctionnalité. Cela permet maintenant d’utiliser les compteurs de performance ou encore la nouvelle fonctionnalité de Zero-Bandwidth Clear. Son petit nom est nvif.

Les processeurs graphiques des systèmes mono‐puces ARM

Voici les demandes d’intégration des principaux processeurs graphiques embarqués :

Réseau IPv6 Étiquettes de flux automatiques

Si vous n’avez jamais entendu parler des étiquettes de flux de flux (flow label) en IPv6, c’est probablement normal. Ce champ a été ajouté dès le début des spécifications du protocole, mais il a fallu du temps pour qu’un consensus émerge sur son utilisation. Les règles les plus récentes sont dans la RFC 6437 et il y a déjà des demandes pour obtenir des exceptions à ces règles. Pour résumer, l’idée de ce champ est de simplifier l’identification d’un flux réseau, qui est habituellement défini avec les ports source et destination en compléments des adresses IP. Avec l’étiquette, on peut avoir un flux en lisant uniquement les en‐têtes IP, ce qui facilite énormément le traitement.

Au‐delà des standardisations de ce qu’un nœud du réseau IPv6 a le droit de faire ou de ne pas faire, l’IETF a « oublié » de spécifier comment un système d’exploitation devait gérer la communication pour les étiquettes de flux entre la partie utilisateur et l’espace noyau, y compris dans l’API avancée. Chaque système d’exploitation a donc fait son truc dans son petit coin. Le noyau Linux, qui nous intéresse, a probablement le système le plus ancien (depuis le noyau 2.2.7) et le plus complet, qui permet une gestion fine entre l’espace utilisateur et le noyau.

Concrètement, chaque utilisateur peut demander une étiquette sur un flux, gérer les permissions de cette étiquette (la partager avec tous, avec l’application, avec personne…), gérer son temps de vie, etc. Ce serait très bien si c’était utilisé, mais ce n’est pas du tout le cas (notamment car cette API ne se retrouve que sur le noyau Linux).

Un développeur de Google a donc proposé de se rapprocher du fonctionnement des noyaux BSD, en ajoutant l’option auto_flowlabels au noyau via sysctl. Cette option permet de générer une étiquette de flux aléatoire pour chaque connexion (un socket TCP, un socket UDP…) du système, ainsi que l’option de socket IPV6_AUTOFLOWLABEL permettant d’activer ou désactiver ce comportement sur chaque socket. À noter que ce fonctionnement n’est toujours pas standard, mais il est bien plus simple et est compatible avec les noyaux BSD.

Comme ce mode n’est pas compatible avec l’existant (il ne tient pas compte des permissions du gestionnaire historique), il est désactivé par défaut.

Le même développeur a également ajouté de quoi profiter immédiatement de cette option, en utilisant l’étiquette de flux pour reconnaître un flux, plutôt que de lire les en‐têtes de la couche transport.

Plus de contrôles sur les générations d’adresses

En IPv6, le noyau se charge lui‐même de générer les adresses sur une interface réseau. L’espace utilisateur n’a pas beaucoup de contrôle : le noyau génère automatiquement des adresses locales et, s’il reçoit des annonces de routeurs, il se configure en conséquence (sauf configuration contraire pour ce dernier point).

Ce comportement est très gênant pour des outils comme NetworkManager ou pour des équipements particuliers avec un micro‐logiciel contrôlant la partie réseau. Une option a donc été ajoutée pour que l’espace utilisateur puisse choisir entre différents modes pour générer les adresses. Actuellement, le choix est restreint à « ne fait rien » et « fait l’auto-configuration comme avant ». On pourrait cependant en imaginer d’autres.

Accepter les RA avec adresses locales

Les développeurs ne manquent pas d’imagination pour ajouter des options sysctl dans le dossier /proc/sys/net/ipv6/, et c’est cette fois pour un cas d’usage assez particulier. Ce correctif permet d’accepter une annonce de routeur qui provient d’une adresse configurée en local sur votre équipement. Le cas d’usage est cependant assez limité.

Netfilter Disparition de ulog

Pour rappel, la cible Netfilter ulog permettait de surveiller des évènements réseau dans le journal du noyau. Un cas extrême serait :

iptables -A INPUT -j ULOG

Cette cible est marquée comme obsolète depuis longtemps, un message est envoyé dans le journal du noyau à chaque utilisation. Sa remplaçante, NFLOG, est disponible depuis 2006. Il a donc été décidé de la supprimer, ce qui permet de diminuer la quantité de code à maintenir.

Log de paquets Ethernet

La suppression de ULOG n’est pas que la partie émergée de l’iceberg concernant les modifications du journal système de Netfilter. On peut notamment citer l’ajout de la surveillance des paquets ARP.

La traduction d’adresses indépendante de iptables

Depuis l’introduction de nftables, on peut dire que le noyau Linux a deux pare‐feux. Certaines fonctionnalités utilisent cependant les mêmes outils, notamment pour la traduction d’adresses (NAT). La dépendance de la traduction d’adresses aux outils iptables a donc été supprimée, permettant de compiler un noyau avec nftables prenant en charge la traduction d’adresses, sans iptables.

Bluetooth

La partie Bluetooth a énormément évolué, avec plus de 250 correctifs entre juin et août. Beaucoup de travail a été fait sur le Bluetooth low energy, notamment la scrutation en arrière plan, l’auto‐connexion en arrière plan et la capacité à lire les horloges Bluetooth.

Dans le même temps, le protocole 6LoWPAN a désormais son propre module et son propre dossier.

Pilotes

Intel a ajouté les pilotes pour la FCoE sur ses cartes XL710 à 10 et 40Gb/s.

Quelques cartes Broadcom ont désormais un pilote.

Autres petites nouvelles

Le protocole SCTP avait reçu une extension de son API dans la RFC 6458. Voilà des modifications qui couvrent les sections 5.3.2, 5.3.4, 5.3.5, 5.3.6 et 8.1.31.

Pour les fans de performances, la partie pktgen a reçu quelques optimisations : correctif1 et correctif2

Sécurité Capacités

Dans certains cas, des capacités non définies pouvaient empêcher certains processus d'utiliser l'appel ptrace sur leurs fils par exemple. Ce problème était difficile à débugger parce que les capacités n'étaient pas visibles dans /proc/$PID/status. Celles-ci sont dorénavant visibles et tous les processus ne peuvent maintenant plus avoir de capacités non définies [correctif].

Liste non exhaustive des vulnérabilités corrigées Gestion du sous‐système d’audit pour l’architecture ARM64

L’architecture ARM64 peut utiliser le sous‐système d’audit [correctifs : 1, 2].

Appel système getrandom()

L'appel système getrandom(2) a été introduit suite aux demandes formulées par les développeurs de la version portable de LibreSSL, le fork d'OpenSSL par les développeurs d'OpenBSD. Son comportement est similaire à l'appel système getentropy sous OpenBSD : il permet de récupérer une quantité définie de données aléatoires.

Il était déjà possible d'obtenir des données aléatoires sous Linux en effectuant un appel système read sur /dev/urandom, mais un nouvel appel système était nécessaire dans les cas où la limite de descripteurs de fichiers ouverts était atteinte par un processus. En effet, une fois cette limite atteinte, il n'est plus possible d'ouvrir /dev/urandom pour récupérer de l'entropie ce qui forçait l'utilisation d'algorithmes peu sûrs dans la bibliothèque LibreSSL. Ce cas de figure va donc pouvoir être complètement éliminé.

Avec cet appel système, il est aussi possible d'attendre que la quantité d'entropie accumulée par le système soit suffisante pour que la « pool » d'entropie soit correctement initialisée avant de recevoir des données aléatoires. Cette solution a été privilégiée car elle introduit cette sémantique sans changer le comportement de /dev/urandom.

Une page de manuel partielle est disponible dans le message de commit en attendant qu'elle soit ajoutée aux pages officielles [correctif, Article LWN : A system call for random numbers: getrandom()].

Filtres seccomp pour les programmes multi-threads

Un second appel système a été ajouté pour gérer les filtres « seccomp ». Il s'ajoute à l'interface utilisant l'appel prctl(), qui ne devrait plus évoluer à présent. Toutes les fonctionnalités seront donc disponibles avec l'appel système qui est plus extensible.

Celui-ci permet de synchroniser les filtres seccomp définis pour tous les threads d'un processus. Dans certains cas, des threads pouvaient être créés par des bibliothèques avant qu'un processus n'ait commencé son exécution. Il n'était alors pas possible d'appliquer de filtre seccomp à ces threads. Cette fonctionnalité résout donc cette situation en forçant les autres threads à utiliser le filtre seccomp du thread effectuant l'appel.

Une page de manuel est aussi prévue pour ajout dans le projet officiel : seccomp(2) [correctifs : 1, 2, Article LWN : Seccomp filters for multi-threaded programs].

Amélioration de kexec pour le mode UEFI secure boot

Un troisième appel système kexec_file_load() a été ajouté. Il permet au noyau en cours d'exécution de vérifier la signature d'un noyau à exécuter avant de faire appel à kexec pour démarrer avec. Cela va permettre d'autoriser l'utilisation de l'appel kexec pour les systèmes fonctionnant avec l'UEFI secure boot activé. L'article Subverting security with kexec sur le blog de Matthew Garrett explique pourquoi cette modification est nécessaire [correctifs : 1, 2, 3, 4 ; Article LWN : Reworking kexec for signatures].

Cryptographie

La gestion du générateur déterministe de nombres aléatoires SP800-90A, spécifié par le NIST a été ajoutée : [voir correctif].

Il est aussi possible d'analyser des données signées avec PKCS#7 et de vérifier leur signature [correctifs: 1, 2, 3, 4, 5, 6, 7, 8, 9].

LSM

Un nouveau point d'ancrage LSM a été ajouté dans la fonction chargée du chargement d'un firmware binaire dans le noyau. Il permet, par exemple, aux modules de vérifier l'intégrité de ces firmwares avant qu'ils soient acceptés et utilisés par le noyau [correctif]. Il peut être utilisé par tous les modules de sécurité mais c'est pour l'instant le module IMA qui en fait usage.

IMA & EVM

Le module de sécurité IMA utilise donc le nouveau point d'ancrage LSM pour vérifier l'intégrité des firmwares chargés dans le noyau [correctif].

Les clés utilisées par IMA sont stockées dans un trousseau de clés du noyau spécifique « .ima ». Une option de configuration permet d'imposer que ces clés soient signées par une clé de confiance déjà présente dans le trousseau de clés du système [correctif].

Les sommes de contrôle des fichiers surveillés par IMA peuvent désormais être calculées de façon asynchrone par un accélérateur cryptographique matériel dédié ce qui permet de gagner en performance et consommation d'énergie pour les fichiers de taille notable [correctifs : 1, 2].

SELinux

Le code gérant les labels SELinux liés aux interactions réseau a été nettoyé [correctifs : 1, 2, 3].

Nettoyages et optimisations diverses [correctif], correction d'une potentielle prise de verrou récursive [correctif].

TOMOYO

Un problème pouvant empêcher les systèmes utilisant le système de fichiers ext4 de démarrer a été corrigé [correctif].

Optimisation mineure lorsque le sous système d'audit est activé [correctif].

Trousseaux de clés

Il est à nouveau possible d'invalider manuellement les clés « temporaires » utilisées notamment par AFS, CIFS et NFS [correctif].

La taille par défaut du trousseau a été significativement augmentée, suite à son l'utilisation par les clients NFS pour stocker les association UID/GID [correctif].

Systèmes de fichiers F2FS

Samsung travaille toujours sur son petit dernier et en a nettoyé le code pour limiter un peu la contention au niveau des verrous logiques.

L'option nobarrier permet maintenant de désactiver le write barrier si nécessaire. En temps normal, cette fonctionnalité permet de laisser le système de fichiers décider quand et comment écrire les données du cache sur le disque au meilleur moment pour être plus sûr. Néanmoins, nobarrier peut améliorer les performances, au prix d'une sécurité moindre.

Enfin, la fonctionnalité tmpfile est maintenant implémentée : elle permet de créer un fichier temporaire unique qui se détruit à la fin de l’exécution du programme qui l'a créé.

NFS

Le client NFS gère désormais la recherche utilisant un algorithme RCU, améliorant ainsi les performances de recherche dans le cas où les données à chercher sont dans le cache.

XFS

À côté des corrections habituelles, XFS se dote enfin d'une interface pour sysfs. Pour rappel, sysfs est la solution de système de fichiers virtuels du noyau pour unifier la manière dont sont remontées les informations des pilotes dans l'espace utilisateur — XFS ne fait que rattraper un manque dans ce domaine. Pour le moment, seul un petit nombre de paramètres sont disponibles, principalement à des fins de test.

Btrfs

Présent dans les version 3.15 et 3.16, alors que Btrfs commençait à utiliser les workqueues, un interblocage pouvait apparaître dans un cas spécifique, mais qui est malgré tout apparu. Et bien cette version toute fraîche voit sa résolution livrée !

À côté d'une amélioration des opérations de rename et truncate, également susceptibles de créer un interblocage (passé inaperçu jusqu'ici), s'inspirant de la meilleure solution connue venant d'ext4, Btrfs améliore les résultats renvoyés par la command df pour les cas de RAID 1 !

En effet, de par sa structure particulière, l'estimation de l'espace libre restant d'une partition a toujours été moins bonne que pour ext4, par exemple.

L'amélioration des valeurs pour les cas de RAID 5/6 sera traitée ultérieurement.

Enfin, quelques corrections de bogues habituelles parsèment le code çà et là.

Autres

UDF, ReiserFS et ext2 ont eu droit à des correctifs mineurs et récurrents.

Virtualisation KVM

Les fonctionnalités ont été ajoutées via deux demandes d’intégration, une pour le x86, le MIPS et le s390, et une autre pour ARM, et PowerPC. On y retrouve les changements suivants :

  • la virtualisation avec KVM fonctionne maintenant sur les systèmes ARM « gros‐boutistes », aussi bien en 32 bits qu’en 64 bits ; il est possible d’émuler le contrôleur d’interruptions dans une autre version que celle du matériel ;
  • beaucoup de correction de bogues sur les hôtes « petits‐boutistes » pour le PowerPC et l’activation de la virtualisation matérielle sur ceux‐ci ; la prise en charge des PowerPC 440 (sortis en 1999) est abandonnée ;
  • pour le MIPS et le s390, il n’y a que quelques corrections de bogues mineures ;
  • pour l’architecture x86, la virtualisation imbriquée est améliorée, des optimisations ont été apportées sur les « vieux processeurs » jusqu’au Nehalem (architecture Intel sortie en 2008).
Xen

On ne retrouve que quelques corrections de bogues et pas de nouvelles fonctionnalités.

Pages de manuel

On en profite pour noter la sortie d’une nouvelle version des pages de manuel, la 3.73. Les principales nouvelles pages sont :

  • namespaces(7) : vue d’ensemble des espaces de noms (namespaces) disponibles sous Linux ;
  • pid_namespaces(7) : description de celui lié aux identifiants de processus ;
  • user_namespaces(7) : description de celui lié aux utilisateurs.

Tous les détails sont sur le blog du mainteneur Michael Kerrisk. Pour rappel, les pages de manuel de Linux sont aussi disponibles sur le site du projet.

On notera l’absence des pages de manuel des appels système introduits par cette version. Leur inclusion sera probablement effective dans la prochaine version.

Le bilan en chiffres

En ce qui concerne les statistiques du cycle de développement de Linux 3.17, on peut se référer à la page dédiée du site remword.com qui compile des statistiques relatives au développement de Linux.

Le nombre final de correctifs incorporés dans cette version est de 12 353, soit légèrement en dessous des 12 802 correctifs de la précédente. Ces ajouts sont le résultat du travail d’environ 1 475 développeurs soit, là encore, une légère baisse par rapport aux 1 527 développeurs du noyau précédent.

C’est à nouveau Intel qui occupe la tête du classement des entreprises avec 10,21 % des correctifs, suivi par Red Hat (7,93 %). Les employés de la Linux Foundation ont signé le plus de correctifs avec 12,21 %, devant Red Hat avec 12,15  % et 10,77 % pour Intel.

Les hobbyistes occupent comme d’habitude la troisième place, avec 5,63 %, si l’on ne comptabilise pas les contributeurs dont l’affiliation est inconnue, qui représentent 24,37 % des contributions. Le développement de Linux est donc majoritairement sponsorisé par des entreprises, mais il reste encore de nombreux passionnés qui font ça pour eux.

Jonathan Corbet a réalisé un article détaillant l’évolution du nombre de contributeurs au noyau entre les versions 3.15 et 3.17 : Who wrote 3.15 through 3.17.

Appel à volontaires

Cette dépêche est rédigée par plusieurs contributeurs dont voici la répartition :

Mainteneur Contributeur(s) La phase de test Aucun Julien Pecqueur Arch Romain Perier Pilotes graphiques libres Martin Peres Réseau Florent Fourcot Systèmes de fichiers Aucun Jiehong Sécurité Timothée Ravier Virtualisation Xavier Claude Édition générale Aucun Timothée Ravier, Martin Peres, Davy Defaud

Un peu de vocabulaire :

  • le mainteneur d’une section de la dépêche est responsable de l’organisation et du contenu de sa partie, il s’engage également à l’être dans le temps jusqu’à ce qu’il accepte de se faire remplacer ;
  • un contributeur est une personne qui a participé à la rédaction d’une partie d’une section de la dépêche, sans aucune forme d’engagement pour le futur.

Malgré cette équipe importante, beaucoup de modifications n’ont pas pu être expliquées par manque de temps et de volontaires. Si vous aimez ces dépêches et suivez tout ou partie de l’évolution technique du noyau, veuillez contribuer dans votre domaine d’expertise. C’est un travail important et très gratifiant qui permet aussi de s’améliorer. Il n’est pas nécessaire d’écrire du texte pour aider, simplement lister les commits intéressants dans une section aide déjà les rédacteurs à ne pas passer à côté des nouveautés. Essayons d’augmenter la couverture sur les modifications du noyau !

Télécharger ce contenu au format Epub

Lire les commentaires

Install Party GNU/Linux le 25 octobre 2014 à Marseille

Lundi 13 Octobre

L'association CercLL (CercLL d'Entraide et Réseau Coopératif autour des Logiciels Libres) vous invite à une install-party GNU/Linux, le samedi 25 octobre 2014 de 14h30 à 19h30, dans la salle de la Fabulerie au 4 rue de la bibliothèque 13001 Marseille.

Vous avez envie de découvrir un système d'exploitation libre, simple d'utilisation, stable, rapide et sécurisé ? Une nouvelle façon d'utiliser votre ordinateur ? Vous vous sentez une affection naissante pour le Gnou et le Manchot, les mascottes de GNU/Linux ? Venez avec votre ordinateur nous installerons ensemble une distribution GNU/Linux avec un ensemble de logiciels libres et gratuits pour une utilisation quotidienne.

Entrée libre- accessible aux débutants-e-s.

Au programme:

  • Découverte de l'univers des logiciels libres ;
  • Installation d'un environnement GNU/Linux, ainsi que le meilleurs des logiciels libres ;
  • Démonstration de jeux vidéo sous Linux.

Télécharger ce contenu au format Epub

Lire les commentaires

À nouveau le temps des communs en octobre 2015

Lundi 13 Octobre

En 2013, 200 événements avaient été organisés dans une quarantaine de villes francophones à travers le monde pour explorer et faire connaître toute la diversité des communs (ressources créées, gérées et partagées collectivement par une communauté). Ses acteurs ont imaginé pour 2015 un événement encore plus ambitieux, dans l’idée de toujours mieux populariser l’approche par les communs comme levier majeur de la transition vers un monde durable.

Chaque ville, chaque territoire, chaque collectif local, désireux d’être partie prenante de ce nouveau « temps des communs » (du 5 au 18 octobre 2015) pourra, comme en 2013, inscrire librement des événements dans le programme de la quinzaine ; un temps fort partagé, le samedi 10 octobre, est prévu afin de pouvoir la rendre plus visible au plan national.

L'annonce initiale évoque aussi une articulation avec « Remix the commons » et « SavoirsCom1 », un agenda des usages locaux, une cartographie des initiatives, opération de collecte des « recettes libres » et contenus pédagogiques sur les communs, une organisation d’une conférence TEDx, une conception d’un MOOC pour les communs et une recherche de financements publics et privés pour le travail de préparation, de communication et de coordination de l’événement

Télécharger ce contenu au format Epub

Lire les commentaires

Campagne de financement communautaire pour Odoo

Dimanche 12 Octobre

Odoo vient de lancer une campagne de financement participatif sur la plateforme Indiegogo. L'objectif est de développer des thèmes basés sur bootstrap pour l'application de création de sites web et de boutiques en ligne. En seulement 3 jours, la campagne a déjà atteind 300% de l'objectif initial.

Ce financement va permettre de développer 70 nouveaux blocs de construction pour les pages web, un manuel pour les développeurs et les designers ainsi que 50 thèmes prêts à l'emploi. L'objectif est de permettre aux entreprises de créer de beaux sites web dynamiques en quelques clics.

NdM : en octobre/novembre 2013, une première campagne avait réuni 30 k€ (150% du montant prévu) pour développer une passerelle (PosBox) entre des périphériques et le site web Odoo (à l'époque nommé OpenERP). Voir la dépêche de l'époque

L'application de gestion de contenu libre d'Odoo, sortie en v8 il y a 4 semaines, apporte énormément de nouveautés par rapport aux autres outils libres. On peut citer l'édition des contenus sans passer par une interface d'administration, la création de pages avancées grâce aux blocs de construction en glisser/déposer, des fonctionnalité dynamiques rendues simples, une gestion des langues efficaces et une grande couverture fonctionnelle pour les entreprises grâce à l'intégration avec les autres applications d'Odoo. Depuis février de cette année, déjà 600.000 pages web ont été créées grâce à Odoo.

L'objectif est que les entreprises puissent créer des sites web avec toutes fonctions nécessaires en quelques heures seulement. Les thèmes et blocs de construction sont la brique manquante pour y parvenir.

Les blocs de construction fonctionnent en glisser/déposer et permette de gérer des actions dynamiques sans devoir passer par une interface d'administration compliquée. En exemple, voici l'outil de construction de formulaires:

Télécharger ce contenu au format Epub

Lire les commentaires

Club de la Presse : Petit déj’ de la com « Les logiciels libres »

Dimanche 12 Octobre

Fruit du récent partenariat entre les deux associations Montpel’libre et Club de la Presse, nous allons vous proposer lors de ce trimestre toute une suite de rendez-vous : des Petits déj’ de la com et des Trainings pour vous présenter les qualités des logiciels libres et pourquoi les adopter au quotidien, dans votre entreprise, au bureau, chez vous, pour vos loisirs, en somme les logiciels libres pour tous, tout de suite.

Le prochain rendez-vous de découverte des logiciels libres est le 14 octobre à Montpellier.

Montpel’libre est une association qui fait la promotion des logiciels libres sur l’ensemble de la région Languedoc-Roussillon et parfois même bien au-delà.

Le Club de la presse de Montpellier-Hérault-Languedoc-Roussillon, fondé en 1984, est né de la volonté de quelques journalistes, rejoints quelques années après par les professionnels de la communication. Le but est d'être un lieu d'échange et de partage, de défense de la profession, de réflexion sur l'évolution de nos métiers, et le meilleur relais d'information pour ses membres.

« Les logiciels logiquement libres » devise de l'association Montpel'libre.

Les logiciels libres sont souvent méconnus, alors qu'ils sont accessibles à tous. Traitement de texte, tableur, infographie 2D et 3D, etc. : tous les logiciels sont disponibles gratuitement.

Venez les découvrir !

Le programme au Club de la Presse pour le trimestre prochain :
  • Petit déj’ de la com « Les logiciels libres »
    • Mardi 14 octobre 2014 de 8h30 à 10h00/10h30
  • Petit déj’ de la com « Install-Party »
    • Mardi 18 novembre 2014 de 19h30 à 21h00
  • Training « logiciels libres en image 2d et 3d »
    • Jeudi 27 novembre 2014 de 19h30 à 21h00
  • Training « logiciels libres en bureautique »
    • Mardi 9 décembre 2014 de 19h30 à 21h00
Télécharger ce contenu au format Epub

Lire les commentaires

Portes ouvertes chez SOLIX-Sologne Linux

Vendredi 10 Octobre

Solix, en partenariat avec l’association ADEIF Vidéo, organisera le samedi 18 octobre 2014 ses portes ouvertes. Vous pourrez venir y découvrir nos deux associations, tester nos activités et assister à des démonstrations.

Nous vous attendons nombreux, dans nos locaux, 32 place de la paix à Romorantin Lanthenay (Ancien centre administratif)

Télécharger ce contenu au format Epub

Lire les commentaires

Présentation et installation Emmabuntüs et Logiciels Libres le 11 octobre 2014 à Montpellier

Vendredi 10 Octobre

Dans le cadre de notre partenariat avec la communauté Emmaüs de Montpellier, l’équipe de Montpel’libre vous donne rendez-vous chez Emmaüs samedi 11 octobre 2014 de 14h00 à 17h30 pour une journée d’information et de sensibilisation à l’utilisation des Logiciels Libres. Nous vous présenterons Ubuntu et bien sûr l’une de ses dérivées Emmabuntüs.

Vous désirez un ordinateur à votre service ? Vous désirez un ordinateur qui va vite ? Vous désirez un ordinateur qui ne communique aucune donnée à des inconnus ? Vous désirez un ordinateur qui n’a pas besoin d’antivirus ?

Venez à la boutique informatique d'Emmaüs ! Vous y rencontrerez des personnes qui sont là pour vous parler de Logiciels Libres, une équipe de passionnés prête à répondre à vos questions et vos attentes. Vous pourrez acheter un ordinateur reconditionné, déjà installé et configuré avec la distribution Emmabuntüs, prêt à être utilisé. Les prix sont très attractifs. Toutes les sommes sont intégralement encaissées par la communauté Emmabuntüs.

  • Samedi 11 octobre 2014 de 14h00 à 17h30
  • Communauté Emmaüs Montpellier-Saint-Aunès, La Vieille Cadoule, 34130 Saint-Aunès
  • GPS Latitude : 43.649363 | Longitude : 3.991591
  • Un covoiturage est organisé au départ de la rue du Faubourg de Nîmes à 11h00.
  • Rendez-vous mensuel, le deuxième samedi.
Télécharger ce contenu au format Epub

Lire les commentaires

Les vidéos et slides de Kernel Recipes 2014 sont en ligne

Vendredi 10 Octobre

La 3e édition de Kernel Recipes a eu lieu les 25 et 26 septembre à Paris.

Une centaine de participants se sont déplacés pour une quinzaine de conférences. Beaucoup d'échanges et de discussions ont fait la réussite de ces journées. Nous avons même assisté à une discussion improvisée sur la gestion des alertes sécurité dans le noyau entre Greg KH et Willy Tarreau. L'occasion également pour certains membres du projet de se rencontrer pour la première fois.

Le kernel diner a également fait salle comble avec une cinquantaine de participants.

L'ensemble des slides et vidéos des conférences et lightning talks sont maintenant en ligne.

Un grand merci encore aux intervenants qui ont permis la réussite de cette édition et également aux sponsors (Gandi, HaProxy Technologies, Mozilla, Parrot, SUSE) et rendez-vous pour la 4e édition de Kernel Recipes, en septembre 2015.

Télécharger ce contenu au format Epub

Lire les commentaires

Soirée conception 3D à Brive-la-Gaillarde

Vendredi 10 Octobre

Mercredi 22 octobre à partir de 20h, soirée conception 3D avec l'association Corrèze Elab au Maryland, 13 rue Saint Martin à Brive-la-Gaillarde.

Conférence sur la chaine de conception 3D (de l'idée à l'objet) à travers :

  • la présentation du projet POSL Rover, un châssis robotique imprimable ;
  • les démonstrations sur les logiciels libres Blender et Freecad ;
  • des démonstrations d'impression 3D sur imprimantes RepRap ;
  • la présentation de la construction de l'imprimante 3D de l'association Corrèze Elab.

Entrée libre….curiosité exigée ! Tout Public.

Télécharger ce contenu au format Epub

Lire les commentaires

MLED revu et corrigé : version standard et version light

Vendredi 10 Octobre

Le poste de travail Microlinux Entreprise MLED fournit un poste de travail professionnel propre, complet et ultra-stable basé sur Slackware Linux, avec une multitude d'améliorations. Il est actuellement utilisé dans quelques mairies, médiathèques, écoles et stations radio du sud de la France.

Depuis sa création, le projet a connu quelques itérations, en évoluant grâce aux nombreux retours des utilisateurs. MLED est dorénavant disponible dans deux déclinaisons différentes:

  • la version standard basée sur KDE
  • MLED Light, basée sur Xfce

Les dépôts de paquets ont été réorganisés en vue de la pérennité du projet, et pour en faciliter la maintenance. La documentation a également été revue et complétée.

L'ancienne version basée sur MATE n'est plus maintenue. Ceci étant dit, les utilisateurs d'environnements autres que KDE ou Xfce pourront toujours bénéficier des dépôts de paquets desktop-base et desktop-extra, agnostiques en termes d'interface.

Télécharger ce contenu au format Epub

Lire les commentaires

Lancement d'un meetup Linux embarqué et Android à Toulouse

Jeudi 9 Octobre

Dans la région toulousaine, de nombreux acteurs, que ce soit des entreprises ou des hobbyistes, travaillent sur des projets relatifs à Linux embarqué ou Android. Il n'existait cependant pas de moment d'échange entre ces acteurs, afin de partager des connaissances sur ces thématiques et rencontrer d'autres personnes du même domaine.

Ce manque est désormais comblé puisqu'un meetup Linux embarqué et Android vient de voir le jour à Toulouse. Les réunions auront lieu à La Cantine Toulouse et sont organisés avec le soutien de Captronic. Nous avons déjà annoncé les dates et thématiques des deux premiers meetups :

L'accès à ces meetups est gratuit, de préférence après inscription sur le site Meetup.com.

Nous avons également en tête pour une prochaine date un meetup autour de l'infrastructure audio du système Android. N'hésitez pas à proposer des sujets, que ce soit en tant qu'intervenant, ou que participant intéressé par une thématique.

Télécharger ce contenu au format Epub

Lire les commentaires

Une calculatrice scientifique libre sous linux (materiel)

Jeudi 9 Octobre

Librecalc est un projet de calculatrice scientifique libre, sous Linux, mené par deux français de 25 ans. Des résultats intéressants commencent à apparaître sur le blog du projet dans lequel ont été ajoutés des articles au fur et à mesure de l'avancement du développement.

Le projet a la particularité de n'utiliser que des logiciels libres, aussi bien pour la conception ([KiCad], [FreeCAD]) que sur la calculatrice elle-même (Debian). Les schémas électroniques du premier prototype ont été publiés sous licence open hardware.

Beaucoup d'entre nous avons appris la programmation sur calculatrice, et nous sommes sentis frustrés des limitations, et du langage [TI-Basic] assez pauvre. Avec ce projet enfin la curiosité ne sera plus bridée! Elle pourra même être poussée jusqu'à comprendre comment fonctionne la calculatrice au niveau hardware.

Le premier prototype est capable de lancer un émulateur de [TI-82] qui a été dévelopé par le projet, octave en mode console, ainsi que de lancer pokémon via un émulateur de gameboy. Les prochains prototypes devraient être capables de réaliser du calcul formel, via le logiciel libre [Maxima].

Télécharger ce contenu au format Epub

Lire les commentaires

Atelier CLI du lundi 13/10/2014 à Bordeaux

Mercredi 8 Octobre

Pour le lundi du 13/10, l'atelier CLI aura pour thème VLC.

Les ateliers CLI ont lieu chaque lundi de 19h00 à 20h00 pour les utilisateurs débutants et de 19h00 à 21h30 pour les utilisateurs avancés, dans les locaux du Labx, à la Fabrique Pola, rue Marc Sangnier 33130 Bègles.

Les ateliers CLI (Command Line Interface) permettent de progresser en ligne de commande au sein d'un groupe, autour d'un outil ou d'un thème.

Les ateliers consacrés aux débutants reprennent !

Télécharger ce contenu au format Epub

Lire les commentaires

Pages