Syndiquer le contenu
Mis à jour : il y a 18 heures 51 min

Le Top 500 des supercalculateurs de novembre 2015

19 janvier, 2016 - 01:07

Le quarante‐sixième Top 500 des supercalculateurs mondiaux est sorti en novembre 2015.

Rappelons que le Top 500 se base sur une soumission volontaire (de nombreuses machines puissantes mais classifiées ne participent pas à la course) et sur un comparateur de performances spécifique extrêmement parallélisable, le code LINPACK, qui concerne la résolution de systèmes d’équations linéaires.

La deuxième partie de la dépêche revient sur ce classement et aborde une partie des commentaires de la page d’annonce.

Tout ça pour ça ?

Lors de la dépêche précédente, l’année 2014 se finissait sur la quatrième victoire consécutive de Tianhe-2. Rien n’a changé de ce côté, le supercalculateur chinois installé en 2013 reste en tête, visiblement sans faire progresser son score de 33,86 pétaFLOPS et ses 16 000 nœuds de calcul (et sa consommation de 17,8 MW pendant le test). Le deuxième du classement est Titan, qui monte à 17,59 pétaFLOPS. Le podium est complété par Sequoia, qui atteint les 17,17 pétaFLOPS.

Seuls trois supercalculateurs parmi les dix premiers ont été installés ou mis à jour en 2015. Six datent de 2011 ou 2012. Les dix premiers n’ont jamais été aussi « vieux ».

La puissance du 500e supercalculateur ou la puissance moyenne des 500 progressent de 55 % par an.

L’évolution par pays

La Chine détient le premier du classement et est en pleine croissance (passage de 37 à 109 entrées dans le classement, devenant second en utilisation et en capacité de calcul).

Les États-Unis régressent (ou partagent), passant de 233 à 199 supercalculateurs, soit la valeur la plus basse depuis le début du Top 500.

L’Europe régresse de 141 à 107 systèmes, passant derrière la Chine. On décompte 32 systèmes en Allemagne, 18 en France et au Royaume‐Uni.

Le Japon compte 37 systèmes (contre 39 précédemment).

L’évolution par fabricant

On recense 89 % de processeurs Intel (en hausse) et 4,2 % d’AMD Opteron (en baisse). Et l’on trouve 63,5 % de NVIDIA pour l’accélération et 27,9 de Intel Xeon Phi. La tendance est d’ailleurs à la hausse pour ce type de technologie : 104 supercalculateurs disposent maintenant de puces d’accélération, contre 90 en juin dernier.

HP détient 155 systèmes (178 précédemment), Cray 69, Sugon 40, IBM 45 (111 préc.) et Lenovo 25 (3 préc.). IBM a pour particularité de proposer des processeurs de type Power, au lieu des habituels x86. Cette part diminue de 38 et 26 systèmes. De plus, l’activité de serveurs x86 ayant été revendue à Lenovo, certains systèmes auparavant totalement IBM sont maintenant annoncés comme IBM/Lenovo (pour 9 d’entre eux) ou Lenovo/IBM (5 d’entre eux).

En termes de performance, le trio de tête est formé de Cray (25 % de la puissance totale ; +1 point), IBM (14,9 % ; -8,1 points) et HP (12,9 % ; -1,3 point). Et côté accélération, 50,6 % de NVIDIA et 42 % d’Intel Xeon Phi.

Le National University of Defense Technology chinois contribue à 9,2 % avec Tianhe-2 et Tianhe-1A (-1,7 point).

Les systèmes d’exploitation

C’est devenu encore plus simple : 98,8% de GNU/Linux et 1,2 % d’Unix.

Télécharger ce contenu au format Epub

Lire les commentaires

Sortie de LibraZiK 1.0 : Premier pas (20160107)

19 janvier, 2016 - 01:03

Le Studio Audio LibraZiK est un projet de studio audio-numérique complet fabriqué à partir de logiciels libres pour les ouvrages musicaux. LibraZiK est un projet qui a pour objectif de fournir un système robuste, prêt à l'emploi, et avec une documentation à jour, aux francophones souhaitant faire de la Musique Assistée par Ordinateur (M.A.O.).

Avec LibraZiK, vous pourrez apprendre, enregistrer, éditer, jouer, analyser, parfaire,… la musique, bref, faire des tas de choses musicales à l'aide de votre ordinateur. Si ceci vous intéresse, vous pouvez aller lire cette description plus complète du projet.

Vous pouvez d'ores et déjà tester LibraZiK sans forcément l'installer sur votre ordinateur ce qui vous permettra de rencontrer la plupart des fonctionnalités. Si vous souhaitez par la suite l'utiliser plus en profondeur et profiter de toutes les fonctionnalités qu'elle apporte, vous pourrez ensuite l'installer.

LibraZiK vient avec plus de 230 logiciels audio-numériques pré-installés comme par exemple :

Pour d'avantage de détails, voir : la liste des logiciels audio-numériques de LibraZiK.

D'autres logiciels viendront s'y adjoindre, semaine après semaine, accompagnés de documentation en français (voir ici pour davantage d'information sur ce processus).

Le projet dispose de plusieurs canaux de communication pour l'entraide que vous pouvez emprunter.

Cet article est placé sous une double licence : licence LAL 1.3 et licence CC-BY-SA 4.0 International. L'article originel est disponible sur le site du projet.

Télécharger ce contenu au format Epub

Lire les commentaires

Sortie d'elementary OS Freya

18 janvier, 2016 - 22:27

elementary OS est un système d’exploitation basé sur Ubuntu GNU/Linux. La première version 0.1 "Jupiter" était basée sur Ubuntu 10.10, la suivante, 0.2 "Luna", était basée sur Ubuntu 12.04 LTS. Cette dernière, la version 0.3 "Freya" (initialement nommée "Isis", puis rebaptisée pour éviter toute confusion avec Daesh), poursuit sa logique de se baser sur les versions LTS (Long Term Support, avec support à long terme) d’Ubuntu et adopte donc le cœur d’Ubuntu 14.04.

NdM: la distribution est parue en avril 2015. La dépêche a été commencée 11 mois avant, mais sort malheureusement bien après avec avoir stagné 8 mois en rédaction.


Sommaire Quatre mythes à propos d'elementary OS

Pour tout de suite casser les "on dit que" et autres préjugés, voici quelques précisions issues de cet article sur le blog d'elementary. ;)

elementary OS est juste un thème pour Ubuntu

Certains sont restés bloqués en 2010 et pensent qu'il ne s'agit que d'un ensemble de thèmes et d'icônes. Bien qu'il représente une partie importante du système, elementary OS est beaucoup plus qu'un simple thème. elementary OS est un système d'exploitation complet bâti sur un cœur Ubuntu, un environnement de bureau (Pantheon) et tous ses composants, plusieurs applications (Files, Noise, Audience, Maya, Terminal, Scratch, Snap et Switchboard pour en citer quelques-unes), un kit de développement (Granite), un style de conception avec un ensemble de guide graphique. Il y a tellement plus que « juste » un thème…

elementary OS utilise GNOME Shell

La toute première sortie du système en 2011, Jupiter, a été réalisée à partir d'Ubuntu 10.10 accompagné de la pile Gnome 2. Ceci incluait la session Gnome elle-même et quelques-unes de ses applications. Après Jupiter, nous avons réalisé que nous ne pouvions pas améliorer l'expérience utilisateur plus que ça en travaillant sur un environnement de bureau existant et nous avons commencé à travailler sur Pantheon, un environnement de bureau moderne. Nous avons retiré les composants de Gnome dont nous n'avions pas besoin ou ne voulions pas, développé des remplaçants où cela était approprié et avons commencé à harmoniser l'interface entre WingPanel, Plank, SlingShot et les autres composants.

Durant cette même période, GNOME était en train de travailler dur sur Gnome Shell, une autre interface de bureau moderne. elementary OS n'a jamais utilisé Gnome Shell et l'expérience utilisateur entre les deux est tout à fait différente. Comme le développement de Pantheon se déroulait dans le même temps que celui de Gnome Shell, beaucoup de gens semblent penser que Pantheon est en fait un fork ou construit à partir de Gnome Shell. Aussi, les panneaux du bureau sont de la même couleur (noir), au moins dans Luna (elementary OS 0.2).

elementary OS a forké GNOME Shell ou Mutter

Liée à l'idée fausse précédente, beaucoup de gens semblent penser que nous avons forké Gnome Shell et/ou Mutter pour notre bureau Pantheon ou le gestionnaire de fenêtre Gala. Ni l'un ni l'autre ne sont vrais (voir les sources). Mais Gala, un composant essentiel de notre environnement de bureau Pantheon, est construit en utilisant la bibliothèque LibMutter et cette dernière est la même utilisée par Gnome Shell pour son gestionnaire de fenêtres. Cela signifie que nous pouvons contrôler complètement notre expérience utilisateur tout en bénéficiant d'améliorations et de nouvelles fonctionnalités pour les développeurs.

Installer Panthéon sur la distribution xxx est la même chose qu'utiliser elementary OS

elementary OS développe Panthéon, notre environnement de bureau pour elementary OS. De façon idéale pour de nombreux utilisateurs, elementary OS est construit sur la même base que les versions Ubuntu LTS. Cela signifie que Pantheon a tendance à fonctionner sur ces versions d'Ubuntu. Cependant, Pantheon n'est pas tout ce qui fait elementary OS, il y a également de nombreux autres changements sous le capot qui font que le système fonctionne mieux. Et dans certains cas nous incluons de nouvelles bibliothèques absentes d'Ubuntu, ce qui rend plus difficile à utiliser Panthéon sur Ubuntu. En outre, nous développons et testons sur elementary OS et nous ne pouvons pas prévoir les éventuels conflits que les utilisateurs rencontreront dans l'utilisation de Pantheon sur d'autres plates-formes. Nous ne décourageons pas les utilisateurs d'installer Pantheon sur leur OS favori, nous ne le soutenons simplement pas officiellement et nous ne serons pas surpris s’ils rencontrent quelques soucis.

Les nouveautés de elementary OS 0.3 Freya Propres au cœur Ubuntu

Si une grande partie des modifications ne nous concerne pas (Unity, Ubuntu Server, Ubuntu Touch…), on trouve tout de même un petit lot de nouveautés sur le back-end d’Ubuntu. Passons en revue les nouveautés apportées en deux ans à l’OS de Canonical.

Le passage du noyau Linux 3.2 à 3.16 Gestion de l'énergie pour les cartes vidéos hybrides avec nvidia-prime

Attendue par un grand nombre d'utilisateurs, Ubuntu intègre désormais la gestion de la technologie Optimus. Une excellente nouvelle pour tous les propriétaires de portables accompagnés d'une carte graphique Intel et une autre nVidia.

Chiffrement complet du disque dur et utilisation des LVM

Les LVM sont des gestionnaires de volumes logiques, une alternative au partitionnement classique du disque dur, plus d'infos ici.

Propres à elementary OS LightDM

LightDM est un gestionnaire d'affichage pour X11 et a pour but d'afficher les fenêtres d'authentification fournies par le greeter (littéralement l'hôte, celui qui vous accueille à votre arrivée). À l'inverse de GDM, il est indépendant des bibliothèques systèmes, on peut donc lui adjoindre différents greeters tels que :

  • Unity Greeter
  • Pantheon Greeter
  • KDE Greeter

