Syndiquer le contenu
Mis à jour : il y a 21 heures 41 min

Ateliers au hackerspace le BIB en octobre 2014

18 octobre, 2014 - 09:46

Le BIB, hackerspace Montpellierain, fait sa rentrée avec un peu de latence !

Avec un début d'été chargé où ce sont tenues les RMLL et le déménagement de notre local, l'équipe du BIB n'a pas dérogé à la règle de l'hibernation estivale à laquelle les touristes peuvent assister chaque année dans les rues de Montpellier.

Enfin, après de longues semaines de questionnement et la venue de l’automne annoncée par les pluies (bit)torrentielles auxquelles nous sommes désormais accoutumées, l'activité reprend.

C'est avec émotion que nous vous annonçons cette vague d'ateliers qui se tiendra au Kalaj, le squat artistique qui nous a ouvert ses portes quand tous les autres les fermaient  !
Mais l'heure est aux réjouissements, en passant de la fabrication de savon jusqu'à une nuit cathartique de programmation, toutes les âmes y trouveront leur compte.

C'est aussi l'heure à l'action et à la réincarnation collective, en effet le BIB va se concrétiser sous la forme d'une association et nous nous appliquons à la recherche de financements et d'un nouveau local.

Alors nous vous attendons avec impatience, faites votre choix dans le menu et si rien ne vous convient ramenez vous avec votre grain de sel !

Le Kalaj : 11 rue Desmaze à Montpellier

  • 18/10/2014 - 14:00 - 19:00 Atelier premiers secours

    Pauline présentera les gestes des premiers secours.

  • 18/10/2014 - 19:00 - 23:45 Atelier programmation du noyau Linux
    Apprenez les bases de la création d'un module pour le kernel linux, en participant à The Eudyptula Challenge avec T3h N1ko.

  • 19/10/2014 - 14:00 - 19:00 Atelier enfant : petit robot et bricolage sonore
    Bololipsum propose aux plus jeunes et aux autres la fabrication de petits robots simples, et d'objets sonores.

  • 19/10/2014 - 19:00 - 23:45 Atelier circuit bending
    Après les bricolages, passons a la déstructuration et modification de jouets musicaux.

  • 26/10/2014 - 14:00 - 19:00 Atelier Savon, lessive, déo Do It Yourself
    Marion nous propose d'apprendre comment fabriquer tous les produits ménagers et cosmétiques à partir d’ingrédients simples.

  • 26/10/2014 - 19:00 - 23:45 Atelier Darktable
    Gnujsa présentera le logiciel Darktable.
    Darktable est un logiciel libre de traitement photographique, qui permet d'appliquer des corrections et effets divers à des fichiers numériques (photos en "raw", mais aussi d'autres formats comme le jpeg). Il autorise également le contrôle en temps réel d'un appareil photographique numérique (APN) connecté par un câble à un ordinateur.
    Cette présentation a pour but de vous faire découvrir Darktable. Elle s'adresse non seulement aux photographes, mais aussi à tout type de personne intéressée par le traitement d'image (graphiste ou simple amateur). Il n'est pas nécessaire de posséder un appareil photo numérique.

  • 28/10/2014 - 14:00 - 21:00 Atelier robot from trash

    Fabrication de robots mécaniques, électriques, électromécaniques, voire poétiques, à partir de matériel de récupération. Atelier animé par p33k et pulp_pure.
    Pensez à apporter du matériel de récupération pour construire votre robot (dans la mesure de vos moyens)
    Liste ici : materiel-robots-trash.
    Sept personnes de 15 à 150 ans. Atelier "non-fumeur".
    Sur réservation par mail : alonzo.gael{at}gmail.com ou pulppure{at}free.fr

  • 28/10/2014 - 21:00 - 29/10/2014 - 05:00 Atelier nocturne programmation python
    freipwny et pistache proposent une nuit dédiée au code, libre bien entendu !
    Alors venez vous initier à la programmation python par la pratique ou approfondir vos connaissances !

  • 29/10/2014 - 14:00 - 19:00 Atelier audio sous linux

    Wargreen et Bololipsum présenterons les outils disponibles sous linux pour travailler l'audio.
    Amateurs ou professionnels, simples pédales d'effet pour guitares, Digital Audio Worksation complet, ou systèmes plus exotiques encore.

  • 29/10/2014 - 19:00 - 23:00 Atelier logiciel pure-data, data sonore et video tracking
    Bololipsum est de retour pour présenter ou approfondir les notions de data sonores, et de tracking video, le tout sur et autour du logiciel de programmation graphique Pure-Data.

