Nouvelles du Libre

CITE 2014 en avril à Shenzhen

Toolinux - dim, 30/03/2014 - 23:15

Le 2e salon chinois sur les technologies de l'information se tiendra du 10 au 12 avril 2014 à Shenzhen, en Chine.

- Evénements et séminaires
Catégories: Nouvelles du Libre

80% de logiciels commerciaux basés sur des piles open source : seront-ils libres ?

Toolinux - dim, 30/03/2014 - 23:05

Dans son livre sur l'économie du logiciel libre, François Elie, nous prédit dans les scénarios du pire pour le logiciel libre : "La grande menace a deux visages, c'est le logiciel propriétaire 2.0 à visage libre ou en forme de cloud computing."

- Revue de presse
Catégories: Nouvelles du Libre

Docker : Tutoriel pour manipuler les conteneurs

Linuxfr - dim, 30/03/2014 - 11:32

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).

Docker Inc. (anciennement Dotcloud) qui développe Docker, propose aussi un système minimaliste (CoreOS), Docker pouvant virtualiser aussi bien une application qu'un système complet. NdM : comme signalé dans un commentaire, Docker Inc. n'est pas à l'origine de CoreOS, qui est géré par CoreOS, Inc.

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 paquet :

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 ou 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

Catégories: Nouvelles du Libre

Jeudi du libre le 3 avril à Lyon : Firefox OS

Linuxfr - dim, 30/03/2014 - 09:51

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

Catégories: Nouvelles du Libre

1flow — plate‐forme libre pour l’information

Linuxfr - ven, 28/03/2014 - 16:15

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 de texte brut à la volée) et l’importation ou 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éveloppement 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 AGPL v3, 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 plate‐forme 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 plate‐forme 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

Catégories: Nouvelles du Libre

1flow — plateforme libre pour l'information

Linuxfr - ven, 28/03/2014 - 16:15

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

Catégories: Nouvelles du Libre

Leslie Lamport, prix Turing 2013

Linuxfr - ven, 28/03/2014 - 14:48

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 libres (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’auto‐stabilisation 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 l’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.

NdM : Leslie Lamport est aussi à l’origine de LaTeX — disons  — en 1983.

⁽¹⁾ Et sinon, comment êtes‐vous arrivé(e) sur LinuxFr.org ?
⁽²⁾ 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

Catégories: Nouvelles du Libre

Java 8 et NetBeans 8 sont disponibles

Linuxfr - ven, 28/03/2014 - 14:19

Oracle a annoncé la mise à disposition de la nouvelle version standard de Java, huitième du nom. 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 correctif 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’interface de programmation (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 fonctions lambdas décrites plus haut.

Les habitués des tubes (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 flux 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éthodes. À partir de cette version, les implémentations de méthodes statiques et les implémentations par défaut de méthodes 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émentent la méthode, ce sera cette implémentation qui sera utilisée (l’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’interface de programmation (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 deux parties :

  • 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 horodatage (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

Catégories: Nouvelles du Libre

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

Linuxfr - ven, 28/03/2014 - 11:25

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 projets 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.

Stéphane Fermigier, lead développeur de Nuxeo, fondateur et ancien président de l'AFUL, à la tête du groupe de travail logiciel libre du pôle de compétitivité Systematic.

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, Julien Mathis, Romain Le Merlus, développeurs de Centreon
  • Jean Gabès, lead développeur de Shinken
  • Yann Leboulanger, lead développeur de Gajim
  • Vincent Untz et Bastien Nocera, développeurs Gnome

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

Catégories: Nouvelles du Libre

Pétition : informatique à l'ère post-Snowden... choisir avant de payer !

Toolinux - ven, 28/03/2014 - 01:13

Depuis le 24 mars, vous pouvez, comme TOOLinux, soutenir la pétition contre la vente forcée de logiciels.

- Evénements et séminaires
Catégories: Nouvelles du Libre

Premier baromètre des systèmes d'exploitation de 2014

Toolinux - ven, 28/03/2014 - 00:55

Au programme : perte de terrain pour Windows, ascension continue d'Apple et de Google, notamment via les terminaux mobiles. Ce qui ne change pas ? Linux, à 1%.

- Revue de presse
Catégories: Nouvelles du Libre

Le navigateur Maxthon arrive pour Linux

Toolinux - ven, 28/03/2014 - 00:45

L'éditeur Maxthon, basé à San Francisco, annonce le lancement inaugural de Maxthon pour Linux.

- Logiciels
Catégories: Nouvelles du Libre

Un MOOC sur HTML5 : inscriptions ouvertes

Toolinux - ven, 28/03/2014 - 00:30

Envie de développer des animations ou des jeux pour le web grâce à des technologies webs ? Inscrivez-vous au MOOC « Initiation à HTML5 – Animations et jeux ».

- Formation
Catégories: Nouvelles du Libre

Les usages, moteurs de l'adoption du Cloud

Toolinux - ven, 28/03/2014 - 00:16

Aastra a Mitel, en partenariat avec Le Club Décision DSI, publient une étude portant sur la téléphonie dans le Cloud. Quelle position adoptent-ils face au phénomène Cloud ? Quels bénéfices sont les plus appréciés ? Quelles sont les plus grandes craintes des DSI face à ce nouveau modèle ?

- Revue de presse
Catégories: Nouvelles du Libre

Attaques DDoS par amplification NTP à haut débit : +371% depuis 1 mois

Toolinux - ven, 28/03/2014 - 00:07

« Durant le mois de février, nous avons constaté une envolée de 371 % des attaques par amplification dirigées contre notre base de clients », déclare Akamai.

- Revue de presse
Catégories: Nouvelles du Libre

Gandi : 1.500.000 noms de domaine

Toolinux - ven, 28/03/2014 - 00:05

Quatorze ans après le début de son activité, le notaire du web français (et désormais hébergeur) Gandi annonce 1.500.000 noms de domaine en gestion active.

- Communiqué
Catégories: Nouvelles du Libre

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

Linuxfr - jeu, 27/03/2014 - 14:33

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

Catégories: Nouvelles du Libre

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

Linuxfr - jeu, 27/03/2014 - 13:29

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

Catégories: Nouvelles du Libre

Silverpeas 5.14 est sortie

Linuxfr - jeu, 27/03/2014 - 12:21

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 (AGPL v3) é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, importation 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, bulletins, 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 thème (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 de courriel. 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 Red Hat/CentOS et pour Debian/Ubuntu vous permettent d’installer Silverpeas sur votre distribution (cf. la page explicative). Seul le modèle de VM pour la version 5.14 n’est pas encore généré sur le marketplace d’UShareSoft, mais cela ne saurait tarder.

Télécharger ce contenu au format Epub

Lire les commentaires

Catégories: Nouvelles du Libre

Une soirée thématique autour de PHP le 2 avril à Paris

Toolinux - jeu, 27/03/2014 - 02:50

L'interopérabilité est la capacité que possède un système informatique à fonctionner avec d'autres systèmes informatiques, existants ou futurs. L'antenne AFUP Paris vous invite à ce rendez-vous ce 2 avril.

- Evénements et séminaires
Catégories: Nouvelles du Libre

Syndiquer le contenu