Nous nous intéressons ici à Pantheon Greeter.
D'un point de vue visuel, l'évolution porte sur les avatars de vos sessions. Pantheon-Greeter gère maintenant la couche alpha (transparence) des fichiers PNG. À vous donc les avatars détourés comme il faut.

Autre signe de cette évolution, le passage en nuance de gris de votre avatar lorsque celui-ci n'est pas actif. Le déplacement visuel des avatars dans la fenêtre de connexion amène aussi son petit vent de fraîcheur, le déplacement ne se fait plus comme sur Luna. C'est maintenant beaucoup plus visuel.

Le bureau Pantheon : Wingpanel, Plank et Slingshot

Vous connaissez tous le menu Applications (appelé aussi Slingshot), c'est le cœur de la distribution avec le dock Plank. Depuis le début d'elementary OS Luna, il est possible de personnaliser l'interface graphique de Wingpanel, logiciel sur lequel s'appuie le menu Applications. Il est possible de jouer sur le niveau de transparence pour le rendre plus ou moins visible mais malheureusement cette opération reste manuelle.

Freya intègre une évolution de Wingpanel, en fonction du fond d'écran de votre bureau et de la fenêtre qui est affichée (maximisée). Celui-ci peut désormais dynamiquement adapter son niveau d'opacité.

Par défaut, sans fenêtre affichée, avec le fond d'écran par défaut, Wingpanel est totalement transparent ; il laisse apparaître la mention Applications, la date et l'heure et enfin à droite nous avons le bouton d'action permettant d'éteindre, de redémarrer votre ordinateur.

En changeant le fond d'écran, l'opacité de Wingpanel est automatiquement ajustée pour s'afficher au mieux. Votre fond d'écran est sombre : pas de souci l'opacité change au bout de quelques secondes. À l'inverse votre fond est clair, Wingpanel affichera une bande noire semi transparente du plus bel effet.

Les applications