Télécharger ce contenu au format Epub

Lire les commentaires

Atelier LPIC à Puteaux le 8 novembre 2014

17 octobre, 2014 - 11:49

Dans le cadre de ses formations bi-mensuelles, l'association StarinuX vous convie à l'atelier kickstart : Linux Professional Institute Certifications (LPIC).

Mettez le pied à l'étrier pour réussir les LPIC, passeports pour l'emploi dans le logiciel opensource. Multipliez vos chances de réussite.

Rappel : le LPIC comporte quatre examens, 101-102 et 201-202 (détails).

Objectifs :

  • il faut bien se préparer à l'examen et ne pas le rater car il coûte ~150 € ;
  • s'informer sur l'enjeu du LPIC ;
  • préparer les examens à partir du LPIC 101-102, sous forme de nombreux tests (corrigés) ;
  • recevoir un avis personnalisé sur vos chances de réussir les examens ;
  • la méthode individuelle pour s'y préparer au mieux selon vos résultats.

À l'issue de l'atelier, vous connaîtrez :

  • votre niveau sur GNU/Linux ;
  • la partie 101 et 102 sur laquelle vous aurez progressé ;
  • vos chances de réussite aux LPIC (sans ou avec cours ou attendre…) ;
  • le meilleur moyen pour réussir (éviter de débourser encore 150 Euro pour le repasser).

Public (recommandé) :

  • avoir déjà un niveau GNU/Linux correct ;
  • être motivé pour réussir les LPIC.

Formateur : Marc BAUDOIN, professeur à l'ENSTA, membre-enseignant, agréé LPIC en France (reconnu pour son excellente pédagogie).

Lieu : société Linagora (spécialisée logiciel opensource)
74 rue Roque de Fillol 92800 Puteaux
(carte OpenStreetMap, métro Esplanade de la Défense)

Quand : samedi 08 novembre 2014 de 9h30 à 18h00.

Divers restauration : boissons, micro-ondes sur place, restos/alimentation à côté.

Contact : events AT starinux POINT org

Comme à l'accoutumée, une participation annuelle de 20 € (10 € demandeurs d'emploi) est demandée, valable un an, permettant de suivre au moins 15 ateliers.

Télécharger ce contenu au format Epub

Lire les commentaires

Utiliser colout pour colorier tout ce qu'affiche GDB

17 octobre, 2014 - 08:16

Je sais ce que vous pensez : vous avez beau essayer d'utiliser des interfaces graphiques avec le débogueur GDB (GNU Project Debugger), vous finissez toujours par revenir à la bonne vieille ligne de commande, qui seule vous permet de ressentir une flamboyante puissance et une incandescente rapidité d'action. Dans le même temps, vous aimeriez bien que certaines informations importantes soient agrémentées d'un rouge pétant qui saute aux yeux. Comme je vous comprends. Fort heureusement, GDB est un logiciel complètement hackable, ce qui va me permettre d'exaucer vos vœux les plus ardents.

Il est en effet possible d'attacher des hooks à chaque commande, et d'y appeler des commandes shell. Afin d'ajouter notre touche de carmin, il suffit donc de récupérer la sortie de la commande et de la faire passer dans un colorisateur écarlate. C'est possible, car GDB permet de logguer tout ce qui se passe et qu'Unix a eu la bonne idée d'inventer les pipes nommés.
Pour ajouter la touche de pourpre, un colorisateur capable de gérer facilement des expressions régulières est nécessaire, je vous suggère colout.

La suite de la dépêche vous donnera un exemple de fichier de configuration à utiliser pour ajouter votre touche d'andrinople à votre propre système.

Équipé de tous ces outils libres ultra-cools, il suffit d'éditer votre .gdbinit préféré :

