Linux (fr)

  • Un entretien avec le conseiller scientifique de TBBT (Journaux LinuxFR)

    /. nous gratifie d'un entretien avec le conseiller scientifique de The Big Bang Theory, une série américaine que vous connaissez sans doute ;-)

    http://entertainment.slashdot.org/story/14/09/17/0116249/interviews-david-saltzberg-answers-your-questions-about-the-big-bang-theory

    C'est en anglais, j'imagine que certains pourront proposer des traducteurs en ligne un peu plus efficaces que google trad, ou même que http://apertium.org (qui obligerait sans doute à passer par l'espagnol ou l’espéranto pour faire la traduction anglais => français).

    On y apprend que ce conseiller s'est efforcé de ne pas laisser passer d'erreurs scientifiques, en accord avec les scénaristes et les acteurs, même s'il reconnaît qu'il peut y avoir une ou deux coquilles. Ce scientifique reconnaît qu'il n'a plus le temps de s'intéresser à la culture geek :/ Même s'il est content de pouvoir parler de matière noire et autres termes, qui donneront l'envie à certains d'aller approfondir via wikipedia, voire susciter des vocations scientifiques. La série a tout de même mobilisé quelques invités de renom : que ce soit Stephen Hawking, Steve Wozniak, Stan Lee ou Buzz Aldrin.

    Si vous trouvez intéressants ce genre d'entretien, il serait possible d'en préparer dans l'espace de rédaction (il y en a d'ailleurs en cours). Mais qui serait-il possible de contacter en restant dans le domaine des séries ? Monsieur Poulpe pour Nerdz ? Simon Astier pour [Hero Corp] ? Un des auteurs de Métal Hurlant Chronicles ? D'autres envies ou possibilités ?

    À vous les studios !

    Lire les commentaires

  • Sortie de Odoo 8 (anciennement OpenERP) (Dépêches LinuxFR)

    Odoo, la suite libre d'applications de gestion, vient de sortir sa version 8. Dans les nouvelles fonctionnalités, on retrouve un point de vente fonctionnant aussi sur iPad et Android, un outil de création de site internet, une boutique en ligne, un moteur de rapports statistiques, un système de blogue (clone open source de Medium).

    Quelques applications marketing ont également été publiées : envois de mails, une gestion d'événements, un outil de création de sondages et un clone de Stackoverflow (Q&A)

    Le cadriciel Python a été totalement réécrit permettant d'être plus efficace pour créer des modules personnalisés.

    Toutes les applications de gestion d'Odoo ont été complétées d'une interface frontend (site web). Quelques exemples de fonctionnalités qui sont apparues grâce à la partie web :

    • ventes : une boutique en ligne ;
    • événement : un site web de publication d'événements et vente de tickets ;
    • recrutements : publication des offres d'emploi et formulaires pour postuler ;
    • devis : version en ligne des devis construite sur base de modèles ;
    • composition graphique d'e-mails pour l'envoi massif ;
    • gestion de la relation client : formulaires de contact.

    Cette version est le résultat de 18 mois de recherche et développement avec une collaboration efficace entre l'éditeur et la communauté. Une bonne partie des modules communautaires ont d'ailleurs déjà été portés à la nouvelle API.

    Lire les commentaires

  • La coupe de France de robotique a eu chaud (ex coupe e=m6) (Journaux LinuxFR)

    A cause des baisses de dotations de l'état, la ville de la Ferté Bernard a arrêté le festival Artec qui est le cadre de la coupe. Mais celle-ci aura tout de même lieu au même endroit, mais sans le festival.

    http://www.lemainelibre.fr/actualite/la-ferte-bernard-le-festival-artec-suspendu-pour-deux-ans-18-09-2014-108359
    http://www.le-perche.fr/33572/la-fin-du-festival-artec/

    Mais la coupe continue !
    http://www.planete-sciences.org/forums/viewtopic.php?f=1&t=16785&p=159941#p159941

    Lire les commentaires

  • Atelier Diaporamas Impress le 18 octobre 2014 à Courbevoie (Dépêches LinuxFR)

    Dans le cadre de ses formations bi-mensuelles, l'association StarinuX a le plaisir de vous convier à l'atelier :

    « Diaporamas et présentations Impress avec le logiciel bureautique LibreOffice »

    Quand : le samedi 18 octobre 2014 de 9h à 18h

    Lieu : 16 rue Madiraa 92400 Courbevoie, 100 m de la gare de Bécon les Bruyères, (qui est à 7 min de la gare Saint Lazare), 3 min de la Défense (SNCF).

    Description : apprenez à réaliser des présentations sophistiquées, abandonnez la bureautique MS-Office, pour le diaporama Libre LibreOffice. Un atelier très concret et pratique, animé par Ghislaine Royer (consultante, impliquée dans le logiciel libre). Les niveaux 2 et 3 seront réalisés selon le niveau des participants (veuillez l'indiquer lors de votre pré-inscription dans le champ "commentaires").

    Contact : events CHEZ starinux.org

    Précision : comme à l'accoutumée une participation de 20 € annuelle est demandée (10 € demandeurs d'emploi). Elle est valable pour plus de 18 ateliers.

    Lire les commentaires

  • Mons, le 18 septembre 2014 : MOOC – une façon ouverte d’apprendre librement ? (Dépêches LinuxFR)

    Ce jeudi 18 septembre 2014 à 19h se déroulera la 31ème séance montoise des Jeudis du Libre de Belgique.

    MOOC (Massive Open Online Course / Cours en ligne ouverts à tous) : une façon ouverte d’apprendre librement ? Exemples avec ITyPa (sujet généré par les participants) et « Khan Academy » (sujet classique exposé par un professeur)

    • Thématique : e-Learning
    • Public : Tout public
    • Animateurs conférenciers :

      • Philippe Verstichel (Académie du Management)
      • Bruno De Lièvre (UMONS, Faculté de Psychologie et des Sciences de l’Éducation)
    • Lieu de cette séance : Campus technique (ISIMs) de la Haute Ecole en Hainaut, Avenue V. Maistriau, 8a, Salle Académique, 2e bâtiment (cf. ce plan sur le site de l’ISIMs, et ici).

    Description : Voyage au pays des MOOC (Massive Open Online Course), cours en ligne qui autorisent de nouvelles façons d’apprendre mais également, dans l’esprit du “Libre”, de nouvelles façons de développer non pas des programmes informatiques mais des contenus éducatifs communs.

    Dans une première partie, le concept est expliqué de manière pratique au travers d’exemples bien choisis pour mettre en relief les différences entre les plateformes. Du traditionnel « coursera » au connectiviste « ITyPa » en passant par le concept de la « Khan Academy ».

    Au cours de la deuxième partie, à côté d’une nouvelle approche de l’enseignement à distance, l’exposé dévoilera l’extraordinaire possibilité des MOOC comme outil de co-création de connaissance et de supports éducatifs. Au delà des défis technologiques engendrés, le caractère collaboratif/participatif des MOOC requiert en effet de nouvelles approches aussi bien en matière de pédagogie que de fabrication de contenu (celle-ci pouvant se rapprocher des développements de logiciels libres).

    Dans la dernière partie, nous aborderons le côté pratique au travers de deux outils. L’un, Moodle, est utilisé par l’Université de Mons et la Haute École Condorcet, et l'autre : OpenMOOC

    La présentation se terminera par un débat interactif sur les potentiels des MOOC en Wallonie et sur leurs apports possibles dans des milieux universitaires, entrepreneuriaux ou en formation continue.
    La participation sera gratuite et ne nécessitera que votre inscription nominative, de préférence préalable, ou à l’entrée de la séance. La séance sera suivie d’un verre de l’amitié.

    Les Jeudis du Libre à Mons bénéficient aussi du soutien de nos partenaires : Normation, MeaWeb, NextLab et Phonoid.

    Si vous êtes intéressé(e) par ce cycle mensuel, n’hésitez pas à consulter l’agenda et à vous inscrire sur la liste de diffusion afin de recevoir systématiquement les annonces.

    Pour rappel, les Jeudis du Libre se veulent des rencontres autour de thématiques des Logiciels Libres. Les rencontres montoises se déroulent chaque troisième jeudi du mois, et sont organisées dans des locaux et en collaboration avec des Hautes Écoles et Facultés Universitaires du Pôle Hainuyer d’enseignement supérieur impliquées dans les formations d’informaticiens (UMONS, HEH et Condorcet), et avec le concours de l’A.S.B.L. LoLiGrUB, active dans la promotion des logiciels libres.

    Lire les commentaires

  • Atelier Tmux à Bordeaux le 15 septembre 2014 (Dépêches LinuxFR)

    Lundi 15 septembre 2014 se tiendra le premier atelier CLI, sur Tmux, un multiplexeur de terminal. Le but de ces ateliers, proposés par des membres d’associations et collectifs Bordelais, est de progresser ensemble sur un outil ou un thème, toujours en ligne de commande. Les ateliers "spécial débutants" reprendront le 13 octobre.

    Cet atelier se déroulera dans les locaux du L@BX dans la fabrique POLA.

    NdM : merci à xaccrocheur pour les liens.

    Lire les commentaires

  • Sortie de OpenMediaVault en version 1.0 (Journaux LinuxFR)

    C'est le 15 septembre que l'on a appris la sortie de OpenMediaVault, ou OMV pour les intimes, en version 1.0.

    Les principales nouveautés sont :

    • Le passage sur GNU/Linux Debian Wheezhy
    • L' abandon de Apache2 au profit de Nginx pour l'interface web.

    Pour la liste complète des nouveautés, je vous invite à visiter la page du blog, et pour tester la nouvelle interface , c'est par ici

    Lire les commentaires

  • Numba 1.4 (Dépêches LinuxFR)

    Numba, l'optimiseur Python spécialisé dans le calcul numérique, est sorti en version 1.4. Numba est un compilateur juste-à-temps (JIT) pour Python, basé sur LLVM, permettant d'optimiser du code de calcul numérique, notamment basé sur Numpy. Il est compatible avec CPython 2.6, 2.7, 3.3 et 3.4. Des paquets binaires sont disponibles via Anaconda, la distribution de paquets binaires dédiée au calcul scientifique maintenue par Continuum Analytics, l'entreprise qui développe Numba.

    Sommaire

    Qu'est-ce que Numba ?

    Numba est un compilateur juste à temps pour CPython spécialisé dans l'optimisation de code scientifique.

    … CPython ?

    CPython est l'implémentation par défaut (ou "de référence", en langage politiquement correct) de Python. Les autres implémentations s'appellent PyPy, Jython, etc.

    … Spécialisé ?

    Numba ne prétend pas être capable d'optimiser tous les types de code Python, ni même toutes les constructions du langage (même si cela n'est pas exclu comme objectif à long terme). Numba est capable d'optimiser les calculs numériques et scientifiques impliquant des entiers, des flottants, des complexes ; il est capable de reconnaître certaines types de données bien connus, comme les tableaux Numpy.

    La liste des fonctionnalités optimisables grandit évidemment de version en version, par exemple la version 0.14 supporte désormais les types numpy.datetime64 et numpy.timedelta64, qui permettent de faire des calculs sur des séries temporelles.

    … Juste à temps ?

    Numba fonctionne lors de l'exécution de votre code Python. Il suffit d'apposer le décorateur "@numba.jit" à une fonction pour la faire optimiser par Numba (certains aiment prier pour qu'il arrive à l'optimiser). Il n'y a pas de phase de compilation séparée, ni de ligne de commande à lancer.

    Plateformes supportées

    Numba utilise LLVM, ce qui permet une portabilité relativement aisée. Actuellement, les systèmes sous Linux, OS X et Windows sont supportés. Côté matériel, x86, x86-64 sont supportés et il y a également un backend CUDA (avec des limitations).

    Un exemple

    Partons de notre ami l'ensemble de Mandelbrot. Pour cela, posons la fonction suivante dans un fichier nommé mandel.py :

    import numpy
    
    def mandelbrot(width, height):
        x_min, x_max = -2.0, 1.0
        y_min, y_max = -1.0, 1.0
        arr = numpy.zeros((height, width), dtype=int)
        xs = numpy.linspace(x_min, x_max, num=width)
        ys = numpy.linspace(y_min, y_max, num=height)
    
        max_iters = 20
        for idx_x, x in enumerate(xs):
            for idx_y, y in enumerate(ys):
                c = complex(x, y)
                z = 0.0j
                for i in range(max_iters):
                    z = z * z + c
                    if z.real * z.real + z.imag * z.imag >= 4:
                        # Hors de l'ensemble
                        break
                else:
                    # Dans l'ensemble
                    arr[idx_y, idx_x] = 1
    
        return arr

    Cette fonction renvoie un tableau d'entiers Numpy indiquant si un point fait partie de l'ensemble de Mandelbrot (1) ou non (0).

    Maintenant, lançons un Python depuis le même répertoire :

    >>> import mandel
    >>> print(mandel.mandelbrot(20, 15))
    [[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
     [0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0]
     [0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0]
     [0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0]
     [0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0]
     [0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0]
     [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0]
     [0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0]
     [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0]
     [0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0]
     [0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0]
     [0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0]
     [0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0]
     [0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0]
     [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]]

    Ouf, ça ressemble :-) Maintenant compilons cette même fonction avec Numba :

    >>> from numba import jit
    >>> opt = jit(mandel.mandelbrot)
    >>> print(opt(20, 15))
    [[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
     [0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0]
     [0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0]
     [0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0]
     [0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0]
     [0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0]
     [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0]
     [0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0]
     [0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0]
     [0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0]
     [0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0]
     [0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0]
     [0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0]
     [0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0]
     [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]]

    Et lançons un benchmark d'une scientificité rigoureuse sur un tableau de 200x200 :

    >>> import timeit
    >>> timeit.timeit("mandel.mandelbrot(200, 200)", setup="import mandel", number=1)
    0.20483311700081686
    >>> timeit.timeit("opt(200, 200)", setup="from __main__ import opt", number=1)
    0.003343598000355996

    Sur ce cas d'usage d'une grande importance, Numba est ainsi 60 fois plus rapide que l'interpréteur CPython !

    Principe de fonctionnement

    Numba est un optimiseur fonction par fonction. Il part de la fonction que vous décorez avec numba.jit et lance une inférence de types pour essayer d'assigner un type précis à chaque variable et valeur intermédiaire dans la fonction. Pour cela, il utilise des règles dédiées à chaque opérateur, fonction standard, etc.

    Pour définir les types de départ du processus d'inférence, il y a en réalité deux possibilités :

    • Dans l'utilisation de base de numba.jit, l'utilisateur ne passe pas de paramètres : c'est alors lors de l'appel de la fonction décorée que les types des arguments sont utilisés pour lancer le processus d'inférence (la compilation est ici paresseuse).
    • Dans une utilisation avancée, l'utilisateur peut décrire explicitement les types à l'entrée de la fonction (cela lui permet, par exemple, de choisir des flottants simple précision plutôt que double précision) ; dans ce cas, la compilation a lieu immédiatement.

    L'inférence de type est l'étage fondamental qui permet ensuite de produire du code travaillant sur des types bas niveau, plutôt qu'au niveau du modèle objet de Python, qui est beaucoup plus difficile à optimiser. Bien entendu, la chaîne de traitement (pipeline) est constituée de multiples étages :

    1. décodage du bytecode CPython
    2. construction d'un graphe de flot de contrôle (CFG)
    3. génération d'une représentation intermédiaire (IR) spécifique à Numba
    4. inférence de types, produisant une détermination du type de chaque variable manipulée par la fonction
    5. génération de code LLVM correspondant à l'exécution de l'IR sur les types déterminés précédemment
    6. appel à LLVM pour la génération du code machine, et encapsulation du tout dans un objet dédié (wrapper) qui lance le code machine quand il est appelé

    Grâce à LLVM, Numba n'a pas à se charger des optimisations bas niveau (propagation de constantes, vectorisation SIMD, etc.) et peut se concentrer sur les traitements spécifiques au langage Python.

    Pour une présentation plus détaillée, il convient de lire la documentation (en anglais) : architecture de Numba.

    Limitations

    À l'heure actuelle, plutôt que de se lancer dans une liste interminable de limitations, il est plus raisonnable de lister ce qui est supporté.

    Types supportés

    • les scalaires numériques, que ce soit les types Python (int, float, complex…) ou NumPy (numpy.complex64, etc.)
    • les booléens
    • les dates et intervalles de temps NumPy (numpy.datetime64 et numpy.timedelta64)—mais pas les types standard datetime.datetime et datetime.timedelta
    • les tuples des types ci-dessus
    • les tableaux NumPy des types ci-dessus

    Constructions supportées

    Numba supporte la plupart des constructions syntaxiques du langage, sauf le traitement des exceptions (try... except, etc.), les gestionnaires de contexte (with), les générateurs (yield) et quelques autres détails.

    Fonctions supportées

    Numba supporte une grande partie des opérateurs numériques, des fonctions standard (notamment le module math), et certaines fonctions de NumPy. Il est également capable d'optimiser les appels à des fonctions externes via ctypes ou cffi.

    Différences sémantiques

    Le caractère volontaire (opt-in) de la compilation permet à Numba de présenter des différences sémantiques par rapport au langage Python. Je ne les listerai pas ici, mais une différence évidente a trait aux entiers : les entiers de Python sont de largeur arbitraire, ceux de Numba sont de largeur fixe (déterminée à l'inférence de types, ou forcée par l'utilisateur). Un dépassement lors d'opérations mathématiques entraîne simplement une troncation.

    Notons qu'une grande partie de ces différences reflète en réalité le comportement de NumPy (dont les entiers sont aussi à largeur fixe, par exemple).

    Numba et l'écosystème Python

    Le fait que Numba fonctionne au-dessus de CPython lui permet de s'intégrer facilement à l'écosystème existant. Comme on l'aura compris, l'intégration avec NumPy est également une fonctionnalité de premier plan. D'une manière générale, la stratégie de Continuum (cf. ci-dessous) est de maximiser les possibilités d'interaction entre les multiples briques de calcul scientifique disponibles pour Python.

    Statut du projet

    Numba est supporté par Continuum Analytics, qui paye à cet effet plusieurs développeurs (dont l'auteur de cette dépêche). Le développement est en partie financé par des clients et des fonds de recherche américains. Nous recevons également des contributions extérieures. Bien entendu, le projet est libre (licence de type MIT).

    Contribuer

    Numba est un projet jeune auquel manquent de nombreuses fonctionnalités ; il y a donc beaucoup d'opportunités de contribution. Le processus est détaillé dans la documentation. Les compétences nécessaires dépendent de ce à quoi vous vous intéressez :-) La majeure partie du code de Numba est en Python ; il y a quelques parties en C, mais on les évite assez facilement. Nul besoin d'être en expert en NumPy ou en LLVM pour commencer (je ne les connaissais presque pas).

    Au débotté, voici quelques directions possibles de contribution, par ordre de difficulté :

    • améliorer la documentation
    • améliorer le retour utilisateur, qui est actuellement assez fruste (messages d'erreur, informations sur la fonction compilée)
    • corriger des bugs (!)
    • ajouter le support de nouvelles fonctions (de la bibliothèque standard ou de NumPy)
    • ajouter le support de nouveaux types
    • ajouter le support de nouvelles constructions (comme la gestion des exceptions ou les générateurs)

    Lire les commentaires

  • Apéro Python à Lyon le mercredi 24 septembre (Dépêches LinuxFR)

    Un apéro Python aura lieu à Lyon le mercredi 24 septembre à partir de 19h à l'Antre Autre (11 rue Terme, Lyon 1er). Un AFPyro est un moment convivial où les Pythonistes peuvent échanger librement autour d’un verre ou d’une assiette.

    Une présentation sur les docstrings sera proposée. Les docstrings permettent de rédiger la documentation développeur directement dans le code.

    Venez nombreux !

    Lire les commentaires

  • Install Party GNU/Linux le samedi 27 septembre à Marseille (Dépêches LinuxFR)

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

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

    L'entrée est libre, et l'évènement est accessible aux débutants-e-s. Une participation de 2 euros est demandée. Vous pourrez, si vous le souhaitez, adhérer à l'association pour la soutenir (cotisation de 20 euros pour une durée d'un an). Si vous avez d'autres questions en préalable à votre venue à l'évènement, une adresse mail de contact est disponible : cerll13@gmail.com.

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

    Lire les commentaires

  • FACIL célèbre la Journée internationale du logiciel libre à Montréal le samedi le 20 septembre 2014 (Dépêches LinuxFR)

    FACIL, pour l'appropriation collective de l'informatique libre (FACIL) invite le grand public de la région de Montréal, de même que les acteurs et actrices de la communauté du libre à converger au Centre de recherche informatique de Montréal (CRIM), le samedi 20 septembre 2014, pour célébrer la Journée internationale du logiciel libre (JILL). Cet événement, qui inaugure la Semaine québécoise de l'informatique libre (SQIL) du 20 au 28 septembre, est gratuit et ouvert à tous et toutes, sans distinction d'âge.

    Au programme cette année :

    1. En avant-midi, dévoilement du prototype de la Clé FACIL, dont la campagne de financement participatif sera lancée le jour même, ainsi que des présentations variées venant des membres de la communauté du libre.
    2. En après-midi, débutant à 14h, une table ronde sur les ressources éducatives libres (REL) au Québec, avec des expert(e)s du milieu de l'enseignement et de la recherche.
    3. 5@7 d'ouverture de la SQIL au Café l'Artère en compagnie des passionné(e)s du Club Linux Atomic.

    QUAND : le samedi 20 septembre de 9 h à 17 h

    OÙ : CRIM, 405, avenue Ogilvy à Montréal (métro Parc)

    Pour plus d'infos. : http://jill.facil.qc.ca/http://cle.facil.qc.ca/http://2014.sqil.info/

    Lire les commentaires

  • The Qt Company (Journaux LinuxFR)

    Hey les enfants, Digia vient de créer une nouvelle entité "The Qt Company":

    • Ils ont un nouveau site web qui unifie tous les autres : http://www.qt.io
    • Une nouvelle offre pour les Indie developers à 20€ par mois
    • Leur slogan à l'air vraiment cool "Create once, deploy everywhere", il y a des gens qui ont une expérience de dev d'application mobile multi-platforme Android/iOS/Windows avec Qt ?

    Source

    Oui c'est un journal bookmark.

    Lire les commentaires

  • Parution du second tome du Guide d’autodéfense numérique (Dépêches LinuxFR)

    Quatre ans après la parution du premier tome du Guide d'autodéfense numérique, le second tome, dédié aux enjeux liés de l'utilisation des réseaux et d'Internet est enfin terminé. Cet ouvrage vise à présenter l’« absence d’intimité » du monde numérique et propose des méthodes pour ajuster ses pratiques quotidiennes en conséquence. Les deux volumes sont d’ores et déjà disponibles en consultation et en version imprimable à l’adresse http://guide.boum.org/.

      Les technologies numériques, auxquelles il est devenu très difficile d’échapper, offrent des possibilités de contrôle et de surveillance inédites. S’ils semblent souvent très pratiques, ces outils sont également de puissants supports dans les processus de surveillance et de répression. C’est à partir de ce constat, et de la détermination à ne pas se laisser contrôler par quelque Big Brother que ce soit, qu’un collectif s’est attelé il y a plus de quatre ans à la rédaction du « Guide d’autodéfense numérique ».

      Jusqu'ici, seul le premier tome, qui se concentre sur l’utilisation d’un ordinateur « hors connexions » — on pourrait aussi bien dire préalablement à toute connexion, était disponible. Un second volume vient enfin le compléter. Il ambitionne de permettre à tout un chacun de comprendre quels sont les risques et les limites associés à l'utilisation d'Internet et de se donner les moyens de faire des choix éclairés quant à nos usages de l'Internet.

      Ce second tome est accompagné d'une troisième édition revue et corrigée du premier volume qui prend en considération les révélations concernant l'état actuel de la surveillance numérique ainsi que les dernières évolutions légales et techniques – et notamment les nouvelles versions des systèmes Debian et Tails.

      On trouve dans ce « Guide d'autodéfense numérique » enfin complet des éléments de compréhension de l’outil informatique et de ses failles, des éléments de réflexion permettant d’élaborer et de mettre en place des « politiques de sécurité » et des outils permettant à quiconque d’apprendre et de répandre des pratiques de protection appropriés à chaque situation.

      Pour en finir avec les illusions et les demi-solutions, apprenons et diffusons des pratiques d’autodéfense numérique !

      Lire les commentaires

    • Le prix des carburants enfin en OpenData (Journaux LinuxFR)

      Ehlo,

      J'ai découvert hier que le site gouvernemental Le prix des carburants a ouvert ses données le 10 septembre dernier, avec l'historique des prix depuis 2007 de chaque station référencée. Les stations référencées sont accompagnées de leurs coordonnées géographiques, mais pas du nom de la station ni de l'opérateur.

      Ces données sont disponibles au format XML et, après rapide consultation, sont claires. Voici un exemple des trois premiers points de vente (pdv) du fichier :

      <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
      <pdv_liste>
        <pdv id="1000001" latitude="4620114" longitude="519791" cp="01000" pop="R">
          <adresse>ROUTE NATIONALE</adresse>
          <ville>SAINT-DENIS-LèS-BOURG</ville>
          <ouverture debut="01:00" fin="01:00" saufjour=""/>
          <services>
            <service>Automate CB</service>
            <service>Vente de gaz domestique</service>
            <service>Station de gonflage</service>
          </services>
          <prix nom="Gazole" id="1" maj="2014-09-09 09:31:56" valeur="1274"/>
          <prix nom="SP95" id="2" maj="2014-09-09 09:31:56" valeur="1475"/>
          <prix nom="SP98" id="6" maj="2014-09-09 09:31:57" valeur="1519"/>
          <fermeture/>
          <rupture/>
        </pdv>
        <pdv id="1000002" latitude="4621842" longitude="522767" cp="01000" pop="R">
          <adresse>16 Avenue de Marboz</adresse>
          <ville>BOURG-EN-BRESSE</ville>
          <ouverture debut="08:45" fin="19:30" saufjour="Dimanche"/>
          <services>
            <service>Automate CB</service>
            <service>Vente de gaz domestique</service>
            <service>Station de gonflage</service>
          </services>
          <prix nom="Gazole" id="1" maj="2014-09-08 10:04:28" valeur="1274"/>
          <prix nom="SP95" id="2" maj="2014-09-08 10:04:28" valeur="1475"/>
          <prix nom="SP98" id="6" maj="2014-09-08 10:04:28" valeur="1519"/>
          <rupture id="3" nom="E85" début="2009-11-03 12:19:00" fin=""/>
          <fermeture/>
        </pdv>
        <pdv id="1000004" latitude="4618836" longitude="524447" cp="01000" pop="R">
          <adresse>20 Avenue du Maréchal Juin</adresse>
          <ville>Bourg-en-Bresse</ville>
          <ouverture debut="01:00" fin="01:00" saufjour=""/>
          <services>
            <service>Boutique alimentaire</service>
            <service>Boutique non alimentaire</service>
            <service>Vente de fioul domestique</service>
            <service>GPL</service>
            <service>Carburant qualité supérieure</service>
            <service>Station de gonflage</service>
            <service>Piste poids lourds</service>
            <service>Toilettes publiques</service>
            <service>Relais colis</service>
            <service>Vente de gaz domestique</service>
            <service>Location de véhicule</service>
          </services>
          <prix nom="Gazole" id="1" maj="2014-09-08 20:00:00" valeur="1410"/>
          <prix nom="SP95" id="2" maj="2014-09-08 20:00:00" valeur="1600"/>
          <prix nom="GPLc" id="4" maj="2014-06-20 20:02:00" valeur="910"/>
          <fermeture/>
          <rupture/>
        </pdv>

      Ça pourrait servir à alimenter OpenStreetMap ! Cool, non ?


      Source : http://prix-carburants.gouv.fr/actualites/
      Plus d'infos : http://prix-carburants.gouv.fr/rubrique/opendata/

      Lire les commentaires

    • Retour de Berlin (Journaux LinuxFR)

      Bonjour à tous,

      bon je sais qu'on parle beaucoup de XMPP en ce moment, avec les sorties récentes des nouvelles versions de Salut à Toi et Movim, et un journal sur Diapora*, aussi pour ceux qui commencent à saturer, inutile de continuer dans ce journal :).

      Je vais raconter un peu l'envers du décors ici, à savoir ce qu'il se passe chez les dévs et autour des standards. Tout est raconté de mon point de vue (je suis développeur sur Salut à Toi), peut-être que les autres personnes présentes voudront compléter ou corriger selon leur ressenti.

      Depuis quelques mois, nous avons décidé de nous regrouper sur un salon XMPP pour discuter de « PubSub » (Publish Subscribe, publication/souscription, un protocole qui permet de publier des choses et d'être averti quand quelqu'un publie quelque chose). Quand je dis « nous », je parle principalement de Binary (développeur russe), Edhelas (développeur de Movim), Souliane (développeur de Salut à Toi), et moi. Sur ce salon nous voyons aussi plus ou moins régulièrement des gens comme Simon Tenant (développeur Buddycloud), Neustradamus (qui fait beaucoup de veille et mise en relation aujour de XMPP), Link Mauve (développeur touche à tout, et beaucoup à XMPP), et Vanaryon (développeur de Jappix). Notre but est de pousser un peu pour régler les derniers problèmes gênants pour créer un système de microblogage décentralisé.

      Cette réunion a permis la création de 2 XEPs (extensions du protocole XMPP): la XEP-0351 écrite par Binary pour améliorer les notifications, et Priviled Components, que j'ai écrite, qui permet de donner à un composant des droits normalement réservés à un serveur (ça sera bientôt changé pour être pour n'importe quel entité, pas uniquement un composant serveur). La première a été publiée et a donc un numéro officiel, c'est une étape importante, mais cela ne signifie pas que c'est accepté par la XSF (organisme qui gère XMPP, où n'importe qui peut demander à être membre). Le mécanisme de publication et d'acceptation est décrit dans la XEP-0001: ce processus clair est ouvert à la discussion, et montre l'intérêt d'un protocole standard. Par exemple, une XEP ne peut pas devenir finale s'il n'y a pas au moins 2 implémentations dont au moins une libre.

      Pour discuter de ces extensions (et plus rarement du cœur de XMPP, à savoir les RFC 6120, 6121 et 6122), une liste de diffusion a été créé, la liste standard (que vous trouverez ainsi que toutes les autres sur cette page: http://xmpp.org/participate/discuss-xmpp/). C'est sur cette liste que Binary a demandé à avoir un « XMPP Summit », c'est à dire une rencontre autour de XMPP, en dehors de l'amérique du Nord. Après quelques discussions, un point relativement central a été choisi, Berlin, où le JSConfEu était organisé, ce qui a permis à ceux qui le voulaient de participer aux 2.

      Nous nous sommes donc retrouvé à Berlin la semaine dernière. Afin de pouvoir mieux faire connaissance et pouvoir discuter tranquillement, nous avons décidé de prendre une chambre commune Edhelas (que j'avais déjà vu plusieurs fois), Binary (que je ne connaissais que par Internet), Souliane (ami de longue date) et moi (Vanaryon a failli nous rejoindre mais il a eu un empêchement). Notre choix s'est porté sur une auberge de jeunesse qui respirait l'ambiance communautaire, un peu excentrée. Nous n'avons pas été deçus, l'accueil ainsi que tous ceux qu'on a rencontré étaient très amicaux et détendus.

      Mercredi le RDV était donné dans les locaux de Wikimedia (la fondation qui gère entre autres Wikipédia): c'était le grand luxe, de grands bureaux hauts de plafond, des indications claires. La nourriture (pizzas) et les boissons (eau, café, club maté, etc) étaient offertes par &yet, une entreprise qui utilise XMPP. Nous avions tout ce qu'il fallait à disposition: une grand salle de réunion, et une bonne connexion filaire ou wifi.

      Une vingtaine de personnes étaient présentes, parmi lesquelles on comptait des développeurs d'OpenFire, de BuddyCloud, d'Ejabberd, de Prosody (l'auteur principal), de Jitsi, ainsi que des employés de Siemens qui nous ont parlé de l'Internet des objets.

      Pour permettre aux gens non présents physiquement de participer, une liaison en vidéo conférence à plusieurs a été mise en place via Jitsi et un navigateur (ou le client de bureau chez les autres). Malgré quelque petits problèmes (webcam qui coupait l'image en deux - probablement plus lié à la webcam elle-même qu'à Jitsi -, quelques coupures voire crashs), la liaison a été relativement correcte durant toute la journée, et nous a permis de discuter avec Ralph Meijer, un des auteurs de la XEP-0060 (PubSub), et développeur de longue date autour d'XMPP.

      Toute la journée a été rempli de discussions, nous avons commencé par lister les sujets que chacun voulait aborder, puis fait un vote pour choisir l'ordre de discussions. Nous avons ainsi parlé des problèmes de PubSub, de XMPP en entreprise (et de l'utilisation de l'internet des objets), de Jingle, de l'état des « réseau sociaux » (je n'aime pas ce terme !) avec une rapide présentation de Movim et SàT en fin de journée, ainsi que diverses autres choses que j'ai oublié. Je ne vais pas rentrer dans les détails techniques, mais vous pourrez avoir un résumé de ce qu'on a dit sur PubSub ici: http://piratepad.net/ep/pad/view/ro.HADGQ2im4Q3/latest (la mise en page est perdu en lecture seule, je vous conseil de télécharger en HTML avec le lien sur la droite). Le leitmotiv de la journée était « do it ! ».

      Cette journée a été très éprouvante pour moi: j'ai été pris tout du long d'un violent mal de tête, ce qui m'a rendu très pénible la compréhension des discussions en anglais, surtout que certains parlaient très vite et avec un accent plus ou moins fort, et la conversation avec Ralph par enceintes interposées n'était pas aisée non plus. Mais nous referons certainement une partie des conversations sur la liste de diffusion standard@.

      La fin de la journée, vers 16h, a été un soulagement, et nous nous sommes donnés RDV le soir dans un restaurant. Cette longue pause nous a permis de visiter un peu Berlin et son tristement célèbre mur (mais la ville est très intéressante et semble vraiment agréable, j'espère avoir l'occasion de mieux la découvrir un jour).

      Nous étions en comité beaucoup plus réduit au restaurant, à 6, ce qui a permis des discussions plus détendues, et de voir un peu nos différents points de vue.

      Le lendemain était la journée du hackathon: nous nous sommes retrouvés dans un hackerspace berlinois, où se croisaient une classique RepRap et un portrait de RMS en Gnou. Cette journée a été beaucoup plus agréable: d'une part mon mal de tête était enfin passé après une nuit épouvantable, et d'autre part l'atmosphére était moins « officielle ». Chacun vaquait à ses occupations, et nous pouvions demander l'aide d'un expert sur tel ou tel projet au besoin, ou s'échanger des astuces. Tout au long de la journée nous avons eu des présentations.

      En particulier, Matthew (l'auteur de Prosody) nous a fait une introduction à Lua et Prosody, et nous a montré comment faire un module. Bien que j'avais déjà regardé par ailleurs, c'était très instructif, et Matthew donne un sentiment de compétence très rassurant. C'est un personnage sympathique, décontracté, et facile d'accès. Il nous a expliqué notamment le choix de Lua: un langage très rapide, efficace et qui va à l'essentiel. Le code de Prosody semble clair, et ils ont pour but de ne pas avoir pas de fichier dépassant les 400 lignes environ. Il y a un nombre impressionnant de modules, et la facilité d'en écrire rend Prosody un serveur de choix pour bidouiller. Ajoutons à cela sa visible qualité technique, sa facilité à installer et ses performances, c'est à mon sens un des tous meilleurs serveurs XMPP.

      Nous (J'ai ;) ) posé la question qui fâche du fork « Métronome » et de ce qu'il en pensait. Ce fork a été fait afin, entre autres, d'implémenter un PubSub persistant, ce qui n'est pas encore possible dans Prosody. Matthew nous a expliqué que c'est parce qu'ils voulaient éviter une dépendance à une base de données (Prosody gère tout avec des fichiers simples). Il est resté très correct vis à vis de ce projet, et même s'il pense que la méthode d'implémentation n'est pas la bonne, il a dit qu'il est tout de même content que ce projet existe car il est utilisé notamment par Movim et Jappix, et que le libre c'est aussi accepter les forks. Une API est en train d'être créé pour Prosody, afin d'utiliser des bases de données externes sans dépendance dur (si j'ai bien compris), donc on devrait voir arriver tôt ou tard du PubSub persistant. L'autre méthode est d'utiliser un composant externe, méthode que nous avons choisi pour SàT.

      Nous avons également eu une présentation de Buddycloud, un projet de microblogage à la Twitter, mais qui se base sur une couche non standard (tout en gardant une passerelle PubSub standard en parallèle si j'ai bien compris là encore). Je pensais le projet moins avancé que cela, et c'était une bonne surprise de le voir tourner. La vision du microblogage est différente de la notre, et Buddycloud semble viser principalement les entreprises (c'est leur modèle économique). Un des développeurs semblait plus ouvert que l'autre à travailler sur une standardisation de leur projet, l'avenir nous dira ce qu'il en est, mais nous espérons en tout cas pouvoir être compatibles à terme.

      Une autre présentation intéressante était celle d'une bibliothèque javascript permettant de gérer XMPP, nous avons eu une démonstration en direct: en quelques lignes de code dans la console, il y avait un algorithme qui créait des cercles. Nous étions invités à nous connecter à un site web: chaque connexion créait un cercle que nous pouvions contrôler via des boutons de directions, le tout communiquant par XMPP.

      Enfin, nous avons eu le droit à une présentation d'une visions différente de XMPP dans le navigateur: au lieu de tout faire en javascript ou côté serveur, le développeur a créé un plugin (pour Chromium uniquement pour le moment). L'utilisation de ce plugin, permet de demander la permission d'accéder à notre compte XMPP, comme n'importe quel site peut demander la permission d'afficher des notifications ou stocker quelque chose en local. Une fois cette autorisation donnée, il est facile de contrôler le compte en très peu de lignes, sans les tartines javascript normalement nécessaire. J'ai trouvé l'idée très intéressante, mais à mon avis applicable uniquement si c'est un vrai standard disponible partout, et si les permissions sont modulables (c.-à-d. ne pas donner un accès complet systématique au compte XMPP).

      À 18h nous avons décidé de quitter les locaux, et de faire un barbecue arrosé de bières allemandes à l'auberge. C'était un bon moyen de se couper un peu du monde informatique après ces 2 jours intenses, et de faire du vrai social avec les voyageurs. Le lendemain nous nous sommes quittés (Binary et Edhelas restant un peu à Berlin), et Souliane et moi sommes rentrés en STOP, pour le plaisir (ne sortez surtout pas à Dresde si un jour ça vous arrive et que vous allez au sud !).

      Nous sommes très contents de ce séjour, même si les discussions n'ont pas forcément été si utiles que cela (on aurait pu faire les mêmes sur la liste de diffusion), il est important de rencontrer la communauté et de voir ce qui se fait ailleurs. Prosody se confirme comme serveur de choix, Buddycloud était intéressant à voir, et nous avons pu avoir des discussions très intéressantes avec Edhelas et Binary, et nos différentes façons de voir (on a eu un débat sur la neutralité de la technologie pendant notre visite de Berlin).

      Sur le plan technique on a surtout pu montrer que nous étions plusieurs à nous intéresser à PubSub et à travailler avec/dessus, c'était notre but. Edhelas et moi avons décidé de travailler ensemble sur les bookmarks (marque-pages), je vais également finir mes 2 XEPs permettant d'utiliser un composant externe comme serveur PubSub, Matthew m'ayant confirmé son intérêt et son aide éventuel pour faire un module Prosody qui implémente ça.

      Ce long journal était surtout là pour vous montrer un peu comment ça se passe de l'autre côté, que travailler sur des projets ce n'est pas que du code, c'est aussi des rencontres, des discussions, des façons de voir, des doutes, etc. Un projet communautaire, c'est avant tout une communauté ;) .

      Lire les commentaires

    • MBLogic - Supervision Web et plus (Journaux LinuxFR)

      Bonjour,

      Je cherchais une alternative au logiciel propriétaire que j'affectionne lorsqu'il m'est nécessaire de réaliser une application de supervision.

      J'ai trouvé entre autres ce projet que j'ai souhaité vous faire connaître :
      MBLogic

      Ce qui m'a intéressé particulièrement c'est l'éventail des technologies mises en œuvre, HTML, XHTML, CSS, SVG et JavaScript, côté navigateur, Python et Modbus côté server HTTP, le tout avec un vrai travail de documentation.

      Une supervision web donc, avec une bibliothèque de contrôles, SVG + JavaScript, sous licence GPL, mais pas que ; Monsieur Griffin a également développé une sorte d'automate inspiré d'un produit d'entrée de gamme.

      La supervision c'est le "HMI Server", avec l'outil de construction des pages, le "HMI Builder", qui assemble un template avec les synoptiques réalisés avec Inkscape.

      MBLogic, c'est l'intégration du HMI Server, d'un client Modbus TCP / RTU, et de l'automate dont on édite le code via l'éditeur en ligne, avec une visualisation du ladder.

      Pour ma part j'ai surtout joué avec le HMI Server / HMI Builder et Inkscape et on trouve assez vite ses marques.

      J'ai bataillé un peu au début car je ne connaissais que très peu SVG et Inkscape et que ça avait tendance à dupliquer les définitions (filtres, couleurs, gradients…) puis j'ai trouvé dans les préférences quelques réglages qui vont bien et l'éditeur XML qui va super bien pour comprendre ce qui se passe et agir précisément où il faut. Il y a notamment un bouton "dupliquer le nœud" qui fait ce qu'on lui demande.

      On glisse et dépose les objets de la bibliothèque sur les synoptiques organisés en couches que l'on fait apparaître ou disparaître grâce aux boutons idoines. En fait, toute l'application de supervision est contenue dans une seule page.

      Bien sûr, c'est sans doute perfectible, mais ça fonctionne plutôt bien.

      Le bémol, c'est que le projet ne semble plus maintenu, les questions sur le forum restent sans réponse et le mail que j'ai envoyé aussi. C'est bien dommage, je trouve ce projet très formateur.

      Je vous fais grâce des images, il y en a à foison sur le site du projet ainsi qu'une démonstration vivante.

      Et ça fonctionne sous MS Windows comme sous Linux et d'autres sans doute.

      Cordialement,
      Stéphane

      Lire les commentaires

    • Toutes vos base sont appartiens à nous (Journaux LinuxFR)

      Le 12 avril 2014, le destroyer USS Donald Cook (arrivé sur zone l'avant-veille) a été survolé en mer noire par un chasseur-bombardier russe Su-24, et apparemment il s'est passé des trucs à bord.

      Les russes disent qu'ils ont réussi à planter Aegis, le fameux système capable de relier entre eux les moyens de défense antimissile de tous les navires où il est embarqué "to track and guide weapons to destroy enemy targets".

      Les US eux, semblent dire que c'est pas sympa.

      Le web s’interroge.

      Lire les commentaires

    • "Le filtrage administratif, encore, vraiment ?" par Benjamin Bayart (Journaux LinuxFR)

      "L'idée est toujours la même, il s'agit de filtrer Internet sur décision de la police, sans passer par une décision judiciaire contradictoire, en contradiction brutale avec tous les principes démocratiques."

      "Le grand pouvoir, en l'occurrence, est entre les mains des opérateurs, et entre les mains de l'administration chargée du filtrage. Pour l'irresponsabilité de donner des pouvoirs qui relèvent du judiciaire à une administration de l'exécutif, on peut utilement relire Montesquieu, ou, plus moderne, les analyses de La Quadrature"

      Il s'agit d'un poste de blog qui rappelle à quel point le filtrage administratif d'Internet est contre productif, dangereux pour la croissance économique, et dangereux pour la démocratie.

      Et pourtant, cela revient sans cesse.

      http://blog.fdn.fr/?post/2014/09/07/pjl-cazeneuve-le-filtrage-administratif-encore-vraiment

      Il devient urgent de mettre la neutralité d'Internet dans la loi.

      Lire les commentaires

    • Mons, le 18 septembre : MOOC – Une façon OUVERTE d’apprendre LIBREMENT ? (Dépêches LinuxFR)

      Ce jeudi 18 septembre 2014 à 19h se déroulera la 31ème séance montoise des Jeudis du Libre de Belgique.

      MOOC (Massive Open Online Course / Cours en ligne ouverts à tous) : une façon ouverte d’apprendre librement ? Exemples avec ITyPa (sujet généré par les participants) et « Khan Academy » (sujet classique exposé par un professeur)

      • Thématique : e-Learning
      • Public : Tout public
      • Animateurs conférenciers :

        • Philippe Verstichel (Académie du Management)
        • Bruno De Lièvre (UMONS, Faculté de Psychologie et des Sciences de l’Éducation)
      • Lieu de cette séance : Campus technique (ISIMs) de la Haute Ecole en Hainaut, Avenue V. Maistriau, 8a, Salle Académique, 2e bâtiment (cf. ce plan sur le site de l’ISIMs, et ici).

      Description : Voyage au pays des MOOC (Massive Open Online Course), cours en ligne qui autorisent de nouvelles façons d’apprendre mais également, dans l’esprit du “Libre”, de nouvelles façons de développer non pas des programmes informatiques mais des contenus éducatifs communs.

      Dans une première partie, le concept est expliqué de manière pratique au travers d’exemples bien choisis pour mettre en relief les différences entre les plateformes. Du traditionnel « coursera » au connectiviste « ITyPa » en passant par le concept de la « Khan Academy ».

      Au cours de la deuxième partie, à côté d’une nouvelle approche de l’enseignement à distance, l’exposé dévoilera l’extraordinaire possibilité des MOOC comme outil de co-création de connaissance et de supports éducatifs. Au delà des défis technologiques engendrés, le caractère collaboratif/participatif des MOOC requiert en effet de nouvelles approches aussi bien en matière de pédagogie que de fabrication de contenu (celle-ci pouvant se rapprocher des développements de logiciels libres).

      Dans la dernière partie, nous aborderons le côté pratique au travers de deux outils. L’un, Moodle, est utilisé par l’Université de Mons et la Haute École Condorcet, et l'autre : OpenMOOC

      La présentation se terminera par un débat interactif sur les potentiels des MOOC en Wallonie et sur leurs apports possibles dans des milieux universitaires, entrepreneuriaux ou en formation continue.
      La participation sera gratuite et ne nécessitera que votre inscription nominative, de préférence préalable, ou à l’entrée de la séance. La séance sera suivie d’un verre de l’amitié.

      Les Jeudis du Libre à Mons bénéficient aussi du soutien de nos partenaires : Normation, MeaWeb, NextLab et Phonoid.

      Si vous êtes intéressé(e) par ce cycle mensuel, n’hésitez pas à consulter l’agenda et à vous inscrire sur la liste de diffusion afin de recevoir systématiquement les annonces.

      Pour rappel, les Jeudis du Libre se veulent des rencontres autour de thématiques des Logiciels Libres. Les rencontres montoises se déroulent chaque troisième jeudi du mois, et sont organisées dans des locaux et en collaboration avec des Hautes Écoles et Facultés Universitaires du Pôle Hainuyer d’enseignement supérieur impliquées dans les formations d’informaticiens (UMONS, HEH et Condorcet), et avec le concours de l’A.S.B.L. LoLiGrUB, active dans la promotion des logiciels libres.

      Lire les commentaires

    • Faire coexister plusieurs versions de la Glibc (Journaux LinuxFR)

      Sommaire

      Bonjour à tous,

      Suite à la sortie de l'humble indie bundle 12, qui permet de disposer de 7 jeux natifs mais privateurs sous linux pour un prix de votre choix, je me suis retrouvé devant un problème que je partage avec vous. Attention gourou linux, tu peux passer ton chemin, ceci est un journal/tutoriel débutant…

      Un des jeux inclus, SteamWorld Dig, nécessite la glibc 2.15 (dans les prérequis, il n'était indiqué que ubuntu 12.04). Pas de chance, suite à ma vie de famille prenante, je n'ai jamais eu le temps de changer ma distribution depuis qu'elle est morte maintenue par la communauté. Or, la version de la glibc incluse est la 2.13.

      Les solutions possibles

      Changer de distribution pourrait résoudre mon problème, mais cela me prendrait pas mal de temps pour reconfigurer mon environnement. Mettre à jour la glibc de ma machine me semble à première vue une mauvaise idée d'un point de vue "risque de régression". Utiliser des containers (type LXC) ou un chroot me semblaient à priori des solutions fonctionnelles, mais me donnaient l'impression de prendre une masse pour tuer une mouche.

      Au final, la solution que j'ai retenue a été de compiler et déployer la glibc en local, puis de jouer avec l'ordre de chargement des bibliothèques partagées. Pour ceux que cela intéresse (en fait surtout moi, la prochaine où cela m'arrivera), voila la démarche à suivre.

      Compilation de la glibc

      Allez, je me dis, rien de plus facile, il suffit de télécharger une archive sur un miroir, un coup de configure/make/make install et c'est fini. En cela a été un peu plus compliqué.

      Tout d'abord, je récupère l'archive, c'est facile et trouvable aisément ici.
      En plus, y a la version 2.20 qui est toute fraîche. Un tar xzvf plus tard, je me retrouve avec un beau répertoire glibc-2.20 tout neuf.

      Lançons configure pour voir ce que cela donne :

          [tilk:~/Download/glibc-2.20] $ configure
          (...)
          configure: error: you must configure in a separate build directory

      Il faut donc créer un répertoire de build séparé pour y lancer la compilation :

          [tilk:~/Download/glibc-2.20] $ mkdir ../build-glibc-2.20
          [tilk:~/Download/glibc-2.20] $ cd ../build-glibc-2.20
          [tilk:~/Download/build-glibc-2.20] $ ../glibc-2.20/configure
          (...)
          configure: error: 
          *** LD_LIBRARY_PATH shouldn't contain the current directory when
          *** building glibc. Please change the environment variable
          *** and run configure again.
          [tilk:~/Download/build-glibc-2.20] $ echo $LD_LIBRARY_PATH
          /usr/local/qt/lib:

      configure n'aime pas le : final du LD_LIBRARY_PATH. J'en profite pour rajouter les options pour lui dire d'installer ce qu'il faut dans le répertoire de mon user --prefix=/home/tilk/glibc-2.20, et de compiler en 32 bits sur mon environnement 64 bits (merci google et stackoverflow) CC="gcc -m32" CXX="g++ -m32" CFLAGS="-O2 -march=i686" CXXFLAGS="-O2 -march=i686" i686-linux-gnu :

          [tilk:~/Download/build-glibc-2.20] $ LD_LIBRARY_PATH=/usr/local/qt/lib
          [tilk:~/Download/build-glibc-2.20] $ ../glibc-2.20/configure --prefix=/home/tilk/glibc-2.20 CC="gcc -m32" CXX="g++ -m32" CFLAGS="-O2 -march=i686" CXXFLAGS="-O2 -march=i686" i686-linux-gnu
          (...)
          config.status: creating config.make
          config.status: creating Makefile
          config.status: creating config.h
          config.status: executing default commands

      Roh, tout fonctionne enfin à merveille. On enchaîne avec la compilation et l'installation qui eux aussi se passent bien, mais durent bien 10 bonnes minutes…

          [tilk:~/Download/build-glibc-2.20] $ make
          (...)
          [tilk:~/Download/build-glibc-2.20] $ make install
          (...)make[1]: Leaving directory `/home/manu/Download/glibc-2.20'

      Utiliser la nouvelle glibc

      Mon premier réflexe a été de rajouter le répertoire /home/tilk/glibc-2.20/lib dans la variable d'environnement LD_LIBRARY_PATH et de lancer l'exécutable tel quel. Pas de bol c'est un mauvais réflexe pour la glibc.

          [tilk:.../SteamWorldDig] $ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/tilk/glibc-2.20/lib
          [tilk:.../SteamWorldDig] $ ./SteamWorldDig 
          ./SteamWorldDig: relocation error: /home/manu/lib/lib/libc.so.6: symbol _dl_find_dso_for_object, version GLIBC_PRIVATE not defined in file ld-linux.so.2 with link time reference

      A priori, mon shell lors de l'exécution, va appeler le ld-linux.so de ma distribution pour charger les bibliothèques partagées. Pas de bol, celui-ci a été construit avec la version 2.13 de la glibc et n'aime pas être lié avec la version 2.20.

      La solution la plus simple que j'ai trouvée et donc d'appeler directement le ld-linux.so qui a été buildé avec la glibc.

          [tilk:.../SteamWorldDig] $ ~/glibc-2.20/lib/ld-linux.so.2 ./SteamWorldDig 
          ./SteamWorldDig: error while loading shared libraries: libopenal.so.1: cannot open shared object file: No such file or directory

      Mais il faut lui passer manuellement la liste des répertoires susceptibles de contenir des bibliothèques partagées. Il l'ordre est important. Dans mon cas, il faut obligatoirement passé en premier le répertoire où est installé mon driver propriétaire nvidia, sinon, j'ai des problèmes lors de l'utilisation de openGL.

          [tilk:.../SteamWorldDig] $ /home/manu/lib/lib/ld-linux.so.2 --library-path /usr/lib/nvidia-current:/usr/local/qt/lib:/home/manu/lib/lib/:/usr/lib:/lib ./SteamWorldDig
      (Une belle fenêtre qui s'ouvre !)
      

      Y a plus qu'à faire une bel alias dans mon profile shell pour pouvoir lancer n'importe quel exécutable avec cette version up-to-date de la glibc.

      Conclusion

      Après un peu plus d'une heure de tâtonnement, je suis enfin arrivé à faire cohabiter deux versions de la glibc, et de pouvoir choisir aisément de lancer un exécutable avec la nouvelle version.

      Sachant que je n'ai pas trouvé de tutoral sur le net pour ceci faire, j'en ai donc fait un journal pour pouvoir m'en rappeler la prochaine fois. Je suppose aussi que cela pourrait intéresser d'autres lecteurs de DLFP.

      Et pour ne pas déroger aux traditions, voila la nimage.
      nimage

      Lire les commentaires

    • Les lectures de feynman (Journaux LinuxFR)

      Bonjour Tous,

      Juste un petit bookmark pour vous informer que maintenant les lectures on physics de feynman sont disponibles en ligne dans leur intégralité.

      PS : Thom vous a annoncé le premier volume maintenant tout est là. Je ne pense pas que la totalité a déjà été annoncée (En tout cas pas trouvé dans un moteur de recherche).
      PS2 : personnellement, je préfère le papier, donc, j'ai commandé les trois en broché. 94,46 €, c'est raisonnable pour les tarifs ridicule généralement pratiqués au niveau des livres de physique.

      -- Alenvers

      Lire les commentaires

    • Apéro+workshops Python (Flask et AsyncIO) à Mons (BE) - le 2 Octobre (Dépêches LinuxFR)

      Amis Pythonistes, notez la date du prochain AFPyro (et venez-y) ! Le prochain Apero Python Belgium se tiendra le jeudi 2 Octobre à Mons, lors de la Quizaine Numérique de Mons, du 27 septembre au 19 octobre. En plus des habitués de l’AFPyro, nous accueillerons des débutants en Python afin de leur présenter la puissance du langage. Vous pourrez ainsi participer à un des deux workshops proposés en parallèle, l'un sur Flask, l'autre sur AsyncIO (détails en seconde partie). N’oubliez pas de prendre votre ordinateur portable si vous voulez participer au workshop. Bien entendu (car c’est dans le nom), un apéro sera également organisé pendant l’événement.

      Rendez-vous à partir de 18h30, à Co-nnexion, Espace de Coworking, 2b Rue des Archers, 7000 Mons.

      Deux workshops sont proposés en parallèle :

      1. Pour les Pythonistes débutants, un workshop pour apprendre les bases de Python, puis pour construire une application Web avec Flask.
      2. Pour les développeurs avancés, une initiation à AsyncIO, suivie d’un exemple concret d’une API REST/JSON asynchrone avec AsyncIO, aiohttp, aiorest et aiopg. Enfin, un benchmark sera réalisé afin de comparer les performances avec une API REST/JSON synchrone en Flask.

      Lire les commentaires

    • Journal Bookmark #1 (Journaux LinuxFR)

      Dimensions, une extension Chrome permettant de mesurer, en pixels, tous les éléments d'une page web.

      Un expérience testant les limites de la commandes cp : que ce passe t-il lorsqu'on copie 432 millions de fichiers totalisant 39 To ?

      Morte, une expérience pour faire une sorte de templating (comme ceux de C++) automatique : il regarde ce qui est calculable en fonction des informations dont il dispose dans le code et précompile

      Algomation, un site pour visualiser des algorithmes (sur les graphes par exemple) visuellement.

      Un moteur de regexp en Scala en moins de 200 lignes. Non, il n'est pas PCRE, faut pas pousser non plus :-)

      Pourquoi ce journal ?
      Constatant que les contenus de linuxfr sont un peu faible techniquement, et qu'on est plus au courant, par ce site, de ce qui se passe sur le front "développement, librairies, etc…", j'ai fait l'expérience suivante : chercher un contenu intéressant sur les 3 premières pages du site.
      Résultat : rien.
      J'ai ensuite essayé HackerNews, les liens plus haut sont le résultat de ce que je peux trouver d'intéressant dans les deux premières pages d'HackerNews.

      Le problème, je pense, est que sur ce site, mis à part que les intégristes sont sur-représentés - probablement à cause d'un dogmatisme bien typique de la franchouillardise -, on dénigre quiconque propose des contenus décrivant en quelques mot une chose ou une autre : Répétant inconsciemment l'exercice de la dissertation au lycée, on nous demande blablater un minimum.

      Être synthétique est infamant.

      Résultat, personne n'ose poster des news très courtes, et ceux qui le font se prennent un "boooouhhhhhh : journal bookmark, pas bien !!!"

      Lire les commentaires

    • int *(*(*foo[])(int))(float*); (Journaux LinuxFR)

      Salut,

      J'ai profité de mes vacances pour rédiger un petit article sur la lecture des déclarations complexes (dans le sens "obscures") en C. Ces "monstres" comme celui du titre, ne sont pas forcément fréquents, mais il peut-être utile de savoir les lire et de manière symétrique de pouvoir les construire.

      Un petit rappel des déclarations est proposé autour de quelques éléments clés :

      • déclaration vs définition,
      • décomposition d'une déclaration : storage class, type qualifier, type specifier, declarator
      • les opérateurs légaux dans une déclaration (*, [], ()) et les précédences

      Finalement, une méthode de lecture simple et facile à retenir est présentée. Cette méthode permet d'attaquer toutes les déclarations, aussi complexes soient-elles . Références et outils (cdecl !) concluent l'article.

      Il s'agissait aussi pour moi de tester AsciiDoc (via AsciiDoctor) qui est une espèce de super Markdown et dont je ne pourrai plus me passer maintenant :-) Je ne sais pas si quelqu'un a fait une dépêche ou un journal sur AsciiDoctor d'ailleurs ? Quoiqu'il en soit, l'article est sous licence CC-by-sa. S'il peut-être utile à quelqu'un j'aurai gagné ma journée !

      Lire les commentaires

    • Atelier Tmux à Bordeaux le 15 septembre (Dépêches LinuxFR)

      Lundi 15 septembre 2015 se tiendra le premier atelier CLI, sur Tmux, un multiplexeur de terminal. Le but de ces ateliers, proposés par des membres d’associations et collectifs Bordelais, est de progresser ensemble sur un outil ou un thème, toujours en ligne de commande. Les ateliers "spécial débutants" reprendront le 13 octobre.

      Cet atelier se déroulera dans les locaux du L@BX dans la fabrique POLA.

      NdM : merci à xaccrocheur pour les liens.

      Lire les commentaires

    Les femmes sont les instruments interchangeables
    d'un plaisir toujours identique.
    -+- Marcel Proust -+-