Tout comme les projets GNOME, KDE et bientôt Ubuntu avec les Touch Core Apps, elementary a développé son propre assortiment d'applications pour couvrir les usages les plus courants, du navigateur web au lecteur de vidéos en passant par le gestionnaire de fichiers, le calendrier et la calculatrice. Toutes ont reçu, pour le passage à Freya, au moins une mise à jour commune : celle des lignes directrices de l'interface. La fameuse "header bar" déjà adoptée par GNOME s'est désormais généralisée à travers elementary. Avec elle, apparaît un autre trait visuel de GNOME : les icônes symboliques. Grâce au dépoussiérage du thème GTK, les menus et "popovers" se sont dotés de coins arrondis, et certaines applis bénéficient d'un thème sombre, comme Audience, le lecteur de vidéos (à l'image de Totem, le lecteur vidéo de GNOME) :

Un exemple criant de ce redesign est le gestionnaire de photos Photos (sic), forké de Shotwell et remplaçant ce dernier dans Freya :

Les réglages : Switchboard et ses plugs

Une personnalisation plus poussée est possible via une application tierce, elementary Tweaks, dont la philosophie est proche de celle du GNOME Tweak Tool.

Conclusion et perspectives

La communication d'elementary insiste beaucoup sur le succès critique de la distribution, qui s'est vue recevoir des éloges de blogs technologiques pas forcément spécialisés Linux, comme Mac|Life (sisi), Wired ou Lifehacker, mais qui surtout séduirait beaucoup de nouveaux arrivants ; d'après les développeurs qui citent leurs statistiques Sourceforge, 60% des téléchargements d'elementary seraient effectués depuis Windows et OS X. elementary veut clairement devenir une bonne raison pour les non-Linuxiens de se tourner vers le logiciel libre, aux côtés d'Ubuntu et de sa célèbre dérivée, Linux Mint.

Le projet propose diverses façons de le soutenir financièrement : par don au téléchargement de l'ISO (selon l'approche du prix libre ; les bitcoins sont d'ailleurs acceptés), mais aussi par le biais de Bountysource, qui rémunère les développeurs via des primes fixées sur les bogues qu'ils corrigent, et également via Patreon, qui permet d'effectuer un don régulier au projet.

Sur le site web flambant neuf du projet figurent deux pages dédiées respectivement aux développeurs d'applications et à tous ceux désireux de participer au projet, que ce soit en le traduisant, en contribuant à son site web, en dessinant des interfaces (c'est ainsi qu'elementary est né, en prenant forme dans les mockups que postait Daniel Foré sur sa galerie DeviantArt) ou en modifiant tout simplement le code sur Launchpad.

Télécharger ce contenu au format Epub

Lire les commentaires

Revue de presse de l'April pour la semaine 2 de l'année 2016

18 janvier, 2016 - 16:41

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

[Numerama] Microsoft France dit son amour du Libre et de la vie privée

Par Guillaume Champeau, le vendredi 15 janvier 2016. Extrait:

Dans un communiqué, Microsoft France a répondu à l'April sur la question des logiciels libres dans le cadre scolaire.

Lien vers l'article original: http://www.numerama.com/tech/139189-microsoft-france-dit-son-amour-du-libre-et-de-la-vie-privee.html

Voir aussi:

[ZDNet France] Loi Numérique: les amendements sur le logiciel libre ne font pas que des heureux

Par Louis Adam, le vendredi 15 janvier 2016. Extrait:

Le projet de loi numérique prend forme: après un passage en commission des lois, les députés ont achevé d’examiner les 600 amendements déposés par les parlementaires. Et les dispositions en faveur du logiciel libre suscitent des réactions parmi les éditeurs.

Lien vers l'article original: http://www.zdnet.fr/actualites/loi-numerique-les-amendements-sur-le-logiciel-libre-ne-font-pas-que-des-heureux-39831208.htm

Et aussi:

Voir aussi:

[Numerama] L'affaire Renault pourrait relancer la question de l'open-source des firmwares

Par Julien Lausson, le jeudi 14 janvier 2016. Extrait:

Le groupe Renault a chuté en bourse à la suite de révélations sur une perquisition menée par la DGCCRF, ravivant le spectre du scandale Volkswagen. Une affaire qui pourrait au passage relancer la question de l'open-source des firmwares.

Lien vers l'article original: http://www.numerama.com/tech/138876-laffaire-renault-pourrait-relancer-la-question-de-lopen-source-des-firmwares.html

[usine-digitale.fr] "La société de la surveillance est-elle notre projet de société?" interroge Tristan Nitot

Par Emmanuelle Delsol, le mardi 12 janvier 2016. Extrait:

Membre du CNNum de 2013 à 2016, Tristan Nitot est l’un des fondateurs de Mozilla Europe. Il l’a quitté début 2015 pour rejoindre l’équipe dirigeante de la jeune pousse CozyCloud, qui propose un cloud personnel destiné à redonner à l’utilisateur le contrôle de ses données. Depuis toujours, Tristan Nitot milite sur le thème de la protection de la vie privée et des données en ligne.

Lien vers l'article original: http://www.usine-digitale.fr/editorial/la-societe-de-la-surveillance-est-elle-notre-projet-de-societe-interroge-tristan-nitot.N373082

[Numerama] David Bowie avait lancé son propre FAI et anticipait la mort du copyright

Par Guillaume Champeau, le lundi 11 janvier 2016. Extrait:

Fasciné par le numérique, David Bowie avait anticipé la mort du droit d'auteur tel qu'il l'avait connu au vingtième siècle, et lancé son propre fournisseur d'accès à internet à la fin des années 1990, pour accompagner les besoins de ses fans plutôt que de lutter contre la montée inexorable des réseaux P2P.

Lien vers l'article original: http://www.numerama.com/pop-culture/138070-david-bowie-avait-lance-son-propre-fai-et-predit-la-mort-du-copyright.html

Télécharger ce contenu au format Epub

Lire les commentaires

Sortie de la version 3.0 de GNU Health

18 janvier, 2016 - 10:27

GNU Health est un projet de logiciel de Système d'information hospitalier et de dossier médical personnel sous licence GPL-3. Il est écrit principalement en Python en utilisant le Framework Tryton et PostgreSQL comme base de données.

Le projet est dirigé par l'ONG GNU Solidario qui œuvre à fournir santé et éducation aux plus démunis par le biais du logiciel libre. Il a entre autres reçu le prix annuel de la FSF en 2011 pour son impact social.

Cette nouvelle version est compatible avec Tryton 3.8 et donc avec le nouveau client web sao. Elle étend la couverture fonctionnelle grâce à de nouveaux modules et l'amélioration des existants.

Qu'est-ce GNU Health ?

GNU Health s’adresse aux praticiens et institutions de la santé ainsi qu'aux gouvernements.
Sa conception modulaire (héritée de Tryton) lui permet d'être déployé dans plusieurs scénarios qui vont du simple cabinet privé au système de santé national.

On peut noter entre autre les modules :

  • pédiatrie (health_pediatrics) ;
  • génétique (health_genetics) ;
  • laboratoire (health_lab) ;
  • patient (health_inpatient) ;
  • chirurgie (health_surgery) ;
  • gynécologie (health_gyneco) ;
  • traumatisme (health_iss) ;
  • maladie tropicale négligée (health_ntd) ;
  • infirmerie (health_nursing) ;
  • chirurgie (health_surgery).

Il existe aussi toute une série de modules reprenant toutes sortes de classifications standards.
GNU Health est traduit dans plusieurs langues en utilisant l'instance Pootle de savannah (toute aide pour le français est la bienvenue :-)).

De plus, il s'intègre avec les fonctionnalités de gestion des modules de Tryton comme la comptabilité, la gestion de stock, des achats, etc.

Nouveautés Modules
  • health_icd9procs contenant les codes de procédure du WHO ICD9 Volume 3 ;
  • health_ophthalmology pour les évaluations ophtalmologiques ;
  • health_disability qui permet d'enregistrer les fonctionnalités et invalidités des patients.
Fonctionnalités
  • Gestion des noms des patients compatible avec FHIR HL7 ;
  • la liste de médications du patient peut être mise à jour automatiquement depuis la prescription ;
  • distinction entre le genre et le sexe biologique ;
  • les évaluations socio-économiques sont désormais historisées ;
  • une raison peut être renseignée sur l'hospitalisation ainsi que la décharge du patient ;
  • une gestion des repas a été ajoutée ;
  • la module chirurgie a été fortement amélioré (équipe chirurgicale, fournitures, classification des plaies, post-op, flux de réservation) ;
  • les groupes de maladies ont été mis à jour.

Les rapports et l'ergonomie en général ont été améliorés.

Photos d'écrans des interfaces graphiques actuelles. En mode "web", dans un navigateur. Puis en mode "bureau", en logiciel indépendant.


Télécharger ce contenu au format Epub

Lire les commentaires

Dixième rencontre C++ Francophone jeudi 21 janvier 2016 (Paris, Châtelet Les Halles)

17 janvier, 2016 - 19:31

Joël Falcou organise depuis 2013 les rencontres du Groupe des Utilisateurs C++ Francophone (abrégé C++ FRUG d'après la traduction en anglais).

La dixième édition import <new_blood> est pour très bientôt
  • ce jeudi 21 janvier 2016 de 19h à 22h
  • au 43 Rue Beaubourg, Paris (Mobiskill Partner)
Le programme
  • 19:30 - 20:15 : PrOgO, animation 3D pour l’apprentissage de la Programmation Orientée-Objet par Fahima Djelil (Université Blaise Pascal Clermont-Ferrand)
  • 20h15 - 21h00 : Pause dînatoire, pizzas et bières offertes par Mobiskill Partner
  • 21h00 - 21h45 : Question Pour Un Champion++, Venez vous creusez la tête en participant à un petit Quizz C++11/14 en live.

Pour se rendre dans les locaux de Mobiskill Partner au 43 Rue Beaubourg, Paris :

L’inscription sur le site meetup.com permet de préparer la salle selon l'influence.

Quésaco PrOgO ?

Fahima Djelil de l'Institut Pascal (Université Blaise Pascal Clermont-Ferrand) présente un micromonde pour l’apprentissage de la Programmation Orientée-Objet (POO) en C++. Conçu sur la base d’autres micromondes existants, PrOgO vise à réduire la complexité de l’apprentissage de la POO aux étudiants débutants. Son originalité est de représenter chaque objet par une pièce de jeu de construction virtuel 3D. L'éditeur de code avec auto-complétion se synchronise avec l’environnement virtuel, permettant aux étudiants d’implémenter les concepts de la POO sans se soucier d’erreurs de syntaxe.

  1. Un tour d'horizon des micromondes existants en insistant sur les caractéristiques qui en font des outils d’apprentissage très puissants ;
  2. Description complète de PrOgO, en montrant comment les concepts de la POO sont représentés au sein de cet environnement ;
  3. Détails de son implémentation qui reposent sur les technologies Qt et Ogre 3D ;
  4. Résultats d’une expérimentation conduite auprès d’étudiants débutants, dans l’évaluation de son impact sur l’apprentissage et son utilisation.
Réveillons-nous, C++11 et C++14 ont débarqué

Rappelons que le C++ n'a pas évolué pendant près de vingt ans et que depuis 2011 une révolution réveille la communauté C++ avec de nouveaux paradigmes de programmation, et la volonté de s'orienter vers un sous-ensemble plus intuitif et moins enclin à l'erreur.

Ces rencontres nous permettent de nous motiver pour être à la pointe des dernières évolutions du C++. Quelles nouvelles résolutions pour 2016 ? Rester endormit avec le C++03, ou s'éveiller avec C++11/14/17 ?

Et pour aller plus loin, chacun peut participer à l'élaboration de la norme en proposant ses contribution sur le dépôt Git de la prochaine version du C++. Il est aussi possible de rejoindre le comité de normalisation du C++. L'AFNOR gère la commission pour la France.

Rencontrons-nous pour en discuter. De plus, une association est en cours de constitution :-)

Télécharger ce contenu au format Epub

Lire les commentaires

TeX et traitement de données par flot e02 : les Iteratees

17 janvier, 2016 - 18:53

Dans cet épisode de la série TeX et traitement de données par flot, abordons le mécanisme utilisé dans ToolXiT pour implémenter le traitement de données par flot. Un peu de code sera présenté en deuxième partie, après une introduction à la solution technique retenue. Cet épisode met en place les outils nécessaires pour permettre de plonger dans ToolXiT lui-même dans les épisodes suivants.

Comme cet épisode reprend du vocabulaire et des concepts introduits dans l’épisode précédent, il est plus que recommandé de le lire avant de continuer plus avant.

Sommaire Résumé de l’épisode précédent

Lors du premier épisode de cette série j’avais abordé les bases pour lire du TeX.
Si vous ne l’avez pas lu ou oublié, les choses à retenir pour la suite sont les suivantes :

  • TeX transforme une séquence de caractères en commandes de composition de document ;
  • lire du TeX se fait au fil de l’eau et pas en bloc ;
  • certaines commandes TeX sont interprétées à la volée et peuvent modifier la manière dont le reste est lu.

À ce point de notre voyage dans cette série, il est temps de passer au point suivant : le traitement de données par flot.

Les besoins

Afin d’implémenter complètement un analyseur de TeX, plusieurs outils sont indispensables. Premièrement, le comportement de l’analyseur peut changer au cours de l’analyse de l’entrée. Il apparait donc évident que cet analyseur possède un état interne qui peut être lu et mis à jour.
Ensuite, les caractères doivent être transformés en tokens, puis ces tokens transformés en commandes. Ceci met en avant le côté traitement de flot de données et transformation de flot d’un certain type en flot d’un autre type.
De plus, certaines commandes TeX sont développées, ce qui requiert la possibilité de remplacer une séquence de tokens par de nouveaux tokens. Il est donc nécessaire de pouvoir ajouter en tête d’un flot d’entrée de nouveaux éléments.

Ce sont les besoins de base que nous souhaitons couvrir. Regardons maintenant une solution pour les couvrir.

Iteratees Mékeskecé ?

Maintenant que les besoins sont un peu plus clairement énoncés, parlons de l’outil choisi. Nous verrons ensuite en quoi il répond aux besoins point par point.

Les Iteratees nous viennent tout droit des langages fonctionnels et sont conçus pour décrire des traitements incrémentaux effectués sur une entrée fournie sous forme de séquence (par exemple une séquence de caractères ou d’octets). Ils sont particulièrement utilisés en Haskell pour lequel plusieurs implémentations existent et aussi en Scala notamment au sein du framework Play.
Globalement un Iteratee un objet qui effectue un calcul correspondant à un pas sur un morceau de séquence en entrée. Ce calcul fournit une nouvelle valeur à partir de ce morceau. Il est bien sûr possible que le calcul n’ait pas eu besoin de tout le morceau pour effectuer son calcul, auquel cas, le reste est retourné avec la valeur calculée. De même si plus d’entrée est nécessaire pour effectuer le calcul, l’Iteratee se met en attente de plus d’information pour continuer.

L’idée est vraiment là, on effectue un pas en avant, en consommant ce dont on a besoin et en laissant le reste pour le pas suivant.

Un autre point important à comprendre sur les Iteratees est qu’ils décrivent le calcul à effectuer sur une entrée séquentielle, mais à aucun moment ils n’ont besoin de savoir ce qu’est cette entrée. Les Iteratees sont en quelque sorte nourris depuis l’extérieur, et n’ont aucune connaissance de la manière dont cela est fait.

Les Iteratees sont aussi sans mémoire à priori et ne peuvent pas revenir en arrière sur leur entrée. Cette propriété est intéressante et permet de limiter la taille prise en mémoire car il n’est pas nécessaire de stocker un nombre arbitraire d’éléments de l’entrée pour faire du backtracking.

Si un Iteratee ne sait pas quoi faire d’une entrée il le signale en retournant une valeur d’erreur.

Ces propriétés les rendent particulièrement intéressants dans le traitement de flots de données et le streaming car ils produisent des valeurs au fil de l’eau dès qu’assez de données sont disponibles en entrée. Ça tombe rudement bien vu la nature des données TeX que l’on souhaite traiter dans cette série. Il apparait aussi qu’il est aisé de les combiner afin de produire une séquence de calculs transformant une séquence de valeurs en entrée en une séquence de valeurs en sortie.

Un exemple concret d’Iteratee que l’on peut prendre est le décodage de caractères encodés en UTF-8 en caractères Unicode. Dans cet encodage un caractère est stocké sur un nombre variable d’octets (entre 1 et 4) et un Iteratee s’occupant de l’encodage consommerait en entrée un groupe de un à quatre octets d’une séquence et produirait en sortie un unique caractère unicode. En appliquant de manière répétée cet Iteratee sur une séquence d’octets, nous obtenons une séquence de caractères unicode décodés. Tadam !

Une implémentation

Résumons donc ce que nous venons de dire sur ces mystérieux objets. Un Iteratee :

  • mange des morceaux de séquence ;
  • attend d’avoir eu tous les morceaux dont il a besoin pour effectuer son calcul ;
  • produit une valeur ou une erreur à partir de ces morceaux ;
  • laisse aux autres ce qu’il n’a pas mangé.

Qu’il est bien élevé, n’est-ce pas ?

Si maintenant nous souhaitons implémenter tout ça en Scala (ce qui est mon cas), il nous faut plusieurs types :

  • Un type pour décrire une entrée séquentielle ;
  • Un type de Iteratee qui indique au choix :
    • qu’il en a fini avec l’entrée et retourne donc la valeur calculée et les morceaux d’entrée non consommés,
    • qu’il aimerait bien en avoir plus pour continuer,
    • qu’il ne sait pas quoi faire de cette entrée et retourne donc ce qu’il n’a pas consommé avec une erreur.

L’implémentation complète et à jour est disponible sur GitHub sous licence Apache 2.0.

Pour le type d’entrée, il est assez simple et ne comporte que deux cas : l’entrée est épuisée, des données sont disponibles.

sealed trait Input[+Elt] case object Eoi extends Input[Nothing] final case class Chunk[Elt](elts: List[Elt]) extends Input[Elt]

De la même manière, un Iteratee est décrit de la manière suivante :

sealed abstract class Iteratee[In, +Out] final case class Done[In, Out](v: Out, remaining: Input[In]) extends Iteratee[In, Out] case class Error[In](t: Throwable, remaining: Input[In]) extends Iteratee[In, Nothing] case class Cont[In, Out](k: Input[In] => Iteratee[In, Out]) extends Iteratee[In, Out]
  • Le constructeur Done est un Iteratee qui a fini son calcul et permet de fournir la valeur résultant du calcul ainsi que l’entrée non consommée ;
  • le constructeur Error est un Iteratee qui indique une erreur de traitement ;
  • le constructeur Cont est un Iteratee qui indique qu’il a besoin de plus de données pour continuer, avec la fonction décrivant la fin du calcul (appelée continuation).

Ces trois constructeurs représentent les cas de base, mais à eux seuls ils sont assez limités. Le véritable intérêt serait de pouvoir les combiner pour exprimer des calculs plus complexes à partir de calculs plus simples.

Par exemple si nous utilisions les Iteratees pour écrire un analyseur lexical qui accepte en entrée des expressions arithmétiques simples. Si nous supposons que l’on possède déjà un Iteratee qui retourne un entier à partir d’une séquence de caractères, nommé integer pour l’exemple, et un autre qui retourne le premier caractère d’une séquence de caractère, nommé char. Nous avons donc à disposition ceci :

val integer: Iteratee[Char, Int] = ??? val char: Iteratee[Char, Char] = ???

Il serait agréable de pouvoir exprimer la chose suivante : si mon entrée consiste en un entier, suivi du caractère + puis d’un autre entier, alors je les consomme et retourne la somme des deux entiers.

Fort heureusement, ce genre de chose s’exprime plutôt bien avec les Iteratees. Nous ne l’avons pas encore dit jusqu’ici mais un Iteratee est une monade et nous pouvons donc définir l’opérateur de composition >>= que nous nommerons flatMap afin de profiter du sucre syntaxique de Scala.

Qu’est donc cet opérateur de composition ? Cet opérateur s’applique à un Iteratee et prend en paramètre une fonction qui, si on lui donne en entrée le résultat calculé par l’Iteratee auquel il s’applique, retourne un nouvel Iteratee ayant le même type d’entrée et un type de sortie quelconque.

Pfiou !

Traduisons cela dans notre exemple. Tout d’abord il faut ajouter l’opérateur flatMap au type Iteratee, ce qui nous donne :

sealed abstract class Iteratee[In, +Out] { def flatMap[Out1](f: Out => Iteratee[In, Out1]): Iteratee[In, Out1] = ??? }

Le but de cette dépêche n’étant pas de décrire toute l’implémentation, je renvoie le lecteur curieux au code et aux différents liens sur le sujet pour l’implémentation de l’opérateur.

Le calcul décrit plus haut peut maintenant s’exprimer en terme de flatMap :

integer.flatMap { i1 => char.flatMap { c => if(c == '+') integer.flatMap { i2 => Done(i1 + i2, Eoi) } else Error(new Exception("+ expected", Eoi) } }

En utilisant le sucre syntaxique de Scala et en ajoutant des opérateurs permettant de filtrer le résultat, la même chose peut s’écrire de la manière suivante :

for { i1 <- integer '+' <- char i2 <- integer } yield i1 + i2

Cette notation est entièrement équivalente à la première mais permet de mettre en avant le côté séquentiel du calcul. Le résultat est un Iteratee qui prend des caractères en sortie et retourne un entier. Cet Iteratee est la composition de deux Iteratee plus simples et permet d’exprimer de manière très déclarative le calcul à effectuer sur le flot d’entrée.

Les compagnons indispensables

Souvenez vous, au début de cette section j’ai mentionné le fait qu’un Iteratee consommait une entrée fournie depuis l’extérieur, sans s’occuper du comment. Il nous faut donc un moyen d’alimenter un Iteratee avec une entrée. Ce moyen existe et s’appelle l’Enumerator.

Un Enumerator produit un flot d’entrée et le passe à un Iteratee. Il continue ainsi jusqu’à ce que :

  • soit l’Iteratee dit qu’il en a fini (Done ou Error) ;
  • soit l’entrée est épuisée.

Une fois que l’application de l’Iteratee s’arrête, l’Enumerator retourne le dernier Iteratee reçu. Ainsi un Enumerator peut se définir par le type simple suivant :

type Enumerator[In, Out] = Iteratee[In, Out] => Iteratee[In, Out]

Un exemple simple est l’Enumerator qui énumère les éléments d’une liste, que l’on peut définir ainsi :

def enumList[T, U](l: List[T]): Enumerator[T, U] = { it: Iteratee[T, U] => it match { case Cont(k) => l match { case x :: xs => enumList(xs)(k(Chunk(List(x)))) case Nil => k(Eoi) } case _ => it } }

Nous avons désormais les Iteratees qui décrivent la transformation de données d’entrée en une valeur, les Enumerators qui produisent les données d’entrée et nourrissent un Iteratee. Il nous manque encore un élément crucial : l’exécuteur du calcul pour en avoir le résultat. Dans cet article, un exécuteur est une simple méthode nommée run qui applique l’Enumeratee à un Iteratee et qui transforme le résultat soit en valeur soit en exception.

def run[In, Out](enum: Enumerator[In, Out], it: Iteratee[In, Out]): Out = enum(it) match { case Done(v, _) => v case Error(t, _) => throw t case Cont(_) => throw new Exception("Not enough data") }

Nous pouvons maintenant utiliser tous ces outils pour faire calculer la somme des entiers fournis en entrée via un Iteratee nommé sum.

val sum: Iteratee[Int, Int] = Cont { case Chunk(l) => sum.flatMap(s => Done(s + l.sum, Eoi)) case Eoi => Done(0, Eoi) } run(enumList(List(1, 2, 3, 4)), sum) // returns 10 as expected

Tout ça pour ça. C’est vrai que sur cet exemple ça parait un peu complexe pour pas grand chose, mais imaginons maintenant que les entiers ne viennent pas d’une liste connue à l’avance mais qu’ils soient envoyés par paquet sur le réseau. Chaque Chunk dans ce cas contiendrait les entiers d’un paquet reçu. Sans modifier notre Iteratee sum d’une seule virgule, le même calcul est effectué. Ce mécanisme permet donc une réelle indépendance du calcul par rapport à la source des données nécessaires pour le réaliser.

Comme autre raison à l’utilisation de ce mécanisme, il est temps d’introduire le dernier compagnon de bataille : l’Enumeratee. Moitié Iteratee moitié Enumerator il permet de transformer un flot d’un type dans un flot d’un autre type, à la fois consommateur et producteur.

type Enumeratee[EltOuter, EltInner, Out] = Iteratee[EltInner, Out] => Iteratee[EltOuter, Iteratee[EltInner, Out]]

Cet objet parait plutôt complexe mais a une utilité non négligeable. Pour comprendre son utilisation, reprenons notre exemple d’Iteratee qui convertit des octets en caractères unicode. Sa signature ressemblerait à celle-ci :

val utf8decoder: Iterate[Byte, Char]

Si maintenant nous disposons d’un Iteratee qui, étant donnée une suite de caractères, retourne les mots. Sa signature est :

val word: Iteratee[Char, String]

Si nous souhaitons composer ces deux Iteratees pour transformer un flot d’octets en flots de mots, nous obtenons un Iteratee qui retourne des mots et qui opère sur les caractères, eux-mêmes produits par un Iteratee interne qui transforme des octets en caractères. Pour ce faire nous pouvons définir un opérateur sequence_stream qui séquence deux Iteratees, le second consommant le résultat du premier.

def sequence_stream[EltOuter, EltInner, Out](it: Iteratee[EltOuter, EltInner]): Enumeratee[EltOuter, EltInner, Out] = ??? val words: Enumeratee[Byte, Char, String] = sequence_stream(utf8decoder)(word)

words transforme donc un flot d’octets en flot de mots.

Les Iteratees au service de ToolXiT

Nous y voilà ! Parlons maintenant de ToolXiT.

Dans la première partie de cette dépêche, nous avons défini des besoins, issus de la discussion du précédent épisode. Si je vous ai parlé d’Iteratee et consort dans la section précédente, vous devez vous douter que c’est parce qu’ils vont être utiles à ToolXiT.
Le but est, rappelons le, de lire un fichier TeX et de le transformer en suite de commandes TeX pour composer un document. Couvrons nous tous nos besoins avec ces outils ?

Lire du TeX nécessite un état interne contenant tout un tas de valeurs. Nous reviendrons sur cet état dans un prochain épisode, pour le moment, nous savons juste qu’il existe et qu’il nous permet d’accéder aux données qui nous intéressent ici en lecture comme en écriture.

La première étape identifiée transforme des caractères en tokens via ce que nous avons appelé les yeux dans la dépêche précédente. La seconde étape prend en entrée des tokens et produit des commandes. Pour produire ces commandes, certaines séquences de tokens peuvent être déroulées en une nouvelle séquence de tokens dans la bouche. Par exemple nous pouvons l’écrire ainsi avec les Iteratees :

val eyes: Iteratee[Char, Token] val mouth: Iteratee[Token, Command] val toolxitCore: Enumeratee[Char, Token, Command] = sequence_stream(eyes)(mouth)

Le déroulement de macros requiert de pouvoir ajouter des tokens en tête de l’entrée, ce qui peut s’exprimer comme un Iteratee qui ne consomme rien et laisse en entrée un morceau avec de nouveaux tokens en tête. Une implémentation possible est :

def pushback(el: Elt): Iteratee[Elt, Unit] = Cont { case Chunk(l) => Done((), Chunk(el :: l)) case _ => Done((), Chunk(List(el))) }

Nos besoins semblent donc bien couverts. Tant mieux, sinon tout le chemin parcouru aurait été inutile.

Les yeux

Le but à atteindre dans un premier temps, est d’exprimer la transformation de suite de caractères en suite de tokens. Ce processus est décrit dans les chapitres 7 et 8 du TeXbook. ToolXiT fait abstraction de l’encodage des caractères dans le flot initial en utilisant les fonction d’entrée/sortie de la bibliothèque standard de Scala et opère donc au plus bas niveau sur des flots de caractères, et pas d’octets.

L’entrée est d’abord pré-traitée pour remplacer des séquences de caractères du style ^^A par leur valeur pour TeX comme décrit dans le chapitre 8. Puis à partir de ces caractères, sont créés des tokens selon les catégories courantes de ces caractères dans l’environnement. Suivant la catégorie, selon les règles du chapitre 7, les tokens sont créés. L’interface de ces yeux est donc la suivante (en version simplifiée pour la clarté de l’exposé) :

class TeXEyes(env: TeXEnvironment) { val tokenize: Iteratee[Char, Token] } La bouche

Une fois les tokens obtenus, la bouche s’occupe de les dérouler au besoin et d’en faire des commandes. Beaucoup de travail est fait dans cette phase notamment la mise à plat des macros. Des modifications sont apportées à l’environnement, comme par exemple le changement de catégories de certains caractères, de nouvelles définitions de macros. Plusieurs commandes sont interprétées directement par la bouche et ce qui en sort est soit un simple caractère à ajouter au document, soit une séquence de contrôle que la bouche ne comprend pas. Son interface simplifiée est :

class TeXMouth(val env: TeXEnvironment) { val command: Iteratee[Token, Command] } L’estomac

La suite de l’histoire représente l’estomac et se charge de traiter les commandes qui lui parviennent d’une manière ou d’une autre. Si l’on souhaite réimplémenter totalement TeX, ces commandes sont à interpréter comme décrit dans le TeXbook. Il est aussi possible de vouloir générer du HTML, faire d’autres analyses sur l’entrée, les possibilités sont ouvertes.

Le but de ToolXiT est d’arriver à ce point afin de donner la séquence de commandes que TeX obtiendrait à partir d’une entrée qu’elle soit issue d’un fichier ou un de streaming sur Internet.

Conclusion

Cet article est encore très généraliste et introduit un concept qui peut être utilisé à d’autre fins. Par exemple il peut être utilisé pour analyser un flux JSON, déchiffrer par bloc, etc. L’implémentation des Iteratees telle que décrite dans cet article est volontairement simplifiée par rapport à la définition complètement générique que l’on peut trouver, notamment en Haskell. Cette simplification est due au fait que le but est de l’utiliser dans ToolXiT et pas comme bibliothèque générique, le besoin est donc bien circonscrit.

Si vous souhaitez voir des exemples d’Iteratees de base qui servent à en construire d’autres par combinaison, la classe Iteratees contient tout un tas de définitions simples.

Dans la suite de cette série nous entrerons plus dans les détails de ToolXiT lui même, maintenant que nous avons couvert des aspects plus généraux. En attendant je vous dis à la prochaine fois.

Télécharger ce contenu au format Epub

Lire les commentaires

Sortie de Xen Orchestra 4.12, solution web pour XenServer

17 janvier, 2016 - 15:53

Plus d'un an après la dernière dépêche sur la sortie de Xen Orchestra 3.6, voici une présentation de la toute nouvelle 4.12 !

Pour rappel, Xen Orchestra (XO) est une solution web de gestion d'infrastructure Xen, plus précisément sur la toolstack XAPI, embarquée dans XenServer.

Ce logiciel est libre (aGPLv3) et possède aussi une version installée et pre-configurée dans une machine virtuelle, vendue avec du support.

Introduction

Historiquement, XO a été conçu comme un outil web d'administration de machines virtuelles. Avec le temps, de nouvelles fonctionnalités ont permis de nouveaux usages, comme nous allons le voir ici.

Les grands axes développés récemment concernent principalement la sauvegarde, la réplication ainsi que le support de CloudInit.

Sauvegarde

La version 4.12 permet d'obtenir des fonctionnalités inédites sur XenServer : la sauvegarde incrémentale continue ainsi que la réplication. Le tout sans installer le moindre programme sur vos hyperviseurs (ni vos machines virtuelles !), juste en utilisant l'API de XenServer.

Sauvegarde incrémentale continue

Les utilisateurs de produits de sauvegarde de machines virtuelles connaissent probablement le Forever Forward Incremental Backup. Il s'agit du même principe : la première sauvegarde exporte les disques en entier, puis uniquement la différence par la suite. Mais en plus, quand la rétention maximale est atteinte, le fichier de différence le plus ancien est fusionné avec le fichier entier. Ainsi, il n'est plus jamais nécessaire de refaire un export complet !

Illustrons donc avec un schéma. Ici nous avons une rétention de 7 et une sauvegarde tous les jours :

Maintenant que nous arrivons à la 8 ème sauvegarde, nous allons fusionner le plus ancien des fichiers de différence :

Puis il est supprimé :

Réplication

Il s'agit ici de réplication au niveau de l'hyperviseur et non du stockage. L'avantage est qu'il est possible de répliquer sur n'importe quel autre stockage existant d'une machine sous XenServer. Qu'il soit local ou distant.

Ici aussi, après la première copie, c'est uniquement le différentiel qui sera envoyé. Pour résumer :

L'avantage est que vous réduisez le temps de reprise en cas d'accident sur le site A (puisque la machine est déjà prête à démarrer sur le site B !) ainsi que la durée de perte de données, si vous répliquez toutes les 10 minutes par exemple.

Vers le Cloud

L'orientation générale de Xen Orchestra tend de facto vers le Cloud, avec des fonctionnalités comme la délégation de ressources à des utilisateurs (machines virtuelles par exemple). La gestion des ACL en fait partie, proposant des connecteurs LDAP, SAML, ou encore GitHub et Google. La partie la plus récente est le support (pour l'instant simplifié) de CloudInit.

CloudInit

CloudInit est un logiciel qui s'installe dans votre machine virtuelle, et qui permet, au démarrage, de récupérer des informations venant d'une fournisseur de Cloud, comme Amazon, RackSpace, ou encore OpenStack etc.

C'est grâce à cela que l'on peut :

  • passer une clef SSH à la création d'une machine virtuelle
  • passer un nom d'hôte
  • agrandir la partition root
  • et plein d'autres choses

La seule condition est d'avoir un template compatible (un template Debian est disponible ici, un autre CentOS là).

Pour l'instant avec Xen Orchestra, si vos templates le permettent, vous pouvez d'ores et déjà passer votre clef SSH à la création de la machine virtuelle :

Aussi, le nom de votre machine virtuelle sera récupéré par CloudInit pour configurer directement le hostname. Enfin, nous supportons l'agrandissement du disque système (si votre disque root fait 4 GiB, vous pouvez l'agrandir, et au première démarrage, le système de fichier aura fait le travail).