# Créer le pipe de communication. shell test -e /tmp/coloutPipe && rm /tmp/coloutPipe shell mkfifo /tmp/coloutPipe # Activer la redirection (à appeler APRÈS votre commande)... define logging_on set logging redirect on. set logging on /tmp/coloutPipe end # la désactiver. define logging_off set logging off set logging redirect off # Voilà la partie foireuse du hack : pour éviter que le prompt ne s'affiche avant la sortie, il faut le faire attendre... shell sleep 0.4s end # Premier exemple : coloration syntaxique complète du code source. define hook-list shell cat /tmp/coloutPipe | colout --all --source Cpp & logging_on end define hookpost-list logging_off end # Deuxième exemple : coloration de la pile. define hook-backtrace # Regexp pour [path]file[.ext]: (.*/)?(?:$|(.+?)(?:(\.[^.]*)|)) shell cat /tmp/coloutPipe | colout "^(#)([0-9]+)\s+(0x\S+ )*(in )*(\S+) (\(.*\)) at (.*/)?(?:$|(.+?)(?:(\.[^.]*)|)):([0-9]+)" red,red,blue,none,green,cpp,none,white,white,yellow normal,bold,normal,normal,bold,normal,normal,bold,bold,bold & logging_on end define hookpost-backtrace logging_off end

Vous noterez que dans ce dernier exemple, le numéro de frame est coloré d'un vermeil¹ du plus bel effet.

¹ C'est quand même dingue le nombre de synonymes de « rouge » dans la langue française, non ?

Télécharger ce contenu au format Epub

Lire les commentaires

CVE-2014-3566 — Vulnérabilité POODLE

17 octobre, 2014 - 07:26
Qu’est‐ce POODLE ?

POODLE signifie Padding Oracle On Downgraded Legacy. Il s’agit d’une vulnérabilité permettant via une attaque de l’« homme du milieu » (MIM, Man In the Middle), en se plaçant entre le navigateur Web et le serveur Web, de déchiffrer les informations chiffrées.

POODLE affecte les anciennes normes de chiffrement, notamment Secure Socket Layer (SSL) version 3.0. Il n’affecte pas le mécanisme de chiffrement plus récent, et standardisé, appelé Transport Layer Security (TLS).

Recommandations

Pour atténuer cette vulnérabilité, désactivez SSL 3.0 en forçant l’utilisation de TLS, tout en vérifiant la compatibilité des navigateurs clients devant y avoir accès.

Plusieurs bulletins de sécurité ont annoncé la vulnérabilité : Histoire et aides diverses

Google a identifié une faille dans le protocole SSL v3. Il existe des contournements côté serveurs comme côté clients : garder en tête la compatibilité avec les navigateurs clients. Red Hat n’a pour l’instant pas publié d’errata. Cela affecte RHEL5, RHEL6 et RHEL7, également les CentOS. À voir pour les autres distributions…

Remarque : poodle signifie caniche en anglais.

Page pour tester votre navigateur client

https://www.poodletest.com/

Tester par vous même

openssl s_client -connect mon_site:443 -ssl3

Configurer Apache

SSLProtocol All -SSLv2 -SSLv3

Configurer Postfix

smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3 Tester la vulnérabilité de vos sites

Voici le script proposé par Red Hat :

#!/bin/bash # # Copyright (C) 2014 by Dan Varga <dvarga@redhat.com> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. host=$1 port=$2 if [ "$2" == "" ] then port=443 fi out="`echo x | timeout 5 openssl s_client -ssl3 -connect ${host}:${port} 2>/dev/null`" ret=$? if [ $ret -eq 0 ] then echo "VULNERABLE! SSLv3 detected." exit elif [ $ret -eq 1 ] then out=`echo $out | perl -pe 's|.*Cipher is (.*?) .*|$1|'` if [ "$out" == "0000" ] || [ "$out" == "(NONE)" ] then echo "Not Vulnerable. We detected that this server does not support SSLv3" exit fi elif [ $ret -eq 124 ] then echo "error: timeout connecting to host $host:$port" exit fi echo "error: Unable to connect to host $host:$port"Télécharger ce contenu au format Epub

Lire les commentaires

Aujourd’hui c’est déjà demain : systemd dans l’initrd sous Arch Linux

16 octobre, 2014 - 18:10

