Linux France

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

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

Mardi 1 Avril

La revue de presse de l'April est régulièrement éditée par les membres de l'association. Elle couvre l'actualité de la presse en ligne, liée au logiciel libre. Il s'agit donc d'une sélection d'articles de presse et non de prises de position de l'association de promotion et de défense du logiciel libre.

Sommaire

[Le Monde.fr] «2048», stop ou encore?

Par Marlène Duretz, le jeudi 27 mars 2014. Extrait:

Ce jeu de réflexion, addictif et chronophage, fait des petits en ligne.

Lien vers l'article original: http://www.lemonde.fr/vous/article/2014/03/27/2048-stop-ou-encore_4390930_3238.html

Et aussi:

[Libération.fr] La querelle des algorithmes scolaires

Par Léa Lejeune, le jeudi 27 mars 2014. Extrait:

Les rudiments de la programmation et du code informatique enseignés dès le primaire? L’idée agite la sphère geek. Lubie ou projet visionnaire?

Lien vers l'article original: http://www.liberation.fr/economie/2014/03/24/la-querelle-des-algorithmes-scolaires_989290

[PC INpact] Les députés brésiliens adoptent une loi en faveur de la neutralité du Net

Par Xavier Berne, le jeudi 27 mars 2014. Extrait:

Discuté depuis de longs mois déjà, le «Marco Civil da Internet» a été adopté mardi soir par la Chambre des députés du Brésil. Ce projet de loi, relancé par l’exécutif suite aux révélations d’Edward Snowden, contient des dispositions visant notamment à garantir la neutralité du Net dans ce pays d'Amérique du Sud. Soutenu au niveau international par WikiLeaks, La Quadrature du Net ou Tim Berners-Lee, le texte est l'objet de nombreuses attentions. Désormais, il doit cependant obtenir l’approbation du Sénat.

Lien vers l'article original: http://www.pcinpact.com/news/86722-les-deputes-bresiliens-adoptent-loi-en-faveur-neutralite-net.htm

[Developpez.com] L'open source, moteur de l'innovation technologique?

Par Hinault Romaric, le jeudi 27 mars 2014. Extrait:

80% de logiciels commerciaux seront basés sur des piles open source. L’open source est devenu un élément clé au sein de l’univers technologique. Au fil des années, la culture du développement open source est devenue un moteur de l’évolution de l’industrie du développement logiciel.

Lien vers l'article original: http://www.developpez.com/actu/69401/L-open-source-moteur-de-l-innovation-technologique-80pourcent-de-logiciels-commerciaux-seront-bases-sur-des-piles-open-source

Et aussi:

[InformatiqueNews.fr] L’open source next-generation au service de la cybersécurité

Par Cyrille Badeau, le jeudi 27 mars 2014. Extrait:

Le concept de logiciel open source est apparu au début des années 80 comme un moyen pour les universitaires spécialisés en informatique et les chercheurs de travailler en collaboration pour élaborer le meilleur logiciel possible et relever de nouveaux défis. Alors que l’adoption des nouvelles technologies a trouvé un nouvel élan dans les années 90, l’intérêt pour une approche «ouverte» a continué de croître et les utilisateurs y ont trouvé un réel intérêt.

Lien vers l'article original: http://www.informatiquenews.fr/lopen-source-next-generation-au-service-de-la-cybersecurite-cyrille-badeau-sourcefire-12143

[ouest-france.fr] «Libre en fête» au lycée de l'Hyrôme samedi

Par la rédaction, le jeudi 27 mars 2014. Extrait:

Pour accompagner l'arrivée du printemps, des événements de découverte des logiciels libres et du «libre» en général sont proposés partout en France.

Lien vers l'article original: http://www.ouest-france.fr/libre-en-fete-au-lycee-de-lhyrome-samedi-2056365

Et aussi:

Voir aussi:

[leParisien.fr] Données personnelles: l'UFC attaque Facebook, Twitter et Google +

Par la rédaction, le mardi 25 mars 2014. Extrait:

Après dix mois de négociations avec les grands réseaux sociaux Facebook, Twitter et Google +, l'association de consommateurs UFC Que-Choisir a décidé de saisir la justice devant le tribunal de grande instance de Paris en demandant à ces géants d'internet de clarifier les conditions d'utilisation des données personnelles.

Lien vers l'article original: http://www.leparisien.fr/high-tech/donnees-personnelles-l-ufc-attaque-facebook-twitter-et-google-25-03-2014-3707289.php

Télécharger ce contenu au format Epub

Lire les commentaires

Sortie de Clojure 1.6

Mardi 1 Avril

Le 25 mars, Clojure est sorti en version 1.6, l'occasion de se pencher un peu sur ce langage.

Clojure est un langage de programmation fonctionnel dérivé de Lisp tournant au-dessus de la Machine Virtuelle Java, des ports existant également pour Javascript et pour le Common Language Runtime de .NET.

Sommaire Présentation du langage