Le gros avantage de cette méthode et de pouvoir fournir une machine disponible en moins de 30 secondes, entre le temps de création et l'accès en SSH !

À venir

La roadmap de Xen Orchestra est plutôt chargée, ce qui est bon signe ;)

La priorité à court terme ira à la fonctionnalité de self-service avec quotas, permettant de délimiter un véritable périmètre d'utilisation de machines virtuelles à des tiers.

Combiné à CloudInit, on peut imaginer déléguer facilement la création de machines virtuelles avec gestion des clefs SSH à une équipe de développeurs, sans risque de déborder sur des ressources en production par exemple.

L'autre objectif est une réécriture complète de l'interface web : après plus d'un an d'expérience et de retour utilisateurs, il est temps de factoriser et simplifier son utilisation.

Tester XO

Pour tester Xen Orchestra, il vous faut déjà une machine sous XenServer (sinon il n'y a pas d'intéret, puisque Xen Orchestra se connecte à l'API de XenServer).

Ensuite, deux solutions :

La première option est la plus rapide, mais rien ne vous empêche de commencer à tester via XOA puis ensuite d'installer les sources à côté !

Télécharger ce contenu au format Epub

Lire les commentaires

Agenda du Libre pour la semaine 3 de l'année 2016

17 janvier, 2016 - 11:29

Calendrier web, regroupant des évènements liés au Libre (logiciel, salon, atelier, install party, conférence) en France, annoncés par leurs organisateurs. Voici un récapitulatif de la semaine à venir. Le détail de chacun de ces 24 événements est en seconde partie de dépêche.

Sommaire Agenda du Libre pour la semaine 3 de l'année 2016 [Kunheim] Formation Linux - Le lundi 18 janvier 2016 de 18h00 à 22h00.

Tous les lundis à partir de 18h00 jusqu'à 22h00 venez découvrir ou vous former sur Linux et les logiciels libres.
Ces séances de formation ont lieu à la salle "Kegreiss" au 56 rue principale - Kuhneim - face à la mairie - cette salle est accessible aux personnes à mobilité réduite.
Nous vous attendons nombreux. Le Team Linux

[Saint-Martin-de-Londres] Réunion de préparation Opération Libre - Le lundi 18 janvier 2016 de 18h30 à 23h00.

La réunion de jeudi se déroulera à l’espace de co-working Le Relais à Saint-Martin-de-Londres, elle à pour but d’organiser un rendez-vous des Garrigues « Opération Libre »
En janvier 2016, le Collectif des Garrigues et Montpel’libre souhaitent organiser, dans le cadre des rendez-vous des Garrigues, 48 heures d’Opération Libre sur la commune de Saint-Martin-de-Londres.
Opération Libre, c’est 48 heures d’animation participative pour collecter et libérer les informations et outils d’une commune, avec les habitants, des associations et contributeurs.

[Villeurbanne] Lundi 3.0 - Le lundi 18 janvier 2016 de 19h00 à 22h00.

Le CCO de Villeurbanne vous invite à son nouveau rendez-vous mensuel d’open-atelier, les Lundis 3.0
Venez participer à une soirée informelle de rencontre entre makers, curieux, geeks, habitants, artistes, …
Ces rendez-vous sont l’occasion d’apprendre et d’explorer ensemble des pratiques liées au numérique.

[Sèvres] Journée Logiciel Libre dans l'administration - Le mardi 19 janvier 2016 de 09h30 à 16h30.

Sous le pilotage du SGMAP/DINSIC, la Journée Logiciel Libre 2016 des communautés interministérielles du Logiciel Libre est organisée cette année par le Ministère de l’éducation nationale, de l’enseignement supérieur et de la recherche.
Elle se tiendra le
Mardi 19 janvier 2016 à partir de 9h30

[Castelnau-le-Lez] Section GNU/Linux - Le mardi 19 janvier 2016 de 10h00 à 12h00.

Rendez-vous hebdomadaire, tous les mardis, salle 38 de la mjc (hors vacances scolaires).
L’équipe de Montpel’libre vous propose une permanence de dépannages pour vous aider à vous familiariser avec votre système GNU/Linux au quotidien.
Le contenu de l’atelier s’adapte aux problèmes des personnes présentes et permet ainsi d’adapter l’acquisition de nouvelles compétences au rythme de chacun.

[Castelnau-le-Lez] Atelier de développement et programmation - Le mardi 19 janvier 2016 de 10h00 à 12h00.

Rendez-vous hebdomadaire, tous les mardis, salle 40 de la mjc (fermé pendant les vacances).
Cet atelier de développement est essentiellement axé sur les langages du Web : html, css (même si ce ne sont pas des langages à proprement parler) javascript et PHP, possibilité aussi d’utiliser Ajax, Jquery, Sqlite et MySql.
Notre équipe vous attend pour répondre à vos questions et satisfaire votre curiosité.

[Montpellier] Cartopartie participative accessibilité des personnes à mobilité réduite - Le mardi 19 janvier 2016 de 13h00 à 14h00.

Nous vous donnons rendez-vous au Lycée Nevers de Montpellier lundi 4 et mercredi 6 janvier 2016 pour cette nouvelle action citoyenne et solidaire, pour participer à ces deux cartoparties sur le thème de l’accessibilité des commerces et ERP par les personnes à mobilité réduite, que nous présenterons dans le cadre de l’Éducation Morale et Citoyenne. Lors de cette journée, nous relèverons les données essentielles aux déplacements des personnes à mobilité réduite.
Outre le relevé de points d’intérêts, grâce à notre réseau important de partenaires, nous serons également en mesure de vous indiquer les démarches à suivre pour entreprendre des travaux afin de rendre votre commerce accessible, s’il ne l’est pas déjà, nous pourrons également vous orienter vers nos experts pour établir votre agenda d’accessibilité programmée qui permet de se mettre en conformité et surtout d’ouvrir à tous son établissement.
Nos nombreux partenaires nous soutiendront encore une fois, pour cette nouvelle journée, en nous apportant leurs expertises. Ils contribuent ainsi à donner plus de pertinence à nos relevés, il s’agit entre autre de 3GRT, 3Liz, Access’Cible, Annonces Vertes, APF34, APRIL, Autour.com, Cowork’in Montpellier, Divergence FM, French Tech, Groupe OSM Montpellier, Hactions, Handicap34, La Fabrique, Languedoc Accessibilité, Maison des Biens Communs, Mandarine, Mohicans, Modulaweb, Montpellier (ville), Montpellier Territoire Numérique, OSM France et la Pharmacie Saint-Paul.

[Paris] Vie privée et internet - Le mardi 19 janvier 2016 de 19h00 à 21h00.

REPRENEZ LE CONTRÔLE DE VOTRE VIE PRIVÉE SUR INTERNET
L’explosion des usages d’internet rend son utilisation indispensable dans notre vie professionnelle et personnelle, les avantages sont légions mais il existe aussi des risques notamment vis à vis du respect de la vie privée mis à mal par les réseaux sociaux, les moteurs de recherche et la publicité.
Pour lutter contre ces risques Silex Labs vous propose une Conférence / Atelier pour vous aider à reprendre le contrôle de votre Vie Privée sur Internet.

[Grenoble] SnowCamp - Du mercredi 20 janvier 2016 à 08h30 au samedi 23 janvier 2016 à 18h30.

Dans l'esprit des conférences qui fleurissent un peu partout en France (Mix-IT à Lyon, Breizhcamp à Rennes, Soft-Shake à Genève, RivieraDev à Nice, Bdx.io à Bordeaux, …), celui-ci réunira 250 développeurs et développeuses autour de l'innovation et du développement (Web, Mobile, Java, Cloud, IoT, … ) durant une conférence sur deux jours les 21 et 22 Janvier à Grenoble, suivie d’une “unconference” au ski le 23.
Cette conférence technique cible les développeurs et les chercheurs, en les mélangeant pour laisser émerger l'innovation. Durant la session plénière, nous aurons des présentations éclair (de 5 minutes) au cours desquelles chercheurs, ingénieurs et doctorants présenteront leurs sujets de recherche.
Depuis les débuts de l’électricité, Grenoble a toujours été un vivier d’innovation et d’excellence : des laboratoires et des industries de pointe y sont installés, elle a été classée 5e ville la plus innovante au monde par le magazine Forbes et est maintenant labellisée “French Tech”. Ici, l'innovation technique a trouvé ses racines dans les montagnes environnantes. C'est pourquoi le SnowCamp proposera suite à la conférence une journée "unconference" en altitude, sur les pistes de ski, lors de laquelle les participants pourront continuer à échanger de façon plus informelle et détendue, dans un cadre exceptionnel propice à la créativité.

[Toulouse] Rencontre Logiciels Libres - Le mercredi 20 janvier 2016 de 19h30 à 22h30.

L'association Toulibre organise une rencontre autour des Logiciels Libres le mercredi 20 janvier, de 19h30 à 22h30 au Centre Culturel Bellegarde, 17 rue Bellegarde à Toulouse.
Pendant toute la soirée, venez poser vos questions au sujet du Logiciel Libre et trouver de l'aide pour installer ou utiliser des Logiciels Libres sur votre ordinateur.
Pour cela, vous pouvez si besoin apporter votre ordinateur, un accès Internet est disponible sur place.

[Mauguio] Infolibres - Le jeudi 21 janvier 2016 de 17h00 à 19h00.

Rendez-vous salle de formation informatique de la médiathèque.
L’équipe de Montpel’libre vous propose une permanence de dépannages pour vous aider à apprivoiser votre système GNU/Linux au quotidien. Le contenu de l’atelier s’adapte aux problèmes des personnes présentes.
Vous pourrez y aborder entre autre :

[Martigues] Le traitement de l’image : Gimp - Le jeudi 21 janvier 2016 de 18h00 à 19h30.

L’association ULLM (les Utillisateurs de Logiciels Libres du Pays Martégal) en collaboration avec ECM vous présente le programme de ses ateliers du première trimètre 2016.
Le jeudi 21 janvier de 18h00 à 19h30
Le traitement de la photo avec Gimp.

[Paris] Soirée de Contribution au Libre - Le jeudi 21 janvier 2016 de 19h30 à 23h00.

Parinux propose aux utilisateurs de logiciels libres de se réunir régulièrement afin de contribuer à des projets libres. En effet, un logiciel libre est souvent porté par une communauté de bénévoles et dépend d'eux pour que le logiciel évolue.
Nous nous réunissons donc tous les jeudis soirs dans un environnement propice au travail (pas de facebook, pas de télé, pas de jeux vidéos, pas de zombies)).
Vous aurez très probablement besoin d'un ordinateur portable, mais électricité et réseau fournis.