Nous allons voir dans ce petit article comment utiliser systemd dans l’initrd. La construction d’un initrd étant spécifique à la distribution, nous verrons comment l’utiliser avec Arch Linux, mais avec un peu de travail cela devrait pouvoir donner le principe général de fonctionnement et être adaptable sur d’autres distributions.

Sommaire

ATTENTION : nous allons modifier une partie très importante du démarrage de la machine, et il est probable qu’elle ne puisse plus démarrer. Prévoyez donc un live CD quelconque pour pouvoir réparer en cas de souci !

Quelques généralités sur l’initrd

L’initrd, c’est une archive cpio qui est chargée en mémoire vive par le noyau juste après son lancement. Elle est montée sur /, puis le fichier /init est exécuté. Ce dernier est censé s’occuper de lancer tout ce qui est nécessaire au montage de du vrai système de fichiers racine /, et qui n’est pas en dur dans le noyau, comme le chargement de modules noyau : accès au LVM, le déchiffrement de partitions, montage de /usr s’il est sur une partition séparée…

Traditionnellement, ce fichier init est un script shell construit par des outils spécifiques à la distribution.

La construction classique de l’initrd sous Arch Linux

Sous Arch Linux, la construction d’un initrd se fait à l’aide du logiciel mkinitcpio. Il se configure en utilisant le fichier /etc/mkinitcpio.conf. La variable HOOKS est celle qui nous intéresse présentement.

Pour chaque hook présent dans cette variable, deux fichiers seront utilisés, un script install qui sera chargé d’ajouter les fichiers nécessaires à l’initrd lors de la construction, et un script hook qui sera lancé par le script shell init lors de l’amorçage du système. L’ordre d’apparition des hooks dans la variable HOOKS est important, car c’est l’ordre utilisé pour lancer les scripts lors de l’amorçage.

L’utilisation de systemd dans l’initrd

Lorsqu’on utilise systemd dans l’initrd, le fichier /init de l’initrd n’est plus un script shell, mais directement systemd.

Ainsi, lors de la construction de l’initrd avec mkinitcpio, le script hook n’a plus aucun effet, et le script install est chargé, outre les fichiers nécessaires, tels les démons et modules noyaux, d’installer les unités systemd nécessaires à monter la vraie racine. L’ordre d’apparition des hooks dans la variable HOOKS n’a plus d’importance (à une exception près que nous verrons plus bas), car ce sont les unités systemd qui détermineront l’ordre de lancement des différentes unités (et donc de tous les binaires lancés, car tout est lancé via systemd).

systemd dans l’initrd, ça sert à quoi ?

Il y a sûrement des avantages secondaires, comme la parallèlisation, une configuration de démarrage unique et centralisée, et peut‐être d’autres, mais l’avantage principal est quand même de faire rager les anti‐systemd en le mettant partout et à toutes les sauces.

Configuration du système pour utiliser systemd

Le problème principal est que le support d’Arch Linux pour systemd dans l’initrd est un peu balbutiant, et il faut donc mettre un peu les mains dans le cambouis pour que tout fonctionne. Nous verrons ici comment configurer un système utilisant une partition chiffrée contenant du LVM et Plymouth, puisque c’est ma configuration. L’ajout du RAID ne doit pas être très compliqué.

La base

Les hooks base, usr, udev et timestamp ne sont plus nécessaires et sont remplacés par le hook systemd. Les hooks autodetect, block, filesystems, btrfs et keyboard sont toujours nécessaires (au moins sur ma machine). Les autres hooks (lvm, encrypt, plymouth, etc.) seront par la suite remplacés par des équivalents sd-machin.

Les hooks sd-machin doivent toujours être après le hook systemd. En effet, ce hook ajoute une fonction utilisable dans les autres hooks, add_systemd_unit. Cette fonction ajoute dans l’initrd l’unité passée en paramètre, ainsi que toutes ses dépendances.

Correctif 1 : unités dans /etc

Cette fonction a un problème : elle n’utilise que le dossier /usr/lib/systemd/system et ignore donc totalement les unités créées par l’utilisateur, situées dans le dossier /etc/systemd/system (voir le rapport de bogue).