Conçu par Rich Hickey, et présenté pour la première fois en 2007, Clojure est un langage dont l'objectif est d'être une variante moderne de Lisp. S'il garde certaines des spécificités de cette famille de langages (considérer le code comme des données, ce qui permet notamment un usage sophistiqué de macros), il a comme particularité d'avoir une approche plus orientée vers la programmation fonctionnelle (décourageant l'utilisation de variables muables) et vers la concurrence. Par ailleurs, Clojure est conçu pour être en « symbiose » avec son hôte (dans la plupart des cas, la machine virtuelle Java) et permet d'utiliser facilement le code existant et de mêler au sein d'un même projet du code écrit en Java et en Clojure.

Installation

La manière la plus simple d'utiliser Clojure est d'utiliser Leiningen. Cet outil (en ligne de commande) permettra entre autres choses de récupérer les dépendances nécessaires (dont Clojure lui-même, qui prend la forme d'une bibliothèque Java), de créer l'arborescence pour un nouveau projet et de compiler ce projet.

Cet outil permet également (via lein repl) de lancer un REPL (Read-Eval-Print-Loop) qui permet de manipuler interactivement du code. Cf. le tutorial Clojurer des regexps avec Java, en Lisp :) qui présente un peu plus cet aspect-là.

Pour tester Clojure sans avoir à installer quoi que ce soit sur sa machine, il est également possible d'utiliser le site Try Clojure, qui fournit un REPL accessible par le web.

Un peu de syntaxe

La syntaxe de Clojure ne dépayesera pas les habitués de Lisp, ou de ses variantes.

(println "Hello, world !") ;; affiche "Hello, world !" (+ 2 2) ;; renvoie 4 (* 3 2) ;; renvoie 6

Clojure est dynamiquement typé : c'est au moment de l'exécution qu'on vérifie qu'une valeur est bien du type attendu. Comme le langage tourne sur la machine virtuelle Java, un certain nombre de types de base, comme les entiers ou les chaînes de caractères, viennent directement de Java, comme on peut le constater avec la fonction type :

(type 2) ;; renvoie java.lang.Long (type "Hello, world !") ;; renvoie java.lang.String

Un petit mot sur la syntaxe, directement héritée de Lisp. Dans tous les exemples ci-dessus, on construit, grâce aux parenthèses, une liste contenant un certain nombre d'éléments. Cette liste est ensuite évaluée, et le premier élément est interprété comme la fonction à appeler : dans le premier cas, println, dans les suivants + et * (qui ne sont pas considérés comme des caractères spéciaux). Les autres éléments de la liste correspondent aux arguments donnés à cette fonction.

Pour créer une liste, il suffit de demander à ce qu'elle ne soit pas évaluée, via quote, ou le caractère spécial ' :

(quote (1 2 3 4 5)) ;; renvoie (1 2 3 4 5) '(1 2 3 4 5) ;; identique

C'est le principe fondateur de Lisp (le nom Lisp vient de LISt Processing) : le code est constitué de données, c'est à dire que tout le code qu'on écrit est en réalité constitué de listes qui vont être évaluées. Il s'agit d'une structure assez simple, celle de liste simplement chaînée, sur laquelle on peut effectuer un certain nombre d'opérations basiques :

  • (cons x une-liste) ajoute l'élément x au début de la liste une-liste ;
  • (first une-liste) retourne le premier élément d'une-liste (correspond à car dans Lisp) ;
  • (rest une-liste) retourne une liste comprenant tous les éléments d'une-liste, sauf le premier (correspond à cdr dans Lisp).

Quelques exemples :

(def une-liste '(1 2 3 4 5)) ;; définit une variable, une-liste, contenant (1 2 3 4 5) (first une-liste) ;; renvoie 1 (rest une-liste) ;; renvoie (2 3 4 5) (cons 0 une-liste) ;; renvoie (0 1 2 3 4 5) Particularités de Clojure Structures de données

En Lisp, la liste est donc la structure hégémonique que l'on retrouve partout et qui est l'élément de syntaxe principal du langage (les fameuses parenthèses). Clojure garde le même principe, mais avec quelques nuances. Ainsi, pour déclarer une fonction :

(defn doubler [x] (* 2 x)) (doubler 2) ;; renvoie 4

Les crochets autour des paramètres de la fonction (en l'occurrence, x) ont une signification bien particulière : ils indiquent qu'il ne s'agit pas d'une liste ordinaire, mais d'un vecteur. Clojure se différencie en effet de son aîné en proposant « en dur » d'autres structures de données, comme les vecteurs : 

[1 2 3 4]

À première vue, un vecteur peut ne pas sembler très différent d'une liste, mais accéder à un élément ou en ajouter un n'ont pas les mêmes impacts en termes de performances :

  • avec une liste, il est possible d'accéder au premier élément ou d'ajouter un élément en début de liste en temps constant, mais pour accéder au n-ième élément il faudra parcourir la liste depuis le début ;
  • à l'inverse, avec un vecteur, il est possible d'accéder à n'importe quel élément avec un temps constant ; avec l'implémentation de Clojure, il en est de même pour ajouter un élément à la fin du vecteur.

Clojure fournit également une syntaxe pour les ensembles :

#{"bleu" "rouge" "vert"}

ainsi que pour les dictionnaires :

{1 "bleu" 2 "rouge" 3 "vert"} Un accent sur l'immuabilité

À première vue, ces ajouts peuvent être vus comme du simple sucre syntaxique, puisque ces structures de données peuvent également être créées par l'appel à des fonctions, repectivement :

(vector 1 2 3 4) ;; crée un vecteur (set '("bleu" "rouge" "vert")) ;; crée un ensemble (array-map 1 "bleu" 2 "rouge" 3 "vert") ;; crée un dictionnaire

Cependant, l'intérêt de ces structures n'est pas uniquement d'avoir du code comportant un peu moins de parenthèses et plus de caractères différents. Leur particularité est qu'à l'instar des listes, ces structures de données sont persistantes. Clojure met en effet un fort accent sur l'immuabilité. Par exemple, pour ajouter une valeur à un vecteur, plutôt que de modifier le vecteur lui-même, on va créer un nouveau vecteur, via la fonction conj :

(def mon-vecteur [1 2 3 4]) (conj mon-vecteur 5) ;; renvoie [1 2 3 4 5] mon-vecteur ;; contient toujours [1 2 3 4]

Si garantir cette immuabilité pour toutes les structures de données du langage a un coût (en termes de performances), cela présente un certain nombre d'avantages, notamment en programmation concurrente : en n'utilisant que des variables immuables, on n'a pas à se soucier de ce qui peut arriver si un autre thread modifie les données sur lesquelles on est en train de travailler.

Bien entendu, il est parfois indispensable qu'une variable puisse être modifiée. Clojure fait le choix de proposer plusieurs solutions pour ce cas, en fonction des besoins (en terme de concurrence et de parallélisme). Ainsi, si modifier une variable par le biais du mot-clé def n'entraînera un changement qui ne sera visible qu'à l'intérieur du même thread, il existe également atom, agent et ref qui permettent de partager des données entre plusieurs threads, avec des mécanismes un peu différents :

  • atom s'assure simplement, comme son nom l'indique, d'une modification atomique de la variable, garantissant qu'elle soit toujours dans un état cohérent. C'est notamment utile lorsqu'une modification de cette variable n'a pas à être coordonnée avec la modification d'autres variables ;
  • ref permet une modification coordonnée de plusieurs variables, de manière synchrone ;
  • agent permet une modification coordonnée de plusieurs variables, de manière asynchrone.
Du sucre syntaxique

Clojure fournit également du sucre syntaxique pour permettre une utilisation plus facile de ces structures de données. Ainsi, vecteurs comme dictionnaires peuvent être utilisés comme des fonctions, renvoyant la valeur correspondant au paramètre qui leur est passé :

(def v [1 2 3 4]) (def d {1 "bleu" 2 "rouge" 3 "vert"}) (v 2) ;; renvoie 3 (d 1) ;; renvoie "bleu"

En ce qui concerne les dictionnaires, leurs clés correspondent souvent à des mots-clés, des identifiants commençant par le caractère :. Il est également possible d'utiliser ces mots-clés en guise de fonction, afin d'obtenir la valeur correspondante dans le dictionnaire passé en argument :

(def point {:x 3 :y 4}) (:x point) ;; renvoie 3

Un autre élément de syntaxe intéressant pour accéder au contenu d'une structure de données est la déstructuration, qui permet de lier des variables à un élément d'une structure plutôt qu'à son ensemble. Par exemple, si l'on désire créer une fonction affiche-point qui prend en paramètre un vecteur contenant l'abscisse et l'ordonnée, plutôt que d'accéder manuellement au premier et au second élément du vecteur, on peut écrire le code suivant :

(defn affiche-point [[x y]] (println "Coordonnées :" x ";" y)) (affiche-point [4 2]) ;; affiche "Coordonnées : 4 , 2"

Cette déstructuration fonctionne pour les listes et les vecteur, mais également pour les dictionnaires.

Interopérabilité avec Java

Un atout de Clojure est son interopérabilité avec Java, qui lui permet d'utiliser les multiples bibliothèques existantes. Cela se fait très simplement : (classe. parametres) crée une nouvelle instance de la classe, tandis qu'on accède à une méthode ou à un attribut public en faisant (.methode objet). Un exemple concret, pour afficher une fenêtre via la biblièthèque Swing :

(import '(javax.swing JFrame JLabel)) ;; importe JFrame et JLabel (def frame (JFrame. "Hello !")) ;; JFrame frame = new JFrame ("Hello !"); (def label (JLabel. "Hello, world !")) ;; JLabel label = new JLabel ("Hello, world !"); (.add (.getContentPane frame) label) ;; frame.getContentPane().add(label) (.pack frame) ;; frame.pack () (.setVisible frame true) ;; frame.setVisible (true)

La macro proxy permet également de créer des objets étendant des classes ou implémentant des interfaces. Pour rester dans l'interface graphique, si l'on veut que le programme affiche "Plop !" lorsqu'on clique sur un bouton :

(def button (javax.swing.JButton. "Plop")) ;; crée le bouton (.addActionListener button (proxy [java.awt.event.ActionListener] [] (actionPerformed [e] (println "Plop !")))) ;; on implémente la méthode actionPerformed de l'interface ActionListener Pas (vraiment) de modèle objet

Hormis les mécanismes d'interopérabilité évoqués ci-dessus, Clojure ne met pas en avant de mécanisme pour faire de la programmation objet au sens strict du terme. Cependant, il existe un certain nombre d'outils permettant d'obtenir sensiblement le même type de fonctionnalités, notamment en terme de polymorphisme.

L'un de ces outils est la notion de protocoles, similaires aux interfaces en programmation objet. Un protocole va en effet définir un certain nombre de fonctions s'appliquant aux éléments d'un type donné. Par exemple, pour définir un protocole contenant une seule fonction, doubler :

(defprotocol Doubler (doubler [this]))

Il est ensuite possible d'implémenter ce protocole, soit pour de nouveaux types (voir ci-dessous), soit pour des types existants. Par exemple, si on veut implémenter ce protocole pour les nombres et les chaînes de caractères :

(extend-protocol Doubler java.lang.Number (doubler [x] (* 2 x)) java.lang.String (doubler [x] (str x x))) (doubler 21) ;; renvoie 42 (doubler "coin") ;; renvoie "coincoin"

En complément des protocoles, Clojure fournit également un outil pour créer de nouveaux types : defrecord (il existe également deftype, un peu plus bas niveau). Cela crée concrètement une classe Java contenant les attributs passés en paramètres, tout en permettant une utilisation similaire à celle des dictionnaires :

(defrecord Surface [longueur largeur]) (def s (Surface. 2 2)) ;; On crée un nouvel objet de la classe Surface (.longueur s) ;; On peut accéder aux attributs en utilisant les méthodes d'interopérabilité Java... (:largeur 2) ;; ... ou comme s'il s'agissait de clés pour un dictionnaire

Il est possible, lors de la création d'un nouveau record, d'implémenter directement certaines interfaces :

(defrecord Surface [longueur largeur]) Doubler (doubler [this] (Surface. (* 1.41 longueur) (* 1.41 largeur)))) (def s (Surface. 2 2)) (:longueur (doubler s)) ;; -> renvoie 2.82

Les protocoles permettent donc une forme de polymorphisme assez similaire aux interfaces ou à l'héritage dans la programmation orientée objet. Le choix de la méthode à appeler en fonction du type de l'objet (single dispatch) n'est pas toujours optimal, et il est parfois utile d'avoir un choix de la méthode à appeler qui puisse être arbitraire (multiple dispatch). Pour cela, Clojure fournit également un mécanisme, les multiméthodes.

Changements apportés par la version 1.6

La version 1.6 de Clojure apporte peu de réelles nouveautés, le langage ayant maintenant acquis une certaine maturité. Un certain nombre de fonctionnalités qui étaient auparavant considérées comme alpha ont été « promues » et sont donc maintenant considérées comme stables, notamment :

  • la création de types via defrecord ou deftype ;
  • les transients (permettant de considérer une variable immuable comme muable tant que c'est au sein de la même fonction) ;
  • les watches, permettant d'appeler automatiquement une fonction lorsqu'une variable est modifiée ;
  • les promises, qui permettent de ne pas bloquer le thread à la création de la variable, mais uniquement lorsqu'elle est lue.

Au rang des nouveautés, cette version fournit des interfaces minimales pour permettre l'accès à Clojure depuis d'autres langages tournant sur la machine virtuelle Java. Elle propose également quelques fonctions supplémentaires (some?, if-some et when-some) destinées à simplifier l'écriture d'expressions conditionnelles courantes. Sinon, la majorité des changements concerne des améliorations de mécanismes existants (comme la déstructuration, ou les mécanismes de hachage utilisés par un certain nombre de structures de données), sans compter de nombreuses corrections de bugs.

On notera également que Clojure requiert dorénavant Java 6 (ou supérieur), tandis que la version précédente (mais pas toutes les bibliothèques) pouvait encore tourner sur la version 5 de Java.

Un certain nombre de développements intéressants concernant Clojure ont lieu en dehors du cœur même de Clojure. Il existe notamment un certain nombre de projets pour compiler du code Clojure vers d'autres plate-formes. Parmi ceux-ci, ClojureScript, le compilateur Clojure pour le langage javascript, a acquis une certaine stabilité et une relative popularité. Dans un autre registre, le projet Typed Clojure vise à ajouter un typage statique optionnel, à l'instar de ce qui se fait pour d'autres langages typés dynamiquement.

Télécharger ce contenu au format Epub

Lire les commentaires

Atelier préparation aux LPIC

Lundi 31 Mars

Dans le cadre de ses formations bi-mensuelles, l'association StarinuX vous convie à l'atelier « Préparation aux certifications du Linux Professional Institute » le samedi 26 avril 2014. L'atelier est animé par Marc Baudoin, professeur à l'ENSTA, membre-enseignant agréé LPIC en France et reconnu comme excellent pédagogue.

Tous les détails en seconde partie!

Préparation aux certifications du Linux Professional Institute (LPIC)

Les LPIC comportent six examens :

  • 101-102 : maîtriser Linux, les commandes Gnu et Unix, installer les paquetages, configurer le système ;
  • 201-202 : compiler le noyau, personnaliser le système en réseau et serveur ;
  • 301-302 : en cours…

Chaque examen coûte environ 150 €, il faut donc bien s'y préparer pour ne pas le rater. Si vous avez déjà un niveau GNU/Linux correct, multipliez vos chances de réussir les LPIC qui démontreront immédiatement votre compétence sous GNU/Linux aux entreprises !

Objectif
  • Constater votre niveau et celui requis pour passer les LPIC ;
  • acquérir les bons réflexes pour aborder les examens dans de bonnes conditions ;
  • obtenir les informations techniques et "les ficelles" pour réussir l'examen.
Programme
  • Présentation du LPI ;
  • cours sous forme de nombreux tests ;
  • passage des tests 101-102 ;
  • évaluation des auditeurs sur leur niveau : s'inscrire directement à l'examen, suivre encore un cours ou attendre…
Les infos pratiques
  • Lieu : 74 rue Roque de Fillol 92800 Puteaux (RER la Défense ou métro ou Esplanade de la Défense ou Pont de Neuilly ligne 1) ;
  • Date : samedi 26 avril 2014 de 9h00 à 18h00 ;
  • Restauration : boissons, micro-ondes sur place, restaurants / alimentation à côté.
  • S'informer et s'inscrire : www.starinux.org/ateliers-sx.php

Une participation de 15 € (7,5 € pour les demandeurs d'emploi) est demandée, permettant de suivre plus de 12 autres ateliers pendant un an.

Télécharger ce contenu au format Epub

Lire les commentaires

Apéro du libre XXL à Rennes le jeudi 3 avril

Lundi 31 Mars

L'association Actux vous invite à un nouvel Apéro du Libre, jeudi 3 avril 2014 à partir de 19h au Papier Timbré, au 39 rue de Dinan à Rennes.

L'apéro du libre est une rencontre conviviale autour d'un verre, pour discuter et faire connaissance entre utilisateurs de Logiciels Libres, débutants ou confirmés. Pour fêter le printemps cet apéro s'inscrit dans le cadre de Libre en Fête et sera un apéro XXL avec quelques animations qui ponctueront la soirée.

Pour rappel, cet évènement a lieu habituellement tous les premiers jeudis du mois, même heure, même endroit, et est ouvert à tous !

Télécharger ce contenu au format Epub

Lire les commentaires

Docker : Tutoriel pour manipuler les conteneurs

Dimanche 30 Mars

Docker (présenté ici-même la semaine dernière) est un logiciel à mi-chemin entre la virtualisation applicative et l'automatisation.
Il a l'avantage de ne virtualiser que la partie application et pas du tout la partie système ni le noyau.
Il étend le principe des conteneurs Linux (LXC).

Dotcloud qui développe Docker, propose aussi un système minimaliste (CoreOS) pour héberger et hyperviser les conteneurs.

Installation (Debian/Ubuntu)

Créer le fichier /etc/apt/sources.list.d/docker.list et écrire ça dedans :

deb http://get.docker.io/ubuntu docker main

Télécharger la clé GPG et installer le package :

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9 apt-get update apt-get install lxc-docker Manipulation d'images

Prendre une Debian sur le dépôt officiel de Docker et se connecter dessus

docker pull debian docker run -i -t debian /bin/bash Faire tout ce qu'on veut sur la nouvelle image root@xxxxxx# ... Et sauvegarder les changements root@xxxxxx# exit docker commit xxxxxx le_nom_de_l_image Supprimer les images : docker rmi id_ou_nom_de_l_image Création d'images par Dockerfile

Les principales directives des fichiers Dockerfiles :

MAINTAINER : nom et courriel de mainteneur du conteneur
FROM : image de base (ubuntu, debian)
VOLUME : point de montage
RUN : commande à exécuter pour installer le conteneur.
ENTRYPOINT : commande qui s'exécute au démarrage du conteneur (une seule sera exécutée).
CMD : commande qui s'exécute au démarrage du conteneur.
ADD : copier un fichier du répertoire courant dans le système de fichiers du conteneur.
USER : utilisateur qui exécute les commandes dans le conteneur.
EXPOSE : port(s) à exposer à l'extérieur.

Manipuler un conteneur JOB1=$(docker run -d conteneur) docker logs $JOB1 docker stop $JOB1 Voir les conteneurs qui tournent : docker ps

ou

docker ps -a Supprimer un conteneur / supprimer tous les conteneurs : docker rm $JOB1 docker rm id_du_conteneur docker rm `docker ps -a -q` Construire un conteneur

Créer un fichier nommé Dockerfile avec les directives Docker puis :

docker build -t nom_du_conteneur . Exemple de Dockerfile : LAMP - MariaDB Dockerfile # lamp (d'un M qui veut dire Maria) # Pour Debian Wheezy # # VERSION 0.0.1 # FROM debian:wheezy MAINTAINER Nico Dewaele "nico@adminrezo.fr" ENV DEBIAN_FRONTEND noninteractive # Depots, mises a jour et installs de Apache/PHP5 RUN echo "deb http://ftp.fr.debian.org/debian/ wheezy main non-free contrib" > /etc/apt/sources.list RUN (apt-get update && apt-get upgrade -y -q && apt-get dist-upgrade -y -q && apt-get -y -q autoclean && apt-get -y -q autoremove) RUN apt-get install -y -q vim ssh supervisor python-software-properties apache2 libapache2-mod-php5 php5-cli php5-mysql # Installation et configuration de MariaDB RUN apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db RUN add-apt-repository 'deb http://mirrors.linsrv.net/mariadb/repo/5.5/debian wheezy main' RUN apt-get update && apt-get install -y mariadb-server RUN service mysql start RUN mysql -v -uroot -e'UPDATE user SET host = "%" WHERE user = "root" LIMIT 1; DELETE FROM user WHERE user = "root" AND host != "%"' mysql RUN service mysql stop # Config de Apache ADD foreground.sh /etc/apache2/foreground.sh ENV APACHE_RUN_USER www-data ENV APACHE_RUN_GROUP www-data ENV APACHE_LOG_DIR /var/log/apache2 # Verification de PHP ADD index.php /var/www/index.php #RUN rm /var/www/index.html # Demarrage des services RUN mkdir -p /var/log/supervisor ADD supervisord.conf /etc/supervisor/conf.d/supervisord.conf ADD start.sh /start.sh EXPOSE 80 22 # Si MariaDB doit être exposée à l'extérieur # EXPOSE 3306 CMD ["/bin/bash", "-e", "/start.sh"] foreground.sh #!/bin/bash read pid cmd state ppid pgrp session tty_nr tpgid rest < /proc/self/stat trap "kill -TERM -$pgrp; exit" EXIT TERM KILL SIGKILL SIGTERM SIGQUIT source /etc/apache2/envvars apache2 -D FOREGROUND start.sh #!/bin/bash supervisord supervisord.conf [supervisord] nodaemon=true [program:sshd] command=/usr/sbin/sshd -D stdout_logfile=/var/log/supervisor/%(program_name)s.log stderr_logfile=/var/log/supervisor/%(program_name)s.log autorestart=true [program:httpd] command=/usr/sbin/apache2ctl start stopsignal=6 [program:mariadb] command=/usr/sbin/mysqld stdout_logfile=/tmp/%(program_name)s.stdout stderr_logfile=/tmp/%(program_name)s.stderr stopsignal=6Télécharger ce contenu au format Epub

Lire les commentaires

Jeudi du libre le 3 avril à Lyon : Firefox OS

Dimanche 30 Mars

De nos jours, la plupart des gens se promènent avec un smartphone dans la poche (NdM : a priori il est question de la France ici ; voir des chiffres de vente et de marché du smartphone en France par exemple). Bien plus qu'un téléphone, cet appareil nous permet d'accéder à internet, d'écouter de la musique, lire nos courriels, consulter nos comptes et bien d'autres choses encore !

Ce compagnon étant devenu pratiquement indispensable, la question du système d'exploitation doit nécessairement être posée. À l'heure actuelle, Android semble être le seul système libre disponible sur le marché (bien que son côté libre fasse souvent débat). Pourtant d'autres systèmes libres apparaissent, comme Ubuntu Phone et Firefox OS.

Ce jeudi du libre de l'ALDIL vise à présenter Firefox OS, système développé par la fondation Mozilla (le programme est en seconde partie).

Comme d'habitude, cela se passe à la Maison Pour Tous - salle des Rancy le jeudi 3 avril à 19h30, au 249 rue Vendôme - 69003 LYON (Métro Saxe Gambetta).

Le programme

L'intervenant aura l'occasion de répondre à de multiples questions telles que :

  • Pourquoi choisir un appareil sous Firefox OS ?
  • Quelles sont les valeurs défendues par la fondation à l'origine de ce système ?
  • Comment Firefox OS fonctionne ?
  • Quelles sont les différences par rapport aux autres systèmes, notamment Android ?
  • Comment en profiter ?
  • Où trouver des périphériques le proposant et à quel prix ?
Le conférencier

Fabien Bourgeois est membre de plusieurs associations du libre dont l'ALDIL. Dans sa vie professionnelle, il est concepteur d'applications Web. Il a décidé d'utiliser au quotidien un téléphone sous Firefox OS dès que les premiers modèles ont été disponibles en Europe. Ce n'est pas un spécialiste de Firefox OS mais un utilisateur classique, qui souhaite simplement partager son expérience.

Lieu

La conférence a lieu à la Maison Pour Tous / Salle des Rancy à partir de 19h30.

Maison pour Tous — Salle des Rancy
249 rue Vendôme
69003 Lyon
(Métro Saxe Gambetta)

Télécharger ce contenu au format Epub

Lire les commentaires

1flow — plateforme libre pour l'information

Vendredi 28 Mars

1flow est un outil de veille libre, pour rester informé et convertir l'information en action. C'est une application web responsive qui assure l'agrégation (flux RSS et bientôt sociaux), la lecture (récupération des contenus complets et conversion plein-texte à la volée) et l'import / stockage de contenus numériques (PDF, vidéos, images…). À destination d'un public averti mais non-informaticien, son interface est épurée (regardez la vidéo d'introduction de 2 min).

Nous cherchons à monter une équipe d'utilisateurs contributeurs (développeurs ou non) pour tester et renforcer le projet. Plus de détails en seconde partie.

Après un an de développements en interne à l'issue duquel nous devions fonder une société avec un modèle type freemium, nous avons pivoté pour des raisons hors-sujet de cette dépêche, et libéré le code source sous licence GNU AGPLv3, puis ouvert la gestion du projet pour faire de 1flow un bien commun (qui s'inscrit dans http://unisson.co/).

Je (Olivier, développeur à l'origine du projet, impliqué dans le libre depuis 1996) continue les développements et souhaite financer 1flow par un modèle participatif et durable de l'économie du don (pourquoi (en anglais) ?). Matthieu (co-fondateur) contribue au projet avec des contenus (vidéos, dessins, textes) et une promotion hors-pair dans le milieu grand-public non sensibilisé au logiciel libre.

Nous cherchons à monter une équipe d'utilisateurs contributeurs (développeurs ou non) pour renforcer le projet. Les utilisateurs non-contributeurs sont aussi les bienvenus mais comme la plateforme est hébergée sur nos fonds propres, les inscriptions sur http://1flow.io/ sont limitées pour l'instant à ceux qui souhaitent s'impliquer.

Cependant, 1flow est aussi installable chez soi, car un des objectifs à long terme est de construire une toile de confiance pour le stockage distribué de l'information. La première étape est de stresser la procédure d'installation et la valider sur différents environnements, et pour cela nous avons besoin de votre aide.

Concrètement, bien qu'il reste beaucoup de travail pour arriver à l'outil complet tel que nous l'avons imaginé (de la lecture à l'écriture en passant par le partage), 1flow est largement utilisable et très stable, donc il y a déjà un réel intérêt à l'installer chez soi. La plateforme est mise à jour continuellement avec de nouvelles fonctionnalités ou des corrections.

En espérant vous accueillir nombreux, je vous souhaite une très bonne journée !

Télécharger ce contenu au format Epub

Lire les commentaires

Leslie Lamport, prix Turing 2013

Vendredi 28 Mars

Le prix Turing récompense des chercheurs en informatique qui posent des bases sur lesquelles s’appuient non seulement leurs successeurs, mais aussi chacun d’entre nous. Cette année, c’est Leslie qui Lamport (© Shuba) pour ses contributions fondamentales à la théorie et la pratique des systèmes répartis et concurrents, notamment l’invention de concepts tels que la causalité et les horloges logiques, la sûreté et la vivacité, les machines à états réparties, et la cohérence séquentielle.

La suite en seconde partie.

Sommaire À la baguette

Utilisez-vous un système qui exploite plusieurs programmes¹ ? Lorsque plusieurs processus s’exécutent simultanément, ils peuvent avoir besoin d’accéder à un même emplacement de mémoire. Tant qu’ils ne font que lire son contenu, il n’y a pas de problème, mais s’ils veulent le modifier, on ne peut pas les laisser le faire n’importe comment sous peine de voir arriver dans cette zone de mémoire une valeur imprévue. C’est pour résoudre ce problème, appelé exclusion mutuelle, que Lamport a publié l’algorithme de la boulangerie, première solution ne nécessitant pas d’assistance de la part du matériel. De nombreuses solutions à ce problème existent de nos jours, chacune adaptée à un contexte bien particulier.

Coucou !

Prenons maintenant un peu de recul et considérons plusieurs programmes sur des machines différentes reliées en réseau. Nous avons maintenant un nouveau problème, car le temps de communication entre les machines, ajouté à l’inévitable décalage entre leurs horloges internes, rend difficile de dire dans quel ordre leurs opérations se sont produites. De Kevin ou de Jean-Édouard, qui a tiré le premier dans leur partie de Half-Halo² ? L’insertion de la valeur 42 dans la liste d’entiers partagée est-elle arrivée avant ou après l’instruction demandant de supprimer toutes les valeurs paires ? Avec une horloge logique, ce genre de questions prend un nouveau sens. Introduite par Lamport pour donner une fondation au concept de temps dans un système réparti, elle ne fait aucune référence au temps réel (celui de la pendule) et permet de raisonner en termes de causalité. Dans ce modèle, un évènement peut arriver avant un autre (par exemple, si A est l’émission d’un message et B sa réception, A est arrivé avant B) ou deux évènements peuvent être indépendants. Différents types d’horloges logiques existent aujourd’hui, qui donnent plus ou moins d’information sur la relation de causalité dans le système réparti (plus l’information est complète, plus le mécanisme de mise à jour des horloges logiques nécessite d’échanger des messages volumineux).

Le petit oiseau va sortir

Il est clair, à ce stade, qu’un système réparti est un sac de nœuds dans lequel il est difficile de mettre de l’ordre. Par exemple, savoir dans quel état se trouve le système à un moment donné est évidemment impossible. Ou pas. Plus précisément, si on ne peut pas obtenir l’état du système à un instant t (à la pendule), il est tout de même possible d’en obtenir une représentation cohérente (par exemple, dans cette représentation, si B a reçu le message M de A, alors A a envoyé le message M à B). L’algorithme du cliché distribué de Chandy et Lamport fournit une solution à ce problème essentiel puisque sans cela, on ne pourrait pas savoir si le système a atteint un état satisfaisant les conditions attendues (autrement dit, si le système a bien calculé ce qu’on voulait lui faire calculer).

Et pourtant il faut vivre…

Plus largement, on aimerait bien pouvoir raisonner sur les systèmes répartis avec des outils logiques similaires à ceux que l’on utilise sur les algorithmes classiques afin de prouver leur correction. Ceci nécessite un nouvel outil : la logique temporelle, sur laquelle Lamport a beaucoup travaillé. Elle est basée sur deux types de propriétés la combinaison de propriétés de sûreté (A est toujours vrai) et de vivacité (B deviendra vrai dans le futur, on ne sait pas quand). En d’autres termes, une propriété de sûreté indique qu’une mauvaise chose n’arrivera jamais et une propriété de vivacité indique qu’une bonne chose finira par arriver. Toute propriété d’un système réparti peut être exprimée comme une combinaison de propriétés de sûreté et de vivacité. On doit à Lamport la logique TLA (Temporal Logic of Actions), le langage de spécification TLA+ et le langage algorithmique PlusCal, basés sur ces concepts et accompagnés d’outils open source (licence MIT).

Au commencement fut Chaos

Jouons un peu avec nos processus. Ils ont chacun un programme, auquel on ne touche pas, et une mémoire contenant des variables. Écrivons maintenant n’importe quoi dans ces variables. Que se passe-t-il ? Sans doute rien de bon. Sauf peut-être si l’auteur du programme s’appelle Dijkstra, qui a introduit l’autostabilisation en informatique. Son article de 1974 donne quelques programmes capables, après une période de convergence, de fonctionner malgré ces conditions radicales : essentiellement, ils sont capables de récupérer après n’importe quelle défaillance, au prix d’un manque de sûreté (on parle alors plutôt de sûreté inéluctable : on aura des propriétés de sûreté, mais on ne sait pas quand).

Ce résultat avait amusé quelques chercheurs à l’époque, puis était retombé dans l’oubli jusqu’à une présentation de Lamport, dix ans plus tard. Intitulée Solved Problems, Unsolved Problems and NonProblems in Concurrency, elle fait le point sur l’état de l’art dans ce domaine et, entre autres, déterre l’article de Dijkstra, suscitant l’intérêt d’autres chercheurs, ce que Lamport considère comme une de ses plus importantes contributions à l’informatique.

Les généraux byzantins

Constantinople, IXe siècle. Les 101 généraux dalmatiens de l’armée byzantine doivent repousser l’envahisseur. Mais leurs troupes de Macédoine risquent de mal se mélanger, et donc d’attaquer sans se concerter. Les généraux doivent pourtant se mettre d’accord pour attaquer ou non. Cependant, certains d’entre eux sont des traîtres qui n’hésiteront pas, par exemple, à s’allier de façon à faire croire à un autre général que l’attaque est décidée pour la seule raison de l’envoyer tout seul au casse-pipe.

Ce problème se retrouve en informatique dans un système comportant plusieurs processeurs dont certains fonctionnent mal, un type de défaillance plus pervers que l’arrêt définitif car beaucoup plus difficile à détecter. Un mauvais fonctionnement peut être dû à un défaut de fabrication, mais aussi à de mauvaises conditions (chaleur, rayons cosmiques…). Le problème des généraux byzantins est donc un bloc de construction fondamental pour la mise au point de tout système dans lequel une défaillance peut avoir des conséquences graves. Lamport, Pease et Shostak en ont apporté les premiers éléments théoriques : la preuve que le problème n’est résoluble que si le nombre de traîtres est strictement inférieur au tiers de l’effectif, ou à la moitié si des signatures numériques sont utilisées, et les algorithmes correspondants.

Le parlement à temps partiel³

Reprenons le consensus, cette fois en présence de défaillances par arrêt définitif et dans un système asynchrone, c’est-à-dire qu’aucune condition n’est imposée sur le temps de transmission des messages. Un petit détail technique chagrine les chercheurs dans ce domaine : ce problème est insoluble (théorème de Fischer, Lynch et Paterson 1985). Comme la recherche ne s’arrête pas pour si peu, de nombreux algorithmes existent pour résoudre le consensus dans des conditions proches de l’asynchronisme. On doit à Lamport l’algorithme (ou, si on préfère, le concept duquel on peut tirer des algorithmes) de Paxos, dans lequel le système reste toujours cohérent et qui garantit la progression vers le consensus dès lors qu’une majorité des processus fonctionnent correctement. Cet algorithme est également connu pour la mise en scène de son auteur sur le thème d’une cité grecque fictive, avec des présentations en costume d’archéologue, et par son utilisation par Google dans Chubby, dont dépendent notamment le Google File System et BigTable. Plusieurs versions étendues ont été proposées, dont une qui résout le consensus byzantin.

Fenêtres sur cours

Lamport est employé par Microsoft Research, ce qui ne signifie pas qu’il travaille sur la prochaine version de Windows. Ce francophone est membre du laboratoire INRIA-Microsoft de Palaiseau, dans l’Essonne, et collabore régulièrement avec des chercheurs français qui participent à la formation des futures générations d’informaticiens qui sauront, grâce à Lamport, qu’un système réparti est un système dans lequel la défaillance d’un ordinateur dont vous ne saviez même pas qu’il existait peut rendre le vôtre inutilisable.

¹Et sinon, comment êtes-vous arrivé sur linuxfr ?
²D’accord, mauvais exemple : on sait que c’est Han Solo qui a tiré le premier.
³Ceci n’est pas un appeau à trolls politiques.

Télécharger ce contenu au format Epub

Lire les commentaires

Java 8 et NetBeans 8 sont disponibles

Vendredi 28 Mars

Oracle a annoncé la mise à disposition de la nouvelle version standard de Java, la 8. Deux ans et sept mois après Java 7, la publication de cette nouvelle version a été retardée afin d'améliorer la sécurité.

Et pour permettre d'exploiter au mieux ce nouveau JDK, une nouvelle version de l'environnement de développement NetBeans est également disponible et porte le même numéro. Côté Eclipse, un patch est proposé et concernant IntelliJ, Java 8 est pris en charge dans la version 13.1 sortie la semaine dernière.

Ces deux sorties marquent la volonté d'Oracle de convaincre les développeurs.

Sommaire Nouveautés Java 8 Les lambdas

C'est une technique pour écrire des fonctions qui ne sont pas nommées et directement définies là où elles sont appelées. Cela permet une écriture plus simple pour les fonctions qui ne sont appelées qu'à un seul endroit du code. L'exemple classique est pour définir une fonction de tri :

public class Users { public String username; public int karma; /** * Sort users by karma */ public static void sortUser(Users[] users) { Arrays.sort(users, (Users u1, Users u2) -> { return u1.karma - u2.karma; }); } }

Avant l'introduction des lambdas, dans cet exemple il fallait définir une implémentation pour Comparator, ce qui était un peu plus verbeux :

public class Users { public String username; public int karma; /** * Sort users by karma */ public static void sortUser(Users[] users) { Arrays.sort(users, new Comparator<Users>() { @Override public int compare(Users u1, Users u2) { return u1.karma - u2.karma; } }); } } Interfaces fonctionnelles (FunctionalInterface)

Pour implémenter les lambdas le langage s'appuie sur les interfaces fonctionnelles, c'est-à-dire des interfaces possédant une seule méthode abstraite. Toutes les interfaces respectant cette condition sont de fait des interfaces fonctionnelles. Toutefois, il est possible d'utiliser l'annotation @FunctionalInterface pour qu'une erreur soit levée si une interface ne respecte plus cette condition.

API Stream

L'API Stream a été ajoutée, permettant de représenter des données sous forme de flux et de les manipuler de manière efficace. Cette API s'appuie largement sur les lambdas expressions décrites plus haut.

Les habitués des pipes du shell (il y en a par ici ? :), des langages fonctionnels et de certains autres comme Perl ne devraient pas être trop dépaysés par cette manière de programmer.

Voici un exemple sorti de la documentation officielle :

int sum = widgets.stream() .filter(b -> b.getColor() == RED) .mapToInt(b -> b.getWeight()) .sum();

Ici widgets est une Collection<Widget>, mais cette API peut être utilisée avec toute sorte de flux de données comme des fichiers ou des sockets. Il est aussi possible de créer ses propres types de stream.

Enfin, il est possible de paralléliser les traitements sur ces flux de manière simple (plus simple que gérer des Threads).

Nashorn, JavaScript dans Java

Java inclut désormais un nouveau moteur JavaScript qui remplace le vieillissant Rhino. Il permet donc d'invoquer du code JavaScript directement dans le code Java. Il est évidemment possible d'interagir avec le code Java en appelant du code Java en JavaScript ou même en étendant des classes Java.

Il est aussi possible de l'utiliser directement en ligne de commande comme un script classique et d'éviter d'écrire un wrapper Java. La commande s'appelle jjs.

Implémentation par défaut dans les interfaces (Defender Methods)

Jusqu'à la version précédente, les interfaces Java ne pouvaient contenir de code, uniquement des déclarations de méthode. À partir de cette version, les implémentations de méthode statique et les implémentations par défaut de méthode sont possibles. Ces dernières sont des implémentations des méthodes qui seront utilisées si la méthode n'est pas redéfinie dans une autre implémentation qui étend celle-ci ou une classe qui implémente l'interface sans implémentation pour la méthode.

Cela fait resurgir le problème de l'héritage en diamant qui était évité par l'absence d'héritage multiple de classe et que les interfaces permettaient d'éviter par rapport aux classes abstraites. Que faire lorsqu'une méthode est définie dans plusieurs interfaces implémentées dans une classe ? Prenons l'exemple suivant :

interface A { void m() default {} } interface B extends A {} interface C extends A {} class D implements B, C {}

Ce cas est assez simple, D héritera de l'implémentation dans A. Si B ou C implémente la méthode, ce sera cette implémentation qui sera utilisée (implémentation la plus spécifique est utilisée). Si B et C implémentent la méthode, il faudrait spécifier explicitement quelle méthode sera utilisée.

Méthodes statiques dans les interfaces

En plus des méthodes par défaut, il est possible de définir des méthodes statiques dans les interfaces. Il n'y a pas de différence avec les méthodes statiques dans une classe.

API Date

Beaucoup de monde attendait une évolution (une révolution ?) de l'API Date et utilisait JodaTime à la place de l'API standard.

Java 8 apporte une nouvelle API pour gérer les dates qui est divisée en 2 :

  • le temps humain, principalement porté par LocalDate et LocalTime gère une date prenant en compte le fuseau horaire et possédant distinctement différents champs (pour l'heure, le jour, etc)
  • le temps machine qui est un timestamp et qui s'appuie sur les classes Instant et Duration.

Grande nouvelle : cette nouvelle API est thread-safe ! Je vous laisse découvrir plus en détail cette API au travers du tutoriel de Yohan Beschi
Tutoriel sur les nouveautés du langage 8 : la nouvelle API Date et Time.

Disparition du Permgen

C'est une évolution spécifique à l'implémentation de référence mais ça fera plaisir à beaucoup de monde en évitant des erreurs du type java.lang.OutOfMemoryError: PermGen space. Le permgen stockait les définitions de classes définies dans le programme en cours et sa taille pouvait poser un problème pour les grosses applications utilisant beaucoup de classes ou les générant en cours de fonctionnement. C'est donc un point en moins à surveiller pour les mises en production.

Télécharger ce contenu au format Epub

Lire les commentaires

100 développeurs : la part belle à l’Open Source

Vendredi 28 Mars

La french touch du code, c’est le projet fou mené à bien par Tariq Krim de recenser 100 développeurs français (ou francophones) qui ont marqué le paysage mondial, dans le cadre d’une mission confiée par le ministère de l’Économie Numérique. Un projet fou, car quoi qu’il advienne, cette liste sera forcément incomplète et subjective.

La première chose qui marque dans cette liste, c’est la prédominance du monde du libre. Les développeurs de l’hexagone rayonnent partout dans le monde, et ça se manifeste particulièrement à travers le libre.

Si l’on peut aisément critiquer la liste (incomplète, beaucoup de connaissances de l’auteur, très centré startup et business, publication web du rapport sur une plateforme US), l’initiative n’en est pas moins louable, car l’objectif est de remettre sous les projecteurs des compétences qui sont bien souvent sous-estimées ou négligées par les entreprises et autorités françaises. C’est d’ailleurs assez impressionnant, et le rapport en parle, beaucoup de ces développeurs ont choisi de rejoindre les géants de l’informatique étrangers. Peut-être que cette reconnaissance peut amener les entreprises à mieux valoriser les compétences en tenant tête aux géants américains.

En seconde partie de dépêche, un extrait des développeurs sélectionnés qui ont contribué au libre.

Les développeurs du monde Open Source

Romain Guy, le développeur du système graphique d’Android est le premier cité.

Paul Rouget, ensuite, un contributeur à Firefox de la première heure.

Samuel Tardieu est cité également, pour ses nombreux projets libres et son travaille sur Urbi, un OS robotique, aux côtés d’Akim Demaille.

Sam Hocevar, l’auteur fou de libcaca et le casseur de captcha, codeur sur VLC y est cité, aux côtés d’autres développeurs Debian comme Julien Danjou et Lucas Nussbaum, l’actuel DPL.

L’inénarrable Fabrice Bellard, le recordman en 1997 et 2009 du calcul du nombre de décimales de Pi, auteur de QEMU et de FFmpeg.

Thierry Carez, membre PSF et contributeur OpenStack avec Nicolas Barcet.

Plusieurs développeurs kernel sont cités, comme Rémy Card, l’auteur originel des systèmes de fichiers ext et ext2 ; Frédéric Weisbecker qui parle à l’oreille du scheduler, ou Éric Dumazet qui parle à l’oreille du réseau.

Travaillant sur KOffice et le standard OpenDocument, David Faure fait partie de la liste.

Dans les différents langages académiques (ou pas) Xavier Leroy l’inventeur de OCaml, Bertrand Meyer l’auteur d’Eiffel, ou Alain Colmerauer qui a créé Prolog.

Pierre-Yves Ritschard et Marc Espie de la sphère OpenBSD sont cités pour leurs travaux très variés.

On découvre également dans la liste Paparazzi un système de drones libre auquel Pascal Brisset, Antoine Drouin, Michel Gorraz, Pierre-Selim Huard et Jeremy Tyler ont participés.

Loïc Dachary, le fondateur de la FSF France et de Savannah.

Christophe Massiot, Jean-Baptiste Kempf des projet VLC et upipe.

Les créateurs du projet qui monte, docker, Salomon Hykes, Sébastien Pahl, Samuel Alba et Jérôme Petazzoni.

Sébastien Bourdeauducq, fondateur de Milkymist (M-Labs), des designs hardwares open source (CPU, SoC, etc.)

Fabien Potencier, créateur de Symfony, un des framework PHP les plus utilisés au monde.

Ludovic Dubost, le fondateur de XWiki, un wiki open source.

Daniel Glazman, contributeur Mozilla, auteur de BlueGriffon et co-chairman du groupe de travail CSS au W3C.

Mickaël Rémond, committer ejabberd et membre de la fondation XMPP.

Sébastien Tricaud, contributeur Wengo Phone et NuFW.

Stéphane Bortzmeyer, notre trolleur des réseaux, et expert DNS.

Une liste incomplète

Notre champion des kernels stables, et du premier load balancer au monde HAProxy, Willy Tarreau est absent. Pas de mention non plus du précédent DPL, Stefano Zacchiroli. Ou de Julia Lawall, l’auteur de coccinelle qui a énormément contribué à la qualité du code Linux.

On va avoir une pensée toute spéciale - bien évidemment sur LinuxFr.org - à Fabien Penso, Pascal Terjan, et Bruno Michel, qui ont écrit ou ré-écrit LinuxFr.org.

Peut-être pourrons-nous rajouter ceux-ci ?

  • Gaël Duval, créateur de Mandrake/Mandriva
  • Pierre Ficheux, auteur de livres sur Linux embarque
  • Jean_Baptiste Queru, développeur AOSP (Android)
  • Cédric Temple, lead développeur de Centreon
  • Jean Gabès, lead développeur de Shinken
  • Yann Leboulanger, lead développeur de Gajim
  • Stéphane Fermigier, lead développeur de Nuxeo

Quels sont les développeurs qui vous ont marqué ? Quels autres oublis flagrants y a-t-il dans ce rapport selon vous ?

Télécharger ce contenu au format Epub

Lire les commentaires

Libre en fête le 12 avril à Villars-Colmars

Jeudi 27 Mars

Pour l'édition 2014 du Libre en Fête, l'association Linux-Alpes répond à l'invitation de la Communauté de communes du Haut Verdon-Val d'Allos. Une journée complète d'échanges, de démonstrations et d'installations de logiciels libres se déroulera donc samedi 12 avril à La Rotonde de Villars-Colmars.

Au programme des ateliers découvertes :

  • Openstreetmap
  • Ubuntu dans les écoles
  • le logiciel libre pour les professionnels
  • les services en ligne libres
  • install party !

La journée se terminera par une soirée pizza!

Participation libre et gratuite ouverte à tous

Au programme

Le matin de 10h à 12h, ateliers découvertes

  • OpenStreetMap : découvrez un logiciel de cartographie grand public aux multiples talents.
  • Ubuntu dans les écoles : un ordinateur sans virus, avec des jeux éducatifs, des logiciels destinés aux instituteurs, aux parents, aux enfants et bien plus encore ! – Présentation par un maître d'école.
  • Le logiciel libre pour les professionnels : quelles applications, quels outils pour mon entreprise ? Questions / Réponses.

11h30 : le verre de l'amitié offert par la municipalité de Villars-Colmars

De 14h à 18h, ateliers découvertes

  • Libre balade : rendez-vous à la Rotonde à 14H pour une promenade avec GPS à travers le village de Villars, accompagné par Pierre Bonnet, passionné par l'histoire de son village. Ensuite, c'est à vous de jouer pour créer la carte interactive de votre parcours grâce à Openstreetmap.
  • Connaissez vous vraiment Facebook et Google ? Sur votre ordinateur, sur votre smartphone, quelle protection pour votre vie privée ? Quelles alternatives libres ? Un atelier conférence pour tout savoir sur les services en ligne libres animé par l'association Outils-Conviviaux.

Toute la journée :

  • Install Party : découvrez Ubuntu, libre et gratuit… Nous vous proposons de vous installer bénévolement ce système sur votre ordinateur. Attention, vous devez avoir au préalable sauvegardé vos données (documents, photos, vidéos, mails…). Information détaillée sur nos dépliants ou sur cette page
 Et le soir à partir de 20h, libres blablas autour de pizzas à Thorame Basse, au Café de la Vallée

Télécharger ce contenu au format Epub

Lire les commentaires

Meilleurs contributeurs LinuxFr.org : les gagnants de février 2014

Jeudi 27 Mars

On continue sur notre lancée de récompenser ceux qui chaque mois contribuent positivement au site LinuxFr.org (dépêches, commentaires, logo, journaux, patchs, etc.). Vous n'êtes pas sans risquer de gagner un abonnement à GNU/Linux Magazine France ou encore un livre des éditions Eyrolles ou ENI. Voici les gagnants du mois de février 2014 :

Abonnement d'un an à Linux Magazine France

Livres des éditions Eyrolles et ENI

Les livres qu'ils ont sélectionnés sont en seconde partie de la dépêche.

Certains gagnants n'ont pas pu être joints ou n'ont pas répondu. N'oubliez pas de mettre une adresse de courriel valable dans votre compte ou lors de la proposition d'une dépêche. En effet, c'est notre seul moyen de vous contacter, que ce soit pour les lots ou des questions sur votre dépêche lors de sa modération. Tous nos remerciements aux contributeurs du site ainsi qu'à GNU/Linux Magazine France, aux éditions Eyrolles et ENI.

N'oubliez pas de contribuer, LinuxFr.org vit pour vous et par vous !

Les livres sélectionnés par les gagnants :

                        Télécharger ce contenu au format Epub

Lire les commentaires

Silverpeas 5.14 est sortie

Jeudi 27 Mars

Après plusieurs mois de développement et de débogages intensifs, Silverpeas 5.14, le portail collaboratif et social clé en main, est sorti officiellement la semaine dernière.

Silverpeas est un portail collaboratif et social libre (AGPLv3) écrit en Java/JEE. Son objectif est de faciliter la mise en relation des utilisateurs, leur collaboration, le partage des connaissances et des bonnes pratiques. Pour ce faire, il offre une ergonomie intuitive et de nombreuses applications prêtes à emploi (environ une trentaine) : gestion documentaire (GED), archivage de courriels, import de documents numérisés, workflow documentaire, réservation de salles, organisation de réunions, liens de téléchargement temporaires, blogs, formulaires en ligne, petites annonces, newsletter, flux RSS, etc.

Vous découvrirez plus en détails cette version en deuxième partie de dépêche.

La version 5.14 offre un tout nouveau skin à la plate-forme, apportant un aspect plus moderne et une meilleure lisibilité. Les espaces bénéficient d'une nouvelle page d'accueil. Plus éditoriale et avec une mise en place immédiate, elle remplace l'actuelle page d'accueil basée sur les portlets. L'éditeur WYSIWYG a été mis à jour et offre également un aspect plus moderne.

Les formulaires continuent à s'enrichir avec une nouvelle interface de gestion plus ergonomique et avec deux nouveaux champs : adresse/cartographie et adresse e-mail. Côté administration pure, il est maintenant possible d'affecter un quota d'espace disque sur chaque espace. Enfin, la gestion documentaire offre deux nouvelles fonctions liées aux fichiers : le blocage du téléchargement pour les lecteurs et la limitation des types de fichiers autorisés.

L'installateur graphique, basé sur izPack, vous permet d'installer rapidement Silverpeas en vue de l'essayer. Les paquets pour RedHat/CentOS et pour Debian/Ubuntu vous permettent d'installer Silverpeas sur votre distribution (cf. la page explicative). Seul le template de VM pour la version 5.14 n'est pas encore généré sur le marketplace d'UShareSoft, mais ne saurait tarder.

Télécharger ce contenu au format Epub

Lire les commentaires

Soirée Intéropérabilité des frameworks

Mercredi 26 Mars

L’antenne AFUP (Association Française des Utilisateurs de PHP) Paris donne rendez-vous à tous les développeurs et développeuses le 2 avril 2014 autour du thème de l’intéropérabilité des frameworks à Paris (salle Spark).

L'antenne invite 2 conférenciers pour parler PSR avec FIG et les injections de dépendances. La soirée sera découpée de la manière suivante :

  • ouverture des portes à 18h30 ;
  • 1ère présentation : les containers d’injection par David Négrier de The Coding Machine ;
  • 2ème présentation : les efforts de FIG par Frédéric Marand de Osinet ;
  • 3ème présentation : présentation surprise ;
  • pot de l’amitié.

Comme toujours le rendez-vous est gratuit et ouvert à tous, n’hésitez donc pas en parler autour de vous, et comme toujours… le nombre de places est limité. Alors n'hésitez pas à vous inscrire à partir de la page de l'événement!

Télécharger ce contenu au format Epub

Lire les commentaires

Atelier serveur Samba

Mercredi 26 Mars

Dans le cadre de ses formations bi-mensuelles, le GULL StarinuX vous invite à participer à l'atelier Serveur Samba.

Une journée d'apprentissage intensive et passionnante ! Le programme est en seconde partie.

Objectif :

À la suite de cet atelier vous serez capable d'installer, configurer votre serveur Samba, d'échanger des fichiers entre postes Linux et / ou Windows avec la sécurité, créer un serveur d'impression tout-terrain depuis Linux ou Windows, se connecter en mode client/serveur entre postes GNU/Linux, Windows et Apple.

Programme :

  1. Présentation et origine de Samba (SMB = System Message Block),
  2. Installer Samba et le configurer (smb.conf), rôle de portmap, domaine ou groupe de travail,
  3. Étude des commandes consoles Samba (smb_xxx_), paramétrage, (en mode console et mode graphique)
  4. Échanges de fichiers inter-plates-formes,
  5. Imprimer tous azimuts quel que soit le serveur ou la plate-forme dans le domaine ou groupe,
  6. Connexions Client/Serveur inter-plates-formes,
  7. L'avenir : présentation de Samba version 4.
Télécharger ce contenu au format Epub

Lire les commentaires

Atelier informatique à Grenoble le 1er mercredi de chaque mois

Mercredi 26 Mars

Un atelier informatique se tiendra désormais à Grenoble le 1er mercredi de chaque mois au centre social autogéré la BAF, 2 chemin des alpins. Il sera ouvert de 20h à minuit et son entrée sera libre toute la soirée, sans inscription.

Et voici le texte de présentation complet:

Atelier Informatique
tous les 1er mercredi du mois, de 20h à MINUIT ! entrée libre
à la BAF: 2, chemin des alpins à Grenoble

Partage des connaissances, petits dépannages, initiation aux logiciels libres. Bienvenue, c’est sans inscription:

Une fois par mois aura lieu à la BAF à Grenoble un atelier d’informatique ouvert au public, sans programme pré-établi et sans heure d’arrivée obligatoire, un rendez-vous où chacun-e peut venir avec son ordinateur, ses questions, ses problèmes, et si tout se passe bien, repartir avec des solutions.

Ce sera aussi l’occasion d’avoir un moment et un lieu d’initiation aux logiciels libres sur des postes en libre service, et à la cryptographie (notamment asymétrique, pour chiffrer les emails avec une clé publique), une pratique in-dis-pen-sable dont beaucoup de gens ont entendu parler mais qui est encore trop peu utilisée. On trouvera en plus pendant cet atelier des ressources et des conseils pratiques pour protéger la confidentialité de ses données numériques en général et en particulier.

Ce rendez-vous pourra être également l’occasion de diagnostiquer un ordinateur, récupérer des données effacées, apprendre à se servir de logiciels libres pour faire du montage vidéo ou du son, installer (GNU)Linux sur un ordinateur, installer openwrt sur un routeur wifi et encore d’autres choses que vous pourrez proposer…

Télécharger ce contenu au format Epub

Lire les commentaires

Séminaire LinID le jeudi 3 avril 2014

Mercredi 26 Mars

La société Linagora organise le jeudi 3 avril, dans ses locaux, 74/80 rue Roque de Fillol, 92400 Puteaux (métro : Esplanade de la Défense), un séminaire sur la suite logicielle libre LinID.

LinID est édité sous licence AGPLv3 et a pour objectif de fournir un ensemble de briques libres pour mettre en place de la gestion des identités et des accès, et de la fédération des identités.

Le programme du séminaire est le suivant :

  • 9h00-9h15 - accueil ;
  • 9h15-9h30 - introduction ;
  • 9h30-10h00 - présentation des composants de LinID.org : annuaire LDAP, Directory Manager pour la gestion facile des utilisateurs, OpenLDAP Manager pour la configuration technique, WebSSO et sécurité avec LemonLDAP ::NG  ;
  • 10h00-10h30 - intégration du serveur Active Directory avec LinID (synchronisation avec LS Connecteur, authentification, …) ;
  • 10h30-10h45 - pause ;
  • 10h45-11h30 - mise en place de la fédération des identités avec le protocole SAML ;
  • 11h30-12h00 - retour d’expérience par Olivier Guillard, AFNIC.

Le séminaire est gratuit mais une inscription est nécessaire pour participer.

Télécharger ce contenu au format Epub

Lire les commentaires

Foire du Libre 2014

Mardi 25 Mars

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

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

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

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

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

Télécharger ce contenu au format Epub

Lire les commentaires

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

Mardi 25 Mars

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

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

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

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

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

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

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

Télécharger ce contenu au format Epub

Lire les commentaires

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

Mardi 25 Mars

La revue de presse de l'April est régulièrement éditée par les membres de l'association. Elle couvre l'actualité de la presse en ligne, liée au logiciel libre. Il s'agit donc d'une sélection d'articles de presse et non de prises de position de l'association de promotion et de défense du logiciel libre.

Sommaire

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

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

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

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

Et aussi:

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

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

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

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

Et aussi:

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

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

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

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

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

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

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

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

Et aussi:

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

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

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

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

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

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

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

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

Et aussi:

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

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

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

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

Et aussi:

Télécharger ce contenu au format Epub

Lire les commentaires

Pages