[Lunel] Permanences « À la carte » Logiciels Libres & GNU/Linux - Le vendredi 22 janvier 2016 de 11h00 à 12h00.

L’intérêt de cette présence est d’avoir une information autour des postes Linux que nous avons installé à la médiathèque pour expliquer ce qu’est GNU/Linux et introduire les ateliers que nous animons à la médiathèque.
Une question sur l’informatique avec un environnement GNU/Linux ou sur tablette ?
Une aide sur les logiciels libres ?

[Montpellier] Permanence Les logiciels libres parlons-en ! - Le vendredi 22 janvier 2016 de 17h00 à 19h00.

Le Faubourg Marché, qu’est-ce que c’est ?
Le Faubourg Marché est une permanence partagée qui permet aux associations d’accueillir ensemble, les publics de ces associations une fois par semaine, le vendredi entre 17h00 et 19h00 (ou au delà sous réserve d’accord préalable), au 19, rue du Faubourg de Nîmes, 34000 Montpellier.
Si vous avez un peu de temps le vendredi soir, voici une occupation qui me semble très intéressante et si vous êtes intéressés par la promotion des logiciels libres, des biens communs, de l’accessibilité, de l’économie sociale et solidaire, de l’innovation sociale et numérique, de l’éducation populaire, ou encore du développement durable.