Nous allons donc modifier le hook, en copiant /usr/lib/initcpio/install/systemd vers /etc/initcpio/install/systemd. Nous allons donc pouvoir effectuer nos modifications sans risquer de les voir écrasées par une mise à jour.

Le correctif est le suivant :

--- /usr/lib/initcpio/install/systemd 2014-09-02 00:11:28.000000000 +0630 +++ /etc/initcpio/install/systemd 2014-10-16 13:39:11.291460470 +0630 @@ -51,7 +51,7 @@ local unit= rule= entry= key= value= binary= dep= - unit=$(PATH=/usr/lib/systemd/system:/lib/systemd/system type -P "$1") + unit=$(PATH=/etc/systemd/system:/usr/lib/systemd/system:/lib/systemd/system type -P "$1") if [[ -z $unit ]]; then # complain about not found unit file return 1 @@ -78,18 +78,23 @@ done <"$unit" # preserve reverse soft dependency - for dep in {/usr,}/lib/systemd/system/*.wants/${unit##*/}; do + for dep in {{/usr,}/lib,/etc}/systemd/system/*.wants/${unit##*/}; do if [[ -L $dep ]]; then add_symlink "$dep" fi done # add hard dependencies - if [[ -d $unit.requires ]]; then - for dep in "$unit".requires/*; do - add_systemd_unit ${dep##*/} - done - fi + for dir in {{/usr,}/lib,/etc}/systemd/system/${unit##*/}.requires; do + if [[ -d "$dir" ]]; then + for dep in "$dir"/*; do + if [[ -L $dep ]]; then + add_symlink "$dep" + fi + add_systemd_unit ${dep##*/} + done + fi + done } build() { Correctif 2 : emergency.target

Second problème de ce hook, il n’ajoute pas les utilitaires nécessaires au fonctionnement d’emergency.target, une unité spéciale qui est lancée lorsque l’amorçage plante et donne un shell à l’utilisateur pour essayer de sauver les meubles (voir un rapport de bogue et un autre). On va donc le modifier pour rajouter sulogin, ainsi que les utilitaires de busybox.

--- /etc/initcpio/install/systemd.old 2014-10-16 13:44:23.135993657 +0630 +++ /etc/initcpio/install/systemd 2014-10-16 13:43:23.657715653 +0630 @@ -98,12 +98,22 @@ } build() { - local rules unit + local rules unit applet # from base add_binary /bin/mount add_binary /usr/bin/kmod /usr/bin/modprobe + add_binary /usr/lib/initcpio/busybox /bin/busybox + for applet in $(/usr/lib/initcpio/busybox --list); do + add_symlink "/usr/bin/$applet" busybox + done + + # sulogin is needed for emergency target + add_binary /sbin/sulogin + add_file /etc/shadow + add_file /etc/gshadow + # systemd add_binary /usr/lib/systemd/systemd /init add_binary /usr/bin/systemd-tmpfiles

À ce stade, si l’on a une partition racine simple, on a terminé.

Partition chiffrée

S’il y a une partition chiffrée nécessaire au démarrage, il faut ajouter le hook sd-encrypt.

Attention, les paramètres de ligne de commande du noyau (probablement configurés dans /etc/default/grub) pour indiquer les partitions et leurs options ont changé. Le paramètre cryptdevice est remplacé par luks.machin (man systemd-cryptsetup-generator pour plus d’infos).

Cependant, plutôt que ces paramètres, il est plus utile d’utiliser le fichier /etc/crypttab.initramfs, qui suit la syntaxe de /etc/crypttab.

LVM

Il suffit d’ajouter le fichier sd-lvm. Aucune configuration particulière, car un détection est lancée dès l’apparition d’un nouveau block device, et activé si celui‐ci est un LVM (donc on peut avoir une partition chiffrée dans un LVM et un LVM dans une partition chiffrée, sans avoir à préciser d’ordre particulier ; et même avoir une partition chiffrée dans un LVM dans une partition chiffrée).

Résumé

Il n’y a rien dans la version stable de systemd pour s’occuper de sortir le système de l’hibernation. C’est prévu pour la prochaine version, mais en attendant, il va falloir faire les choses à la main.

On crée donc une unité /etc/systemd/system/resume.target :

[Unit] Description=Resume from disk Before=initrd-root-fs.target sysroot.mount [Install] WantedBy=initrd.target

Et on l’active avec systemctl enable resume.target.

Puis une unité générique /etc/systemd/system/resume@.service :

[Unit] Description=Resume from disk using %I Before=resume.target DefaultDependencies=no BindsTo=%i.device After=%i.device [Service] Type=oneshot ExecStart=/bin/sh -c "echo $(mountpoint -x %I) > /sys/power/resume" [Install] RequiredBy=resume.target

On l’active en utilisant le chemin de sa partition d’échange (swap), dans mon cas : systemctl enable resume@dev-main-swap.service.

On crée enfin le hook mkinitcpio /etc/initcpio/install/sd-resume :

#!/bin/bash build() { add_systemd_unit resume.target } help() { cat <<HELPEOF This hook adds resume capabilities to the initramfs. HELPEOF } # vim: set ft=sh ts=4 sw=4 et:

Et on l’active en ajoutant sd-resume dans la variable HOOKS.

Plymouth

Si l’on utilise le AUR de Plymouth, cela demande un peu de travail.

Création du hook

Il n’y a pas de hook sd-plymouth, donc il va falloir en créer un à partir du hook plymouth. On copie donc /usr/lib/initcpio/install/plymouth vers /etc/initcpio/install/sd-plymouth, puis on applique le correctif suivant pour ajouter les unités systemd :

--- /usr/lib/initcpio/install/plymouth 2014-10-16 09:38:06.000000000 +0630 +++ /etc/initcpio/install/sd-plymouth 2014-10-16 14:05:01.237713438 +0630 @@ -1,7 +1,6 @@ build() { add_dir /dev/pts add_dir /usr/share/plymouth/themes - add_dir /var/run/plymouth DATADIR="/usr/share" PLYMOUTH_LOGO_FILE="${DATADIR}/plymouth/arch-logo.png" @@ -49,7 +48,15 @@ add_binary "$(readlink -e /lib/libnss_files.so.2)" add_file /lib/libnss_files.so.2 - add_runscript + add_systemd_unit systemd-ask-password-plymouth.path + add_systemd_unit systemd-ask-password-plymouth.service + + map add_systemd_unit plymouth-switch-root.service \ + plymouth-start.service \ + plymouth-reboot.service \ + plymouth-kexec.service \ + plymouth-poweroff.service \ + plymouth-halt.service } help() { Utilisation avec systemd-ask-password

Lorsqu’on utilise Plymouth avec un système ayant besoin d’un mot de passe (comme une partition chiffrée), il faut que le mot de passe soit demandée via Plymouth et non sur la console. systemd possède un système plutôt malin pour gérer ce genre de choses, sauf que l’unité plymouth-start.service est cassée, et donc la détection du l’utilisation de Plymouth ne marche pas. On copie donc l’unité /usr/lib/systemd/system/plymouth-start.service vers /etc/systemd/system/plymouth-start.service et on applique le correctif suivant pour corriger le chemin du fichier contenant l’identifiant de processus :

--- /usr/lib/systemd/system/plymouth-start.service 2014-10-16 14:15:55.005953827 +0630 +++ /etc/systemd/system/plymouth-start.service 2014-10-16 14:06:53.054169994 +0630 @@ -7,7 +7,8 @@ ConditionKernelCommandLine=!plymouth.enable=0 [Service] -ExecStart=/usr/bin/plymouthd --mode=boot --pid-file=/var/run/plymouth/pid --attach-to-session +ExecStartPre=/bin/mkdir /run/plymouth +ExecStart=/usr/bin/plymouthd --mode=boot --pid-file=/run/plymouth/pid --attach-to-session ExecStartPost=-/usr/bin/plymouth show-splash Type=forking KillMode=none Création de l’initrd

On crée l’initrd avec mkinitcpio -p linux, on redémarre et on croise les doigts. :)

Pour s’amuser un peu

Pour s’amuser un peu, on peut créer des unités et supprimer de son système /etc/crypttab, /etc/cryttab.initramfs, /etc/fstab et certains paramètres de ligne de commande du noyau (comme root, par exemple).

Ainsi, toute la configuration de démarrage du système est centralisée dans des unités systemd, et non plus éparpillée dans différents endroits.

Suppression de /etc/crypttab et des paramètres luks.machin du noyau

Le plus simple est d’utiliser directement le générateur /usr/lib/systemd/system-generators/systemd-cryptsetup-generator /etc/systemd/system /etc/systemd/system /etc/systemd/system, puis d’analyser les fichiers pour éventuellement les simplifier.

On peut ensuite déplacer /etc/crypttab.initramfs vers /etc/crypttab, puis relancer la commande. On peut maintenant se débarrasser des ces deux fichiers.

Pour les paramètres luks.machin du noyau, le plus simple est de les transformer en une entrée de /etc/crypttab avant de lancer le générateur.

Suppression de /etc/fstab

Même principe en utilisant le fichier /usr/lib/systemd/system-generators/systemd-fstab-generator.

Suppression du paramètre root du noyau

Cette partie est normalement gérée par le générateur fstab, mais celui‐ci génère l’unité correspondant au paramètre root du noyau seulement s’il est lancé dans l’initrd. Il faudra donc créer l’unité à la main.

Cette unité doit s’appeler /etc/systemd/system/sysroot.mount et doit contenir les options habituelles d’une unité [Mount] (man systemd.mount pour les détails). Cependant, les lignes suivantes sont indispensables :

[Install] RequiredBy=initrd-root-fs.target [Unit] Before=initrd-root-fs.target [Mount] Where=/sysroot

Il faut bien sûr ajouter les lignes spécifiques à votre système, notamment What et peut‐être Type dans la section [Mount].

Ne pas oublier d’activer l’unité avec systemctl enable sysroot.mount.

Conclusion

Cette solution de gestion de l’initrd, qui en est à ses débuts, sera sûrement une solution standard à l’avenir et par défaut sur les distributions majeures.

À vos trolls !

Télécharger ce contenu au format Epub

Lire les commentaires

SELKS 1.0 : une distribution

16 octobre, 2014 - 15:23

SELKS est une distribution liv_e et installable qui fournit un système de détection d’intrusion (_Intrusion Detection System, abrévié IDS) Suricata prêt à l’emploi. Elle intègre Scirius, une interface Web de gestion des règles de l’IDS, et le trio Elasticsearch, Logstash et Kibana (ou "ELK"). L’interface Kibana permet d’analyser les alertes et les événements remontés par l’IDS.

Le projet SELKS a été initié pour fournir un moyen de tester rapidement les capacités de l’IDS Suricata dans le domaine de la détection d’intrusion réseau et dans le domaine de la surveillance réseau. En mode live, il est ainsi possible de passer de l’amorçage du système à l’analyse du trafic réseau dans Kibana en 30 secondes.

Le nom SELKS vient de celui des composants majeurs de la distribution :

  • Suricata : sonde de détection d’intrusions et d’analyse réseau ;
  • Elasticsearch : moteur de recherche utilisé pour le stockage des événements ;
  • Logstash : logiciel injectant des fichiers de journaux dans Elasticsearch ;
  • Kibana : interface Web pour la création de tableaux de bord utilisant les données stockées dans Elasticsearch ;
  • Scirius : interface Web de gestion des signatures pour Suricata.

Suricata est une sonde de détection d’intrusion réseau développée par la fondation OISF (Open Information Security Foundation) et disponible sous licence GPLv2. Elle offre des capacités intéressantes tant au niveau de la détection d’intrusions par signatures qu’au niveau de l’analyse protocolaire, grâce à la journalisation des requêtes pour les protocoles HTTP, DNS, SSH et TLS. Suricata est donc un logiciel offrant des fonctionnalités de type IDS et de type network security monitoring (NSM). SELKS intègre la version 2.1 bêta 1 de Suricata qui présente des avancées significatives au niveau de la partie NSM comparée à la version stable 2.0.

Le trio Elasticsearch, Logstash et Kibana est une solution complète d’analyse et de stockage des journaux. L’ensemble de ces outils est développé par la société Elasticsearch.

Scirius est une interface Web de gestion de signatures Suricata développée par Stamus Networks et disponible sous licence GPLv3. Elle est codée en Django et permet la gestion et la mise à jour régulière des règles.

La distribution SELKS est basée sur Debian live. Les sources pour la construction de l’image ISO sont disponibles sous licence GPLv3 sur la page GitHub du projet.

Télécharger ce contenu au format Epub

Lire les commentaires

67 chaussettes pour OpenSSH

16 octobre, 2014 - 02:39

Le 6/10, OpenSSH est sortie en version 6.7. Faut‐il vraiment dire ici ce que fait OpenSSH ou est‐ce dans l’inconscient collectif des libristes ? En très bref, c’est un serveur et un client du protocole SSH, digne descendant de telnet, qui ajoute pas mal de truc comme la redirection de ports…

Quoi de neuf en octobre ?
  • Les algorithmes de chiffrement par défaut ont été changés et notamment CBC et Arcfour ont été désactivés (pas supprimés, il est toujours possible de les activer).

  • La prise en charge de la bibliothèque tcpwrapper a été supprimé. Cela pose, par exemple, des problèmes pour la future Debian Jessie car c’était une fonctionnalité encore souvent utilisée par de nombreux utilisateurs. Debian a décidé de maintenir via un correctif la fonctionnalité pour le moment (voir les commentaires sur LWN).

  • La factorisation du code source continue afin d’améliorer le cœur en vue de fournir une bibliothèque utilisable de manière indépendante. Cependant, le travail n’est pas encore parfait du coté de l’interface de programmation (API), donc la bibliothèque n’est pas encore mise en avant.

  • ssh et sshd intègrent la prise en charge de la transmission (forward) des sockets UNIX. Un port TCP distant peut être connecté à un socket UNIX local et réciproquement. De même, on peut connecter deux sockets UNIX ! Cette fonctionnalité n’était possible jusqu’à présent que pour X-Window via l’option -X, elle ouvre de grands horizons dans l’usage distant d’un poste de travail.

  • Ajout de la séquence d’échappement %C dans le client ssh pour les commandes LocalCommand et ControlPath. %C représente un condensat (hash) du tuple (hôte local, utilisateur distant, hôte distant, port). L’objectif est de pouvoir avoir un nom de fichier court et unique, car sur certains UNIX, on pouvait dépasser la limite du système pour les noms de fichiers correspondant aux sockets UNIX !

Il y a encore pas mal de petites choses concernant le chiffrement, les procédures de test et de robustesse… Le mieux pour les passionnés est de lire la note de version pour avoir une vision détaillée et complète.

Télécharger ce contenu au format Epub

Lire les commentaires

Install Party au Havre le 18 octobre 2014 avec GoeLUG

16 octobre, 2014 - 02:20

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

15 octobre, 2014 - 11:45

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)