[Lille] Atélili «Install Party + Bidouille libre» - Le vendredi 22 janvier 2016 de 18h30 à 21h00.

Atélili (Ateliers d'informatique libre) redémarre pour cette nouvelle année avec un septième atelier !
L'association CLX, avec le soutien de l'association Chtinux, vous propose une install party pour les personnes qui souhaitent migrer vers les logiciels libres, ou apprendre à réparer leur distribution Linux.
En parallèle, si des personnes sont déjà au point sur ces questions et souhaitent découvrir ou partager des questions plus pointues (par exemple sur des thèmes déjà présentés aux atélilis), vous êtes les bienvenus.

[Parthenay] install party GEBULL - Le samedi 23 janvier 2016 de 09h00 à 12h00.

L'association Gebull organise une install party sur Parthenay, le but étant d'aider ceux qui le veulent à installer un système GNU/Linux sur leurs ordinateurs ou simplement en apprendre plus sur le logiciel libre.
Pour les installations, pensez à réserver via le formulaire de contact du site: http://gebull.org/contactez-nous/

[Limoges] Install Party Alternatives87 - Le samedi 23 janvier 2016 de 09h00 à 13h00.

Petits déjeuners du Libre – Install Party #1
Alternatives87 vous propose, dans le cadre des Petits Déjeuners du Libre, une Install Party, le Samedi 23 janvier de 9h à 13h dans les locaux du Fablab LCube à Limoges, en accès libre.
Si vous avez envie d’essayer un système d’exploitation entièrement libre, mais que vous n’avez pas encore osé franchir le pas, c’est le moment ! Nous vous aiderons à installer un système GNU/Linux en parallèle (ou à la place) de votre système d’exploitation actuel. Nous vous donnerons également les bases nécessaires pour bien démarrer avec de tels systèmes.

[La Riche] Ubuntu Party - Le samedi 23 janvier 2016 de 10h00 à 18h00.

Tout au long de la journée de 10h à 18h
 Les stands des associations Ubuntu-fr, Mozilla Firefox, La quadrature du net, l’APRIL, La ruche aux savoirs, le Fun Lab de Tours, l’Adeti et découverte d’Ubuntu sur des ordinateurs en libre accès / salle polyvalente Installation Ubuntu (fin : 17h00) - Installation des distributions ubuntu Unity et Mate / salle équateur Jeux à destination des plus jeunes, distribution Edubuntu / salle Eclair ludothèque
Aussi des ateliers: « Traitement de l’image sous ubuntu », « Modélisation 3D avec Blender », « Carte mondiale libre Open Street Map, une alternative à Google Maps », « Découverte du Raspery Pi et de l’Arduino (domotique, robotique…) »

[Illkirch-Graffenstaden] Contribuer à Vikidia - Le samedi 23 janvier 2016 de 14h00 à 17h00.

L@ppli (animations multimédia) inaugure sa nouvelle saison à la médiathèque Sud d’Illkirch-Graffenstaden :
Samedi 23 janvier / 14h-17h
Parents & enfants sur le Web : contribuer à l’encyclopédie enfants Vikidia

[Rouen] Journée mensuelle du Logiciel Libre - Le samedi 23 janvier 2016 de 14h00 à 18h00.

Le samedi 23 Janvier 2016, nous organisons notre Journée Mensuelle du Logiciel Libre à la Maison St Sever à Rouen (Centre Commercial St Sever, 10-12 rue Saint-Julien 76100 Rouen) de 14h00 à 18h00. Rouen, Haute-Normandie.
Nous distribuerons gracieusement des DVDs openSUSE 32/64 Bits à nos visiteurs dans la limite du stock disponible.
Si vous avez une clé USB de 8 GO ou plus, veuillez nous l’apporter, nous la chargerons de goodies.

[Rennes] Atelier graphisme - Le samedi 23 janvier 2016 de 14h00 à 18h00.

L'association Actux organise un atelier graphisme, le samedi 23 janvier de 14h à 18h, au 18 Square de la Rance à Rennes.
Le thème sera la sexualité fantasmagorique des mascottes de projets, ou bien (au choix des artistes) une affiche à plusieurs mains pour le prochain événement Actux.Si vous avez d'autres excellentes idées, elle sont les bienvenues ;)
Chaque participant sera libre de choisir le logiciel avec lequel il dessine. Que vous soyez adepte d'Inkscape, GIMP, MyPaint, Krita ou autres logiciels de graphisme, vous êtes encouragés à venir ajouter votre touche au projt. Rien n'interdit de venir avec ses crayons et de dessiner sur papier.

[Caen] Libre Samedi GIMP - Le samedi 23 janvier 2016 de 14h00 à 17h00.

Le Libre Samedi CaLviX du 23 janvier 2016 aura pour thème “GIMP II : Réalisation d'une affiche”. Il se déroulera de 14h à 17h à Tandem.
Cet atelier est le second d’une série sur GIMP (GNU Image Manipulation Program), un logiciel de dessin matriciel libre et gratuit que l’on ne présente plus.
Lors de cette séance, Alain animera la réalisation d’une affiche, présentant ainsi de manière concrète les techniques, outils et filtres avancés.

[Martigues] Les samedis du Libre - Le samedi 23 janvier 2016 de 14h30 à 17h30.

L’association ULLM (les Utillisateurs de Logiciels Libres du Pays Martégal) en collaboration avec ECM vous présente le programme des samedis du libre du première trimètre 2016.
Le samedi 23 janvier de 14h30 à17h30
La bibliobox :

Télécharger ce contenu au format Epub

Lire les commentaires

Appel à contributions : 17èmes Journées du Logiciel Libre (JDLL) à Lyon Les 2 et 3 avril 2016

16 janvier, 2016 - 19:03
JDLL 2016 - Appel à contributions : Créativité, Citoyenneté, Diversité

Créativité, Citoyenneté, Diversité : Le logiciel libre, du code, mais pas que !

Fort du succès des précédentes éditions, nous avons le plaisir d'annoncer la 17e édition des Journées du Logiciel Libre (JDLL) ces 2 et 3 avril 2016 à Lyon. Le comité d'organisation des JDLL, la Maison Pour Tous, Salle des Rancy et l'Association Lyonnaise pour le Développement de l'Informatique Libre (ALDIL) vous proposent un temps de partage où tous les publics, curieux, amateurs et passionnés, se rencontrent.
Vous êtes libriste et utilisatrice⋅teur, développeuse⋅eur, créatrice⋅teur, joueuse⋅eur, bricoleuse⋅eur, artiste ? Vous souhaitez faire découvrir et partager vos plaisirs et petits bonheurs numériques ? Alors ce message vous concerne !

Thème(-s) 2016

Le thème de cette année est : "Créativité, Citoyenneté, Diversité : le logiciel libre, du code, mais pas que !"
Sur le week-end, nous vous proposons d'intervenir pour échanger sur les domaines suivants :

  • Diversité (diversité du numérique libre, diversité des publics) et accessibilité
  • Engagement (parce que parler politique aux JDLL, c'est possible !)
  • Biens communs et Open Data
  • Reconditionnement, recyclage, éviter l'obsolescence programmée (ou pas)
Participation, mode d'emploi :

Profitez de cet événement pour découvrir et échanger avec de nombreux participants. L'année précédente, grâce à vous, les JDLL ont accueilli plus de 1800 personnes sur les deux journées. Intéressés pour nous aider à réitérer l'exploit ? Les JdLL reçoivent des publics variés, n'hésitez pas faire des propositions pour les enfants, les adultes, les seniors, les associations, les entreprises, les collectivités territoriales, les novices comme les experts (et les licornes).

Participer aux JDLL c'est facile et ouvert à tous ! Nous faisons appel à vous pour alimenter le programme avec vos projets, connaissances, expériences et engagements.

Nous vous proposons 5 types de contributions :

  1. Stand au sein du village associatif
  2. Conférence de 20 ou 40 minutes suivie d’un échange (débats, tables rondes)
  3. Atelier de 45 minutes ou 1h15
  4. Démonstrations et présentations (logiciels, projets libres, DIY…)
  5. Animations ouvertes

Vous pouvez combiner plusieurs types de contributions, n'hésitez pas à être nombreux pour assurer la présence de votre collectif sur toutes les activités (par exemple une démo, une conférence suivie d’un atelier, un stand).
Faites nous parvenir vos propositions de participation via le formulaire. Les propositions sont à envoyer jusqu’au 4 février 2016, afin de nous permettre de préparer au mieux le planning. Un message de confirmation vous sera envoyé.

Partage et informations complémentaires

Et bien sûr, n’hésitez pas à partager cet appel auprès de vos canaux respectifs :-)

Les outils de communication (bannières, logos…) sont à votre disposition pour participer à la promotion de l’événement : http://www.jdll.org/pratique/medias/

Pour obtenir plus d'informations, vous pouvez vous rendre sur le site des Journées du Logiciel Libre : http://jdll.org/

N'oubliez pas que nous sommes disponibles pour toute question : jdll@jdll.org

Dans l'attente de vos réponses, et bien sûr, librement,

Le comité d'organisation des JDLL 2016.

Télécharger ce contenu au format Epub

Lire les commentaires

Pydza : jeu libre cherche âme seule

16 janvier, 2016 - 00:25

Pydza est un jeu 2D (2 dimensions) libre de plateforme de type Mario. Pydza est développé en Python avec Pygame. Doté de graphismes soignés, il est de plus multi-plateformes et multilingue. Au gré de votre aventure, vous parcourez un monde peuplé d’ingrédients de pizza, écrasant des tomates sur pattes et attrapant des parts de pizza (source Framasoft).
Ce jeu a été développé dans le cadre d'un projet tutoré de première année de DUT Informatique, à l'IUT d'Orsay, université Paris-Sud (Paris XI) en 2006. Les auteurs sont : Rémy Coutable, Alban Feron et Margueritte Pierre-Elie aidés de leur professeur M. Éric Petitjean.
Le jeu n'a plus d'activité depuis 2008 et le site officiel a disparu. Il ne reste que la première version sur sourceforge. Nous voici donc, encore devant un jeu libre abandonné. Mais comme nous disposons des codes sources (du moins jusqu'à la version 1.15) il peut être repris par qui en a envie.

NdM: les sources de la version 2.2 (aussi appelée 0.2.2) ont été retrouvées.

L'association LanPower met à disposition sur son site une version 2.2 de 2008 avec installeur créé par l'association à partir du fichier zip récupéré avant la fermeture du site officiel. La licence est la GPLV3. Cependant, le jeu n'est pas totalement libre au sens strict du terme puisque les musiques de Steve Allen sont sous licence CC by-nc-sa 3.0 (on notera de plus la présence de MSVCR71 pour la version Windows).

Télécharger ce contenu au format Epub

Lire les commentaires

Sondages sur les serveurs web Netcraft et SecuritySpace de décembre 2015

15 janvier, 2016 - 18:46

Netcraft est un site web connu pour sa réalisation de sondages sur le logiciel utilisé par les serveurs web sur Internet, ainsi que pour la détection (et l'historique) de ces mêmes logiciels sur requête de ses visiteurs.

Chaque mois, Netcraft publie le résultat de son sondage. Le sondage du mois de décembre est donc disponible, et la deuxième partie de dépêche vous propose un commentaire de ce sondage.

Security Space publie aussi un sondage chaque mois sur les serveurs web (qui aurait besoin d'un peu de toilettage ceci dit).

Sondage Netcraft

Il faut d'abord noter que ce sondage de "popularité des serveurs web" ne peut être considéré comme exhaustif, mais avec un panel de plus de 901 millions de noms d'hôtes sondés il peut être considéré comme raisonnablement représentatif.

Sans surprise, Apache HTTP Server reste le serveur web le plus utilisé du sondage (50% des sites actifs, 37% des sites en général), talonné par Nginx (16% des sites actifs, 17% en général). Microsoft IIS ferme le podium avec presque 10% d'utilisation active (27% des sites en général). Tendanciellement, Nginx est plutôt en croissance tandis qu'Apache HTTP Server et IIS sont plutôt en décroissance.

Alors quoi, rien n'a changé depuis juillet 2012 ? Est-ce que ce classement a encore de l'intérêt ? En fait, au-delà de la progression de Nginx, on peut souligner que le total des serveurs non-mentionnés dépasse celui qui ferme le podium : il y a donc une certaine variété de serveurs web utilisés.

Au final, il est dommage que Netcraft se contente d'afficher seulement certains grands noms, même lorsqu'ils ne signifient plus rien, comme Sun.

Sondage Security Space

Security Space donne un peu plus d'infos sur les serveurs HTTPS rencontrés (nom plus précis et parfois version utilisée pour ceux qui l'annoncent).

On peut aussi :

  • observer que 27% des serveurs annoncent encore du SSLv3 (pourtant obsolète depuis 2014 avec la faille POODLE et enterré en juin 2015 par la RFC 7568) ;
  • noter la présence persistante de Flash sur 6% des sites et la disparition des applets et webstart Java à 0,11% ;
  • constater le fait que 39% des sites visités utilisent des cookies (quasi systématiquement pour toutes les URL du site, et pour tout un sous-domaine dans 12,7% des cas) ;
  • apprendre que seulement 8% des sites utilisent de la répartition de charge DNS en ayant plusieurs IP ;
  • signaler que les serveurs de courriel associés aux domaines web visités sont Exim (53%) et Postfix (32%), tous deux en hausse ;
  • s'émerveiller que les 4 plus grosses autorités de certification contrôlent plus de 63% des certificats recensés ;
  • épiloguer sur le fait qu'Apache HTTP Server tourne principalement sur CentOS, Debian, Ubuntu, voire parfois Red Hat ou FreeBSD.
Télécharger ce contenu au format Epub

Lire les commentaires