14 octobre, 2014 - 18:18

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

14 octobre, 2014 - 14:06

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)

14 octobre, 2014 - 13:44

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

14 octobre, 2014 - 13:44

Le GUL du Dauphiné (la Guilde) organisera une install party le jeudi 16 octobre 2014 à 14h à 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

13 octobre, 2014 - 20:03

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

13 octobre, 2014 - 01:58

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 (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 le FCoE sur ses cartes XL710 à 10 et 40 Gbit/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 : [correctif 1] et [correctif 2].

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éboguer 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 réserve 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 leurs signatures [correctifs : 1, 2, 3, 4, 5, 6, 7, 8, 9].

LSM

Un nouveau point d’ancrage LSM a été ajouté dans la fonction permettant le chargement d’un micrologiciel binaire dans le noyau. Il permet, par exemple, aux modules de vérifier l’intégrité de ces micrologiciels 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 micrologiciels 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 étiquettes SELinux liées 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 utilisation par les clients NFS pour stocker les association UID et 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 virtuel 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. Eh bien, cette version toute fraîche voit sa résolution livrée !

À côté d’une amélioration des opérations 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 commande df pour le cas du 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 du RAID 5 et 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 corrections 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

13 octobre, 2014 - 00:43

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

13 octobre, 2014 - 00:03

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

12 octobre, 2014 - 23:52

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 »

12 octobre, 2014 - 17:06

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

10 octobre, 2014 - 23:31

L'association d'utilisateurs de Linux en Sologne, 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