Les dépêches de LinuxFr

S'abonner à flux Les dépêches de LinuxFr
Mis à jour : il y a 1 heure 34 min

Agenda du Libre pour la semaine 51 de l'année 2018

sam, 15/12/2018 - 23:33

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

Sommaire [FR Montpellier] Inclusion Numérique - Le lundi 17 décembre 2018 de 09h30 à 11h30.

Nous initions et formons aux outils et usages numériques tous les publics qui s’en sentent éloignés, voire exclus.

Dans les années à venir le tout numérique va s’accélérer dans nos démarches quotidiennes accès aux soins, à l’emploi, à l’énergie, au services bancaires, caisses de retraite, loisirs, etc.

Une grande partie de la population n’a pas jugé utile ou eut l’opportunité d’utiliser des outils numériques, ordinateurs fixes, portables, les smartphones ou les tablettes.

Nous considérons que l’inclusion numérique est fondamentale pour réduire la fracture numérique, encore bien réelle, entre les générations et réduire les inégalités sociales, culturelles, d’accès à l’emploi.

Dans un monde ultra-connecté avoir des connaissances numériques de base est devenu indispensable quelque soit son âge.

Nous animons avec bienveillance des ateliers collectifs d’initiation et de pratique des logiciels et des outils numériques libres, en fonction de la demande des utilisateurs.

Les thématiques que nous vous proposerons

  • Ranger et m’organiser
  • Entretenir son ordinateur
  • Utiliser une clé USB, un disque dur externe
  • Insérer une image
  • Mettre en page un courrier
  • Créer un tableau simple
  • Débuter sur la mise en forme
  • Progresser sur la mise en forme de textes
  • Classer ses recherches
  • Protéger son identité sur l’Internet
  • Tchatter avec une webcam
  • Utiliser les services administratifs en ligne
  • Débuter sur Internet et la messagerie
  • Le podcasting
  • Transférer et enregistrer sa musique
  • Remplir sa déclaration d’impôts
  • Faire des rencontres
  • Stockez ses données en ligne
  • Vendre, acheter, donner ses objets
  • Préparer ses vacances
  • Débuter sur la messagerie
  • Découvrir les réseaux sociaux
  • Faire des économies grâce à Internet
  • Utiliser les sites / applications pour communiquer
  • Débuter avec son téléphone portable
  • Transférer les photos de son téléphone
  • Utiliser les applications de sa tablette, son téléphone
  • Débuter sur sa tablette, son téléphone
  • Transférer et classer ses photos
  • Créer son livre photo
  • Réaliser un diaporama de photos
  • Le photomontage

Lundis 3, 10 et 17 décembre 2018 de 9h30 à 11h30 (tous les lundis et mardis, sauf vacances et fériés)
Mardis 4, 11 et 18 décembre 2018 de 9h30 à 11h30
Mpt Albert Camus - 118, allée Maurice Bonafos 34070 Montpellier

[FR Saint-Étienne] Permanence du libre - Le lundi 17 décembre 2018 de 19h30 à 22h00.

Tous les lundis soir à partir de 19h30

Rencontrer les bénévoles, passer sous GNU/Linux, poser des questions sur le libre, les logiciels, l'hébergement…

Pour passer votre ordinateur sous GNU/linux, nous vous invitons à nous prévenir avant votre passage)

[FR Lyon] Lundi infographie animée libre - Le lundi 17 décembre 2018 de 19h30 à 21h30.

Blender Mon premier Montage vidéo

Blender est initialement un logiciel de création 3D, mais pas seulement. C’est aussi un outil qui permet de découvrir simplement et efficacement le montage vidéo.

Initiez-vous aux différentes facettes de l’image animée avec des logiciels libres utilisables sur tous les ordinateurs (Windows, Mac, Linux).

Dessin animé, effet spéciaux, 3D en action, ça va bouger et interagir. Si vous maitrisez la souris, vous savez où vous enregistrez vos images sur une clé USB, cet atelier d’initiation est ouvert à toutes personnes qui aiment découvrir de nouvelles techniques de création. Logiciels qui seront utilisés au cours de la saison Inkscape, Tupi, SweetHome3D, Blender, OpenToonz, Natron et Gdevelopp. Cet atelier est animé par les étudiantes et étudiants en communication de la licence professionnelle CoLibre.

Accès libre et gratuit dans la limite des places disponibles.

[FR Lyon] Éditathon L’empereur Claude - Le mardi 18 décembre 2018 de 09h30 à 19h00.

Le groupe de wikimédiens lyonnais et le Musée des Beaux-Arts de Lyon organisent deux journées de contribution aux projets Wikimédia (Wikipédia, Commons, Wiktionnaire).

Autour de l’empereur Claude, à l’occasion de l’exposition temporaire sur celui-ci du 1 décembre 2018 au 4 mars 2019 au musée.

Venez nombreux

[FR Montpellier] Inclusion Numérique - Le mardi 18 décembre 2018 de 09h30 à 11h30.

Nous initions et formons aux outils et usages numériques tous les publics qui s’en sentent éloignés, voire exclus.

Dans les années à venir le tout numérique va s’accélérer dans nos démarches quotidiennes accès aux soins, à l’emploi, à l’énergie, au services bancaires, caisses de retraite, loisirs, etc.

Une grande partie de la population n’a pas jugé utile ou eut l’opportunité d’utiliser des outils numériques, ordinateurs fixes, portables, les smartphones ou les tablettes.

Nous considérons que l’inclusion numérique est fondamentale pour réduire la fracture numérique, encore bien réelle, entre les générations et réduire les inégalités sociales, culturelles, d’accès à l’emploi.

Dans un monde ultra-connecté avoir des connaissances numériques de base est devenu indispensable quelque soit son âge.

Nous animons avec bienveillance des ateliers collectifs d’initiation et de pratique des logiciels et des outils numériques libres, en fonction de la demande des utilisateurs.

Les thématiques que nous vous proposerons

  • Ranger et m’organiser
  • Entretenir son ordinateur
  • Utiliser une clé USB, un disque dur externe
  • Insérer une image
  • Mettre en page un courrier
  • Créer un tableau simple
  • Débuter sur la mise en forme
  • Progresser sur la mise en forme de textes
  • Classer ses recherches
  • Protéger son identité sur l’Internet
  • Tchatter avec une webcam
  • Utiliser les services administratifs en ligne
  • Débuter sur Internet et la messagerie
  • Le podcasting
  • Transférer et enregistrer sa musique
  • Remplir sa déclaration d’impôts
  • Faire des rencontres
  • Stockez ses données en ligne
  • Vendre, acheter, donner ses objets
  • Préparer ses vacances
  • Débuter sur la messagerie
  • Découvrir les réseaux sociaux
  • Faire des économies grâce à Internet
  • Utiliser les sites / applications pour communiquer
  • Débuter avec son téléphone portable
  • Transférer les photos de son téléphone
  • Utiliser les applications de sa tablette, son téléphone
  • Débuter sur sa tablette, son téléphone
  • Transférer et classer ses photos
  • Créer son livre photo
  • Réaliser un diaporama de photos
  • Le photomontage

Lundis 3, 10 et 17 décembre 2018 de 9h30 à 11h30 (tous les lundis et mardis, sauf vacances et fériés)
Mardis 4, 11 et 18 décembre 2018 de 9h30 à 11h30
Mpt Albert Camus - 118, allée Maurice Bonafos 34070 Montpellier

[FR Paris] Atelier Hebdomadaire de Contribution au Libre - Le mardi 18 décembre 2018 de 10h00 à 19h00.

Une journée de co-travail sur le thème de la contribution au logiciel libre.

Chacun vient avec son sujet individuel avec l'intention d'y travailler au cotés d'autres contributrices/teurs.

Le prix d'entrée est de 25 euros pour la journée (tarif Narma).

[FR Tours] Permanence ADeTI - Le mardi 18 décembre 2018 de 18h30 à 20h30.

La permanence d'ADeTI est un moment d'accueil avec des bénévoles pour apprendre à utiliser un ordinateur sous GNU/Linux (Ubuntu, Linux Mint, Debian, …)  mais aussi

  • réparer les problèmes de logiciels sur son ordinateur
  • prendre des conseils pour choisir des logiciels alternatifs
  • différencier les logiciels libres utilisables pour répondre aux besoins
  • préserver et réfléchir sur ses usages (vie privée, éthique, …)

Mais c'est aussi un moment consacré pour

  • partager des connaissances et échanger des savoirs
  • maîtriser les formats ouverts et la pérennité de ses documents
  • Confidentialité, intégrité et disponibilité des systèmes d'information
  • Diversité des alternatives
  • Indépendance

Nous accueillons également des membres de l'association Touraine Data Network qui peuvent répondre aux questions concernant les réseaux connexion à Internet, alternatives aux "Box" et aux opérateurs commerciaux.

[FR Paris] Certification PGP et CAcert - Le mardi 18 décembre 2018 de 18h30 à 19h30.

Vous souhaitez renouveler votre certificat CAcert Augmenter son niveau de confiance Augmenter le niveau de confiance de votre clé publique PGP

Venez rencontrer des certificateurs autour d'un verre

En pratique

Pour votre clef PGP, préparez

  • deux documents d'identité français parmi la carte nationale d'identité, le passeport, la carte d'identité militaire, le permis de conduire, …
  • un petit papier imprimé avec l'identifiant et l'empreinte de votre clef, en autant d'exemplaires que vous espérez rencontrer de gentils autres porteurs de clefs.

Pour votre certificat CAcert, préparez

  • deux documents d'identité français parmi la carte nationale d'identité, le passeport, la carte d'identité militaire, le permis de conduire
  • des formulaires d'accréditation imprimés, pré-remplis avec vos coordonnées en cliquant ici, ou vierges en cliquant là. Deux exemplaires pour chaque accréditation un pour vous, un pour le gentil accréditeur.

Tous les détails sur le wiki de CAcert et Meetup

[FR Grenoble] Install Party GNU/Linux - Le mardi 18 décembre 2018 de 19h00 à 22h00.

Le but de cette rencontre est que les novices repartent à la fin de la journée avec leur propre ordinateur fonctionnant sous un nouveau système d'exploitation, correctement installé, configuré et agrémenté de nombreux logiciels.

Au cours de ces réunions, les utilisateurs confirmés tentent de transmettre une partie de leur savoir aux novices, qui deviendront passeurs à leur tour. (Wikipédia ©)

Merci de sauvegarder vos données si vous apportez votre machine

[FR Quetigny] Repas du libre de fin d'année - Le mardi 18 décembre 2018 de 20h00 à 23h30.

Fêtons ensemble le solstice d'hiver

La dernière réunion de l'année sera l'occasion de se retrouver autour d'un verre et d'un repas. Nous pourrons discuter logiciel libre sans ordinateur et aussi d'évoquer d'autres sujets.

Libristes, utilisateurs, sympathisants vous êtes conviés à cette soirée, elle se déroulera dans notre salle de réunion habituelle, au Centre social La passerelle à Quetigny à partir de 20h30.

Tout le monde apporte à manger et/ou à boire nous partagerons ensuite. Il est tout à fait possible de faire réchauffer ce que vous apporterez.

L'association offrira l'apéritif.

[FR Le Mans] Permanence mercredi après-midi - Le mercredi 19 décembre 2018 de 12h00 à 17h00.

Assistance technique et démonstration concernant les logiciels libres.

[FR Vandœuvre-lès-Nancy] Nos empreintes numériques - Le mercredi 19 décembre 2018 de 15h00 à 17h00.

À travers les différentes technologies numériques que vous utilisez couramment, via les ordinateurs, ordiphones, modems, ou encore ces nouveaux objets connectés, de nombreuses sociétés et institutions gouvernementales collectent des données sur vous.

À quoi cela sert-il Comment font-ils Que risque-t-on

Inscription gratuite aux animations

La participation aux animations repose sur un système d’inscriptions préalables qui permet de répondre de façon plus ciblée aux attentes des usagers et de les associer au projet.

L'inscription est obligatoire au plus tard 30 min avant l’animation.

[FR Caen] Permanence artifaille - Le mercredi 19 décembre 2018 de 16h00 à 19h00.

Permanence et animation au local Artifaille pour les membres de l'association.

Entraide informatique pour réparer, reconfigurer, conseiller, échanger à propos des moyens de communication électronique

mise à disposition de moyens et outils spécifiques,
conseils d'un professionnel expert en logiciels libres

Vérifier le maintien de la permanence et inscription (10 places) :
https://artifaille.fr/attendee/

[FR Beauvais] Atelier hebdomadaire de partage de connaissances autour des logiciels libres - Le mercredi 19 décembre 2018 de 18h00 à 20h00.

Chaque mercredi soir, l'association propose une rencontre pour partager des connaissances, des savoir-faire, des questions autour de l'utilisation des logiciels libres, que ce soit à propos du système d'exploitation Linux, des applications libres ou des services en ligne libres.

C'est l'occasion aussi de mettre en avant l'action des associations fédératrices telles que l'April ou Framasoft, dont nous sommes adhérents et dont nous soutenons les initiatives avec grande reconnaissance.

L'atelier a lieu dans la salle informatique du Centre Georges Desmarquet géré par l'association Voisinlieu-pour-tous.

[FR Montpellier] Miniville connectée - Le mercredi 19 décembre 2018 de 18h30 à 20h00.

L’idée est de produire une miniville interactive. Ce qui nous intéresse ici c’est surtout la route et la circulation, mais avoir des maisons et commerces en plus peut être sympa. Ce projet implique de la conception 2D/3D, de l’électronique, de l’urbanisme et de la programmation. La réalisation devra être accessible à des enfants, contenir peu d’intelligence au début et évoluer de manière interactive. Les éléments qui composent la ville devront être interdépendant mais capable d’entrer en interaction et interchangeable.

Composition

  • Voitures suiveuse de lignes et capable de s’arrêter au feu rouge
  • Lignes noires au feutre sur des feuilles A4 ou A3
  • Feux de signalisation route
  • Feux pour piétons synchronisés avec les feux de routes
  • Bouton pour forcer le feu rouge route

Composition optionnelle

  • Garage de communication avec les voitures
  • Habitations
  • Commerces, industries…
  • Végétation
  • Autres

Le projet

Que peut on apprendre avec ce projet

  • Fonctionnement et utilisation des composants de bases résistance, led, transistor, condensateur
  • Conception et miniaturisation via circuits intégré ou mini micro contrôleurs
  • Montages électroniques de base branchement d’un moteur, d’un servomoteur, leds, capteurs
  • Se documenter en lisant les spécifications du matériel ou en s’inspirant de montage existant
  • Impressions de circuit imprimé, de décor, de châssis de voiture, de structure de bâtiment à l’aide d’une CNC.

    • Impressions complémentaires de la CNC via une imprimante 3D
    • Réflexion autour de la conception des éléments de base (voiture, route, signalisation)
    • Gestion de l’énergie, comment alimenter les feux, les voitures.
    • Comment gérer la synchronisation des feux
    • Comment gérer les interactions entre les voitures
    • Comment fixer les feux à la route. Je rappel que la route est éphémère. C’est une feuille de papier avec des lignes au marqueur.
    • Comment associer les plaques de routes (Cela dépend beaucoup de la gestion de l’énergie et de la synchronisation)
  • Programmation de microcontrôleurs.

  • Recyclage de matériel existant avec une reprogrammation de microcontrôleurs ou des assemblages de relais, optocoupleur etc…

On pourrait aussi aller plus loin et faire une maquette de bison futé avec l’utilisation de l’induction pour déterminer le trafic. Cela peut permettre de boucler sur le data streaming, l’analyse de données et la data visualisation… Ce projet peut certainement intéresser tout le monde.

Par où commencer :

Le projet se présente sous une forme itérative, afin d’avoir rapidement quelque chose qui fonctionne à chaque itération. C’est pour cela que nous vous donnerons une piste pour commencer, mais rien ne sera imposé

  • Feux tricolores de signalisation
  • Comportement des feux tricolores
  • Ajout de feux piétons
  • Gestion d’interruption

Le matériel

Matériel nécessaire pour la maquette V1 big CAR
Le principe est de partir d’une grande voiture simple afin d’explorer les possibilités et mieux comprendre le fonctionnement des voitures finales. Cette voiture sera montée sur plaque d’essai. Au départ au robot d2-1.

La réalisation

Cette réalisation est un dérivé de son robot

  • Châssis
  • Balsa 100x2mmx1M
  • Roue + engrenage + moteur x2
  • Photorésistance x2
  • Potentiomètre 47K
  • Fils, plaques d’essais, leds, transistors, condensateurs, piles…

Mercredis 5, 12 et 19 décembre 2018 de 18h30 à 20h00 (tous les mercredis)
Do Tank au 2, rue du Pavillon, 34000 Montpellier

Les places à cet atelier sont limitées, il est donc préférable de s’inscrire avant.
Entrée libre et gratuite sur inscription. Une simple adhésion à l’association est possible.

Cet événement vous est proposé dans le cadre du partenariat qui lie le Do Tank et Montpel’libre.

Tramway lignes 1, 2, 3 et 4, arrêts Gare Saint-Roch
GPS Latitude 43.60285 | Longitude 3.87927
Carte OpenStreetMap

[FR Villeurbanne] Assemblée Générale Hadoly (chaton Lyonnais) - Le mercredi 19 décembre 2018 de 19h00 à 22h00.

Vous êtes convié à l'Assemblée Générale de Hadoly, l'hébergeur associatif, qui aura lieu mercredi 19 décembre 2018 à partir de 19h.

Elle se tiendra dans les locaux de Simplon.co au 352 Cours Emile Zola, 69100 Villeurbanne près de la station de métro Cusset ligne A.

Ce sera l'occasion de découvrir notre association, ce qu'elle a réalisé et ce qu'elle propose. Vous pourrez ensuite discuter avec ses membres autour d'un verre tout en grignotant-)

Vous pourrez également en profiter pour adhérer si le coeur vous en dit.

Programme :

  • 19h Accueil, adhésion possible
  • 19h15 Assemblée Générale Hadoly
  • 20h30 Pot offert par Hadoly / adhésion possible

Merci de nous signaler votre présence sur le sondage suivant https://framadate.org/K4oRLnVTI7fHJo8b

[FR Lyon] Contrib'atelier Framasoft - Le mercredi 19 décembre 2018 de 19h00 à 21h45.

Un Contrib'Atelier, c'est un atelier de contribution ouvert à tou⋅tes où nous essayons de contribuer à des logiciels libres, dans la joie et la bonne humeur, sans obligation de moyen ou de résultat, tant qu'on se fait plaisir

Et contribuer au sens large que ce soit en matière de code, de design, d'interface utilisateur, d'expérience utilisateur, de traductions, ou de tests et retours utilisateurs

Pas besoin d'être technique ou de s'y connaître pour ça.

La prochaine session lyonnaise est organisée par Framasoft et aura lieu le mercredi 19 décembre de 19h à 21h45, à l'Atelier des médias, 9 quai André Lassagne 69001 Lyon (voir leur site pour plus de détails http://www.atelier-medias.org/).

Si vous comptez venir, suivez le guide

  • inscrivez-vous sur le pad de la séance (en dessous de "qui vient") : https://frama.link/lyon_contrib_7
  • apportez de quoi vous restaurer (à boire et à manger).
  • n'hésitez-pas à appeler les organisateur⋅ices si vous êtes perdu.es.
  • si vous en avez un, apportez votre ordinateur portable pour pouvoir contribuer.

Plus de détails sur notre Framasite https://contribateliers.frama.site

Et vous pouvez rejoindre notre Framateam pour venir échanger et organiser collaborativement le Contrib'atelier https://frama.link/Team

En espérant vous y rencontrer

[FR Lyon] Fabriquez votre “média center” - Le mercredi 19 décembre 2018 de 19h30 à 21h00.

Atelier connecté 2018-2019 (mercredi 19h30-21h)

à partir de 16 ans,

Gratuit (Inscription obligatoire à epn@salledesrancy.com)
de 19h30 à 21h

animé par Romain Deville

Apprenez à manipuler et mettre à votre service les objets connectés.

Fabriquez votre “média center”

Cycles de 3 séances Mercredi 28 novembre,  Mercredi 5 décembre, Mercredi 19 décembre 2018

Envie de partager un film, une série ou de regarder des photos en famille autour de la télévision Lors de ces 3 séances, nous vous apprendrons à installer un media-center qui vous permettra de faire tout ça et plus encore.
Pour les plus curieux, cela s’installera sur un Raspberry Pi (si vous avez le votre n’hésitez pas à venir avec, sinon on vous le fournira).

Venez nombreux

[FR Toulouse] Rencontres Tetalab - Le mercredi 19 décembre 2018 de 20h30 à 23h30.

Rencontre hebdomadaire des hackers et artistes libristes Toulousains.

Ouvert au public tous les mercredi soir.

Venez nombreux.

[FR Montpellier] Wikipermanence CCAS - Le jeudi 20 décembre 2018 de 14h00 à 16h00.

Une Wikipermanence est une rencontre physique entre des Wikipédiens chevronnés et de nouveaux ou futurs Wikipédiens qui souhaitent acquérir des connaissances et des conseils sur le fonctionnement de Wikipédia. Il ne s’agit pas d’une simple rencontre entre Wikipédiens la Wikipermanence organisée par le groupe local de Montpellier est là pour répondre aux questions, permettre des démonstrations, offrir une aide aux premiers pas et permettre un suivi.

Nous vous invitons donc à venir participer aux Wikipermanences générales au Centre Communal d’Action Sociale des Arceaux qui auront lieu certains jeudis, de 14h00 à 16h00, consultez le calendrier
Jeudi 6 décembre 2018 de 14h00 à 16h00
Jeudi 13 décembre 2019 de 14h00 à 16h00
Jeudi 20 décembre 2019 de 14h00 à 16h00

Entrée libre et gratuite sur inscription. Une simple adhésion à l’association est possible.

Cet événement vous est proposé dans le cadre du partenariat qui lie le CCAS, la Ville de Montpellier et Montpel’libre.

S’inscrire à la Newsletter de Montpel’libre.

Tramway Ligne 3 arrêt Plan Cabanes
GPS Latitude 43.61010 | Longitude 3.86559
Carte OpenStreetMap

Jeudis 6, 13 et 20 décembre 2018 de 14h00 à 16h00
8, rue Draparnaud, 34000 Montpellier

[FR Marseille] Premier Meetup Ansible Marseille - Le jeudi 20 décembre 2018 de 18h00 à 20h00.

Jeudi 20 décembre, retrouvons-nous pour le premier événement du groupe meetup Ansible Marseille.

Ce sera une occasion de faire une présentation introductive et de discuter à propos d'Ansible.

Inscription sur la page Meetup

Le lieu sera précisé bientôt

[FR Bordeaux] Jeudi Giroll - Le jeudi 20 décembre 2018 de 18h30 à 20h30.

Les membres du collectif Giroll, GIROnde Logiciels Libres, se retrouvent une fois par semaine, pour partager leurs  savoir-faire et expériences autour des logiciels libres.

Le collectif réalise aussi une webradio mensuelle, tous les second jeudis du mois, à retrouver en direct sur le site de Giroll.

Ces rencontres sont ouvertes à tous.

[FR Montpellier] Aprilapéro - Le jeudi 20 décembre 2018 de 18h45 à 19h30.

Un apéro April consiste à se réunir physiquement afin de se rencontrer, de faire plus ample connaissance, d’échanger, de partager un verre et de quoi manger mais aussi de discuter sur l’actualité et les actions de l’April.

Un apéro April est ouvert à toute personne qui souhaite venir, membre de l’April ou pas. N’hésitez pas à venir nous rencontrer.

Régulièrement Montpel’libre relaie et soutient les actions de L’April. De nombreux Apriliens ont par ailleurs rejoints les rangs de Montpel’libre, sans doute lors d’Apéro April, d’AprilCamp ou des Rencontres Mondiales du Logiciel Libre qui ont eu lieu à Montpellier.

Nous vous invitons donc à venir nous rejoindre dans une ambiance conviviale, à partager cet apéro, chacun porte quelque chose, boissons, grignotages… et on partage.

Les Aprilapéro Montpellier ont lieu le 3e jeudi de chaque mois de 18h45 à 19h30.

Entrée libre et gratuite sur inscription. Une simple adhésion à l’association est possible.

Cet événement vous est proposé dans le cadre du partenariat qui lie le Do Tank, l’April et Montpel’libre.

Tramway lignes 1, 2, 3 et 4, arrêts Gare Saint-Roch
GPS Latitude 43.60285 | Longitude 3.87927

[FR Lyon] Jeudi bidouille - Le jeudi 20 décembre 2018 de 19h00 à 22h00.

Atelier gratuit - jeudi 19h00 à 22h00

 

L’EPN des Rancy (249, rue Vendôme, 69003 Lyon) et l'association ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre) vous proposent des rendez-vous mensuels pour accompagner les utilisateurs de logiciel libre dans la résolution de leur problème informatique.

L'objectif de ces ateliers sont l'entraide et dépannages entre utilisateurs de logiciel libres débutants et plus aguerris. L’occasion de voir comment ça marche, de demander un coup de pouce, de faire découvrir une astuce.

Avec la participation des bénévoles de l’ALDIL, Illyse et des utilisateurs de GNU/Linux (Ubuntu, Debian, Mageia, LinuxMint…).

Ces ateliers sont ouverts à tous.

N'hésitez pas à venir nombreux.

Rappel aucune installation de logiciel sous licence ne pourra être faite sans présentation de la licence et de sa preuve d’achat. Par défaut, les intervenants proposeront des logiciels libres mais s’adaptent à d’autres demandes.

[FR Montpellier] FSFEapéro - Le jeudi 20 décembre 2018 de 19h30 à 20h15.

Afin de se rencontrer, d’échanger et de faire plus ample connaissance, lance de nouvelles rencontres surnommées les FSFEapéros. C’est l’occasion pour les neurones de toute part de se réunir physiquement pour discuter, échanger et partager un verre et de quoi grignoter.

Les FSFEapéros auront lieu tous les 3e jeudis de chaque mois. Ils sont l’occasion de discussions informelles d’une part et de discussions plus sérieuses sur les différents thèmes d’importance et les différentes actions et campagnes en cours.

Tout le monde est invité et peut venir aux FSFEapéros, qu’on soit contributeur de longue date, simple intéressé-e par les sujets que défend la Free Software Foundation Europe, ou nouvel-le arrivant-e cherchant à participer davantage. N’hésitez pas à amener vos amis et à leur faire découvrir La FSFE et Montpel’libre.

Peuvent être aussi abordées des questions sur Les exégètes amateurs ou Open Law.

Au programme des discussions

  • Nous y parlerons essentiellement de Public Money, Public Code.

Entrée libre et gratuite sur inscription.

Les FSFEapéros Montpellier ont lieu le 3e jeudi de chaque mois de 19h30 à 20h15.

[FR Montpellier] Quadrapéro - Le jeudi 20 décembre 2018 de 20h15 à 21h00.

Afin de se rencontrer, d’échanger et de faire plus ample connaissance, lance de nouvelles rencontres surnommées les Quadrapéros. C’est l’occasion pour les neurones de toute part de se réunir physiquement pour discuter, échanger et partager un verre et de quoi grignoter.

Les Quadrapéros auront lieu tous les 3e jeudis de chaque mois. Ils sont l’occasion de discussions informelles d’une part et de discussions plus sérieuses sur les différents thèmes d’importance et les différentes actions et campagnes en cours.

Tout le monde est invité aux Quadrapéros, qu’on soit contributeur de longue date, simple intéressé-e par les sujets que défend la Quadrature, ou nouvel-le arrivant-e cherchant à participer davantage. N’hésitez pas à amener vos amis et à leur faire découvrir La Quadrature et Montpel’libre.

Peuvent être aussi abordées des questions sur Les exégètes amateurs ou Open Law.

Au programme des discussions

  • Nous y aborderons l’action menée sur le RGPD

Entrée libre et gratuite sur inscription.

Les Quadrapéros Montpellier ont lieu le 3e jeudi de chaque mois de 20h15 à 21h00.

[FR Clermont de l'Oise] Atelier mensuel de partage de connaissances autour des logiciels libres - Le vendredi 21 décembre 2018 de 14h00 à 16h30.

Tous les deniers vendredis après-midi du mois, l'association propose une rencontre pour partager des connaissances, des savoir-faire, des questions autour de l'utilisation des logiciels libres, que ce soit à propos du système d'exploitation Linux, des applications libres ou des services en ligne libres.

C'est l'occasion aussi de mettre en avant l'action des associations fédératrices telles que l'April ou Framasoft, dont nous sommes adhérents et dont nous soutenons les initiatives avec grande reconnaissance.

L'atelier aura lieu dans les locaux de nos amis du CAL (Centre d'Animation et de Loisirs) du Clermontois.

[FR Montpellier] Initiation aux outils numériques libres - Le vendredi 21 décembre 2018 de 14h00 à 20h00.

Nous initions et formons aux outils et usages numériques tous les publics qui s’en sentent éloignés, voire exclus.

Dans les années à venir le tout numérique va s’accélérer dans nos démarches quotidiennes accès aux soins, à l’emploi, à l’énergie, au services bancaires, caisses de retraite, loisirs, etc.
Une grande partie de la population n’a pas jugé utile ou eut l’opportunité d’utiliser des outils numériques, ordinateurs fixes, portables, les smartphones ou les tablettes.

Nous considérons que l’inclusion numérique est fondamentale pour réduire la fracture
numérique, encore bien réelle, entre les générations et réduire les inégalités sociales, culturelles, d’accès à l’emploi.
Dans un monde ultra-connecté avoir des connaissances numériques de base est devenu indispensable quelque soit son âge.

Nous animons avec bienveillance des ateliers collectifs d’initiation et de pratique des logiciels et des outils numériques libres, en fonction de la demande des utilisateurs.

Les thématiques que nous vous proposerons

  • Ranger et m’organiser
  • Entretenir son ordinateur
  • Utiliser une clé USB, un disque dur externe
  • Insérer une image
  • Mettre en page un courrier
  • Créer un tableau simple
  • Débuter sur la mise en forme
  • Progresser sur la mise en forme de textes
  • Classer ses recherches
  • Protéger son identité sur l’Internet
  • Tchatter avec une webcam
  • Utiliser les services administratifs en ligne
  • Débuter sur Internet et la messagerie
  • Le podcasting
  • Transférer et enregistrer sa musique
  • Remplir sa déclaration d’impôts
  • Faire des rencontres
  • Stockez ses données en ligne
  • Vendre, acheter, donner ses objets
  • Préparer ses vacances
  • Débuter sur la messagerie
  • Découvrir les réseaux sociaux
  • Faire des économies grâce à Internet
  • Utiliser les sites / applications pour communiquer
  • Débuter avec son téléphone portable
  • Transférer les photos de son téléphone
  • Utiliser les applications de sa tablette, son téléphone
  • Débuter sur sa tablette, son téléphone
  • Transférer et classer ses photos
  • Créer son livre photo
  • Réaliser un diaporama de photos
  • Le photomontage

  • Mpt Joseph Ricôme, 7 rue Pagès, Montpellier, Occitanie, France

  • Adresse web http://montpel-libre.fr

  • Tags
    formation, logiciels-libres, atellibre, montpel-libre, atelier

[FR Caen] Permanence artifaille - Le vendredi 21 décembre 2018 de 16h00 à 19h00.

Permanence et animation au local Artifaille pour les membres de l'association.

Entraide informatique pour réparer, reconfigurer, conseiller, échanger à propos des moyens de communication électronique

mise à disposition de moyens et outils spécifiques,
conseils d'un professionnel expert en logiciels libres

Vérifier le maintien de la permanence et inscription (10 places) :
https://artifaille.fr/attendee/

[FR Montpellier] Les logiciels libres, parlons-en - Le vendredi 21 décembre 2018 de 17h00 à 19h00.

Les logiciels libres parlons-en Ouvrons le dialogue sur l’ouverture des données Partageons nos expériences pour une meilleure répartition des connaissances.

Cette permanence vous permet de rencontrer le groupe Montpel’libre, ses activités, d’être orienté vers nos ateliers et permanences techniques et d’être accompagné pour une transition digitale progressive et adaptée vers les logiciels libres.

Proposition de programme

  • discussions autour de l’organisation d’événements
  • gestion des groupes de travail
  • propositions diverses
  • présentation de l’asso

Montpel’libre est un Groupe d’Utilisateurs GNU/Linux et Logiciels Libres qui promeut les logiciels libres, la culture libre et les biens communs.

Notre association se situe à la jonction des secteurs d’activités du numérique, des industries culturelles et créatives, de l’économie sociale et solidaire, du développement durable, de la recherche et formation ainsi que de l’éducation populaire et de l’éducation scientifique.

Elle s’adresse à l’informaticien comme au néophyte, au particulier comme au professionnel ou à l’étudiant et à un public de tout âge.

Montpel’libre exerce des activités multiples autour de six pôles

  1. PERMANENCES
  2. ATELIERS
  3. CONFÉRENCES / FORMATIONS / EXPERTISE
  4. ÉVÉNEMENTIEL
  5. TECHNIQUE / SÉCURITÉ
  6. PUBLICATION

Et de plusieurs communautés et groupes de travail.

Ces permanences sont suivies d’un Apéro refaire le monde convivial et partagé, de 18h30 à 21h30. Elles ont lieu au Faubourg marché, tous les vendredis de 17h00 à 19h00.

Vendredis 7, 14, 21 et 28 décembre 2018 de 17h00 à 19h00 (tous les vendredis sauf fériés)
Le Faubourg - 15, rue du Faubourg de Nîmes, 34000 Montpellier

[FR Montpellier] Atelier du Libre GNU/Linux et Logiciels Libres - Le vendredi 21 décembre 2018 de 18h00 à 23h00.

L’équipe de Montpel’libre vous propose une permanence Logiciels Libres, discussions libres et accompagnements techniques aux systèmes d’exploitation libres, 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 l’acquisition de nouvelles compétences au rythme de chacun.

 Les thèmes

Vous pourrez y aborder plusieurs thèmes

  • Discussions conviviales entre utilisateurs autour de Linux en général
  • Préinscription aux prochains Cafés Numériques et Install-Party
  • Premières explorations du système
  • Installations et configurations complémentaires
  • Mise à jour et installation de nouveaux logiciels
  • Prise en main, découverte et approfondissement du système

 Les dates

Les Ateliers du Libre ont lieu à la Mpt Melina Mercouri de Montpellier, tous les 3e vendredis de chaque mois de 18h00 à 23h00, sauf période de vacances.

Toute une équipe de passionnés, vous propose l’animation de la l’Atelier du Libre par les membres de Montpel’libre. Permanence Logiciels Libres, discussions libres et accompagnements des utilisateurs aux systèmes exploitation libres, Linux, sur le cyberespace de consultations libres.

En fin de soirée, l’atelier fera progressivement place à un instant très convivial, les RDVL sont des rendez-vous mensuels de discussions sur le thème des logiciels libres, des arts libres, de l’open source et plus généralement de la culture du libre et du numérique.

Cette soirée, très conviviale, se passe autour d’un repas partagé, chacun porte un plat, entrée, spécialité, dessert, boisson… Ordinateurs et réseaux disponibles.

Notre équipe vous attend pour répondre à vos questions et satisfaire votre curiosité.

[FR Marseille] Apéro CHATONS Marsnet - Le vendredi 21 décembre 2018 de 18h00 à 23h00.

Comme chaque dernier vendredi du mois,
venez partager des idées, des regards et des compétences autour d’un apéro

Chapéro

auberge espagnole

Et pour ceux qui le souhaitent

Services en ligne et outils collaboratifs et réseaux sociaux
libres et éthiques

Projet européen de censure sécuritaire de l’internet
Protection des données personnelles - RGDP

Infos, Échanges, démo et pratique

Venez montrer et partager vos services et outils préférés)

Venez découvrir des services et outils fabuleux et éthiques

[FR Montpellier] Bricolotech Grappe de bureau / Desktop Cluster - Le vendredi 21 décembre 2018 de 18h30 à 20h00.

Ce projet consiste a créer un cluster à partir de dev board. Rien de nouveau, c’est vrai, encore que… La nouveauté est dans l’utilisation.

Nous allons partir de matériel et logiciels entièrement libres afin de créer un PC entièrement libre.

Définition du projet

L’idée est de dénicher un PC entièrement libre. Peu importe la puissance de l’engin, il faut qu’il soit libre, c’est à dire qu’il n’ai aucun secret.

Qu’aucun binaire ne soit indispensable à son fonctionnement, pas d’IME, pas d’AMT, pas de BIOS complexe et fermé.

Un PC simple qui permet de naviguer sur le web, faire des travaux multimédia, interfacer avec des périphériques externes et autres composants type microcontrôleurs par exemple.

Avec un peu de puissance de calcul pour la compilation.

Si nous ne voulons pas de binaire, il nous faut de la puissance nécessaire pour compiler les sources.

Il existe des boards de dev plus ou moins chères et plus ou moins libres en assemblant ces dernières nous pourrons ainsi obtenir mon PC suffisamment puissant et entièrement libre.

Quel matériel nous pouvons utiliser :

  1. L’Orange Pi PC (v1) semble un bon candidat pour du lowcost
  2. La libre computer board, avec 1GB ou 2GB de ram
  3. L’humming board, parfait pour ceux qui ont les moyens, la board est libre sans bidouille.

Pourquoi les Logiciels Libres :

Pourquoi s’obstiner avec les sources et le logiciel libre Pour

  1. Refuser l’obsolescence programmée
  2. Pouvoir mettre fin au chantage lié aux données personnelles
  3. Être capable de s’assurer que le matériels et les logiciels que nous utilisons font bien ce qu’ils sont sensés faire.
  4. Réduire la fracture technologique en permettant à chacun de s’intéresser au fonctionnement de ce qui inonde notre quotidien.
  5. Faciliter l’amélioration continue, chacun peut apporter selon son envie, son internet, ses possibilités.

Vendredis 7, 14, 21 et 28 décembre 2018 de 18h30 à 20h00 (tous les vendredis)
Do Tank au 2, rue du Pavillon, 34000 Montpellier

[FR Rennes] Recensement des supports publicitaires sur OpenStreetMap - Le dimanche 23 décembre 2018 de 14h30 à 18h00.

Les supports publicitaires occupent une certaine place dans l'espace publique. Potentiel commercial pour certains, nuisance visuelle pour d'autres, dans quelle proportions ces objets sont présents à Rennes

OpenStreetMap est l'équivalent de Wikipédia pour les cartes. Il s'agit d'un projet visant à recenser les routes, bâtiments, points d'intérêts dans le monde entier. Les contributeurs OpenStreetMap 35 vous proposent de faire un recensement objectif de ces supports, afin de faciliter le débat en ayant une cartographie honnête de ceux-ci.

Télécharger ce contenu au format Epub

Commentaires : voir le flux atom ouvrir dans le navigateur

Catégories: Les actus

Donner du peps à LibreOffice : de l’art de la personnalisation de la suite bureautique libre

sam, 15/12/2018 - 15:14

Même si ce n’est pas le cas de tous les logiciels libres, l’une des grandes qualités de ces logiciels, quand les fonctionnalités existent, c’est la possibilité de les personnaliser aux petits oignons et d’en garder les paramètres d’une version à l’autre, voire d’une machine ou d’un OS à un autre.

Je profite de la parution du guide de Jean-François Nifenecker sur les personas et LibreOffice pour faire un rapide tour de la question. C’est aussi une réponse en creux au sempiternel « le logiciel libre c’est moche et pas ergonomique ».

Pourquoi personnaliser LibreOffice — ou d'ailleurs tout autre logiciel ou système ?

Ce n’est pas un scoop, nous n’avons pas tous les mêmes goûts, la même perception des couleurs, la même sensibilité à la lumière et encore moins la même façon de fonctionner ou les mêmes besoins en termes informatiques.

Alors pourquoi diable, quand un système ou un logiciel le propose, en rester aux réglages par défaut qui ne sont pas forcément les plus adaptés à ce que nous sommes et à nos usages ? À cette question, il y a des tas de mauvaises réponses comme :

  • ce n’est pas vraiment important, c’est rien que de la déco ;
  • je n’ai pas que ça à faire.

Ou encore, l’argument définitif qui tue : « Madame Michu ne saura pas faire ça ». Alors forcément, comme elle est particulièrement crétine, on ne peut même pas envisager qu’elle puisse apprendre (n’y aurait-il pas là-dedans un poil de sexisme, je connais bien des Monsieur Duschnok pas très débrouillards sur la question informatique). Madame Michu a bon dos face, souvent, à la mauvaise volonté des responsables informatiques qui estiment que personnaliser une interface n’est pas nécessaire, souvent parce qu’eux-mêmes ne savent pas faire ou n’ont pas envie de s’ennuyer avec des interfaces personnalisées qui les sortiront de leurs propres ornières.

On notera aucune réelle bonne réponse. Tout simplement parce qu’il n’y en a pas. Or, et notamment dans le cadre de LibreOffice, un logiciel, ou un OS, personnalisé, c’est d’abord plus de plaisir à travailler avec, puis plus d’efficacité car les barres d’outils peuvent être adaptées aux usages et plus de confort quand on a bien choisi le jeu d’icônes, leur taille et les couleurs de l’interface.

En réponse aux arguments « madame Michu », on trouvera donc une série de tutoriels et autres guides qui expliquent comment faire.

Que peut-on personnaliser dans LibreOffice ?

Presque tout.

On commencera par faire un tour dans le menu Outils > Options pour choisir le jeu et la taille d’icônes dans Affichage, puis les couleurs dans Couleurs de l’interface. Même Monsieur Duschnok pourrait être capable de le faire sans formation spécifique.

Ensuite, si on veut personnaliser encore plus l’interface, on paramètrera un persona comme ceux de Firefox (on peut d’ailleurs choisir parmi les thèmes proposés par Firefox). Mais, étant donné que la fonctionnalité, qui marchait fort bien dans LibreOffice 4, est buguée depuis, on ne peut pas passer par le menu Personnalisation des Options, c’est pourquoi Jean-François Nifenecker a rédigé le guide LibreOffice et les personas : configuration. Il propose deux façons de faire, dont une à la portée de n’importe quelle madame Michu à qui il suffira de lire et de suivre les instructions pour avoir le thème voulu sur son LibreOffice. Le guide est court, 17 pages, et en téléchargement tout à fait gratuit et anonyme.

On ira plus loin et dans le menu Affichage > Interface utilisateur pour afficher notamment soit en mode Barre d’outils standard ou compact, soit en mode Contextuel, Onglet ou Barre groupée. Et, évidemment, on ira faire un tour dans Outils > Personnaliser pour peaufiner la personnalisation des menus contextuels ou non et des barres d’outils, voire en créer.

Oh, et puis pendant qu’on y est, on peut aussi personnaliser les chemins en allant voir du côté d’Outils > Options > Chemins, ce que devrait faire tout responsable informatique, soit dit en passant.

Et enfin, il y a la formidable richesse des extensions que l’on peut ajouter ou supprimer facilement. En entreprise francophone, soit dit en passant, le fabuleux correcteur orthographique, grammatical et orthotypographique Grammalecte devrait être systématiquement installé.

Bien évidemment tout ceci est dans le profil de LibreOffice et on le garde d’une version à l’autre de la suite bureautique. On peut même, sous quelques réserves, récupérer une bonne partie de ces personnalisations d’un ordinateur à un autre, voire d’un OS à un autre.

On trouvera en lien des adresses de guides et tutoriels pour ce faire. Ils s'adressent à tout le monde, utilisateurs lambda comme responsables informatiques.

PS : si vous avez un ou des documents que vous souhaitez mettre à la disposition de tous facilement et sans faire un site, sachez que la rubrique Libres invités du site Numéricoach vous accueillera volontiers si cela reste dans le sujet général du site. En tant qu'éditrice je relirai, corrigerai ou suggèrerai des corrections éventuelles et, au besoin, améliorerai la mise en page. Ça ne coûte ni ne rapporte rien (hormis l'estime de vos pairs) et je n'ai pas besoin de ça pour alimenter le site, mais ça peut aider.

Télécharger ce contenu au format Epub

Commentaires : voir le flux atom ouvrir dans le navigateur

Catégories: Les actus

Les logiciels libres de caisse de mieux en mieux pris en compte par Bercy

jeu, 13/12/2018 - 09:29

Depuis le 1er janvier 2018, toute personne utilisant un logiciel ou système de caisse doit détenir un document attestant de la conformité de son outil à la réglementation visant à lutter contre la fraude à la TVA. Un dispositif inscrit à l’article 286 3° bis du code général des impôts et initialement issu de la loi de finances pour 2016, date à laquelle l’April s’est engagée pour la promotion et la défense des logiciels libres ayant des fonctions d’encaissement.

Sommaire

Le 1er janvier 2019 marquera la fin d’une année dite de « tolérance » des services fiscaux. Bien qu’il demeure des pistes d’amélioration importantes, l’April est rassurée par rapport à la première version du texte. Particulièrement suite à la mise à jour du BOFIP (Bulletin officiel des finances publiques — Impôts) en juillet 2018 à laquelle l’association a participé, d’abord en rencontrant les personnes en charge du dossier au sein du ministère, puis en répondant à un appel à commentaires sur la version « projet » du document. Dans les grandes lignes, il ressort de cette mise à jour une bien meilleure sécurité juridique ; meilleure définition et champ d'application plus précis notamment. Pas de grand changement en ce qui concerne le logiciel libre. Des rigidités demeurent, comme pour l'auto-attestation, mais la dynamique est positive et encourageante.

Chronologie du dossier :
  • La loi de finances pour 2016 a créé une nouvelle réglementation des logiciels de caisse dans l’objectif de lutter contre la fraude à la TVA. Dispositif inscrit au 3° bis du I de l'article 286 du code général des impôts (CGI) et entré en vigueur au 1er janvier 2018. Appliquée telle quelle la nouvelle réglementation aurait interdit de fait l’utilisation de logiciels libres de caisse en rendant théoriquement illicite toute modification par les utilisateurs.
  • En août 2016 une première publication au BOFIP, le BOI-TVA-DECLA-30-10-30 (ancienne version), est venue préciser le périmètre de la réglementation. Ce document est doublement important : d’une part il a force de loi, il est opposable à l’administration, et d’autre part il reconnaît explicitement la possibilité d’utiliser des logiciels libres de caisse. Un document que l’April avait commenté, soulignant les avancées du texte ainsi que les améliorations attendues.
  • En juin 2017, le gouvernement répond dans un communiqué de presse à l’expression d’une inquiétude grandissante quant au périmètre exact du dispositif. Le document confirme l’exclusion des logiciels de comptabilité et annonce une année de tolérance administrative jusqu’au 1er janvier 2019. L’annonce est traduite en norme dans la loi de finances pour 2018 (article 105).
  • Les services de Bercy en charge du dossier font un appel à commentaires sur leur projet de mise à jour du BOFIP fin 2017, auquel l’April contribue. Le 4 juillet 2018 la nouvelle version du BOFIP est mise en ligne. Plus précisément, il s’agit d’une mise à jour du BOI-TVA-DECLA-30-10-30, colonne vertébrale du dispositif, et du BOI-CF-COM-20-60-20 qui précise les modalités du contrôle des logiciels de caisse par les services fiscaux.

Indéniablement la mise à jour du BOFIP confirme une dynamique de sécurisation juridique précisant davantage le champ d’application, clarifiant et améliorant les définitions, recadrant ce qui relève des responsabilités de chacun. Plus spécifiquement en ce qui concerne les logiciels libres on sent une réelle volonté d’avoir un texte proportionné qui ne restreigne les libertés informatiques qu’à hauteur, selon ses rédacteurs, de ce qui est nécessaire à l’objet du texte, c'est-à-dire la lutte contre la fraude à la TVA. Pour autant, le paradigme de l’informatique privatrice pensée en silo reste présent et impose ses contraintes. Il reste une marge de progression encore importante pour les logiciels libres. Le cas de l’auto-attestation en est l’exemple éloquent.

Résumé des principales questions et problématiques Qui est concerné ? Quels logiciels ?

Le site des services fiscaux propose un outil très simple destiné à savoir si on est ou non concerné par le dispositif.

Toute personne assujettie à la taxe sur la valeur ajoutée (TVA) qui enregistre les règlements de ses clients au moyen d'un logiciel ou d'un système de caisse. C’est la fonctionnalité d’encaissement qui importe, plus précisément « l’enregistrement extra-comptable des paiements reçus ». Ne sont donc pas concernés les logiciels ou systèmes qui déclenchent « obligatoirement, instantanément et automatiquement, sans intervention humaine, une écriture dans le système d’information comptable ». Le moyen de paiement ou le fait que le système soit hébergé localement ou en ligne n'a d'ailleurs aucune incidence sur l'application ou non du dispositif.
Paragraphes de référence : Qui ? ; §1 et 10, Quels logiciels ? ; § 30, 35 et 40 BOI-TVA-DECLA-30-10-30 (BOI-TVA ci-après).

§30 BOI-TVA :
Un logiciel ou système de caisse est un système informatique doté d'une fonctionnalité de caisse, laquelle consiste à mémoriser et à enregistrer extra-comptablement des paiements reçus en contrepartie d'une vente de marchandises ou de prestations de services c'est-à-dire que le paiement enregistré ne génère pas concomitamment, automatiquement et obligatoirement la passation d'une écriture comptable. […] Seule cette fonctionnalité de caisse, et non les autres fonctions telles que celles relatives à la pesée, doivent être certifiées [ou attestées, NdR]. […]

§40 BOI-TVA :
Un logiciel, quelle que soit sa qualification (de caisse, comptable ou de gestion), qui dispose d'une fonctionnalité de caisse doit satisfaire aux conditions d'inaltérabilité, de sécurisation, de conservation et d'archivage des données en vue du contrôle de l'administration fiscale.

Quelles sont les obligations ?
  • Pour les personnes utilisatrices : en cas de contrôle, elles devront fournir (ou « produire ») une certification ou une attestation individuelle remise par l’éditeur établissant que les fonctions d’encaissement du logiciel ou système satisfont les « conditions d'inaltérabilité, de sécurisation, de conservation et d'archivage des données en vue du contrôle de l'administration fiscale » (les « quatre conditions »). Elles doivent donc avoir un document à jour correspondant à la version du logiciel ou système qu’elles utilisent. Paragraphes de référence : § 270 à 290 BOI-TVA
  • Pour les intégrateurs (compris dans la qualification d' éditeurs du dispositif)1 : faire certifier leur logiciel ou système de caisse, ou attester que celui-ci satisfait les quatre conditions. La mise à jour du BOFIP vient préciser ce qui est attendu en termes de respect de celles-ci, donc le niveau de responsabilité attaché aux éditeurs, confirmant ainsi qu’il ne s’agit pas d’exiger une inaltérabilité absolue, par exemple, mais davantage d’empêcher la dissimulation des données originales. Paragraphes de référence sur la notion d'éditeur : § 300, 310 et 315 BOI-TVA.
  • La mise à jour du BOFIP marque une importante avancée sur la question des obligations, en distinguant plus clairement ce qui est attendu des intégrateurs et des utilisateurs et en abaissant l’intensité des obligations. Il semblerait en ce sens que l’on soit passé d’une apparente obligation stricte de résultat vers ce qui s’assimilerait davantage à une obligation de moyens renforcée. Paragraphes de référence : sur l'inaltérabilité § 80 à 120, sur la sécurisation § 130 à 150 BOI-TVA.
Est-il possible d'utiliser des logiciels libres ?

Oui. Le texte définit le logiciel libre en rappelant les quatre libertés et intègre dans la dynamique du dispositif la liberté pour l’utilisateur de modifier son logiciel, dans le respect des quatre conditions. C’était la principale avancée de la première version du BOFIP, traduite dans la manière dont est définie la notion d’éditeur. Ainsi le « dernier intervenant ayant paramétré le logiciel ou système lorsque son intervention a eu pour objet ou effet de modifier un ou des paramètres permettant le respect des conditions d'inaltérabilité, de sécurisation, de conservation et d'archivage des données », sera éditeur. Dit autrement, l’utilisateur est libre de modifier son logiciel. Et s’il fait une modification qui concerne une ou plusieurs des quatre conditions, une modification « majeure », c’est lui qui sera considéré comme l’éditeur du logiciel et il sera donc responsable des obligations qui s’y attachent. Une précision indispensable pour éviter qu’un éditeur de logiciel libre soit indéfiniment responsable des éventuels comportements délictueux de son client.
Paragraphes de référence : § 40 pour la définition de logiciel libre, §300, 310 et §315 sur l'aménagement de la notion d'éditeur.

Parallèlement, la liberté pour l’utilisateur d’effectuer des modifications « mineures » est explicitée. Ces modifications ne concernant pas les fonctionnalités d’encaissement sont possibles sans entacher la validité de l’attestation ou de la certification. Le BOFIP précise que l’attestation doit clairement identifier « la racine de la dernière version majeure ». (§380 BOI-TVA)

§40 BOI-TVA :
Un logiciel libre est un logiciel dont les utilisateurs ont un libre usage, une libre étude, une libre modification et une libre distribution. Un logiciel propriétaire, au contraire, ne permet ni légalement ni techniquement d'exercer ces quatre libertés, qui permettent aux utilisateurs d'adapter le logiciel à leurs besoins spécifiques.

À propos de l'attestation individuelle :

Une attestation est « individuelle ». Elle se fait donc au cas par cas, pour chaque client, sur la base du modèle BOI-LETTRE-000242. À l’inverse, un certificat délivré par une autorité agréée a une portée générale. Ces documents concernent une version « majeure » d'un logiciel ou système, ou plus précisément de ses fonctionnalités d’encaissement.
Paragraphes de référence : §360 à 390 du BOI-TVA.

Qui peut attester ?

N'importe qui peut attester « pour autrui ». Cela signifie que l'éditeur qui atteste verra sa responsabilité engagée si le logiciel est contrôlé et ne satisfait pas les « quatre conditions ». Cependant, si l'utilisateur a effectué une modification « majeure », il est alors considéré comme éditeur de la version utilisée, rompant donc le lien de responsabilité. L'ajout d'une mention au §300 BOI-TVA explicite clairement ce point ; « une attestation délivrée par un éditeur engage sa responsabilité sous réserve que les dispositifs techniques garantissant sécurisation, inaltérabilité, conservation et archivage ne sont pas modifiés par un tiers. ».

Est-il possible d'attester pour soi-même ?

Oui. Suite à sa mise à jour le BOFIP assouplit un peu cette possibilité en ne la conditionnant plus exclusivement à la détention d’un code NACE (Nomenclature des Activités économiques dans la Communauté Européenne). Il ne s’agit plus que d’un moyen de preuve pour démontrer une « activité réelle et corroborée » d’édition de logiciel. C’est un progrès certain mais il nous semble possible d’aller beaucoup plus loin sans affaiblir le dispositif. Nous estimons notamment qu’une activité matériellement démontrable d’édition du logiciel (contributions à une forge logicielle basée sur git par exemple) pourrait être un élément de preuve proportionné.
Paragraphe de référence : §375 BOI-TVA.

Que se passe-t-il en cas de mise à jour « majeure » invalidant l’attestation émise ?

Précision importante apportée par cette mise à jour du BOFIP et issue d’une des propositions de l’April : c’est à l’utilisateur qu’incombe d’avoir un logiciel et une attestation à jour. Si ce genre de situation sera aisément précisé — dans des contrats de prestation par exemple — il s’agit d’une clarification importante qui évite à un éditeur qui maintient à jour son logiciel pour qu’il satisfasse les quatre conditions, d’être responsable si un utilisateur ne maintient pas son système à jour ou s'il ne renouvelle pas son attestation, potentiellement devenue caduque s’il mettait à jour son logiciel vers une nouvelle version majeure.
Paragraphe de référence : §290 BOI-TVA.

Précisons également que la mise à jour du BOFIP a été l’occasion de combler un manque important : l’obligation de recourir à des formats ouverts pour enregistrer des données d’archivage (§ 230 BOI-TVA). La question des formats ouverts est fondamentale et intrinsèque à toute réflexion sur le logiciel libre. Sans cette garantie d’interopérabilité il ne peut y avoir de libertés informatiques pleines et entières. Cette obligation sans équivoque apportée au BOFIP est donc un apport judicieux au dispositif.

Quelle suite ?

À un mois de la fin de la période de « tolérance administrative », l'April se montre confiante dans l'application de la réglementation pour les acteurs et utilisateurs de logiciels libres de caisse, particulièrement eu égard à l'attitude constructive de l'administration fiscale sur ce dossier.

Ne nous y trompons pas. L'objet de cette loi était d'adresser les mauvaises pratiques, parfois frauduleuses, de certains éditeurs de logiciel privateurs. Ainsi, malgré les craintes initiales liées à la rédaction du texte, l'April et les représentants de logiciels libres français concernés par cette loi ont accueilli positivement cette réglementation qui permet d'assainir le marché des logiciels de caisse et d'apporter davantage de sécurité juridique.

Dans ses premières versions, le dispositif était révélateur d'une représentation purement privative de l'informatique, sous forme de boîte noire, et était disproportionné dans ses atteintes aux libertés informatiques. Bien que l'on ne soit pas encore totalement sorti de ce paradigme, l'April salue l'attitude constructive des services de Bercy en charge du dossier et note une dynamique positive dans les évolutions successives du BOFIP. Jusqu'à aboutir aujourd'hui à une version bien plus équilibrée qui intègre de manière globalement satisfaisante le logiciel libre et ses modèles de développement. L'association restera évidement mobilisée sur ce sujet et espère maintenir cette qualité d'échanges avec l'administration, dans un esprit de transparence et de coopération, valeurs fondamentales du mouvement du logiciel libre.

  1. Le dispositif utilise le terme d'« éditeur » pour qualifier la catégorie de personnes concernées par les obligations de certification et d'attestation. Mais la notion d'éditeur doit être entendue dans un sens large, englobant par exemple le prestataire qui fera de l’intégration et/ou qui s’occupera de maintenir le système à jour dès lors qu'il sera « le dernier intervenant ayant paramétré le logiciel ou système lorsque son intervention a eu pour objet ou effet de modifier un ou des paramètres permettant le respect des conditions d'inaltérabilité, de sécurisation, de conservation et d'archivage des données » (§310 BOI-TVA). Nous parlerons ainsi régulièrement d’intégrateur en substitution du terme éditeur, plus caractéristique de l'informatique privatrice. Il nous semble en effet que dans le domaine de l’encaissement, les logiciels libres sont essentiellement communautaires. La vente de prestation est le fait d’intégrateurs qui peuvent être minoritaires parmi les contributeurs directs au code source du logiciel. 

Télécharger ce contenu au format Epub

Commentaires : voir le flux atom ouvrir dans le navigateur

Catégories: Les actus

Meilleures contributions LinuxFr.org : les primées de novembre 2018

mer, 12/12/2018 - 20:40

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

Abonnement d'un an à GNU/Linux Magazine France (éditions Diamond)

Livres des éditions Eyrolles et ENI

Les livres qu’ils ont sélectionnés sont en seconde partie de la dépêche. N’oubliez pas de contribuer, LinuxFr.org vit pour vous et par vous !

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

Les livres sélectionnés par les gagnants :

                        Télécharger ce contenu au format Epub

Commentaires : voir le flux atom ouvrir dans le navigateur

Catégories: Les actus

Firefox 64 bitte !

mer, 12/12/2018 - 20:15

La version 64 de Firefox a été publiée le 11 décembre 2018.

Alors que la précédente version apportait son lot de changements principalement sous le capot (gros travail d'enrichissement de l'API WebExtensions, déport de l'exécution des WebExtensions dans un processus dédié sous GNU/Linux, passage au compilateur Clang sous MS Windows…), cette version apporte deux nouveautés majeures : une sous le capot avec l'intégration du nouveau moteur de rendu graphique WebRender, activé par défaut sur certaines configurations ; l'autre au niveau de l'interface avec la possibilité très attendue par certains de pouvoir interagir sur plusieurs onglets simultanément.

Comme d’habitude, le détail des nouveautés suit en deuxième partie.

Sommaire Zoom sur deux changements majeurs en cours : WebRender et Mozilla Android Components Le nouveau moteur de rendu graphique WebRender

Après le remplacement du moteur de style de Firefox par un nouveau, écrit en Rust dans le cadre du projet Servo (Quantum CSS, intégré à la version 57), le remplacement du moteur de rendu graphique de Firefox par celui issu du même projet Servo (WebRender) est en cours, avec même son activation par défaut pour certaines configurations dès cette version !

À cette occasion un effort de pédagogie est fait sur le Mozilla Gfx Team Blog, au travers d'une succession de billets intéressants :

Mozilla Android Components

Nous vous avions déjà parlé des Mozilla Android Components, voici à présent un aperçu technique de la chose. Ces composants sont en train de devenir la base technique commune des navigateurs de Mozilla pour Android, et ont vocation à être adoptés à l'extérieur de Mozilla. Ils permettent d'adosser le moteur de rendu de son choix : Gecko, Servo ou Blink (Android Web View).

Nouveautés pour le bureau
  • La sélection simultanée de plusieurs onglets pour les déplacer, les épingler, les marquer ou encore les rendre silencieux (d’autres possibilités à venir, comme de pouvoir envoyer plusieurs onglets simultanément vers un autre appareil) est désormais possible ;
  • Les utilisateurs de Windows 10 possédant une carte NVidia profiteront en avant-première du nouveau moteur de rendu graphique WebRender, pour des performances améliorées !
  • Les flux RSS ne sont plus pris en charge, sauf à passer par des extensions ;
  • Le menu contextuel que l'on peut dérouler sous l'icône des extensions affichées sur la barre d'outils offre dorénavant la possibilité directe de désinstaller l'extension (en plus de pouvoir « Gérer l'extension ») ;
  • la page « about:performance » a été refondue : nous vous l'avions annoncé dans les prévisions de la dépêche précédente et c'est déjà implémenté : désormais la consommation énergétique est mentionnée et la possibilité de fermer les onglets est offerte (il manque la consommation de mémoire par rapport à la maquette qui avait été proposée : rassurez-vous, c'est prévu pour la prochaine version) ;
  • après la version Windows (Firefox 63), c'est aux versions macOS et GNU/Linux d'être à présent compilées via Clang : les distributions vont-elles suivre ce choix pour leur paquet du navigateur ? Fedora a déjà répondu par l'affirmative ;
  • le déploiement en entreprises se trouve facilité sur macOS ;
  • comme annoncé, Firefox retire effectivement sa confiance aux certificats TLS de Symantec suite à l'historique de mauvaises pratiques de cette société en la matière.
Nouveautés pour Android

Peu de changements. Citons, outre de petites améliorations et corrections :

  • Le scrolling a été amélioré : plus rapide et réactif ;
  • comme pour la version bureau, les certificats TLS de Symantec ne sont plus considérés comme fiables.
Actualités afférentes Qu'attendre de la version 65 ?

Le support du format WebP, une clarification de la partie « Blocage de contenu » des préférences du logiciel (c'est pas du luxe), une sécurité améliorée via une meilleure protection contre la corruption de pile (stack-smashing) sur GNU/Linux, Android et macOS…

Nightly inclut désormais un paramètre permettant d'activer le mode Wayland

Tout est expliqué ici.

L'accélération matérielle du compositing sous GNU/Linux, ça en est où ?

Réponse courte : nulle part.

Firefox Lite 1.0.0 pour Android

Cette nouvelle variante de Firefox pour Android vous a été présentée dans une récente dépêche.

AV1

Le décodage de AV1, le codec nouvelle génération proposé par l'organisation à but non lucratif Alliance for Open Media, pourrait apparaître dans Firefox 65 (rapport de bogue). Dans cette optique, la v0.1 de dav1d, le décodeur de référence issu du développement conjoint de VideoLAN, VLC et FFmpeg, vient de paraître.

Goodbye, EdgeHTML

Après Opera, c'est au tour du navigateur web de Microsoft d'abandonner son propre moteur de rendu au profit de celui de Google Chrome, Blink, qui va ainsi renforcer sa position dominante : c'est catastrophique pour les standards du web, et ceci alors qu'Apple n'investit plus depuis longtemps dans WebKit, le moteur de rendu de Safari (pour ne pas concurrencer son business autour des applications) et que les parts de marché de Gecko, le moteur de rendu de Firefox, sont au plus bas (lire le billet anglophone de Mozilla) :(

Thunderbird migre aussi vers les Web Extensions

La communauté de développement de Thunderbird a finalement décidé de s'attaquer au problème des extensions à travers la solution choisie par Mozilla pour Firefox : des nouvelles APIs sont en cours de développement pour développer de nouvelles extensions.

Par rapport à XUL, ces APIs seront plus simple à utiliser, plus stables et documentées clairement. Pour la documentation à jour, la communauté est en train de tester l'outil readthedocs pour garder automatiquement la documentation à jour.

Beaucoup d'extensions vont devoir être ré-écrites (note d'Adrien Dorsaz : je pense notamment à ExchangeCalendar à laquelle j'ai un peu contribué), mais, si ça se passe aussi bien que pour Firefox, les APIs seront bien plus simple à utiliser que XUL, seront mieux documentées et aussi plus stables.

Heureusement, Thunderbird est capable encore de charger des extensions XUL (comme le calendrier Lightning) en créant des Web Extensions avec un fichier manifest qui précise que c'est une extension XUL (legacy) et qu'il faut faire le chargement des overlay (méthodes de modification des interfaces XUL par ajout de sur-couche). Seulement, Thunderbird est entrain de supprimer petit à petit ses overlays, donc cette méthode ne fonctionnera pas indéfiniment.

Danke schön !

Télécharger ce contenu au format Epub

Commentaires : voir le flux atom ouvrir dans le navigateur

Catégories: Les actus

ONLYOFFICE est maintenant disponible dans Pydio Cells

mer, 12/12/2018 - 14:49

Abstrium SAS, un développeur français de logiciels open source, et Ascensio System SIA, la maison-mère lettone de ONLYOFFICE, ont annoncé un partenariat technique pour fournir aux utilisateurs de Pydio Cells la possibilité de travailler sur des documents en ligne en utilisant les éditeurs de documents ONLYOFFICE (déjà présentés sur Linuxfr.org).

Pydio est une plate-forme web de gestion de fichiers pour entreprise sous licence AGPL 3.

L’intégration avec ONLYOFFICE est disponible à partir de la version 1.2.3 de Pydio Cells Enterprise grâce au connecteur intégré développé par Abstrium. Pour en profiter, il faut avoir ONLYOFFICE Document Server (Community ou Integration Edition) installé.

ONLYOFFICE Document Server ce sont des éditeurs de texte, de classeurs et de présentations qui se chargent dans le navigateur web pour une édition collaborative en temps réel, avec commentaires et tchat.

ONLYOFFICE vient déjà de signer deux accords de collaboration importants, avec ownCloud puis Nextcloud. La collection de connecteurs pour ONLYOFFICE s’enrichit très rapidement. Actuellement, il y a des connecteurs pour Alfresco, Confluence, Nextcloud, ownCloud, SharePoint, XWiki, Liferay, CommuniGate. On peut également connecter ONLYOFFICE à PowerFolder, eXo Platform, Moodle.

Télécharger ce contenu au format Epub

Commentaires : voir le flux atom ouvrir dans le navigateur

Catégories: Les actus

Quelques frameworks web C++ (2/2)

mer, 12/12/2018 - 10:31

Actuellement, il existe de nombreux langages et frameworks intéressants pour le développement web backend. Dans ce domaine, le C++ n'est pas le langage le plus à la mode, mais il possède cependant des atouts intéressants. En effet, le C++ possède de nombreuses bibliothèques (dont des frameworks web), il est réputé pour ses performances, enfin ses dernières normes le rendent plus agréable à utiliser.

L'objectif de cet article est de donner un aperçu des outils C++ disponibles pour le développement web backend, à partir d'un exemple d'application. Les codes sources présentés ici sont disponibles sur ce dépôt git. Les différents frameworks utilisés sont résumés en annexe (partie 2). Enfin, une liste de bibliothèques C++ est disponible sur Awesome C++.

Partie 2 : frameworks web.

Sommaire Les frameworks web Les micro-frameworks, à la Sinatra/Flask

Les micro-frameworks web, comme Sinatra en Ruby ou Flask en Python, ont pour objectif d'être simples et légers. Ils proposent principalement des fonctionnalités pour traiter des requêtes HTTP ainsi qu'un mécanisme de routage d'URL. Si nécessaire, ils peuvent être complétés par d'autres bibliothèques (génération de HTML, accès à une base SQL…).

Il existe plusieurs micro-frameworks C++, par exemple crow (voir animals-crow) ou silicon (voir animals-silicon) :

#include <silicon/api.hh> #include <silicon/backends/mhd.hh> #include <silicon/middlewares/sqlite_connection.hh> #include <silicon/middleware_factories.hh> #include "symbols.hh" using namespace sl; using namespace std; ... int main() { // create app auto api = http_api( // serve the about page GET / _about = [] () { return renderAbout(); }, // serve the home page (and filter the animals using the "myquery" parameter) GET / _animals * get_parameters(_myquery = optional(string())) = [] (const auto & p, sqlite_connection & c) { vector<Animal> animals = getAnimals(p.myquery, c); return renderHome(p.myquery, animals); }, // serve static files (located in the "mystatic" directory) GET / _mystatic = file_server("./mystatic") ); // create a connection factory to the database auto factory = middleware_factories( sqlite_connection_factory("animals.db") ); // run a server on port 3000 mhd_json_serve(api, factory, 3000); }

Ici, les fonctionnalités du C++ moderne rendent le code concis et plutôt agréable à lire (par exemple la lambda pour la route _animals).

Dans une phase de prétraitement, Silicon génère le fichier symbols.hh, qui déclare les symboles définis par le programmeur, notamment les routes (_about, _home, _mystatic…). Ceci permet de vérifier statiquement que les routes sont utilisées correctement dans le code. D'autres langages utilisent l'introspection pour effectuer ce genre de vérification mais C++ ne possède pas cette fonctionnalité.

Les frameworks asynchrones, à la Node.js

Les frameworks asynchrones, comme Node.js/Express en JavaScript, proposent les mêmes fonctionnalités que les micro-frameworks classiques mais via des fonctions non-bloquantes. Ainsi, si une requête a besoin d'une ressource, l'application peut passer à une autre requête en attendant que la ressource soit disponible. Ceci permet d'améliorer les performances générales de l'application mais nécessite un style de programmation particulier, à base de promesses connectées à des fonctions callbacks par des then pour former une chaine de traitements asynchrones.

Il existe différents frameworks asynchrones en C++, par exemple cpprestsdk (voir animals-cpprestsdk) et pistache (voir animals-pistache) :

#include "Animal.hpp" #include "View.hpp" #include <pistache/http.h> #include <pistache/router.h> #include <pistache/endpoint.h> using namespace Pistache; using namespace std; // define server app class App : public Http::Endpoint { private: Rest::Router router; public: App(Address addr) : Http::Endpoint(addr) { auto opts = Http::Endpoint::options() .flags(Tcp::Options::InstallSignalHandler) .flags(Tcp::Options::ReuseAddr); init(opts); // create a route for the about page Rest::Routes::Get(router, "/about", [=](const Rest::Request &, Http::ResponseWriter response) { response.send(Http::Code::Ok, renderAbout()); return Rest::Route::Result::Ok; }); // create a route for the home page Rest::Routes::Get(router, "/", [=](const Rest::Request & request, Http::ResponseWriter response) { auto myquery = request.query().get("myquery").getOrElse(""); const vector<Animal> animals = getAnimals(myquery); response.send(Http::Code::Ok, renderHome(move(myquery), move(animals))); return Rest::Route::Result::Ok; }); // create a route for serving static files Rest::Routes::Get(router, "/static/:filename", [=](const Rest::Request & request, Http::ResponseWriter response) { auto filename = request.param(":filename").as<string>(); // the Pistache API is non-blocking; for example, serveFile returns // a Promise, for attaching a callback function Http::serveFile(response, "static/" + filename) .then( [=](ssize_t s){ cout << filename << " (" << s << " bytes)" << endl; }, Async::NoExcept); return Rest::Route::Result::Ok; }); setHandler(router.handler()); } }; // run server app on port 3000 int main() { App app({Ipv4::any(), 3000}); app.serve(); }

On retrouve ici une gestion classique des routes (avec le nom de la route et sa fonction de traitement). Cependant, on a désormais un fonctionnement asynchrone, via des fonctions non bloquantes. Par exemple pour la route "static", la fonction serveFile retourne une promesse que l'on connecte à une fonction callback, qui affiche un message de log une fois la promesse résolue.

Les frameworks MVC, à la RoR/Django

Les frameworks web MVC, comme Ruby on Rails ou Python Django, sont des outils classiques dont l'objectif est d'implémenter tout type d'application web. Ils fournissent généralement toutes les fonctionnalités nécessaires : routage d'URL, système de templating, accès à des bases de données, système d'authentification… Les frameworks MVC ne semblent pas être le domaine de prédilection du C++ mais on trouve tout de même quelques outils intéressants, notamment cppcms.

En plus des fonctionnalités classiques d'un framework MVC, cppcms propose un système de templating assez évolué, avec héritage de vues et gestion de contenu. Par exemple, on peut définir une vue principale MasterView et en dériver des vues AboutView et HomeView qui héritent des caractéristiques de MasterView et les complètent. Enfin, on peut associer un contenu à ces vues (paramètres des templates), également avec un système d'héritage. En reprenant l'exemple précédent, on peut définir un contenu MasterContent pour la vue MasterView, la dériver en HomeContent pour la vue HomeView et utiliser directement MasterContent pour la vue AboutView (pas de nouveau paramètre dans le template).

Au niveau du code, le fichier animals-cppcms/src/content.h définit les contenus :

// define how to exchange data between the C++ code and the templates namespace content { // content for MasterView and AboutView struct MasterContent : cppcms::base_content { std::string title; // the "title" parameter in master.tmpl }; // datatype for the form in HomeView struct InfoForm : cppcms::form { cppcms::widgets::text myquery; InfoForm() { add(myquery); } }; // content for HomeView // inherits from MasterContent, because HomeView inherits from MasterView struct HomeContent : MasterContent { std::vector<Animal> animals; // the "animals" parameter in home.tmpl InfoForm info; // the "info" parameter in home.tmpl }; }

Le fichier animals-cppcms/src/master.tmpl définit la vue MasterView :

<% c++ #include "content.h" %> <% skin myskin %> <% view MasterView uses content::MasterContent %> <!-- "title" is set in the C++ code and used in the "render" template below --> <% template title() %> <%= title %> <% end %> <!-- "page_content" is set in the sub-template and used in the "render" template below --> <% template page_content() %> to be overriden in sub-templates <% end %> <!-- main template that uses the two previous ones and that is called from the C++ code --> <% template render() %> <html> <head> <style> body { background-color: azure; } ... </style> </head> <body> <!-- adds the "title" template defined above --> <h1><% include title() %></h1> <!-- adds the "page_content" template defined above --> <div> <% include page_content() %> </div> </body> </html> <% end template %> <% end view %> <% end skin %>

Le fichier animals-cppcms/src/about.tmpl définit la vue AboutView :

<% skin myskin %> <!-- inherits from MasterView --> <% view AboutView uses content::MasterContent extends MasterView %> <!-- defines "page_content", that is used in MasterView --> <% template page_content() %> <p>Generated by <a href='http://cppcms.com/wikipp/en/page/main'>Cppcms</a></p> <p><a href='<% url "/" %>'>Home</a></p> <% end template %> <% end view %> <% end skin %>

Le fichier animals-cppcms/src/about.tmpl définit la vue HomeView :

<% skin myskin %> <!-- inherits from MasterView --> <% view HomeView uses content::HomeContent extends MasterView %> <!-- defines "page_content", that is used in MasterView --> <% template page_content() %> <!-- creates a form using the "info" attribute defined in HomeContent --> <form method="get" action="" > <% form as_p info %> </form> <!-- add the HTML elements corresponding to the "animals" attribute defined in HomeContent --> <% foreach animal in animals %> <% item %> <a class="aCss" href="img/<%= animal.image %>" > <div class="divCss"> <p><%= animal.name %></p> <img class="imgCss" src="img/<%= animal.image %>" /> </div> </a> <% end %> <% end foreach %> <p style="clear:both"><a href='<% url "/about" %>'>About</a></p> <% end template %> <% end view %> <% end skin %>

Enfin le programme principal définit le routage d'URL et initialise les contenus avant de lancer le rendu des vues. Fichier animals-cppcms/src/main.cpp :

// main application class App : public cppcms::application { public: App(cppcms::service &srv) : cppcms::application(srv) { // about page dispatcher().assign("/about", &App::about, this); mapper().assign("about","/about"); // home page dispatcher().assign("", &App::home, this); mapper().assign(""); // images dispatcher().assign("/img/([a-z_0-9_\-]+\.jpg)", &App::serveJpg, this, 1); // root url mapper().root("/animals"); } private: void about() { // AboutView inherits from MasterView and uses the same content type (MasterContent) content::MasterContent c; c.title = "About (Cppcms)"; // render the AboutView template render("AboutView", c); } void home() { // HomeView inherits from MasterView and uses its own content type // (HomeContent, that inherits from MasterContent) content::HomeContent c; // data defined in MasterContent c.title = "Animals (Cppcms)"; // data defined in HomeContent c.info.load(context()); c.animals = getAnimals(c.info.myquery.value()); // render the HomeView template render("HomeView", c); } void serveJpg(string filename) { // open and send the image file ifstream ifs("img/" + filename); if (ifs) { response().content_type("image/jpeg"); response().out() << ifs.rdbuf(); } else { response().status(404); } } }; // create and run the application int main(int argc, char ** argv) { try { cppcms::service srv(argc, argv); srv.applications_pool().mount(cppcms::applications_factory<App>()); srv.run(); } catch(exception const & e) { cerr << e.what() << endl; } return 0; }

Les frameworks MVC sont des outils efficaces pour implémenter des applications complexes. Cependant, ils nécessitent un apprentissage assez conséquent et peuvent être surdimensionnés pour des petites applications simples.

Les frameworks basés templates, à la PHP

Le framework tntnet propose un système basé templates, à la manière de PHP. Si ce framework est assez anecdotique dans l'ecosystème C++, il semble cependant plutôt efficace dans son approche : écrire du code HTML classique et y ajouter des sections de code C++ là où c'est nécessaire.

Par exemple, le fichier animals-tntent/src/myimg.ecpp définit une application qui affiche une image dont le nom est passé en paramètre :

<%args> filename; </%args> <html> <body> <img src="static/img/<$filename$>" /> </body> </html>

De même, le fichier animals-tntent/src/home.ecpp définit une application plus complexe (appel de fonction C++, génération de code HTML via une boucle en C++…) :

<%args> myquery; </%args> <%pre> #include "Animal.hpp" </%pre> <html> <head> <link rel="stylesheet" type="text/css" href="static/style.css"> </head> <body> <h1>Animals (Tntnet)</h1> <form> <p> <input type="text" name="myquery" value="<$myquery$>"> </p> </form> <%cpp> for (const Animal & animal : getAnimals(myquery)) { </%cpp> <a href="myimg?filename=<$animal.image$>"> <div class="divCss"> <p> <$animal.name$> </p> <img class="imgCss" src="static/img/<$animal.image$>" /> </div> </a> <%cpp> } </%cpp> <p style="clear: both"><a href="/about">About</a></p> </body> </html>

Enfin, tntnet propose différents types de déploiement : programme CGI, serveur autonome, serveur d'applications tntnet compilées dans des bibliothèques dynamiques. Par exemple, pour implémenter un serveur autonome (animals-tntent/src/main.cpp) :

#include <tnt/tntnet.h> // run server on port 3000 int main() { try { tnt::Tntnet app; app.listen(3000); app.mapUrl("^/$", "home"); // route the "/" url to the "home" application app.mapUrl("^/about$", "about"); // route the "/about" url to the "about" application app.mapUrl("^/myimg$", "myimg"); // ... app.mapUrl("^/(static/.*)", "$1", "static@tntnet"); app.run(); return 0; } catch (const std::exception & e) { std::cerr << e.what() << std::endl; return -1; } }

À noter que ce type de framework est peut-être moins adapté au développement d'applications complexes (lisibilité des templates, réutilisation…).

Les frameworks basés widgets

Ces outils s'inspirent des frameworks d'interfaces graphiques de bureau, comme Qt ou gtkmm, c'est-à-dire basés sur une hiérarchie de widgets composant l'interface et intéragissant via un mécanisme de signal-slot.

Les frameworks web basés widgets sont étonnament peu répandus, même tous langages confondus, alors que leur potentiel semble important. En effet, ils permettent de développer une application fullstack client-serveur en utilisant une bibliothèque d'interface graphique classique et sans avoir à trop se préoccuper de l'architecture réseau de l'application.

En C++, le framework le plus abouti dans cette catégorie est certainement Wt. Wt possède de nombreux widgets classiques ou évolué, un ORM SQL, un système d'authentification, la possibilité de manipuler du HTML/CSS… En Wt, le programme principal se résume à router des URL vers les applications correspondantes (animals-wt/src/main.cpp) :

... int main(int argc, char ** argv) { try { WServer server(argc, argv, WTHTTP_CONFIGURATION); // route the url "/about" to an application "AboutApp" server.addEntryPoint(EntryPointType::Application, [](const WEnvironment & env) { return make_unique<AboutApp>(env); }, "/about"); // route the url "/" to an application "HomeApp" server.addEntryPoint(EntryPointType::Application, [=](const WEnvironment & env) { return make_unique<HomeApp>(env); }, "/"); server.run(); } catch (Dbo::Exception & e) { cerr << "Dbo::Exception: " << e.what() << endl; } return 0; }

Ces applications Wt correspondent à des interfaces graphiques classiques mais avec une architecture client-serveur. Par exemple pour définir l'application "about" (page statique) via le système de template HTML/CSS, il suffit de définir la classe suivante (animals-wt/src/AboutApp.hpp) :

... // Application class implementing the about page class AboutApp : public Wt::WApplication { private: // main HTML template of the application const std::string _app_template = R"( <h1>About (Wt)</h1> <p>Generated by <a href="https://www.webtoolkit.eu/wt">Wt</a></p> <p><a href="/">Home</a></p> )"; public: // create the application AboutApp(const Wt::WEnvironment & env) : Wt::WApplication(env) { // load css useStyleSheet({"style.css"}); // create the main widget using the HTML template root()->addWidget(std::make_unique<Wt::WTemplate>(_app_template)); } };

Pour une application plus complexe, par exemple la page affichant les animaux, on peut définir un nouveau widget AnimalWidget qui implémente une vignette, puis utiliser cette classe pour afficher tous les animaux lus dans la base de données (voir animals-wt/src/HomeApp.hpp) :

... bool isPrefixOf(const std::string & txt, const std::string & fullTxt) { return std::inner_product(std::begin(txt), std::end(txt), std::begin(fullTxt), true, std::logical_and<char>(), std::equal_to<char>()); } // widget showing an animal (name + image + anchor) class AnimalWidget : public Wt::WAnchor { private: // pointer to the WText that contains the animal name Wt::WText * _animalName; public: AnimalWidget(const Animal & animal) { // set anchor href const std::string imagePath = "img/" + animal.image; setLink(Wt::WLink(imagePath)); // create a container widget, inside the anchor widget auto cAnimal = addWidget(std::make_unique<Wt::WContainerWidget>()); cAnimal->setStyleClass("divCss"); // create a text widget, inside the container auto cText = cAnimal->addWidget(std::make_unique<Wt::WContainerWidget>()); cText->setPadding(Wt::WLength("1em")); _animalName = cText->addWidget(std::make_unique<Wt::WText>(animal.name)); // create an image widget, inside the container auto img = cAnimal->addWidget(std::make_unique<Wt::WImage>(imagePath)); img->setStyleClass("imgCss"); } void filter(const std::string & txt) { // show the widget if txt is null or if it is a prefix of the animal name setHidden(txt != "" and not isPrefixOf(txt, _animalName->text().toUTF8())); } }; // Application class implementing the home page class HomeApp : public Wt::WApplication { private: // the line edit widget (for querying animal to show/hide) Wt::WLineEdit * _myquery; // the animal widgets std::vector<AnimalWidget*> _animalWidgets; // main HTML template of the application const std::string _app_template = R"( <h1>Animals (Wt)</h1> <p>${myquery}</p> ${animals} <p style="clear: both"><a href="/about">About</a></p> )"; // show all animals that match the _myquery prefix void filterAnimals() { for(auto aw : _animalWidgets) aw->filter(_myquery->text().toUTF8()); } public: // create the application HomeApp(const Wt::WEnvironment & env) : WApplication(env) { // load css useStyleSheet({"style.css"}); // create the main widget using the HTML template auto r = root()->addWidget(std::make_unique<Wt::WTemplate>(_app_template)); // create the remaining widgets and bind them to the template placeholders _myquery = r->bindWidget("myquery", std::make_unique<Wt::WLineEdit>()); // connect the widget _myquery to the function filterAnimals _myquery->textInput().connect(this, &HomeApp::filterAnimals); // create a container widget for the animals auto w = r->bindWidget("animals", std::make_unique<Wt::WContainerWidget>()); // open the database Wt::Dbo::Session session; session.setConnection(std::make_unique<Wt::Dbo::backend::Sqlite3>("animals.db")); session.mapClass<AnimalDb>("animals"); // query the database Wt::Dbo::Transaction transaction(session); Wt::Dbo::collection<Wt::Dbo::ptr<AnimalDb>> dboAnimals = session.find<AnimalDb>(); for (const Wt::Dbo::ptr<AnimalDb> & dboAnimal : dboAnimals) { // add a widget auto aw = w->addWidget(std::make_unique<AnimalWidget>(*dboAnimal)); // store a pointer, for future updates _animalWidgets.push_back(aw); } } };

À première vue, cette implémentation peut sembler plus longue et plus compliquée que les implémentations précédentes. Cependant, son code devrait sembler familier à n'importe quel développeur d'interface graphique de bureau. De plus, cette implémentation gère l'ensemble de l'application (fullstack), et non la partie serveur uniquement. Par exemple, la connexion du signal _myquery->textInput() à la fonction HomeApp::filterAnimals implique des mises-à-jour en temps-réel côté client, ce qui serait nettement plus difficile à implémenter avec les frameworks précédents.

Intégration avec Nix

Avant de conclure, voici une petite remarque concernant l'intégration, dans un projet de code, des frameworks présentés. En effet, ces frameworks sont rarement présents dans les logithèques des OS et doivent donc généralement être installées manuellement. Pour cela, on choisit classiquement l'une des deux solutions suivantes :

  • télécharger le code source de la bibliothèque, l'installer dans un dossier local ou système et régler les variables d'environnement de façon à trouver la bibliothèque;
  • intégrer la bibliothèque directement au projet, par exemple via les sous-modules git, et configurer le projet de façon à trouver la bibliothèque.

Aucune de ces solutions n'est vraiment satisfaisante : la première solution introduit une dépendance externe peu portable qu'il faut mettre à jour manuellement; la seconde solution introduit des duplications de code potentielles et nécessite une configuration de projet particulière.

Une troisième solution, particulièrement avantageuse, consiste à utiliser le système de paquets Nix. Par exemple, pour récupérer et empaqueter cpprestsdk depuis son projet github, il suffit d'écrire le fichier Nix suivant (voir animals-cpprestsdk/nix/cpprestsdk.nix) :

{ stdenv, fetchFromGitHub, cmake, boost, openssl, websocketpp, zlib }: stdenv.mkDerivation { name = "cpprestsdk"; src = fetchFromGitHub { owner = "Microsoft"; repo = "cpprestsdk"; rev = "204a52610234ac5180e80a6883b62c0ad085f51e"; sha256 = "0mj2m6n889zdhwxdx24ljxfqryivvn3w9vzs94ppzcx5apa5jb3w"; }; enableParallelBuilding = true; buildInputs = [ boost cmake openssl websocketpp zlib ]; }

Pour inclure, dans un projet, des frameworks ainsi empaquetés, il suffit alors de les appeler dans le fichier de configuration default.nix du projet (voir animals-cpprestsdk/default.nix) :

with import <nixpkgs> {}; let _cpprestsdk = callPackage ./nix/cpprestsdk.nix {}; _ctml = callPackage ./nix/ctml.nix {}; _sqlite_orm = callPackage ./nix/sqlite_orm.nix {}; in stdenv.mkDerivation { name = "animals-cpprestsdk"; src = ./.; buildInputs = [ boost _cpprestsdk _ctml openssl sqlite _sqlite_orm ]; buildPhase = '' g++ -O2 -o animals-cpprestsdk src/*.cpp -lcpprest -lboost_system -lssl -lsqlite3 sqlite3 animals.db < animals.sql ''; installPhase = '' mkdir -p $out/static cp animals-cpprestsdk $out/ cp animals.db $out/ cp $src/static/* $out/static/ ''; }

On peut alors facilement compiler et lancer le programme, avec les commandes suivantes :

nix-build cd result ./animals-cpprestsdk

Cette méthode à l'avantage de rendre les dépendances explicites et isolées mais sans duplication. Elle facilite également la réutilisation et les mises-à-jour.

Conclusion

Pour développer des applications web backend, le C++ est une option tout à fait envisageable. Avec ses dernières évolutions, le langage est généralement plus simple et plus sûr à utiliser, sans compromis sur les performances. De nombreuses bibliothèques C++ sont disponibles pour le développement web : templating, génération de HTML, connexion SQL, ORM, … Les frameworks web sont également nombreux et variés : framework MVC à la RoR/Django, micro-framework à la Sinatra/Flask, framework asynchrone à la Node.js, framework basé template à la PHP, et même framework fullstack basé widget, … Enfin, on notera qu'avec Nix, il est très facile de configurer un projet intégrant ce genre de bibliothèques. Bien évidemment, tout ceci intéressera essentiellement des développeurs qui connaissent déjà C++ car beaucoup d'autres langages ont également des outils très intéressant pour le développement web.

Annexe : résumé des projets et des frameworks présentés

À noter qu'il s'agit uniquement d'exemples d'associations. Il est généralement possible d'utiliser n'importe quel framework web avec n'importe quel générateur HTML et n'importe quelle interface SQL.

projet framework web générateur HTML interface SQL animals-cppcms cppcms (framework MVC) cppcms (système de templates) cppcms (connecteur SQL) animals-cpprestsdk cpprestsdk (framework réseau asynchrone) ctml (générateur de documents) sqlite_orm (ORM) animals-crow http: crow (micro-framework) crow (système de templates) sqlpp11 (ORM) animals-nodejs (Javascript/Node.js) express (micro-framework asynchrone) pug (générateur de documents) better-sqlite3 (connecteur SQL) animals-pistache pistache (micro-framework asynchrone) kainjow mustache (système de templates) sqlite_modern_cpp (connecteur SQL) animals-scotty (Haskell) scotty (micro-framework) lucid and clay (générateurs de documents) sqlite-simple (connecteur SQL) animals-silicon silicon (micro-framework) aucun silicon (connecteur SQL) animals-tntnet tntnet (framework basé templates) tntnet (système de templates) tntnet (connecteur SQL) animals-wt wt (framework basé widgets) wt (système de widgets + templates) wt (ORM) Télécharger ce contenu au format Epub

Commentaires : voir le flux atom ouvrir dans le navigateur

Catégories: Les actus

Revue de presse de l'April pour la semaine 49 de l'année 2018

mar, 11/12/2018 - 08:39

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

[acteurspublics.com] Bastien Guerry: “Le logiciel libre a besoin d’une vraie stratégie de mutualisation au sein de l’État”

Par Émile Marzolf, le vendredi 7 décembre 2018. Extrait:

Le tout nouveau “référent logiciels libres” d’Etalab, Bastien Guerry, ancien entrepreneur d’intérêt général, explique à Acteurs publics comment le logiciel libre gagne du terrain dans l’administration et à quels défis il se heurte.

Lien vers l'article original: https://www.acteurspublics.com/2018/12/07/bastien-guerry-le-logiciel-libre-a-besoin-d-une-vraie-strategie-de-mutualisation-au-sein-de-l-etat

[ITforBusiness] Officiel: Microsoft Edge adopte Chromium et l’open source

Par Laurent Delattre, le jeudi 6 décembre 2018. Extrait:

Microsoft annonce un profond changement de stratégie autour de son navigateur Web, Edge. Celui-ci ne disparaît pas mais adopte le moteur de rendu Chromium et une nouvelle philosophie de développement.

Lien vers l'article original: http://www.itforbusiness.fr/rss/item/10963-microsoft-edge-adopte-chromium-et-l-open-source

Et aussi:

[The Conversation] Débat: L’«open science», une expression floue et ambiguë

Par Alexandre Hocquet, le mercredi 5 décembre 2018. Extrait:

Qu’est-ce que la «science ouverte»? En quoi la science actuelle est elle «fermée» et que recouvre l’expression «ouvrir la science» comme l’indique le slogan des journées?

Lien vers l'article original: https://theconversation.com/debat-l-open-science-une-expression-floue-et-ambigue-108187

[Echo Sciences] Le FabLab, un lieu d’émancipation sociale: discours ou réalité?

Par Eléonore Pérès, le mercredi 5 décembre 2018. Extrait:

Pour qui s’intéresse un peu à la culture scientifique et technique et à sa place en société, le terme FabLab ne doit pas être inconnu. Il résonne beaucoup dans la sphère de la médiation des sciences et dans les médias depuis quelques années. A travers les idées de “faire soi-même” et “d’apprendre en faisant”, les FabLabs sont souvent synonymes d’inclusion sociale et de capacitation (ou «empowerment»). Mais qu’en est-il de la réalité?

Lien vers l'article original: https://www.echosciences-grenoble.fr/communautes/le-master-cst/articles/le-fablab-un-lieu-d-emancipation-sociale-discours-ou-realite

[Journal du Net] A l'Open CIO Summit, la tentation open source des groupes toujours plus forte

Par Antoine Crochet-Damais, le mercredi 5 décembre 2018. Extrait:

A l'Open CIO Summit, la tentation open source des groupes toujours plus forte Les DSI du Cac 40 mettent en avant le rôle des logiciels libres pour passer outre les technologies commerciales et propriétaires. Avec des indicateurs de résultats financiers à la clef.

Lien vers l'article original: https://www.journaldunet.com/solutions/dsi/1419552-open-cio-summit-l-open-source-un-levier-cle-d-innovation

Et aussi:

[ZDNet France] La Commission européenne privilégie le logiciel libre

Par Thierry Noisette, le lundi 03 décembre 2018. Extrait:

Le CNLL, qui fédère 300 entreprises en France, rappelle les débats sur la préférence aux logiciels libres, rejetée par le gouvernement époque Hollande.

Lien vers l'article original: https://www.zdnet.fr/blogs/l-esprit-libre/la-commission-europeenne-privilegie-le-logiciel-libre-39877511.htm

Et aussi:

Télécharger ce contenu au format Epub

Commentaires : voir le flux atom ouvrir dans le navigateur

Catégories: Les actus

Quelques frameworks web C++ (1/2)

dim, 09/12/2018 - 23:19

Actuellement, il existe de nombreux langages et frameworks intéressants pour le développement web backend. Dans ce domaine, le C++ n'est pas le langage le plus à la mode, mais il possède cependant des atouts intéressants. En effet, le C++ dispose de nombreuses bibliothèques (dont des frameworks web), il est réputé pour ses performances, enfin ses dernières normes le rendent plus agréable à utiliser.

L'objectif de cet article est de donner un aperçu des outils C++ disponibles pour le développement web backend, à partir d'un exemple d'application. Les codes sources présentés ici sont disponibles sur ce dépôt git. Les différents frameworks utilisés sont résumés en annexe (partie 2). Enfin, une liste de bibliothèques C++ est disponible sur Awesome C++.

Partie 1 : exemple d'application, génération de HTML et accès à une base de données.

    Sommaire Exemple d'application Application finale

    On veut implémenter une application qui permet d'afficher des images d'animaux stockées sur le serveur. Un formulaire permet d'indiquer le début du nom des animaux à afficher. On peut afficher l'image complète en cliquant sur la vignette et on peut afficher une page d'information via un lien en bas de page. Les données des animaux (noms et fichiers) sont stockées dans une base Sqlite sur le serveur.

    Ici, la génération des pages HTML est effectuée sur le serveur, même si la tendance actuelle est plutôt de proposer une API côté serveur et de générer le code HTML côté client.

    Architecture MVC

    De façon très classique, on peut organiser le code de cette application selon une architecture de type MVC, c'est-à-dire en distinguant les données (Modèle), leur affichage (Vue) et leur gestion (Contrôleur).

    Pour notre application, les images sont disponibles sur le serveur et on utilise une base de données Sqlite contenant une table avec les noms et fichiers des animaux. Fichier animals.sql:

    CREATE TABLE animals ( id INTEGER PRIMARY KEY, name TEXT, image TEXT ); INSERT INTO animals (name, image) VALUES('dolphin', 'dolphin-marine-mammals-water-sea-64219.jpg'); INSERT INTO animals (name, image) VALUES('dog', 'night-garden-yellow-animal.jpg'); INSERT INTO animals (name, image) VALUES('owl', 'owl.jpg'); ...

    La partie Modèle se résume alors à un type Animal et à une fonction getAnimals qui interroge la base de données et retourne les Animal dont le nom commence par le préfixe donné. Fichier Animal.hpp:

    #include <string> #include <vector> // Animal datatype struct Animal { std::string name; std::string image; }; // query database (select animals whose name begins with myquery) std::vector<Animal> getAnimals(const std::string & myquery);

    La partie Vue contient deux fonctions retournant des pages au format HTML : renderAbout retourne la page d'information et renderHome retourne la page principale avec les animaux demandés par l'utilisateur. Fichier View.hpp :

    #include "Animal.hpp" // render the about page to HTML std::string renderAbout(); // render the home page to HTML std::string renderHome( const std::string & myquery, const std::vector<Animal> & animals);

    Enfin la partie Contrôleur récupère les événements du client puis met à jour le modèle et la vue. Pour notre application, il n'y a pas de traitement compliqué à réaliser, juste à récupérer les requêtes HTTP et à appeler les fonctions précédentes.

    Exemple en JavaScript

    Avant de voir comment développer cette application en C++, voici une implémentation possible en JavaScript, basée sur le classique framework Node.js.

    Pour accéder à la base de données, on peut utiliser le paquet better-sqlite3. Il suffit d'ouvrir la base de données, d'exécuter une requête SQL et de récupérer les données au format JSON. Fichier animals-nodejs/src/animals.js :

    "use strict"; const db = require("better-sqlite3")("animals.db"); // query database (select animals whose name begins with myquery) exports.getAnimals = myquery => db.prepare("SELECT name,image FROM animals WHERE name LIKE ?||'%'").all(myquery);

    Pour la vue, le paquet pug permet de générer du code HTML à partir d'une chaîne de caractères, en utilisant un formatage particulier. Ceci apporte plusieurs avantages : le formatage utilisé est plus concis à écrire que du code HTML, il n'y a pas de risque d'oublier de fermer une balise HTML, on peut traiter facilement des données d'entrée, par exemple la liste des animaux à afficher… Fichier animals-nodejs/src/view.js :

    "use strict"; const pug = require('pug'); // render the about page to HTML const aboutFunc = pug.compile(` doctype html html head link(rel="stylesheet", type="text/css", href="static/style.css") body h1 About (Node.js) p Generated by a(href="https://nodejs.org/en/") Node.js | , a(href="https://expressjs.com/") Express | , a(href="https://github.com/JoshuaWise/better-sqlite3") Better-sqlite3 | and a(href="https://pugjs.org/api/getting-started.html") Pug a(href="/") Home `); exports.renderAbout = aboutFunc; // render the home page to HTML const homeFunc = pug.compile(` doctype html html head link(rel="stylesheet", type="text/css", href="static/style.css") body h1 Animals (Node.js) form(action="/", method="get") input(name="myquery", value=myquery) each animal in animals a(href="static/"+animal.image) div(class="divCss") p= animal.name img(src="static/"+animal.image, class="imgCss") p(style="clear:both") a(href="/about") About `); exports.renderHome = (myquery, animals) => homeFunc(myquery, animals);

    Cependant Pug ne vérifie pas les types de balises. Par exemple, si on demande une balise toto, Pug génèrera bien le code <toto> … </toto>, alors que cette balise n'existe pas dans la norme HTML.

    Enfin, on utilise le très classique express, pour lancer un serveur avec routage des requêtes HTTP. Fichier animals-nodejs/src/app.js :

    "use strict"; const port = 3000; const view = require("./view.js") const animal = require("./animal.js") const express = require("express"); const app = express(); // serve the about page app.get("/about", function (request, response) { const html = view.renderAbout(); response.send(html); }); // serve the home page (and filter the animals using the myquery parameter) app.get("/", function (request, response) { const myquery = request.query.myquery ? request.query.myquery : "" const animals = animal.getAnimals(myquery); const html = view.renderHome({myquery, animals}); response.send(html); }); // serve static files (located in the "static" directory) app.use("/static", express.static("./static")); // run a server listening on port 3000 app.listen(port, function () { console.log(`Listening on port ${port}...`); });

    À noter que Node.js est un framework asynchrone, c'est-à-dire que des fonctions peuvent être appelées de façon non-bloquante. Ceci permet d'optimiser les performances de l'application générale, au prix d'un peu de complexité de programmation (Promise/callback, async/await…). Pour notre application, cela n'a pas vraiment d'influence, car la principale fonction potentiellement concernée (la fonction d'accès à la base de données, via better-sqlite3) est bloquante.

    Exemple en Haskell

    L'application est également simple à implémenter en Haskell, avec le framework scotty.

    Pour le modèle, on définit un type Animal et une fonction d'accès à la base de données par requête SQL via sqlite-simple. Fichier animals-scotty/src/Animal.hs :

    {-# LANGUAGE OverloadedStrings #-} module Animal where import qualified Data.Text.Lazy as L import qualified Database.SQLite.Simple as SQL import Database.SQLite.Simple.FromRow (FromRow, fromRow, field) -- Animal datatype data Animal = Animal { animalName :: L.Text , animalImage :: L.Text } deriving Show -- deserialize an Animal from the database instance FromRow Animal where fromRow = Animal <$> field <*> field -- query database (select animals whose name begins with myquery) getAnimals :: L.Text -> IO [Animal] getAnimals myquery = do let req = "SELECT name,image FROM animals WHERE name LIKE ?||'%'" SQL.withConnection "animals.db" (\conn -> SQL.query conn req (SQL.Only myquery))

    Pour la génération du code HTML et du code CSS, Haskell dispose de DSL (Domain Specific Languages), ici lucid et clay. Ceci permet non seulement d'assurer le formatage correct des balises mais également que ces balises sont bien correctes. Ainsi, si on essaie de générer une balise toto (qui n'existe pas dans la norme HTML), le compilateur indiquera une erreur. Fichier animals-scotty/src/View.hs :

    {-# LANGUAGE OverloadedStrings #-} module View where import Animal import qualified Clay as C import Control.Monad(forM_) import Lucid import qualified Data.Text.Lazy as L -- render the about page to HTML aboutPage :: L.Text aboutPage = renderText $ html_ $ do head_ $ style_ $ L.toStrict $ C.render $ myCss body_ $ do h1_ "About (Scotty)" p_ $ do "Generated by " a_ [href_ "http://hackage.haskell.org/package/scotty"] "Scotty" p_ $ a_ [href_ "/"] "Home" -- render the home page to HTML homePage :: L.Text -> [Animal] -> L.Text homePage myquery animals = renderText $ html_ $ do head_ $ style_ $ L.toStrict $ C.render $ myCss body_ $ do h1_ "Animals (Scotty)" -- add the HTML form form_ [action_ "/", method_ "get"] $ do input_ [name_ "myquery", value_ $ L.toStrict myquery] -- add every animal in a HTML div forM_ animals $ \ animal -> do let img = L.toStrict $ L.concat ["./img/", animalImage animal] a_ [href_ img] $ div_ [class_ "divCss"] $ do p_ $ toHtml $ animalName animal img_ [src_ img, class_ "imgCss"] p_ [style_ "clear: both"] $ a_ [href_ "/about"] "About" -- our CSS styles myCss :: C.Css myCss = do C.a C.# C.byClass "aCss" C.? do C.textDecoration C.none C.color C.inherit C.body C.? do C.backgroundColor C.azure C.div C.# C.byClass "divCss" C.? do C.backgroundColor C.beige C.border C.solid (C.px 1) C.black C.margin (C.em 1) (C.em 1) (C.em 1) (C.em 1) C.width (C.px 320) C.textAlign C.center C.float C.floatLeft C.img C.# C.byClass "imgCss" C.? do C.width (C.px 320) C.height (C.px 240)

    Enfin, le serveur principal se résume à router les requêtes HTTP en utilisant les fonctions du framework scotty. Fichier animals-scotty/src/Main.hs :

    {-# LANGUAGE OverloadedStrings #-} import Animal import View import Control.Monad.Trans (liftIO) import Network.Wai.Middleware.RequestLogger (logStdoutDev) import Network.Wai.Middleware.Static (addBase, staticPolicy) import Web.Scotty (get, html, middleware, param, rescue, scotty) -- run a server listening on port 3000 main = scotty 3000 $ do -- show logs middleware logStdoutDev -- serve the about page get "/about" $ html aboutPage -- serve the home page (and filter the animals using the myquery parameter) get "/" $ do myquery <- param "myquery" `rescue` (\_ -> return "") animals <- liftIO $ getAnimals myquery html $ homePage myquery animals -- serve static files (located in the "static" directory) middleware $ staticPolicy $ addBase "static"

    Par conception, Haskell permet également de faire de l'asynchrone assez facilement (langage fonctionnel pur, runtime supportant les green-threads…).

    Au final, l'implémentation Haskell est assez similaire à l'implémentation Javascript. La principale différence est que Haskell fait du typage statique, ce qui allonge légèrement le code mais permet de détecter les erreurs de typage plus précocement.

    Génération de HTML Les générateurs de documents HTML

    C++ ne semble pas avoir d'outils de génération de documents HTML aussi aboutis que Lucid en Haskell. La bibliothèque CTML permet de définir la structure arborescente d'un document puis d'en générer le code HTML correspondant. Cependant, sa syntaxe est assez verbeuse et il n'y a pas de vérification des balises. Exemple d'utilisation (animals-cpprestsdk/src/View.cpp) :

    const string css = R"( body { background-color: azure; } ... )"; string renderHome(const string & myquery, const vector<Animal> & animals) { CTML::Document doc; doc.AddNodeToHead( CTML::Node("style", css)); doc.AddNodeToBody( CTML::Node("h1", "Animals (Cpprestsdk)")); doc.AddNodeToBody( CTML::Node("form") .AppendChild( CTML::Node("input") .UseClosingTag(false) .SetAttribute("type", "text") .SetAttribute("name", "myquery") .SetAttribute("value", myquery))); for (const Animal & animal : animals) doc.AddNodeToBody( CTML::Node("a.aCss") .SetAttribute("href", "static/"+animal.image) .AppendChild( CTML::Node("div.divCss") .AppendChild( CTML::Node("p", animal.name)) .AppendChild( CTML::Node("img.imgCss") .UseClosingTag(false) .SetAttribute("src", "static/"+animal.image)))); doc.AddNodeToBody( CTML::Node("p") .SetAttribute("style", "clear:both") .AppendChild( CTML::Node("a", "About") .SetAttribute("href", "/about"))); return doc.ToString(CTML::Readability::MULTILINE); } string renderAbout() { ... } Les systèmes de templating

    Ces systèmes consistent à écrire des templates paramétrables, c'est-à-dire du code HTML dans lequel on utilise des paramètres qui seront remplacés par les valeurs indiquées lors du rendu du template.

    Les frameworks MVC proposent généralement des systèmes de templating évolués, mais il existe également des outils indépendants, par exemple mustache. Mustache est un formalisme qui possède des implémentations dans de nombreux langages, dont plusieurs en C++. Par exemple, animal-pistache/src/View.cpp utilise l'implémentation kainjow mustache et le code suivant (animals-crow/src/View.cpp) l'implémentation du framework crow :

    const string css = ... string renderHome(const string & myquery, const vector<Animal> & animals) { // create the template const string homeTmpl = R"( <html> <head> <style> {{mycss}} </style> </head> <body> <h1>Animals (Crow)</h1> <form> <p> <input type="text" name="myquery" value="{{myquery}}"> </p> </form> {{#animals}} <a href="static/{{image}}"> <div class="divCss"> <p> {{name}} </p> <img class="imgCss" src="static/{{image}}" /> </div> </a> {{/animals}} <p style="clear: both"><a href="/about">About</a></p> </body> </html> )"; // create a context containing the data to use in the template crow::mustache::context ctx; ctx["mycss"] = css; ctx["myquery"] = myquery; for (unsigned i=0; i<animals.size(); i++) { ctx["animals"][i]["name"] = animals[i].name; ctx["animals"][i]["image"] = animals[i].image; } // render the template using the context return crow::mustache::template_t(homeTmpl).render(ctx); } string renderAbout() { ... } Génération « à la main »

    Il est également relativement simple de générer du code HTML manuellement, en utilisant les flux de chaines C++. Cependant cette méthode ne facilite pas la réutilisation de code ni la vérification du code HTML produit. Exemple de génération manuelle (animals-silicon/src/main.cpp) :

    string renderHome(const string & myquery, const vector<Animal> & animals) { // create a string stream ostringstream oss; // generate some HTML code, in the stream oss << R"( <html> <head> <link rel="stylesheet" type="text/css" href="mystatic/style.css"> </head> <body> <h1>Animals (Silicon)</h1> <form> <p> <input type="text" name="myquery" value=")" << myquery << R"("> </p> </form> )"; for (const Animal & a : animals) { oss << R"( <a href="mystatic/)" << a.image << R"("> <div class="divCss"> <p>)" << a.name << R"(</p> <img class="imgCss" src="mystatic/)" << a.image << R"(" /> </div> </a>)"; } oss << R"( <p style="clear: both"><a href="/about">About</a></p> </body> </html> )"; // return the resulting string return oss.str(); } string renderAbout() { ... } Accès à une base de données SQL Les connecteurs SQL

    Ils permettent de construire explicitement des requêtes SQL, de les envoyer au système de base de données et d'en récupérer le résultat. Les connecteurs SQL sont généralement faciles à utiliser (il suffit de connaitre le langage SQL) mais ils ne vérifient pas que les requêtes sont correctes.

    De nombreux frameworks proposent des connecteurs SQL. Par exemple, cppcms (voir animals-cppcms/src/Animal.cpp), tntnet (voir animals-tntnet/src/Animal.cc) et silicon (voir animals-silicon/src/main.cpp). Il existe également des connecteurs indépendants, par exemple sqlite_modern_cpp (voir animals-pistache/src/Animal.cpp) :

    #include "Animal.hpp" #include <sqlite_modern_cpp.h> using namespace sqlite; using namespace std; vector<Animal> getAnimals(const string & myquery) { vector<Animal> animals; try { // open database database db("animals.db"); // query database and process results db << "SELECT name,image FROM animals WHERE name LIKE ?||'%'" << myquery >> [&](string name, string image) { animals.push_back({name, image}); }; } catch (exception & e) { cerr << e.what() << endl; } return animals; } Les ORM

    Les ORM (Object-Relational Mapping) permettent de convertir des données d'une table SQL vers une classe C++, et réciproquement. Ceci permet d'utiliser la base de façon plus sûre, car les données sont vérifiées par le système de typage et vérifiées à la compilation puisque les requêtes sont réalisées par des fonctions C++. Cependant, un ORM définit sa propre couche d'abstraction équivalente au SQL, mais forcément moins connue.

    Il existe différents ORM C++, par exemple wt dbo (voir animals-wt/src/main.cpp), sqlpp11 (voir animals-crow/src/Animal.cpp), ou sqlite_orm (voir animals-cpprestsdk/src/Animal.cpp):

    #include "Animal.hpp" #include <sqlite_orm/sqlite_orm.h> using namespace std; using namespace sqlite_orm; vector<Animal> getAnimals(const string & myquery) { vector<Animal> animals; // open database and map the "animals" table to the "Animal" datatype auto storage = make_storage( "animals.db", make_table("animals", make_column("name", &Animal::name), make_column("image", &Animal::image))); // query database auto results = storage.get_all<Animal>(where(like(&Animal::name, myquery+"%"))); // process results for(auto & animal : results) animals.push_back(animal); return animals; }

    Suite en partie 2 (frameworks web), dans laquelle il sera question de micro-frameworks tels que Sinatra et Flask pour le Ruby et le Python, et de Crow et Silicon pour le C++.

    Télécharger ce contenu au format Epub

    Commentaires : voir le flux atom ouvrir dans le navigateur

    Catégories: Les actus

    L'édition 2018 de Rust est sortie !

    dim, 09/12/2018 - 23:19

    L'édition 2018 du langage Rust est sortie. Cette dépêche est une traduction et un résumé de la documentation officielle.

    Certaines nouveautés ne sont pas si nouvelles, mais c'est toujours utile d'en parler si vous n'avez pas trop suivi l'évolution du langage depuis un an.

    Sommaire Édition ? Jamais entendu parler de ça Qu'est-ce qu'une édition en Rust ?

    Il faut savoir qu'une nouvelle version de Rust sort toutes les six semaines. On peut donc vite être noyé dans les mises-à-jour et les nouveautés. Afin de pouvoir visualiser les nouveautés avec plus de recul, et surtout d'ajouter certains breaking changes, le langage a (et aura) une nouvelle édition tous les deux ou trois ans.

    La première édition était celle de 2015, qui regroupe la version 1.0 et une partie des mises-à-jour qui ont suivi. Cette version 2018 regroupe les dernières nouveautés, dont une partie n'est pas accessible dans l'édition 2015.

    Quid de la stabilité ?

    Entendre parler de breaking change peut faire peur, mais l'équipe de Rust a bien étudié son coup. L'unité de compilation en Rust est le crate (caisse en anglais) contrairement au C par exemple, où c'est le fichier. Chacun des crates d'un projet peut utiliser une édition différente du langage. On peut créer un nouveau crate 2015 et utiliser un crate 2018, qui utilise de nouveaux mots-clés par exemple, sans problèmes.

    Le langage peut donc avoir des changements incompatibles sans que le code des utilisateurs n'en soit impacté.

    En revanche, la bibliothèque standard ne peut en aucun cas avoir de breaking changes puisque si on change un type entre les éditions 2015 à 2018 par exemple, on ne peut plus passer une instance de ce type d'un crate à l'autre.

    Comment utiliser cette édition ?

    Dans les faits, cela signifie que :

    • Si vous voulez créer un nouvau projet, la commande cargo new créera un nouveau projet directement avec l'édition 2018. Concrètement, une nouvelle ligne est ajoutée dans le manifeste : edition = "2018"
    • Si vous voulez mettre à jour un projet existant, il suffit de lancer la commande cargo fix --edition, ce qui va rendre les sources compatibles avec la dernière version.
    Quelles sont les nouveautés ?

    Venons-en au fait : quoi de neuf ?

    Le système de modules Les chemins

    Le système de modules de la première édition était l'un des éléments difficiles à appréhender pour un débutant. Par exemple, selon qu'on utilisait un chemin dans une instruction use ou dans le code, ça pouvait compiler ou pas : le système de chemins pouvait sembler quelque peu incohérent. Dans l'édition 2018, tout est harmonisé : dans tous les cas, il faut utiliser crate comme racine du chemin pour se référer au module de base, et self pour le module courant. L'équipe de Rust est encore en débat pour savoir lequel des deux sera le comportement par défaut en cas de chemin relatif.

    Les dépendances externes

    La directive extern crate n'est plus nécessaire quand on veut utiliser une dépendance externe. Effectivement, ça faisait doublon puisque l'information est dans tous les cas dans le manifeste du projet Cargo.toml.

    Les macros

    Les macros, qu'elles soit procédurales ou non, ressemblent de plus en plus aux autres items du langage. On les importe maintenant dans le scope avec use, tout comme le reste : use mon::chemin::ma_macro;. Il y a encore du travail à faire sur les macros (hygiène, macros 2.0, …), mais elles pourront bientôt s'utiliser à tout point de vue comme des fonctions.

    Quel fichier pour quel module

    Maintenant, quand on veut mettre un sous-module dans un dossier, on n'a plus besoin du fichier mod.rs. Avant :

    | |- foo | |- mod.rs | |- autre_module.rs

    Après :

    | |- foo.rs |- foo | |- autre_module.rs

    Ça permet de ne pas avoir tout un tas de fichiers mod.rs ouverts en même temps dans un éditeur (c'est vrai qu'on s'y perdait vite dans les gros projets).

    De nouveaux types de modifieurs de visibilité

    On peut mettre tout un tas de paramètres au mot clés pub pour un comportement un peu similaire au mot-clé friend en C++ : pub(crate), pub(a::b::c), etc. Il y a plus de détails dans la documentation du langage.

    Directive use imbriquée

    L'utilisation de use est plus souple. On peut maintenant marquer :

    use std::{ fs::File, io::Read, path::{ Path, PathBuf } }; Système de trait

    Maintenant, il existe une syntaxe plus explicite et symétrique pour le dispatch dynamique vs statique :

    // Géré à la compilation via monomorphisation : fn foo(it: impl Iterator<Item = i32>) { for i in it { // ... } } // Géré pendant le runtime : fn foo(it: Box<dyn Iterator<Item = i32>>) { for i in it { // ... } }

    La notation impl peut remplacer l'introduction d'un type générique (sauf dans les cas les plus complexes) en simplifiant la syntaxe. Ainsi, on aurait pu écrire :

    fn foo<T>(it: T) where T: Iterator<Item = i32> { for i in it { // ... } } Simplification concernant les types lifetime Lifetimes non lexicaux

    Il y aurait beaucoup à dire à ce sujet, mais le borrow-checker (la partie du compilateur qui vérifie la sécurité du code) a été réimplémenté avec un algorithme différent. Il est maintenant plus souple, dans le sens ou il élimine plus de faux-positifs. Le précédent borrow-checker refusait certaines choses qui auraient dû être acceptées, par exemple :

    let mut v = vec![1, 2, 3]; v.push(v.len()) Pattern matching plus intelligent

    Le pattern matching n'oblige plus à faire des contorsions quand on match des références. Par exemple, avant on devait écrire :

    let s: &Option<String> = &Some("hello".to_string()); match s { // On match s avec `&Some(_)` puisque s est une référence, // et pour la valeur interne on doit marquer `ref s` // puisqu'on ne peut pas déplacer le contenu d'une donnée // qui a été empruntée. &Some(ref s) => println!("s is: {}", s), _ => (), };

    En 2018, le code est plus simple, et plus intuitif :

    let s: &Option<String> = &Some("hello".to_string()); match s { // Le compilateur comprend qu'on veut récupérer une référence // sur la valeur interne. La référence est pour ainsi dire passée // de l'Option à la valeur interne. Some(s) => println!("s is: {}", s), _ => (), }; Simplification dans l'écriture des lifetimes génériques

    Il s'agit d'un certains nombre de cas de figure où l'écriture était inutile, redondante, etc. En vrac :

    • Tout comme les types de données, les types lifetime ont un identifieur anonyme '_. On l'utilise dans le cas d'un type avec un lifetime générique : Foo<'_>.
    • Plus besoin de spécifier le lifetime générique quand on implémente un trait pour une référence : impl Trait for &Foo { /* etc. */ }
    • Plus besoin de spécifier l'interdépendance des types données génériques avec les types lifetime génériques dans le cas d'une struct, par exemple : T: 'a.
    Autres

    Voici une liste de fonctionalités plus complexes, et donc que je détaillerai moins :

    Notations pour le code asynchrone

    Il sera plus simple d'écrire du code asynchrone grâce aux mots-clés async et await. Cette fonctionalité n'est pas encore stable, mais les mots-clés sont réservés pour l'édition 2018.

    SIMD, 128 bits

    Sont supportés officiellement les opérations SIMD et les types entiers sur 128 bits i128 et u128.

    Macros procédurales

    Tous les types de macros procédurales ont été stabilisés pour 2018 :
    - les instructions derive : #[derive(Foo)]
    - les attributs : #[foo(/* etc. */)]
    - les macros appelées comme des fonctions : foo!(/* etc. */)

    Zero ou une occurence dans les macros

    Maintenant, les mêmes répéteurs que pour les regexs existent dans l'implémentation des macros :
    - * pour zero répétition ou plus,
    - + pour une répétition ou plus,
    - ? pour zero ou une occurence.

    On peut faire du pattern-matching avec des slices fn main() { bonjour(&[]); // sortie: Hé, il n'y a personne ici. bonjour(&["Linus"]); // sortie: Coucou, Linus, j'ai l'impression que tu es tout seul. bonjour(&["Linus", "Richard"]); // sortie: Coucou, Linus et Richard. Content de voir que vous êtes au moins 2 ! bonjour(&["Linus", "Richard", "Lennart"]); // sortie: Bonjour à tous, j'ai l'impression que nous sommes 3 aujourd'hui. } fn bonjour(people: &[&str]) { match people { [] => println!("Hé, il n'y a personne ici."), [tout_seul] => println!("Coucou, {}, j'ai l'impression que tu es tout seul.", tout_seul), [premier, second] => println!("Coucou, {} et {}. \ Content de voir que vous êtes au moins 2 !", premier, second), _ => println!("Bonjour à tous, j'ai l'impression que nous sommes {} aujourd'hui.", people.len()), } } Conclusion

    Le langage a beaucoup avancé au cours des trois dernières années, avec de nouvelles fonctionnalités excitantes, et des simplifications bienvenues. Je ne peux que vous conseiller de lire la documentation officielle à ce sujet.

    La communauté attend encore avec impatience bien d'autres choses (je vous invite à voir la liste des RFC pour vous faire une idée) et je suis convaincu que la prochaine édition sera tout aussi riche en nouveautés que celle-ci.

    Télécharger ce contenu au format Epub

    Commentaires : voir le flux atom ouvrir dans le navigateur

    Catégories: Les actus

    Nouvelles de Git: 2.20.0, Git Merge, etc

    dim, 09/12/2018 - 18:25

    La version 2.20.0 de Git, logiciel de gestion de versions décentralisé, vient tout juste d'être taguée par Junio Hamano, le mainteneur. Elle contient comme toujours un nombre important d’améliorations, même si elles ne sont pas forcément visibles par la plupart des utilisateurs (certaines nouveautés sont détaillées en seconde partie de la dépêche).

    Pour être tenu au courant de l'actualité Git, il y a Git Rev News, une lettre d'actus mensuelle qui contient pas mal d'infos en tout genre liées à Git. (Git Rev News est éditée depuis presque 4 ans par un petit groupe de développeurs et de fans dont je fais partie.)

    Il y a aussi prochainement la conférence Git Merge à Bruxelles le 1er février prochain, juste avant le FOSDEM (2 et 3 février). Oui, c'est au même endroit, appelé The EGG Brussels, que la Git Merge 2017 qui avait aussi lieu juste avant le FOSDEM. Comme d'habitude le jour précédant la Git Merge proprement dite (donc le 31 janvier) des workshops sont proposés, et en parallèle il y a un Git Contributor Summit auquel tous les développeurs de Git ou d'un logiciel lié à l'écosystème de Git sont invités.

    Revenons sur les nouveautés de la version 2.20.0. En particulier sur git rebase, qui est maintenant complètement (ou presque) réécrit en C (bien qu'il soit toujours possible d'utiliser l'ancienne version en configurant rebase.useBuiltin à false).

    Une autre amélioration, à laquelle j'ai aussi un peu participé, est un ensemble d'options de stockage appelé delta-islands initialement développé par GitHub il y a plusieurs années. Cela permet d’améliorer significativement les performances lorsque l'on stocke tous les forks d'un dépôts (repo) dans le même repo sous-jacent. GitLab travaille actuellement à cela en utilisant justement les delta-islands, suite à une demande de Drupal.

    Télécharger ce contenu au format Epub

    Commentaires : voir le flux atom ouvrir dans le navigateur

    Catégories: Les actus

    Proxmox VE 5.3 vient avec CephFS

    dim, 09/12/2018 - 10:32

    Proxmox Server Solutions GmbH, développeur de la plate‐forme de virtualisation libre Proxmox VE, a publié Proxmox VE 5.3. C'est une plate‐forme de gestion de virtualisation libre qui est basée sur Debian 9.6, et un noyau Linux 4.15 modifié. Elle permet de gérer de machines virtuelles KVM, et des conteneurs LXC.

    La nouveauté importante concerne le système de fichier CephFS. La suite de l'article en dit plus.

    CephFS dans l'interface WEB

    Si vous faites une mise à jour depuis une version antérieure, CephFS est disponible après une éventuelle installation des paquets supplémentaires via la ligne de commande.

    CephFS est un système de fichiers distribué conforme à POSIX, et construit sur le cluster Ceph. Comme Ceph RBD (Rados Block Device), qui est déjà intégré à Proxmox VE, CephFS sert maintenant d’interface alternative au stockage Ceph. Pour CephFS, Proxmox permet de stocker des fichiers de sauvegarde, des images ISO et des modèles de conteneur VZDump. Le système de fichiers distribué CephFS élimine le besoin de stockage de fichiers externe tel que NFS ou Samba, ce qui permet de réduire les coûts matériels et simplifie la gestion. Le système de fichiers CephFS peut être créé et configuré en quelques clics dans l'interface de gestion Proxmox VE.

    Gestion du stockage
    • Via la gestion des disques, il est possible d'ajouter facilement des volumes RAID ZFS, des pools LVM et LVMthin, ainsi que des disques simples supplémentaires avec un système de fichiers traditionnel.
    • Le plugin de stockage ZFS sur iSCSI existant peut désormais accéder à la cible LIO du noyau Linux au lieu de l'ancien module IET.

    Virtualisation
    • « Nested virtualisation » : l'imbrication est activée pour les conteneurs LXC, ce qui permet d'utiliser LXC ou LXD à l'intérieur d'un conteneur, ou de virtualiser à l'interieur d'une VM.
    • De plus, l'accès au serveur NFS ou CIFS / Samba peut être configuré à l'intérieur de conteneurs.
    • vGPU et PCI(-e) Passthrough : pour les utilisateurs aventureux, cette version apporte une configuration simplifiée des vGPU et du PCI passthrough (vGPU tels que Intel KVMGT), et désormais possible via l’interface graphique Web.
    Proxmox ?

    Proxmox VE est sous licence GNU Affero GPL v3. Proxmox Server Solutions propose un support pour les entreprises à partir de 74,90 € par an et par processeur.

    Le projet open-source Proxmox VE compte une vaste base d'utilisateurs dans le monde avec plus de 230 000 installations. L'interface de gestion Web est traduite en 20 langues. Plus de 40 000 membres sont actifs dans le forum de soutien communautaire. Plus de 13 000 clients de sociétés de toutes tailles, de tous secteurs et de toutes industries font confiance aux services de support Proxmox VE proposés par Proxmox Server Solutions GmbH.

    Télécharger ce contenu au format Epub

    Commentaires : voir le flux atom ouvrir dans le navigateur

    Catégories: Les actus

    Agenda du Libre pour la semaine 50 de l'année 2018

    sam, 08/12/2018 - 19:20

    Calendrier web, regroupant des événements liés au Libre (logiciel, salon, atelier, install party, conférence), annoncés par leurs organisateurs. Voici un récapitulatif de la semaine à venir. Le détail de chacun de ces 45 événements (1 en Belgique, 42 en France, 0 au Luxembourg, 2 au Québec, 0 en Suisse et 0 en Tunisie) est en seconde partie de dépêche.

    Sommaire [FR Paris] Sécurité informatique à base d'outils libres (formation) - Du lundi 10 décembre 2018 à 09h30 au mardi 11 décembre 2018 à 18h00.

    Cette formation de 2 jours vous propose d'acquérir les connaissances nécessaires pour faire une analyse contextuelle et évolutive des niveaux de sécurité requis dans votre organisation afin de protéger vos communications.

    Nous procéderons à l'analyse de votre "modèle de menace", puis nous nous intéresserons aux données que vous produisez, stockez, diffusez. Enfin, nous nous pencherons sur les données sensibles concernant les publics et autres organisations avec lesquels vous coopérez. Vous serez formé·e·s à l'utilisation d'outils que vous pourrez mettre en place pour préserver la sécurité de vos communications et la vie privée des personnes avec lesquelles vous travaillez (Tor, VPN, Tails, PGP, etc.).

    Informations pratiques

    • Formateur Benjamin Cadon, du Labomedia (la page de leur wiki qui traite du sujet ici)
    • Tarifs (frais pédagogiques)

      • bénévoles des membres et relais Ritimo 40
      • bénévoles associatifs 60
      • bénéficiaires de la formation professionnelle 500
    • Inscription le formulaire ici https://ritimo.info/limesurvey/index.php/861785?lang=fr

    • Lieu CICP (21ter rue Voltaire, Paris XI)

    A propos des formations e-change

    Les formations et ateliers e-change ont été mis en place pour accompagner les associations à afin qu’elles s’approprient les outils numériques, pour leurs activités et faire émerger des projets associatifs d’éducation au numérique.
    C’est pourquoi Ritimo vous invite à participer à ces formations, ateliers et temps d’échanges, portant à la fois sur les dimensions techniques, la valorisation des contenus et les démarches liées aux logiciels libres.

    [FR Montpellier] Wikipermanence - Le lundi 10 décembre 2018 de 18h00 à 22h00.

    Une Wikipermanence est une rencontre physique entre des wikipédiens chevronnés et de nouveaux ou futurs wikipédiens qui souhaitent acquérir des connaissances et des conseils sur le fonctionnement de Wikipédia. Il ne s’agit pas d’une simple rencontre entre wikipédiens la Wikipermanence organisée par le groupe local de Montpellier est là pour répondre aux questions, permettre des démonstrations, offrir une aide aux premiers pas et permettre un suivi.

    Pour cette soirée, chacun amène ce qu’il veut à manger et à boire pour un repas partagé.

    Cette rencontre nous permettra d’aborder les sujets suivants

    Si vous avez des propositions, n’hésitez pas à compléter la page dédiée sur Wikipédia.

    N’hésitez pas à venir c’est sans inscription, et vous l’aurez deviné, libre et gratuit

    Wikipédia est une encyclopédie libre rédigée collaborativement par des milliers d’internautes. Mais, saviez-vous que vous pouviez y participer En apportant des connaissances, en créant ou améliorant des articles, en prenant des photos, ou simplement en corrigeant des fautes, vous pouvez contribuer à ce grand projet d’encyclopédie collaborative.

    Alors, venez participer aux rendez-vous des Wikipermanences de Montpellier qui auront lieu à l’Atelier de Pigistes, le deuxième lundi de chaque mois, de 18h00 à 22h00.

    Cet événement vous est proposé dans le cadre du partenariat qui lie le Club de la Presse, Wikimédia France et Montpel’libre.

    Tramway lignes 1 et 3, arrêts Port-Marianne et Rives du Lez
    GPS Latitude 43.603095 | Longitude 3.898166

    [FR Grenoble] Atelier – Des cartes interactives dans Wikipedia - Le lundi 10 décembre 2018 de 18h30 à 20h30.

    Les collectifs OpenStreetMap Grenoble et Wikimedia Grenoble organisent une soirée commune pour vous apprendre à intégrer des cartes interactives dans Wikipedia.

    Depuis peu, il est possible d’ajouter dans les articles Wikipedia des cartes interactives, de façon très simple pour les débutants, grâce au modèle “Carte interactive”. Il est également possible, pour les plus aguerris, d’exploiter des informations issues de Wikidata et de Commons pour insérer des visualisations cartographiques riches.

    Le tout repose sur OpenStreetMap pour les fonds de carte et les bibliothèques de base.

    Programme

    • Présentation des outils disponibles,
    • Initiation des débutants & mise en pratique.

    **Niveau: Une connaissance basique du wikicode est utile mais pas indispensable.

    Je m'inscris

    [FR Rennes] Réunion mensuelle OpenStreetMap - Le lundi 10 décembre 2018 de 19h00 à 21h00.

    Les contributeurs OSM 35 proposent chaque 2e lundi du mois une réunion autour du projet de cartographie collaborative OpenStreetMap.

    L'occasion de découvrir le projet, de venir échanger sur les nouveautés, de partager vos initiatives.

    Plus d'informations sur la communauté locale

    [FR Lyon] Debian Monter un serveur de fichiers… Entre autres - Le lundi 10 décembre 2018 de 19h30 à 21h30.

    *Atelier
    *

    Dans cette nouvelle déclinaison des Lundi Debian & Cie, l'ALDIL vous propose d'installer un serveur avec GNU/Linux Debian sur 8 séances.

    • Les premières séances seront dédiées à l'installation du serveur, à la gestion de la configuration avec Ansible et à la mise en place de sauvegardes (avec rsnapshot et/ou borgbackup).
      ^

    • Puis nous mettrons en place un annuaire LDAP avec Fusion Directory et un serveur de fichiers avec NFS et/ou Samba.
      ^

    • Pour les survivants, création d'un proxy pour la mise à jour des machines clientes (apt-cacher-ng) et pourquoi pas un peu de DNS en dessert.

     ou sans allergie au Doliprane. Entrée libre et gratuite dans la limite des places disponibles.

    Le deuxième lundi du mois, d'octobre à mai.

    [FR Saint-Étienne] Permanence du libre - Le lundi 10 décembre 2018 de 19h30 à 22h00.

    Tous les lundis soir à partir de 19h30

    Rencontrer les bénévoles, passer sous GNU/Linux, poser des questions sur le libre, les logiciels, l'hébergement…

    Pour passer votre ordinateur sous GNU/linux, nous vous invitons à nous prévenir avant votre passage)

    [FR Paris] Atelier Hebdomadaire de Contribution au Libre - Le mardi 11 décembre 2018 de 10h00 à 19h00.

    Une journée de co-travail sur le thème de la contribution au logiciel libre.

    Chacun vient avec son sujet individuel avec l'intention d'y travailler au cotés d'autres contributrices/teurs.

    Le prix d'entrée est de 25 euros pour la journée (tarif Narma).

    [CA-QC Montréal] Ville de Montréal & Logiciels Libres quelles opportunités pour les entreprises - Le mardi 11 décembre 2018 de 13h30 à 18h00.

    Monsieur Ferron présentera la politique du logiciel libre de la Ville de Montréal, les retombées qu'aura cette politique sur le développement des entreprises du Québec, ainsi que sur les initiatives se basant sur cette politique dans les autres paliers gouvernementaux.

    Vous êtes une entreprise dans le service-conseils TI ou dans le développement de logiciels et de matériels libres Ne manquez pas cette occasion de découvrir les opportunités de contrat qu'offrira cette politique de la Ville de Montréal.

    Mr Pierre-Antoine Ferron est chargé d'expertise et de pratique (Gouvernance TI et partenariats) au Cabinet du directeur - Service des technologies de l'information.

    Lieu Centre culturel de la Petite Italie Casa d'Italia (M° Jean Talon | Sortie rue Berri)

    [FR Tours] Permanence ADeTI - Le mardi 11 décembre 2018 de 18h30 à 20h30.

    La permanence d'ADeTI est un moment d'accueil avec des bénévoles pour apprendre à utiliser un ordinateur sous GNU/Linux (Ubuntu, Linux Mint, Debian, …)  mais aussi

    • réparer les problèmes de logiciels sur son ordinateur
    • prendre des conseils pour choisir des logiciels alternatifs
    • différencier les logiciels libres utilisables pour répondre aux besoins
    • préserver et réfléchir sur ses usages (vie privée, éthique, …)

    Mais c'est aussi un moment consacré pour

    • partager des connaissances et échanger des savoirs
    • maîtriser les formats ouverts et la pérennité de ses documents
    • Confidentialité, intégrité et disponibilité des systèmes d'information
    • Diversité des alternatives
    • Indépendance

    Nous accueillons également des membres de l'association Touraine Data Network qui peuvent répondre aux questions concernant les réseaux connexion à Internet, alternatives aux "Box" et aux opérateurs commerciaux.

    [FR Lyon] Rencontre wikimédienne - Le mardi 11 décembre 2018 de 18h30 à 20h00.

    Rencontre mensuelle de la cabale de la quenelle (groupe wikimédien lyonnais).

    Discussion des projets et collaborations en cours ou à venir autour d’une boisson.

    Rejoignez nous

    [FR Paris] Résister à la publicité et à la surveillance publicitaire en ligne - Le mardi 11 décembre 2018 de 19h00 à 21h30.

    Cette soirée est organisée par les associations La Quadrature du Net et Résistance à l'agression publicitaire dans le cadre notamment de leurs campagnes de dons respectives https://don.laquadrature.net et https://soutenir.antipub.org/.

    Sur Internet comme dans l'espace public et ailleurs, la publicité nous manipule, elle s'attaque à notre "temps de cerveau disponible" pour nous pousser à consommer, créer de nouvelles envies, à nous conformer à un pseudo-idéal publicitaire, à influer nos comportements, etc.

    Malheureusement, la publicité s'est imposée comme "le pêché originel d'Internet" et demeure le principal mode de financement de nombreux services et productions de contenus en ligne. Le seul affichage publicitaire "classique" a posé problème et n'a pas suffit au système publicitaire. Des sociétés, notamment Google, Facebook ou encore Criteo, ont développées des outils de surveillance très poussés pour traquer et profiler les personnes dans tous les recoins de leurs pratiques numériques  pour leur afficher des publicités toujours plus "ciblées" pour quelles soient le plus efficaces possibles en clair quelles manipulent au mieux les personnes.

    Il existe par ailleurs des pratiques et une volonté non dissimulée pour importer cette surveillance et ces publicités ciblées dans l'espace public par le biais des panneaux numériques et autres outils similaires.

    Ces outils de surveillance sont, de plus, dévoyés de leurs premières fins lucratives et sont convoités par les gouvernements, comme ont pu en témoigner les révélations Snowden, mais aussi par les acteurs politiques qui les utilisent à des fins de propagande électorale.

    Les enjeux sont conséquents en termes de libertés et il est plus que temps de résister à ces agressions. Cette intervention de La Quadrature du Net et de Résistance à l'Agression Publicitaire permettra d'éclairer le fonctionnement des mécanismes publicitaires en ligne et d'expliquer comment y résister à l'échelle individuelle, collective et politique. Une mise en pratique directe sera même proposée l'intervention étant suivie d'un petit atelier.

    [FR Grenoble] Meetup Python et C++ - Le mardi 11 décembre 2018 de 19h00 à 21h00.

    Le groupe d’utilisateurs de Python de Grenoble se réunit mardi 11 décembre, à 19h à La Coop pour discuter de technologie développeurs.

    Ce meetup est ouvert à tous et gratuit

     Je m’inscris

    Ce mardi, Gilles Chaley, Architecte informatique chez Atos, expliquera le fonctionnement de pybind11, un framework pour exposer des types C++ en Python, une alternative à Boost.

    [FR Paris] Résister à la publicité et à la surveillance publicitaire sur Internet - Le mardi 11 décembre 2018 de 19h15 à 22h00.

    Mardi 11 Décembre 19h15  Débat et discussion avec La Quadrature du Net et Résistance à l'Agression Publicitaire : Résister à la publicité et à la surveillance publicitaire sur Internet

    La publicité finance de nombreux services en ligne donnant l'apparence du "gratuit", mais est en fait un coût indirect et s'attaque à notre "temps de cerveau disponible" pour influer sur nos comportements.

    Elle s'allie à des outils de surveillance de masse qui nous traquent, nous profilent pour mieux nous "cibler". Développés par Google, Facebook, Criteo… ces outils ont aussi bien des visées économiques que politiques.
    Les enjeux sont conséquents en termes de libertés il est plus que temps de résister à ces agressions.

    Un débat pour éclairer les mécanismes publicitaires en ligne et y résister à l'échelle individuelle, collective et politique.

    21h Repas.

    Café La Commune 3 rue d'Aligre Paris 12 ème

    [FR Quetigny] Permanence logiciels libres - Le mardi 11 décembre 2018 de 20h30 à 23h30.

    COAGUL est une association d'utilisateurs de logiciels libres et de GNU Linux en particulier.

    Nous utilisons toutes sortes de distributions GNU / Linux (Ubuntu, CentOs, Fedora, Debian, Arch…) et toutes sortes de logiciels pourvu qu'ils soient libres (VLC, LibreOffice, Firefox, Thunderbird, GPG, Tor, OpenNebula, LXC, Apache…).

    Les permanences servent à se rencontrer et à partager nos expériences et notre savoir sur des logiciels libres.

    Vous pouvez venir sans contrepartie pour découvrir, tester, installer Linux et d'autres logiciels libre.

    Nous offrons également de l'assistance pour des difficultés sur l'usage d'un logiciel libre en particulier.

    Venez nombreuses et nombreux

    [FR Le Mans] Permanence du mercredi - Le mercredi 12 décembre 2018 de 12h00 à 17h00.

    Assistance technique et démonstration concernant les logiciels libres.

    [FR Caen] Permanence artifaille - Le mercredi 12 décembre 2018 de 16h00 à 19h00.

    Permanence et animation au local Artifaille pour les membres de l'association.

    Entraide informatique pour réparer, reconfigurer, conseiller, échanger à propos des moyens de communication électronique

    mise à disposition de moyens et outils spécifiques,
    conseils d'un professionnel expert en logiciels libres

    Vérifier le maintien de la permanence et inscription (10 places) :
    https://artifaille.fr/attendee/

    [FR Beauvais] Atelier hebdomadaire de partage de connaissances autour des logiciels libres - Le mercredi 12 décembre 2018 de 18h00 à 20h00.

    Chaque mercredi soir, l'association propose une rencontre pour partager des connaissances, des savoir-faire, des questions autour de l'utilisation des logiciels libres, que ce soit à propos du système d'exploitation Linux, des applications libres ou des services en ligne libres.

    C'est l'occasion aussi de mettre en avant l'action des associations fédératrices telles que l'April ou Framasoft, dont nous sommes adhérents et dont nous soutenons les initiatives avec grande reconnaissance.

    L'atelier a lieu dans la salle informatique du Centre Georges Desmarquet géré par l'association Voisinlieu-pour-tous.

    [FR Lille] Cours Linux - Le mercredi 12 décembre 2018 de 18h00 à 20h00.

    Découvrez LINUX

    Une solution économique et écologique

    Un système puissant, stable, léger, sans virus et totalement gratuit.

    Accédez à des milliers de logiciels libres (Firefox, Thunderbird, LibreOffice, Gimp, 7Zip, VLC, Sunbird, Apache, etc).

    Il permet également de récupérer d'anciennes machines.

    Découvrir les logiciels libres, cours ou installations niveau débutant tous les mercredis de 18h à 20h à partir du début octobre jusqu’a fin juin dans les locaux de l'association UFJ rue du Mal Assis à Lille (03 20 57 27 11)

    [FR Paris] Soirée littéraire le futur d'Internet - Le mercredi 12 décembre 2018 de 19h30 à 22h00.

    Dans le cadre de la campagne annuelle de soutien de La Quadrature du Net, venez discuter du futur d'Internet avec les Editions La Volte et les autrices de science-fiction Sabrina Calvo et Ketty Steward.

    [FR Toulouse] Rencontres Tetalab - Le mercredi 12 décembre 2018 de 20h30 à 23h30.

    Rencontre hebdomadaire des hackers et artistes libristes Toulousains.

    Ouvert au public tous les mercredi soir.

    Venez nombreux.

    [FR Mauguio] Les jeudis du Libre à la CCI - Le jeudi 13 décembre 2018 de 14h00 à 17h00.

    Tous les deuxièmes jeudis de chaque mois, Montpel’libre tiendra une permanence à la CCI Hérault pour fournir un appui au libre à toutes les entreprises et indépendants désireux en savoir plus sur les Logiciels Libres, répertorier avec des rendez-vous, un prestataire local sur le sujet, enfin, utiliser aussi ce créneau pour des ateliers thématiques sur lesquels nous communiquerons.

    Entrée libre et gratuite sur inscription. Une simple adhésion à l’association est possible.

    Cet événement vous est proposé dans le cadre du partenariat qui lie la CCI Hérault et Montpel’libre.

    Tramway lignes 1 et 4, arrêt Place de l’Europe puis Bus Hérault Transport Navette aéroport Ligne 120 Navette Aéroport arrêt ESMA - CCI
    GPS Latitude 43.57869 | Longitude 3.95097
    Carte OpenStreetMap

    [FR Nîmes] Rencontre Gnu/Linux et les Logiciels libres - Le jeudi 13 décembre 2018 de 18h00 à 22h00.

    C'est une soirée rencontre autour de GNU/Linux et des Logiciels Libres.

    Nous sommes le 2° jeudi du mois, donc nous nous réunissons à Nîmes. Le 4° c'est à Vergèze.

    Gard-Linux, groupe d'utilisateurs de GNU/Linux et des logiciels libres est là pour vous accompagner

    Il y aura sans-doute de la "mécanique", genre robotique ou réparation de PC…

    Il y aura trois Ateliers spécifiques

    "Mon serveur Web sur un Raspberry Pi"
    "Installation d'Ubuntu Studio 18.04"
    Découverte des possibilités d'Ubuntu Studio 18.04"

    Nous comptons sur vous

    Allez voir notre site www.gard-linux.fr

    Ce jour atelier non renseigné pour le moment.

    PS Êtes-vous intéressé par UNE REUNION SUR ALES, SUR UZES Vous pouvez mettre vos commentaires ou nous contacter par courriel.

    [FR Bordeaux] Jeudi Giroll - Le jeudi 13 décembre 2018 de 18h30 à 20h30.

    Les membres du collectif Giroll, GIROnde Logiciels Libres, se retrouvent une fois par semaine, pour partager leurs  savoir-faire et expériences autour des logiciels libres.

    Le collectif réalise aussi une webradio mensuelle, tous les second jeudis du mois, à retrouver en direct sur le site de Giroll.

    Ces rencontres sont ouvertes à tous.

    Attention pour la radio, le second jeudi du mois nous sommes désormais à la Mezzanine le local de nos amis d'Aquilenet

    [FR Brest] Mapathon OpenStreetMap - Le jeudi 13 décembre 2018 de 18h30 à 21h30.

    Venez nous aider à cartographier les espaces de Madagascar sur OpenStreetMap, la carte du monde collaborative et libre Inscriptions souhaitables https://www.eventbrite.ca/e/billets-mapathon-a-brest-ubo-open-factory-52931082292CartONG organise un mapathon centré sur Madagascar avec l'UBO Open Factory et Tiriad et les groupes locaux.

    Vous pourrez découvrir la cartographie participative et humanitaire dans OpenStreetMap pas besoin d'être un expert, c'est accessible à tout le monde

    Comme nous aimons lier l'utile à l'agréable, nous vous proposons de partager un repas commun qui sera lui aussi contributif et collaboratif l'idée étant que chacun ramène un plat à partager avec tout le monde

    Le programme de la soirée

    Nous vous proposons de découvrir comment contribuer à OpenStreetMap durant un mapathon et cartographier des espaces de Madagascar qui ne le sont pas encore.

    Cet événement a pour but d’ajouter des informations comme des bâtiments, et les routes, des cours d'eau.

    Les cartes qui seront produites grâce à vos contributions permettrons de soutenir divers projets de prévention des risques d'inondations, mais aussi de promouvoir le tourisme et le développement économique de ces régions

    Au programme

    • 18h30 accueil des participants
    • 18h40 Mots de bienvenue, présentation du projet Missing Maps et du déroulement de la soirée
    • 18h50 Présentation de la contribution dans OpenStreetMap
    • 19h00 Cartographions
    • 20h00 Dégustation de nos bons petits plats (miam)
    • 21h30 - 22h Fin du mapathon, conclusion sur les contributions de la soirée

    Où ?

    UBO OpenFactory Faculté des sciences et techniques Bat D, salle D133, 6 avenue Le Gorgeu 29238 Brest

    Un grand merci à l'UBO Open Factory pour l'accueil et leur soutien

    Entrée gratuite sur inscription.

    Venez nombreux, et n'oubliez pas d'apporter votre ordinateur portable, et souri(re)s

    [FR Lyon] Jeudi jeux vidéo - Le jeudi 13 décembre 2018 de 19h00 à 21h00.

    Initiez-vous au 10ème art la création de jeux vidéo.

    – de 19h à 21h  –

    À partir de 16 ans

    Attention la présence à l'ensemble des dates du cycle est requise.

    Jeudi 18 octobre 2018 AnimationAvec l’association Game Dev Party, découverte des bases de la création de jeux vidéo avec Unity3D game design, intégration de graphismes et de sons, animations, interactions. Une forte motivation à créer des jeux vidéo est requise.

    Venez nombreux

    [FR Paris] Soirée de Contribution au Libre, invité Wikimedia France - Le jeudi 13 décembre 2018 de 19h30 à 22h00.

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

    En cas de difficulté, vous pouvez joindre un des responsables de la soirée, Emmanuel Seyman (emmanuel (at) seyman.fr), Paul Marques Mota mota (at) parinux.org, ou Magali Garnero (Bookynette) tresorier (at) parinux.org.

    Pour obtenir le code d'entrée de la porte cochère, envoyez un mail au responsable.

    On peut amener de quoi se restaurer (Franprix, 8 rue du Chemin Vert, ferme à 22h)

    Regazouillez sur Twitter - Wiki des soirées

    Programme non exhaustif

    • Fedora (sa traduction)
    • Parinux, ses bugs et son infrastructure
    • April, … y a toujours quelque chose à faire
    • Open Food Facts/ Open Beauty Facts, sa base de données, ses contributeurs, sa roadmap
    • Schema racktables, son code
    • Agenda du Libre, mise à jour et amélioration du code
    • Ubuntu-Fr, son orga, ses événements
    • En vente libre, maintenance et commandes
    • Open street map, une fois par mois
    • Linux-Fr sait faire
    • en vente libre

    tout nouveau projet est le bienvenu.

    Tous les 1ers jeudis => Les associations Ubuntu-fr  et ouvre-boite organisent une réunion pour leurs membres.

    Tous les 2è jeudis du mois, l'association Wikimedia France propose de contribuer à ses multiples projets

    Tous les jeudis, dès 18h45, le groupe de travail Sensibilisation de l'April se réunit pour réfléchir à mieux communiquer vers le grand public et à 20h30, le groupe transcriptions prend le relais et transcrit ou relit des transcriptions.

    Tous les jeudis, des membres de Framasoft organisent des contrib'atliers et vous invitent à venir participer, tester ou améliorer des logiciels libres

    [FR Jupilles] Atelier échange de savoirs autour de Mageia (linux local) - Le jeudi 13 décembre 2018 de 19h30 à 23h45.

    Echange de savoir sur tous les sujets tournants autour du système d'exploitation Mageia support , version ß test, contribution, traduction…

    Ouvert à tous, curieux, débutants, utilisateurs.

    Installation possible du système sur votre ordinateur portable ou fixe. Pour un ordinateur fixe, classique n'apportez que la tour.

    [CA-QC Coteau du Lac] Émission #163 de bloguelinux - Le jeudi 13 décembre 2018 de 20h00 à 21h00.

    bloguelinux.ca est un blogue québécois offrant la diffusion d'un podcast qui traite des logiciels libres, du système d'exploitation Linux et de la technologie en général il y a un processeur, il y a un système d'exploitation, c'est certain que ça nous intéresse

    bloguelinux.ca est enregistré le jeudi à 20h00 toutes les deux semaines.

    Vous pouvez nous écouter en direct lors des enregistrements à l'adresse http://live.bloguelinux.ca ou directement sur notre site à http://www.bloguelinux.ca en cliquant sur la radio dans le panneau de gauche du site.

    Vous pouvez rejoindre nos conversations avec Telegram en vous abonnant au groupe BlogueLinux en suivant le lien suivant https://t.me/joinchat/ArPfnFAOS1OB0u7pwZFQHA et dans notre salle de chat en vous connectant sur les serveurs de freenode.net dans la salle #bloguelinux.

    Si vous n'avez pas de client IRC, vous pouvez utiliser l'adresse http://webchat.freenode.net

    AVERTISSEMENT Ce podcast peut contenir du langage inapproprié ou vulgaire et peut ne pas convenir à tout le monde.

    Animateurs Patrick et Sandrine

    [FR Montpellier] Inclusion Numérique - Le vendredi 14 décembre 2018 de 14h00 à 20h00.

    Nous initions et formons aux outils et usages numériques tous les publics qui s’en sentent éloignés, voire exclus.

    Dans les années à venir le tout numérique va s’accélérer dans nos démarches quotidiennes accès aux soins, à l’emploi, à l’énergie, au services bancaires, caisses de retraite, loisirs, etc.
    Une grande partie de la population n’a pas jugé utile ou eut l’opportunité d’utiliser des outils numériques, ordinateurs fixes, portables, les smartphones ou les tablettes.

    Nous considérons que l’inclusion numérique est fondamentale pour réduire la fracture
    numérique, encore bien réelle, entre les générations et réduire les inégalités sociales, culturelles, d’accès à l’emploi.
    Dans un monde ultra-connecté avoir des connaissances numériques de base est devenu indispensable quelque soit son âge.

    Nous animons avec bienveillance des ateliers collectifs d’initiation et de pratique des logiciels et des outils numériques libres, en fonction de la demande des utilisateurs.

    Les thématiques que nous vous proposerons

    • Ranger et m’organiser
    • Entretenir son ordinateur
    • Utiliser une clé USB, un disque dur externe
    • Insérer une image
    • Mettre en page un courrier
    • Créer un tableau simple
    • Débuter sur la mise en forme
    • Progresser sur la mise en forme de textes
    • Classer ses recherches
    • Protéger son identité sur l’Internet
    • Tchatter avec une webcam
    • Utiliser les services administratifs en ligne
    • Débuter sur Internet et la messagerie
    • Le podcasting
    • Transférer et enregistrer sa musique
    • Remplir sa déclaration d’impôts
    • Faire des rencontres
    • Stockez ses données en ligne
    • Vendre, acheter, donner ses objets
    • Préparer ses vacances
    • Débuter sur la messagerie
    • Découvrir les réseaux sociaux
    • Faire des économies grâce à Internet
    • Utiliser les sites / applications pour communiquer
    • Débuter avec son téléphone portable
    • Transférer les photos de son téléphone
    • Utiliser les applications de sa tablette, son téléphone
    • Débuter sur sa tablette, son téléphone
    • Transférer et classer ses photos
    • Créer son livre photo
    • Réaliser un diaporama de photos
    • Le photomontage

    • Mpt Albert Camus, avenue de Villeneuve Angoulême, Montpellier, Occitanie, France

    • Adresse web http://montpel-libre.fr

    • Tags
      formation, logiciels-libres, atellibre, montpel-libre

    [FR Caen] Permanence artifaille - Le vendredi 14 décembre 2018 de 16h00 à 19h00.

    Permanence et animation au local Artifaille pour les membres de l'association.

    Entraide informatique pour réparer, reconfigurer, conseiller, échanger à propos des moyens de communication électronique

    mise à disposition de moyens et outils spécifiques,
    conseils d'un professionnel expert en logiciels libres

    Vérifier le maintien de la permanence et inscription (10 places) :
    https://artifaille.fr/attendee/

    [FR Strasbourg] Apéro Accueil ARN - Le vendredi 14 décembre 2018 de 18h00 à 22h00.

    Rencontrez l’association Alsace Réseau Neutre et participez à la construction d’un Internet éthique

    ARN est un Fournisseur d’Accès à Internet associatif proposant diverses façons d’utiliser et de construire Internet autrement.

    Lors de ces réunions

    • nous évoquons les sujets actuels relatifs à l’association et au numérique en Alsace
    • nous faisons le point tous.tes ensemble sur l’avancée des projets de l’association et des projets associatifs environnants
    • nous profitons de ces instants pour faire avancer les projets de l’association sous forme de groupes de travail ouverts.

    Venez échanger avec nous

    Merci de vous inscrire (sous pseudo) ici (non-obligatoire) :
    https://framaforms.org/participer-a-un-evenement-coanime-par-arn-1529493317

    [FR Vandœuvre-lès-Nancy] La Fabrique Collective de la Culture du Libre - Le vendredi 14 décembre 2018 de 18h00 à 19h00.

    La Fabrique Collective de la Culture du Libre (FCCL) c’est

    • Une philosophie qui défend l’idée que le savoir, les œuvres de l’esprit sont un bien commun qui doit être partagé librement sous la forme de savoir-faire, savoir-être, savoir-vivre, savoir théorique.
    • Une mise en pratique ouverte à tous publics, espace de formation à la création et l’utilisation d’outils liés aux médias numériques.
    • La FCCL prône l’usage des logiciels libres dont les valeurs sont communes.

    Ses objectifs se déclinent en cinq grands thèmes

    • TECHNIQUE

      • Mise à disposition des moyens et des lieux de connaissances pour s’approprier les outils numériques et se former à l’utilisation de systèmes et de logiciels libres.
      • Mise en place des bonnes méthodes et attitudes afin de garantir la vie privée et d’empêcher l’appropriation des données personnelles par des tiers non autorisés.
    • CITOYENNETÉ

      • Proposer des outils pour s’approprier les données publiques, permettre à chacun de participer à la création de nouvelles données (open data).
      • Devenir force de proposition pour l’amélioration de la e-administration locale.
    • CULTURE

      • Favoriser la consultation, la diffusion, la création d’œuvres dans tout l’espace urbain.
    • ÉCONOMIE

      • Contribuer à la création d’opportunités professionnelles.
      • Rapprocher les acteurs de l’économie locale grâce à la formation et l’attractivité d’une ville tournée vers le numérique.
    • RECHERCHE

      • Ouvrir les ateliers à la création, la recherche et l’innovation dans les domaines de la culture, du numérique et de la pédagogie.
      • Être vecteur de réussite dans les projets scolaires.

    Rendez-vous à 18 h à la Médiathèque Jules Verne

    La commune vous propose de devenir partenaire de la FCCL en participant à L’ASSEMBLÉE CONVIVIALE DE LA FABRIQUE à 19 h, carrefour où seront abordés les orientations, les projets et leurs évolutions

    [FR Saint-Nazaire] Apéro Monnaie Libre - Le vendredi 14 décembre 2018 de 19h30 à 22h30.

    Dernier Apéro Monnaie Libre de l'année

    Mais c’est quoi les Apéro Monnaie Libre

    Les Apéros Monnaie Libre sont l’occasion de nous rencontrer entre membres et futurs membres de la monnaie libre Ğ1. Que vous soyez totalement débutant ou utilisateur confirmé, tout le monde est bienvenue aux apéros monnaie libre

    • Question/Réponse, de ce qu’est la Monnaie Libre Ḡ1.
    • Assistance création/utilisation de porte-feuille Ğ1 sous Césium.

    Mais c’est quoi la Ğ1

    C’est le nom de la 1ère et seule monnaie libre existante à ce jour, une monnaie co-créée par tous les humains qui l’utilisent, c’est un revenu de base par création monétaire.

    Plus de détail en suivant le "Guide du débutant" :

    https://forum.monnaie-libre.fr/t/intro-guide-du-debutant-en-monnaie-libre-gi-june/2777/

    Si vous souhaitez de l’assistance pour créer ou utiliser votre compte Ğ1, nous vous recommandons d’apporter votre appareil (téléphone, tablette, pc portable).

    Ces apéros sont aussi un moment privilégié pour demander ou proposer des biens et services en Ğ1.

    [FR Orléans] Réunion mensuelle - Le vendredi 14 décembre 2018 de 20h30 à 23h00.

    La prochaine réunion de l'association aura lieu le vendredi 18 mai à partir de 20h30 à la salle des 

    (2 rue Edouard Branly à Orléans-la-Source)

    Au programme de ce vendredi

    • Les commandes Linux de base
    • Personnaliser son environnement de bureau

    Pour venir nous voir Plan d'accés

    Venez nombreux et parlez-en autour de vous car les réunions de l'association sont aussi ouvertes aux non adhérents.

    [FR Beauvais] Samedi du Libre sur la messagerie - Le samedi 15 décembre 2018 de 09h00 à 12h00.

    Formation et partage de connaissance sur les points suivants 

    • Paramètres de base destinataires, objet, corps du message, pièce jointe 
    • Préférences personnelles
    • Règles de tri
    • Import/export du carnet d'adresses
    • Chiffrement des messages

    • Espace Argentine, 11 rue du Morvan, Beauvais, Hauts-de-France, France

    • Adresse web https://oisux.org

    • Tags
      linux, logiciels-libres, messagerie, mails, thunderbird, oisux

    [FR Biot] JM2L ~ 0x0b *** Annulation *** - Le samedi 15 décembre 2018 de 10h00 à 19h00.

    *** Annulation *** JM2L 2018 édition 0x0b

    Merci aux personnes qui ont eu la gentillesse de répondre favorablement

    à notre invitation.

    Ce n'est pas de gaieté de cœur que nous devons annuler les Journées

    Méditerranéennes des Logiciels Libres [JM2L] du samedi 15 décembre 2018,

    faute d'intervenants en nombre suffisant (même pas 10 inscrits, tous

    publics confondus) pour justifier les dépenses et motiver les bénévoles.

    Oyez… oyez, c'est la fête

    Relayez l'invitation au luxe de découvrir les projets, de rencontrer les passionnés des logiciels libres sous le ciel azuréen des Journées Méditerranéennes des Logiciels Libres [JM2L].

    Qui

    Vous, nous, la foule des visiteurs geeks, barbus ou princesses "auxpetits pois", soyez les bienvenus \o/

    Quoi

    Ateliers, stands, conférences, tables rondes, débats dans les escaliers ou sur les pelouses, à vous de décider

    Quand

    Samedi 15 décembre 2018 de 10 à 19 heures.

    Combien

    Comme toujours, entrée libre et gratuite, cela ne coûte pas un sou.

    Où ?

    École Polytech’Nice-Sophia, 930, route des Colles (site des Templiers)
    Biot - Sophia Antipolis - GPS Lat.: 43°61'56.9"N - Lon.: 7°0'71.95"E.

    Qu'est-ce qu'on mange

    Sur place pour les déjeuners et dans les restaurants à 2 petits pas pour les dîners.

    Staff

    Plein de gentils bénévoles du jour, souriants, détendus et accueillants.

    Inscrivez-vous, invitez vos amis et relations, chassez les trésors de conférenciers, meneurs d'ateliers et d'install-parties, standistes, covoitureurs, hébergeurs…
    +33 (0) 6 52 42 31 37 (oui, avec un 42 très chic et un L33T en vrac dedans pour faire encore plus geek).

    Vraiment, Linux C'est le luxe

    Salutations ensoleillées,

    [BE Liege] Café Crypté - ateliers d'autodéfense numérique - Le samedi 15 décembre 2018 de 13h30 à 17h30.

    Le Café crypté est un moment qui existe dans le but de comprendre et d'analyser les dangers du profilage commercial et de la surveillance généralisée sur internet et donc le droit à la vie privée.

    Mais aussi, le café crypté existe afin de partager, utiliser et créer collectivement des moyens de préserver nos libertés.

    Le Café crypté est ouvert à toutes et tous, militant.e.s ou non militant.e.s, quelles que soient les compétences informatiques de chacune et chacun. Il est, par contre, préférable de venir avec son ordinateur portable, smartphone ou tablette.

    Cet espace peut aussi servir pour vous installer un linux ou tester des OS libres.

    Les ateliers commencent à 13h30 et se terminent à 17h30, une discussion collective autour d'une thématique en particulier alimentera le début de l'atelier.

    Ateliers limités à 20 personnes, venez quand vous voulez, l'espace est ouvert.

    Informations alexandre@barricade.be

    [FR Marseille] Install Party GNU/Linux - Le samedi 15 décembre 2018 de 14h00 à 19h00.

    L’association CercLL (CercLL d’Entraide et Réseau Coopératif autour des Logiciels Libres) vous invite à une install party GNU/Linux, le samedi 15 décembre 2018 de 14h00 à 19h00, dans la salle du Foyer du Peuple 50 rue Brandis 13005 Marseille.

    Vous avez envie de découvrir un système d’exploitation libre, simple d’utilisation, stable, rapide et sécurisé. Une nouvelle façon d’utiliser votre ordinateur.

    Vous vous sentez une affection naissante pour le Gnou et le, les mascottes de GNU/ Linux.

    Au programme

    DÉCOUVERTE de l’univers des logiciels libres.

    INSTALLATION d’un environnement GNU/ Linux, ainsi que le meilleur des logiciels libres.

    Venez avec votre ordinateur, nous installerons ensemble une distribution GNU/Linux avec un ensemble de logiciels libres et gratuits pour une utilisation quotidienne.

    Ouvert à tous – accessible aux débutant-e-s

    Une participation de 2 euros est demandée.

    L’adhésion à l’association est de 20 euros annuelle.(L’adhésion n’est pas obligatoire).

    Plan d’accés

    [FR Saint-Cyr-l'École] Permanence Root66 - Le samedi 15 décembre 2018 de 14h00 à 17h00.

    Root66 vous propose une permanence Logiciels Libres le samedi 26 janvier

    La permanence se tiendra au Centre Pierre Semard à Saint-Cyr-l'École (à deux pas de la gare RER C)

    Dans cette permanence nous discuterons des logiciels libres, nous vous proposerons un accompagnement technique aux systèmes d’exploitation libres GNU/Linux, et cela afin de vous aider à vous familiariser avec.

    Le contenu s’adapte aux problèmes des personnes présentes et permet ainsi l’acquisition de nouvelles compétences au rythme de chacun.

    Programme:

    Vous pourrez y aborder plusieurs thèmes

    • Discussions conviviales entre utilisateurs autour de Linux en général
    • Premières explorations du système
    • Installations et configurations complémentaires
    • Mise à jour et installation de nouveaux logiciels
    • Prise en main, découverte et approfondissement du système

    Entrée libre et gratuite

    Sur place, l'adhésion à l’association est possible mais non obligatoire.

    Prochaine permanence

    [FR Rouen] Journée Mensuelle du Logiciel Libre - Le samedi 15 décembre 2018 de 14h00 à 18h00.

    Le samedi 15 décembre 2018, 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.

    On fera connaissance avec la toute dernière version de openSUSE, la openSUSE Leap 15, Gnome 3.26, LibreOffice 6.1 et beaucoup d’autres distributions Linux.****

    SUSE Linux Enterprise 12 SP4 (beta) sera aussi de la partie et comme vous le savez est la pièce maitresse de openSUSE Leap 15 et qui est maintenue par des ingénieurs SUSE.

    Nous distribuerons gracieusement des DVDs openSUSE 15 de 64 Bits à nos visiteurs dans la limite du stock disponible.

    Le Raspberry Pi 3 ainsi que les Raspberry Pi 2 seront aussi à votre disposition pour votre plaisir de coder

    On pourra discuter du Noyau 4.17.9, si le temps le permet.

    Voici aussi une liste des démonstrations de logiciels libres (FOSS) que nous vous proposerons
    https://nui.fr/blog/logiciels-libres-a-vous-proposer-comme-installation/

    Si vous voulez présenter une distribution Linux ou un logiciel libre, contactez-moi assez rapidement pour la logistique.

    Nous allons axer des sessions sur l’interopérabilité, de sorte de vous orienter vers une migration en douceur vers le logiciel libre. L'interopérabilité a toujours été notre fer de lance.

    STOP PRESSE Nous aurions des magazines à distribuer et couvrant openSUSE Leap 15 Linux si on nous livre à temps.

    [FR Ramonville-Saint-Agne] Faire son site associatif avec WORDPRESS - Le samedi 15 décembre 2018 de 14h00 à 18h00.

    Avec 29 de sites qui l’utilisent (chiffres de 2017), WordPress est l’un des CMS (Content Management System ou Système de gestion de contenu) les plus utilisés au monde. Logiciel libre, modulaire, mené par une vaste communauté, WordPress est maintenant devenu un outil incontournable qui a largement fait ses preuves.

    Nous allons vous montrer qu’avec cet outil, créer votre site web associatif, n’a rien de bien compliqué …

    Objectif: Détailler la rédaction d’articles et organiser le contenu de votre site
    Pré-requis: Posséder les notions de fichiers et de répertoires, savoir utiliser un navigateur Internet.

    : Apporter si possible sa machine personnelle, équipée d’une carte réseau filaire ou WiFi, et en état de marche. Nous pouvons vous prêter une machine, merci de nous le demander lors de l'inscription

    Inscriptions: L’atelier est gratuit comme d’habitude, mais nous vous demandons de vous inscrire au préalable https://le-pic.org/contact

    [FR Vandœuvre-lès-Nancy] Gérer ses photos - Le samedi 15 décembre 2018 de 15h00 à 17h00.

    Votre appareil photo est plein à craquer de clichés, vous ne savez pas comment les extraire judicieusement dans votre ordinateur

    Vous désirez pouvoir les retrouver facilement et profiter de quelques options d’améliorations basique tel que le recadrage ou la suppression des yeux rouges ****

    Alors n’attendez plus pour vous inscrire à cet atelier

    Inscription gratuite aux ateliers

    La participation aux animations repose sur un système d’inscriptions préalables qui permet de répondre de façon plus ciblée aux attentes des usagers et de les associer au projet.

    L'inscription est obligatoire au plus tard 30 min avant l’atelier.

    [FR Palaiseau] Apéro-rencontre Ğ1 (monnaie libre) - Le samedi 15 décembre 2018 de 15h00 à 19h00.

    Bonjour,

    Nous lançons une première rencontre pour les franciliens du sud de Paris (et les parisiens courageux) !) pour discuter de la monnaie libre Ğ1.

    Ce sera l’occasion de répondre aux questions de nouvelles personnes intéressées, d’échanger et de discuter de prochaines actions / rencontres / événements.

    N'hésitez pas à apporter vos produits à vendre en Ğ1, ou à présenter les services que vous offrez ou connaissez l'idée est de faire utiliser la monnaie en pratique, même aux nouveaux

    En espérant vous voir ce 15 décembre.

    [FR Vire] Atelier libre - Le samedi 15 décembre 2018 de 16h00 à 19h00.

    Atelier libre ouvert à tous. Venez découvrir, échanger et poser vos questions sur des logiciels ou services libres lors de cet atelier.

    Un focus rapide sera présenté à 17h sur un thème spécifique préparé par un bénévole de l’association.

    [FR Montpellier] Bricolotech Grappe de bureau / Desktop Cluster - Le dimanche 16 décembre 2018 de 18h30 à 20h00.

    Ce projet consiste a créer un cluster à partir de dev board. Rien de nouveau, c’est vrai, encore que… La nouveauté est dans l’utilisation.

    Nous allons partir de matériel et logiciels entièrement libres afin de créer un PC entièrement libre.

    Définition du projet
    L’idée est de dénicher un PC entièrement libre. Peu importe la puissance de l’engin, il faut qu’il soit libre, c’est à dire qu’il n’ai aucun secret.

    Qu’aucun binaire ne soit indispensable à son fonctionnement, pas d’IME, pas d’AMT, pas de BIOS complexe et fermé.

    Un PC simple qui permet de naviguer sur le web, faire des travaux multimédia, interfacer avec des périphériques externes et autres composants type microcontrôleurs par exemple.

    Avec un peu de puissance de calcul pour la compilation.

    Si nous ne voulons pas de binaire, il nous faut de la puissance nécessaire pour compiler les sources.

    Il existe des boards de dev plus ou moins chères et plus ou moins libres en assemblant ces dernières nous pourrons ainsi obtenir mon PC suffisamment puissant et entièrement libre.

    Quel matériel nous pouvons utiliser :

    1. L’Orange Pi PC (v1) semble un bon candidat pour du lowcost
    2. La libre computer board, avec 1GB ou 2GB de ram
    3. L’humming board, parfait pour ceux qui ont les moyens, la board est libre sans bidouille.

    Pourquoi les Logiciels Libres :
    Pourquoi s’obstiner avec les sources et le logiciel libre Pour

    1. Refuser l’obsolescence programmée
    2. Pouvoir mettre fin au chantage lié aux données personnelles
    3. Être capable de s’assurer que le matériels et les logiciels que nous utilisons font bien ce qu’ils sont sensés faire.
    4. Réduire la fracture technologique en permettant à chacun de s’intéresser au fonctionnement de ce qui inonde notre quotidien.
    5. Faciliter l’amélioration continue, chacun peut apporter selon son envie, son internet, ses possibilités.

    Vendredis 9, 16, 23 et 30 novembre 2018 de 18h30 à 20h00 (tous les vendredis)
    Do Tank au 2, rue du Pavillon, 34000 Montpellier

    Télécharger ce contenu au format Epub

    Commentaires : voir le flux atom ouvrir dans le navigateur

    Catégories: Les actus

    Systèmes d'exploitation pour téléphones. Partie 1 : Premières initiatives ☎😍

    ven, 07/12/2018 - 22:43

    Voici la première dépêche d'une série sur les systèmes d'exploitation (plus ou moins) libres pour téléphones. Dans les années 90, nos téléphones n'étaient pas libres. Mais, au début des années 2000, des libristes s'organisent et une multitude d'initiatives apparaissent. Remémorons-nous ces bons vieux projets des débuts. C'était aussi la mode des GIF animés 🐧

    Qui pourrait se passer de son téléphone ? Celui-ci devient de plus en plus puissant, remplaçant souvent l’ordinateur. Ainsi, 17 % des français possédaient un smartphone en 2011 et 73 % en 2017. [réf] Mais avons-nous le contrôle sur notre téléphone ? Acheter un ordinateur avec un OS libre est plutôt facile. Et pour libérer nos téléphones ?

    [NdM] : cette dépêche est publiée sous licence CC BY-SA 3.0

    Sommaire Introduction

    Initialement, nous avions prévu une seule dépêche. Mais, au fur et à mesure de sa rédaction (2000 révisions en deux ans), cette longue dépêche était devenue trop volumineuse pour être digérée en une seule fois. Alors, nous l'avons découpé en petites bouchées :

    1. Les premières initiatives ☎😍     ← Vous êtes ici
    2. La lignée de Maemo à Nemo 🔒
    3. Le libre sur la planète Android 🤖💚
    4. La saga Firefox OS 🦊🚀
    5. Ubuntu pour unifier ordinateur et téléphone 🖥️📲
    6. Les récents projets qui risquent de chambouler le monde 🌍
    7. Une synthèse des commentaires de toutes ces dépêches 🤷

    Mais si ton estomac est coriace, nous avons aussi tout regroupé dans un article disponible sur deux dépôts Git : Framagit et GitHub.

    Une fois publiée, une dépêche sur LinuxFr.org est rarement modifiée. Alors, aide nous dans la rédaction des dépêches à venir. 📳💟 Sinon, ce n'est pas trop tard, tu peux toujours proposer tes idées d'amélioration sur les dépôts Git avec ta poule ricouestte. 🐔

    Qtopia Phone Edition

    • 1991, deux norvégiens commencent à coder une bibliothèque graphique en C++ batisée quelques années plus tard Qt qui signifie Q toolkit (la boite à outils Q) et se prononce cute (mignon) ;
    • 1995, Trolltech publie Qt-0.90 avec, pour la première fois, son code source et prend en charge X11 et Windows ;
    • 1997, Matthias Ettrich démarre l'ambitieux environnement de bureau KDE en choisissant Qt, apportant à cette bibliothèque une immense publicité (pourtant Qt n'était pas libre à cette époque) ;
    • 2000, Trolltech publie Qt-2.2 et lance le projet Qt/Embedded ;
    • 2003, Trolltech lance Qtopia Phone Edition, un système d’exploitation complet (sous Linux) incluant l'environnement graphique et ses applications ;
    • 2006, Trolltech décompose Qt/Embedded en QWS et Qtopia Core qui équipent, à l’époque, un million d’appareils (une dizaine de modèles de téléphones et une trentaine d’autres types d’appareils) ;
    • 2007, Trolltech commercialise le Greenphone (en), un téléphone sous Linux pour faire la promotion de Qtopia (les derniers logiciels prorio deviennent libres à partir de Qtopia-4.3) ;
    • 2008, suite au rachat par Nokia (100 millions €), Trolltech devient sa filiale Qt Software, et le projet Qtopia est renommé en Qt Extended ;
    • 2009, abandonné par Nokia, le projet Qt Extended est repris par la communauté sous le nom de Qt Extended Improved (QtEI).
    Qtopia (Trolltech) | Symbian^1 ▼ Symbian^2 ◀──▶ Qt Symbian^3 Extended (Nokia) (Nokia) | ▼ QtEI (Communauté)

    Pour l’anecdote, après avoir dissout la société norvégienne Trolltech Qt Software (2010), Nokia revend Qt à Digia (2012). Cette dernière recrée à nouveau la société, mais en Finlande (2014), puis l'introduit en bourse sous le nom de Qt Group (2016).

    Vidéo : 41 secondes pour se faire une idée du Qtopia Greenphone (2007)

    OPIE

    • 2002, OPIE (Open Palmtop Integrated Environment) naît de la bifurcation (fork) de Qtopia ;
    • 2013, le projet n’a presque plus d’activité ;
    • 2014, le dernier développeur, Paul Eggleton (bluelightning) réalise les derniers des 12 000 commits en 12 ans ;
    • 2015, le code source est migré sur GitHub pour la prospérité.
    Qtopia ─▶ OPIE (Trolltech) (Communauté) | ▼ Qt Extended ─▶ QtEI (Nokia) (Communauté)

    OPIE n’est pas un système d’exploitation, mais, tout comme G(PE)2, il est un environnement graphique complétée par 80 applications. OPIE est basée sur Qt, au contraire de G(PE)2 qui est basé sur GTK+.

    OPIE a souvent été utilisé sur un système d’exploitation libre comme Familiar Linux (2001-2007), OpenZaurus (2002-2006) et Ångström (2007-2018). Ce sont des systèmes d’exploitation conçus à l'origine pour PDA et ordinateur de poche mais peuvent aussi équiper des téléphones.

    Vidéo : OPIE avec Ångström sur un Sciphone G2 en 2011 (3 minutes)

    GPE Phone Edition

    • En 2001, Nils Faerber annonce le projet GPE (sigle récursif pour GPE Palmtop Environment) pour offrir une interface graphique et des applications aux PDA de l’époque. GPE utilise GTK+ et fournit toutes les applications de bases qui sont écrites essentiellement en C ;
    • En 2006, l'équipe GPE crée le projet GPE Phone Edition aka G(PE)² pour les téléphones ;
    • En 2008, l'initiative G(PE)2 est abandonnée après 1500 commits en deux années ;
    • En 2013, le projet GPE devient inactif après 9000 commits et 11 années d’activité.

    G(PE)2 est un environnement graphique (applications), le concurrent communautaire de OPIE. Tous deux nécessitent un système d’exploitation comme Familiar Linux (2001-2007), OpenZaurus (2002-2006) et Ångström (2007-2018). GPE fonctionnait avec ces systèmes d’exploitation sur PDA et ordinateur de poche. G(PE)2 était adapté aux téléphones, et utilisait probablement la distribution GNU/Linux Ångström.

    Vidéo : Démarrage d'une distribution GNU/Linux avec GPE-2.7 sur un iPAQ avec Windows Mobile 5, probablement en utilisant HaRET (1 minute et demi, 2007)

    DeforaOS

    En 2004, Pierre Pronchery (khorben), en stage d'école d'ingénieur, commence à travailler sur le projet DeforaOS.

    Pierre explique que le but est de proposer un environnement natif basé sur Debian et GTK+, pour différents matériels capables de démarrer un système alternatif. Le développement continue mais au ralenti car :

    • Pas de financement durable ;
    • Plus de matériel de référence pour la téléphonie libre ;
    • Peu d’engouement pour GTK+ par rapport à Qt ;
    • Outils disponibles sous Linux décevant comparativement à ceux sur NetBSD.

    Pierre est toujours prêt à travailler avec une équipe pour proposer une alternative à Android et iOS. Mais cela implique un budget à 7 chiffres…

    Vidéo : Conférence de DeforaOS : un voyage dans le développement d'un OS (1 heure) par Pierre Pronchery (enregistrée par l'association MiNET en 2018)

    OpenWifiPhone

    En 2005, Miko et Oliver créent le projet OpenWifiPhone pour développer sur leur temps libre un téléphone 100 % logiciel libre. Le protocole GSM n’étant pas encore pris en charge par le noyau Linux, ils utilisent un SoC ARM spécialisé VoIP Wi-Fi fourni par un fondeur qui espérait que ce type de téléphones puissent remplacer les DECT.

    C’était aussi le début des réseaux Wi-Fi communautaires (Réseau citoyen, France Wireless…). Le logiciel grenoblois Linphone avec Speex permettait déjà des appels téléphoniques SIP. Des opérateurs commençaient aussi à installer des bornes Wi-Fi (hotspot), un bouillonnement…

    Mais en 2008, les deux amis ont dû déménager dans des villes différentes, puis baisse de motivation et, en plus, les téléphones Wi-Fi ne percent pas.

    La famille OpenMoko

    • 2006
    • 2007, dark_moule nous prévient de la vente des 1000 prototypes Neo 1973 (300$ et 450$) ;
    • 2008, dark_moule nous annonce son successeur, le Neo FreeRunner, disponible à 330 € chez Bearstech ;
    • 2008
      • swap38 crée le site francophone openmoko-fr.org ;
      • Publication de SHR, distribution GNU/Linux basée sur FSO et compatible avec les téléphones GTA ;
      • Publication d’une autre distribution FDOM (Fat and Dirty OpenMoko) ;
    • 2009
      • L'agence spatiale allemande envoie dans l'espace un Neo FreeRunner pour étudier le comportement en conditions extrêmes d'un appareil grand public, notamment de son accéléromètre (le Neo FreeRunner est choisi car il est libre et ne cache pas son fonctionnement interne permettant d'apporter la preuve scientifique) ;
      • Openmoko arrête le développement de ses téléphones pour cause de financement insuffisant ;
      • Harald Welte avec la communauté maintiennent le code source et le site openmoko.org ;
      • publication de la distribution Hackable:1 pour téléphones ;
    • 2010, publication de QtMoko avec le portage de l’environnement Qtopia sur OpenMoko ;
    • 2012, création de OpenPhoenux (OPEN PHOnE liNUX) pour fédérer les communautés, les logiciels et fabrication de matériels libres (open-hardware) et devient tinkerphones en 2016 ;
    • 2017
    OpenMoko (Openmoko Communauté) _________|_________ | | | | | | FDMO | | ... | | | | Hackable:1 | SHR QtMoko Hackable:1

    En 2009, Pierre Pronchery (khorben) intègre la société Bearstech, puis crée avec d'autres la distribution Hackable:1 pour fournir une Debian avec GNOME Mobile.

    En 2010, une dizaine de personnes travaillent sur Hackable:1.

    En 2012, le projet est progressivement abandonné.

    Vidéo : 5 secondes de Hackable:1 (2009)

    SHR

    La distribution GNU/Linux SHR, qui signifiait à l'origine Stable Hybrid Release réutilise le travail d'Openmoko. Initialement créée en 2007 pour combiner GTK+ et le nouveau intergiciel (middleware) freesmartphone.org (FSO) créé par Openmoko, SHR a beaucoup évolué et les applications graphiques se basent de préférence sur les Enlightenment Foundation Libraries (EFL), mais peuvent aussi utiliser GTK+ ou Qt. Pour uniformiser la communication entre les applications, la communication entre les différentes couches du système utilise l’interface D-Bus.

    La construction de l’image (ROM) utilise OpenEmbedded et le gestionnaire de paquets opkg.

    SHR se veut flexible, et il peut être installé entre autres sur les téléphones Openmoko Neo Freerunner, Goldelico OpenPhoenux (GTA04) et Nokia N900. Très appréciée, la distribution était en 2010 la plus utilisée pour les téléphones Openmoko.

    En 2010, le projet Yocto apparaît et SHR s'adapte pour en profiter : les couches shr-core et meta-smartphone apparaissent, et le rythme de sortie se cale sur celui de Yocto.

    Depuis 2013, SHR est globalement inactif. Cependant la couche meta-smartphone, réutilisée par LuneOS, est toujours maintenue.

    En 2017, la branche « shr » du dépôt meta-smartphone est finalement supprimée.

    En 2018, la branche master du dépôt meta-smartphone est toujours très active, notamment grâce aux distributions LuneOS et AsteroidOS qui y contribuent.

    Vidéo : Démarrage de SHR sur GTA04 en 17 secondes, une prouesse ! (2012)

    QtMoko

    En 2009, Nokia, alors dirigé par un ancien de chez Microsoft, abandonne le projet Qt Extended, anciennement Qtopia (code source). Immédiatement, la communauté s'organise et créé la bifurcation (fork) Qt Extended Improved (QtEI). Dans la continuité du dépôt Git de QtEI commence le projet QtMoko pour unifier le meilleur des projets communautaires QtEI et OpenMoko, notamment sur le portage vers Debian. Une première version est même publiée la même année.

    Qtopia ───▶ OPIE (Trolltech) (Communauté) | | OpenMoko | (Communauté) ▼ | Qt Extended | (Nokia) | | ▼ QtEI ─▶ QtMoko (Communauté)

    Bien que OPIE et QtMoko soient issus du même ancêtre Qtopia, les deux projets ne sont pas compatibles, et donc les applications OPIE ne peuvent être réutilisées sous QtMoko. Chacun développe dans son coin !

    L'environnement graphique Qtopia étant sous licence GPL, toutes les applications fournies doivent également être sous la même licence. Cette limitation a pour origine le modèle économique de Trolltech qui vendait une licence commerciale (non-libre). Aucune entité n'étant propriétaire de l'ensemble du code source, ce n'est plus possible de s'arranger afin de fournir une application non-libre ou avec une licence incompatible avec la GPL. Ce qui peut être vu comme un avantage pour les libristes et ceux qui sont soucieux de leur vie privée, mais aussi comme un inconvénient pour ceux qui souhaitent inciter les entreprises/développeurs à proposer leurs applications non-libres ou avec d'autres licences libres. Lire le troll quand Nokia a passé une partie de Qt sous licence LGPL en 2009.

    Cependant en 2014, Radek Polak, le dernier développeur, se décourage à cause, entre autres, de la consommation élevée de la batterie quand le téléphone est en veille.

    Néanmoins, neuf mois plus tard, c'est la renaissance du projet. Nikolaus Schaller, fervent défenseur du libre et fondateur de Golden Delicious crée la bifurcation (fork) QtMoko2. Cela tombe bien, sa société conçoit des téléphones libres comme le GTA04 et le neo900. ^_^

    Vidéo : Démo QtMoko sur GTA02 (3 minutes, 2011)

    Symbian

    Voici l’histoire de l’ouverture-fermeture du code source de Symbian OS entre 2008 et 2011 :

    • Avant 2005 : Symbian est né d'un partenariat entre la société Psion, éditeur du logiciel Epoc 32, et les sociétés Nokia, Ericsson, Motorola et Matsushita. Selon Wikipedia il dispose de nombreuses API spécifiques pour la communication mobile voix et données, et utilise des protocoles standard de communication réseau : IPv4/IPv6, WAP, MMS, Bluetooth, GPRS/UMTS, Java, SyncML, …
    • En 2005, Nokia travaille sur Maemo, un nouveau système d’exploitation pour ses ordiphones (tablettes, smartphones, …), mais celui-ci n’est pas encore suffisamment mature, alors Nokia continue de commercialiser ses produits phares (flagship) avec Symbian (jusqu’en 2010) ;
    • En 2006 : toujours selon Wikipedia : plus de 100 millions de téléphones et de smartphones (comme les excellents Nokia E71 et E72) ont été vendus. L'Europe est, à cette époque, la figure de proue du domaine.
    • Nov. 2007, Google crée l'Open Handset Alliance (OHA) réunissant 34 partenaires pour promouvoir Android (84 entreprises en 2018) ;
    • Jan. 2008, Nokia s’inquiète du modèle économique open source de Android et rachète Trolltech pour 100 millions face à Google qui annonce le Android Developer Challenge pour distribuer 10 millions aux développeurs des meilleures applications Android ;
    • Juin 2008, Nokia, toujours inquiet, rachète Symbian afin d’ouvrir le code source et de créer la Symbian Foundation (en) à l’instar de l’OHA ;
    • En 2009, le noyau de Symbian^1 est libéré, puis Symbian^2 contient davantage de code libre ;
    • Fév. 2010, tout le code source de Symbian^3 est sous licence EPL comme pressenti par Raphaël SurcouF ;
    • Deux semaines plus tard, Nokia présente au MWC un installateur d’applications Qt pour téléphones Symbian comme le Nokia N97, le Nokia 5800 et le Nokia E72 très apprécié par zarbatrip ;
    • Oct. 2010, le Nokia N8 est le dernier smartphone phare (flagship) sous Symbian ;
    • Fév. 2011, le nouveau PDG de Nokia (ancien Microsoft) choisit Windows Phone pour le haut de gamme, dissout la Symbian Foundation et ferme le code source de Symbian.
    Qtopia (Trolltech) | Symbian^1 ▼ Symbian^2 ◀──▶ Qt Symbian^3 Extended (Nokia) (Nokia) | ▼ QtEI (Communauté)

    Le SDK était complexe à mettre en œuvre et il fonctionnait uniquement sous Windows avec des outils assez mal empaquetés (packagés). Les applications étaient codées en C++ avec Qt, mais aussi, dans une moindre mesure, en Java (J2ME) et en Python. Des morceaux de Symbian sont réutilisés dans d’autres projets comme Qt Extended et Maemo. Un peu de ce code source originel subsiste dans l’ADN des descendants (MeeGo, Mer, Sailfish, Nemo) qui sont également en C++ et Qt.

    Vidéos de 2010 pour se faire une idée de la progression entre Symbian^1 (Nokia C3) et Symbian^3 (Nokia N8) :

    1. https://youtu.be/UJNYqnnWPvw (7 minutes)
    2. https://youtu.be/GDnvqp_MYH8 (6 minutes)
    3. https://youtu.be/Rub7BDoduKw (5 minutes)
    4. https://youtu.be/GmKFzaDfhTo (6 minutes et demi)
    De Palm OS à LuneOS 🌜🌠

    • 1996, sortie de Palm OS avec les PalmPilot 1000 et 5000 (en) ;
    • 2002, la société PalmSource est créé pour développer/commercialiser Palm OS et devient indépendante de Palm l’année suivante ;
    • 2004, malgré les améliorations apportées, PalmSource n’arrive toujours pas à commercialiser Palm OS et décide de développer un successeur basé sur Linux ;
    • 2006, Palm arrive à récupérer les droits sur Palm OS et PalmSource annonce l'arrivée prochaine du successeur ;
    • 2007, PalmSource publie ACCESS Linux Platform, une distribution GNU/Linux (GTK+, GStreamer, BlueZ, matchbox, cramfs…) pour succéder à Palm OS mais les deux téléphones qui devaient être commercialisés sont annulés ;
    • 2008, Palm travaille sur Nova basé sur Linux pour succéder à Palm OS ;
    • 2009, Palm commercialise le smartphone Palm Pre équipé de Nova renommé en webOS, premier successeur de Palm OS à équiper un produit grand public ;
    • 2010, HP rachète Palm pour 1 milliard dans l’objectif d’équiper ses appareils avec webOS (même pour ses imprimantes) ;
    • 2011, HP abandonne finalement l’idée de commercialiser ses produits avec webOS, puis décide de collaborer avec la communauté libre ;
    • 2012, HP publie Open webOS avec 450 000 lignes de code sous licence Apache 2.0 ce qui permet à la communauté webOS-ports de poursuivre le développement ;
    • 2013, LG rachète à HP les droits sur webOS pour équiper ses téléviseurs connectés ;
    • 2014, la communauté webOS-ports publie LuneOS issue de Open webOS avec une base Android ;
    • 2018, LG crée webOS OSE (Open Source Edition) et propose une collaboration à double sens avec LuneOS.
    Palm OS (Palm) | Palm OS (PalmSource) ___|___ | | webOS ALP (Palm) (PalmSource) | webOS (HP) \ | \ | Open webOS webOS (HP + Communauté) (LG) \ \ | \ \ |webOS OSE ◀─▶ LuneOS | (LG) (Communauté) | | | | | | ··· ··· ···

    LuneOS n'est pas un ancien projet, il est plutôt récent. Mais il est présenté dans cette première partie pour ses racines qui remontent aux années 90. Son nom provient de l’interface graphique Luna, héritage d'un long processus de maturité et souvent copié.

    Pour pouvoir fonctionner sur du matériel récent, LuneOS réutilise les couches basses du projet LineageOS, dont les pilotes (driver) d’Android. C'est le projet Halium qui fédère ces couches basses avec les différents systèmes d'exploitation. À part certains blobs issus des pilotes Android, tout le reste est sous licence Apache 2, MIT, GPL et LGPL.

    Ainsi nous profitons de l'ergonomie intuitive issue de webOS sur des mobiles récents.   \o/   Une petite dizaine d'appareils sont déjà pris en charge officiellement dont les Nexus 4 et 5, les Xiaomi Mi A1, Redmi 5, Note 4x et aussi les Raspberry Pi 2 et 3. L'équipe webos-port privilégie les téléphones avec un bon rapport qualité/prix, une forte communauté et un bootloader déverrouillable. Historiquement, c'était les Nexus, mais depuis que Google a monté en gamme avec les Pixel, l'équipe webos-port s'est rabattue sur les téléphones Xiaomi.

    LuneOS, tout comme pour SHR, utilise OpenEmbedded pour la construction de ses paquets. De plus, comme SHR était déjà installable sur les téléphones HP Palm Pre, Pre Plus et Pre2, LuneOS réutilise également une partie du projet.

    Tout comme pour les projets Mer, Sailfish OS et Nemo mobile, les applications natives de LuneOS utilisent généralement la bibliothèque graphique Qt qui profitent de l'accélération matérielle avec QtWayland. D'ailleurs, l'équipe webos-ports collabore avec le projet Mer, car certaines briques de Mer sont réutilisées dans LuneOS, comme la gestion de la téléphonie.

    En mars 2018, à la surprise générale, LG publie [1],[2] webOS OSE (Open Soure Edition) afin d'inciter d'autres constructeurs à utiliser ce système d'exploitation dans leurs produits. Cette ouverture permet à webOS OSE de bénéficier des innovations apportées par la communauté webos-port, mais aussi de partager les améliorations et corrections de webOS OSE vers LuneOS.

    En juin 2018, des représentants de LG et de webos-port se rencontrent à Paris pour mieux collaborer et choisissent le Xiaomi Mi A1 (en) comme base commune (et non pas un des téléphones LG). LG compte beaucoup sur son système d'exploitation et met à jour sa feuille de route (roadmap) régulièrement (en).

    Le 28 novembre 2018, la publication de la version majeure LuneOS Doppio améliore le Bluetooth (passage de BlueZ4 à BlueZ5 et mutualise davantage son code source avec le projet Halium (en).

    L’équipe webos-port est constituée d’une vingtaine de personnes et a besoin d’aide :

    • coder/tester les applications natives ;
    • remplacer les composants de Open webOS par ceux de webOS OSE ;
    • réparer l’image VirtualBox qui ne fonctionne plus avec les versions récentes de Mesa ;
    • migrer vers Yocto Sumo/Thud ;
    • améliorer les messages, la caméra ;
    • prendre en charge à nouveau le GSM du Touchpad 4G (seul le WiFi fonctionne) ;
    • corriger la régression sur Node-SQLite3 ;
    • corriger les régressions du clavier virtuel ;
    • corriger les régressions sur certains appareils et en prendre d'autres en charge.

    Ainsi, LuneOS, s'améliore progressivement et un jour une nuit, des téléphones seront peut-être vendus avec LuneOS préinstallé… lors de la pleine lune…

    Pour en savoir plus, Christophe Chapuis nous présente régulièrement le projet LuneOS dont il est contributeur :

    Vidéo : Démo de 5 minutes de l'application LuneTube version 0.2.0 (2016). Aujourd'hui (2018), cette application en JavaScript a beaucoup mûri et en est à la version 0.5.3.

    Conclusion

    Ceci n’est pas le chapitre conclusion. 😮

    Ah, mais elle est où la conclusion ? 🤔

    Ben… dans les commentaires ! 😜

    Et oui, chacun à son avis : les échecs, les spéculations, les succès, le positif…

    Restons bienveillants dans nos réactions : même si nos arguments sont différents, nous sommes tous globalement d’accord pour avoir davantage de contrôle sur nos téléphones, pas besoin d’utiliser des mots agressifs. 😘 😍

    Un rappel des projets que nous venons d’aborder par ordre de date de première publication du code source :

    • 2000, Qtopia, bibliothèque graphique Qt pour l’embarqué ;
    • 2001, GPE, environnement GNOME allégé avec ses applications ;
    • 2002, OPIE, bifurcation de Qtopia par la communauté avec des applications ;
    • 2003, Qtopia Phone Edition, distribution GNU/Linux pour téléphone ;
    • 2004, DeforaOS, distribution GNU/Linux pour appareils mobiles ;
    • 2005, OpenWifiPhone, distribution GNU/Linux pour téléphones Wi-Fi ;
    • 2006, GPE Phone Edition, adaptation de GPE pour téléphones ;
    • 2007, ACCESS Linux Plateform, distribution pour succéder à Palm OS (1996) ;
    • 2007, OpenMoko, distribution GNU/Linux pour téléphones ;
    • 2008, SHR, distribution GNU/Linux pour téléphones ;
    • 2008, Symbian^1, le système d’exploitation le plus utilisé par les téléphones de l’époque ;
    • 2009, Hackable:1, distribution GNU/Linux pour téléphones ;
    • 2010, QtMoko, fusion de OpenMoko avec l’environnement Qtopia ;
    • 2012, Open webOS, libération de webOS (un autre successeur de Palm OS) ;
    • 2014, LuneOS, fusion de Open webOS avec une base Android ;
    • 2014, QtMoko2, renaissance du projet QtMoko par la société allemande Golden Delicious (en) ;
    • 2018, LG publie webOS OSE et des mutualisations possibles avec LuneOS.

    Parmi ces projets libres, quatre sont toujours actifs : DeforaOS, QtMoko2, LuneOS et webOS OSE.

    Afin de se concentrer sur les téléphones et leurs environnements applicatifs, nous n’avons pas abordé les distributions GNU/Linux comme Familiar Linux (2001-2007), OpenZaurus (2002-2006), Ångström (2007-2018) et Poky (en). Ni les systèmes de construction d’image (ROM) comme OpenEmbedded (en) et Yocto (en). Ni les serveurs graphiques comme PicoGUI (en) et TinyX-KDrive (en). Et nous n’avons pas non plus abordé les suites applicatives comme Pimlico (en).

    Le projet OsmocomBB (2010) est postérieur à la période du début des années 2000, et cette première dépêche est déjà assez longue. Nous en parlerons dans la partie 6.

    Appel à participation

    Tu as aimé cette épopée entre logiciels libres et téléphones, cette tumultueuse aventure agrémentée de liens vers des articles LinuxFr.org, témoignages à jamais gravés dans le marbre, reflets de nos enthousiasmes, nos déceptions et nos espérances.

    Pour nous aider à continuer :

    • Indique nous dans les commentaires tes idées pour aider ces projets, du moins ceux qui te tiennent à ♥ ;
    • Si tu souhaites améliorer les articles Wikipédia, sache que cette dépêche a été spécialement publiée sous licence CC BY-SA 3.0 car Wikipédia hésite à passer à la 4.0 depuis deux ans ;
    • D’autres dépêches de cette série d’articles sont peut-être encore en cours de rédaction, tu peux nous rejoindre dans l’espace de rédaction ;
    • Une autre ambitieuse dépêche se prépare également : Quel téléphone mobile en 2019 ?

    Note que pour limiter le pourriel (spam), tu dois te créer un compte pour accéder à l’espace de rédaction. Tu peux aussi jeter un œil sur comment participer à LinuxFr.

    Une dernière vidéo pour patienter d'ici la prochaine dépêche : Les OS mobiles alternatifs par Lionel Duboeuf en mai 2018 (1 heure). Le support de présentation est disponible sous licence libre aux formats ODF et PDF.

    Télécharger ce contenu au format Epub

    Commentaires : voir le flux atom ouvrir dans le navigateur

    Catégories: Les actus

    Les journaux LinuxFr.org les mieux notés de novembre 2018

    ven, 07/12/2018 - 22:38

    LinuxFr.org propose des dépêches et articles, soumis par tout un chacun, puis revus et corrigés par l'équipe de modération avant publication. C'est la partie la plus visible de LinuxFr.org, ce sont les dépêches qui sont le plus lues et suivies, sur le site, via Atom/RSS, ou bien via partage par messagerie instantanée, par courriel, ou encore via médias sociaux.

    Ce que l’on sait moins, c’est que LinuxFr.org vous propose également à tous de tenir vos propres articles directement publiables, sans validation a priori des modérateurs. Ceux-ci s'appellent des journaux. Voici un florilège d'une dizaine de ces journaux parmi les mieux notés par les utilisateurs… qui notent. Lumière sur ceux du mois de novembre passé.

    Télécharger ce contenu au format Epub

    Commentaires : voir le flux atom ouvrir dans le navigateur

    Catégories: Les actus

    Émission « Libre à vous ! » du 4 décembre 2018 — Podcast et références

    ven, 07/12/2018 - 18:23

    La septième émission Libre à vous ! de l’April a été diffusée sur la radio Cause commune, mardi 4 décembre 2018. Au programme : logiciels libres et monde associatif, Libre en Fête 2019, Paris Open Source Summit et diverses annonces.

    Le podcast est disponible, ainsi qu’une page qui liste toutes les références citées pendant l’émission (vous trouverez également sur cette page les podcasts par sujet traité). L’émission dispose d’un flux RSS compatible avec la baladodiffusion auquel vous pouvez vous abonner, ainsi qu’un salon dédié à l’émission sur le webchat de la radio.

    L’ambition de Libre à vous ! est d’être une émission d’explications, d’échanges et d’actions concernant les dossiers politiques et juridiques que l’April traite et les actions qu’elle mène. Une partie de l’émission sera également consacrée aux actualités et actions de type sensibilisation.

    Libre à vous ! est actuellement une émission mensuelle. Pour pouvoir traiter encore plus de sujets, être réactif par rapport à l’actualité j’ai le plaisir de vous annoncer que l'émission deviendra hebdomadaire à partir du 8 janvier 2019. Elle sera diffusée chaque mardi de 15 h 30 à 17 h 00.

    La prochaine émission sera diffusée en direct sur la bande FM en Île‐de‐France (93,1 MHz) et sur le site Web de la radio mardi 8 janvier 2019, de 15 h 30 à 17 h 00.

    La radio a besoin de soutien financier pour notamment payer les frais matériels (loyer du studio, diffusion sur la bande FM, serveurs…). Nous vous encourageons à aider la radio en faisant un don.

    Télécharger ce contenu au format Epub

    Commentaires : voir le flux atom ouvrir dans le navigateur

    Catégories: Les actus

    git-bug: un bug tracker distribué intégré dans git

    jeu, 06/12/2018 - 11:51

    À l'occasion de la sortie de la version 0.4 de git-bug, je me suis dit que je pourrai te raconter un peu de quoi il retourne. git-bug est un gestionnaire de bugs distribué intégré dans git.

    git-bug est un bug tracker distribué intégré dans git, c'est-à-dire que l'ensemble des données des bugs est stocké sous forme d'objet git, sans polluer les branches et fichiers normaux. Mais pour quoi faire ? Et bien par rapport à un bug tracker classique, il y a plusieurs avantages :

    • pas de dépendance à un service en particulier (par exemple si ton bugtracker préféré se fait racheter par tousse Microsoft tousse) ;
    • pas besoin d'infrastructure particulière : si tu utilises déjà un remote git pour collaborer, tu as un bugtracker ;
    • tu peux consulter et éditer les bugs hors-ligne, avec l'interface que tu préfères, sans latence.

    Mais alors, comment on fait un bug tracker distribué ? Le plus gros problème c'est la gestion des conflits. Comment faire si Alice et Bob modifient le même bug et s'échangent les données ensuite ?

    La solution choisie, plutôt que de stocker simplement l'état d'un bug, est de stocker chaque opération d'édition individuellement.

    +-------------+ +-----------+ +-------------+ +--------+ * --->| ADD_COMMENT |--->| SET_TITLE |--->| ADD_COMMENT |-->| CREATE | +-------------+ +-----------+ +-------------+ +--------+

    Quand une fusion doit avoir lieu, l'une des deux versions voit ses nouvelles opérations placées à la fin de la chaine, à la manière d'un rebase. On a donc la garantie d'avoir un état final cohérent puisque c'est git-bug qui dérive l'état final de la chaîne d'opérations. Mais que se passe-t-il si deux personnes suppriment la même étiquette ? Elle sera simplement supprimée une fois et l'action des deux personnes sera visible dans l'historique.

    Voilà à quoi pourrait ressembler une opération :

    { "type": "SET_TITLE", "author": { "name": "René Descartes", "email": "rene.descartes@example.com" }, "timestamp": 1533640589, "title": "This title is better" }

    Ces opérations sont ensuite sérialisées et stockées dans des blob git et reliées dans une chaîne de commits. Chaque bug a sa propre chaîne de commits, accessible via une référence git. À chaque fois que le bug est modifié, une nouvelle série d'opérations est ajoutée à la chaîne et la référence est mise à jour.

    refs/bugs/<bug-id> | | v +-----------+ +-----------+ "ops" +-----------+ | Commit |--->| Tree |---------+----------->| Blob | (OperationPack) +-----------+ +-----------+ | +-----------+ | | | | v | "root" +-----------+ +-----------+ +-----------+ +----------->| Blob | (OperationPack) | Commit |--->| Tree |-- ... | +-----------+ +-----------+ +-----------+ | | | | | "media" +-----------+ +-----------+ v +----------->| Tree |---+--->| Blob | bug.jpg +-----------+ +-----------+ +-----------+ | +-----------+ | Commit |--->| Tree |-- ... | +-----------+ +-----------+ | +-----------+ +--->| Blob | demo.mp4 +-----------+

    Comme tout est stocké sous forme d'objet git, on peut pousser tout ça vers un remote et collaborer, comme si on s'échangeait du code source.

    Une autre propriété intéressante de la méthode, c'est qu'on peut stocker et lier les médias (typiquement, une capture d'écran) à un bug et les diffuser de la même façon.

    Alors, à quoi ça ressemble tout ça ? Et bien ça dépend des goûts. Si tu préfères la ligne de commande, le scripting ou intégrer ça dans ton Vim, c'est possible. Voilà un aperçu:

    # Ajouter un nouveau bug git bug add # Liste les bugs ouverts, trié par dernière édition git bug ls "status:open sort:edit" # Affiche l'état du bug f3781aee git bug show f3 # Selectionne le bug f3781aee parce que je sais bien que tu es un peu flemmard git bug select f3 # Ajoute un nouveau commentaire git bug comment add # Pousse les modifications vers le remote par défaut git bug push

    Pour un usage plus efficace, il y a aussi l'interface interactive en terminal :

    Ou sinon, pour les amateurs de vrai pixels et de clic-clic, git-bug embarque une interface web, mais il faut avouer qu'il y a encore du boulot :


    Techniquement, le binaire de git-bug lance un serveur web local qui sert les fichiers d'une application REACT (JavaScript) qui ont été compilés et inclus dans ce même binaire. L'application web s'interface avec le binaire grâce à une API GraphQL. Le déploiement reste donc extrêmement simple avec un unique binaire à copier, sans configuration.

    La nouvelle version 0.4 apporte une fonctionalité qui a été beaucoup demandée, un importeur incrémental pour Github ! Après avoir utilisé git bug bridge configure pour saisir ses identifiants, un token d'API est généré automatiquement et git-bug devient capable d'aspirer les issues en local dans son modèle de données.

    Et le futur ? Une de mes priorités est d'implémenter un exporteur vers Github. Quand ça sera fait, il sera possible d'utiliser git-bug comme un Github déporté, qui fonctionne en local et offline.

    Une autre idée qui me trotte dans la tête est d'avoir une véritable gestion d'identité en embarquant les données publiques dans des objets git, clé de chiffrement incluse. De cette façon, il devient possible de les distribuer facilement, avec les données des bugs, de signer ses éditions, les vérifier, et même pourquoi pas ? de vérifier les commits git normaux sans avoir à chercher et importer les clés GPG.

    Mais tout ça, c'est quand même beaucoup pour, en gros, un seul bonhomme. Mais peut-être, mon cher journal, que je trouverai des âmes vaillantes pour m'accompagner dans cette aventure…

    Télécharger ce contenu au format Epub

    Commentaires : voir le flux atom ouvrir dans le navigateur

    Catégories: Les actus

    Sortie de LemonLDAP::NG 2.0

    jeu, 06/12/2018 - 04:55

    LemonLDAP::NG est un logiciel libre de WebSSO, contrôle d'accès et fédération d'identités, écrit en Perl et publié sous licence GPL. Cette nouvelle version majeure apporte de grands changements au logiciel comme le support de Node.JS, des seconds facteurs d'authentification (OTP, U2F, Yubikey,…), un mécanisme de plugins, la protection de micro-services, et bien d'autres qui seront développés dans la suite de cet article.

    Sommaire

    Le projet LemonLDAP::NG a été publié pour la première fois en 2005 par la Gendarmerie Nationale. Il est aujourd'hui très largement déployé en France notamment dans les administrations et collectivités territoriales. Ses grands principes sont :

    • le SSO doit être faiblement intrusif dans les applications : pas d'obligation d'utiliser une librairie ou un langage spécifique, support d'un maximum de protocoles…
    • le SSO ne doit pas pénaliser les performances des applications (architecture scalable, faible overhead…) ;
    • pont protocolaire : LemonLDAP::NG permet de connecter une application utilisant le protocole standard X sur une infrastructure basée sur le protocole Y ;
    • et bien sûr la sécurité et le confort des utilisateurs.

    Principales nouveautés de la version 2.0
    • Meilleur fonctionnement du pont protocolaire : de nombreux tests unitaires valident le fonctionnement du SSO lors du passage d'un protocole à un autre. Par exemple une application qui s'authentifie en SAML sur le portail WebSSO, qui lui-même redirige en OpenID Connect sur un fournisseur d'identité externe (France Connect, Google, etc.) ;
    • authentification multi-facteurs ;
    • SSOaaS (SSO as a Service) ;
    • un moteur de plugins permettant de créer des composants d'authentification ou toutes sortes d'applications s'intégrant au portail sans avoir à modifier le code source et ainsi mieux supporter les montées de version.

    Vous pouvez consulter la liste complète des nouveautés.

    Handler Node.JS

    Node.JS est une plateforme très populaire pour le développement d'applications Web. La version 2.0 inclut un Handler node.js en version beta, qui permet de protéger une application Node.JS par LemonLDAP, directement dans le code de l'application.
    Cela permet également de rendre facilement une application compatible avec des protocoles de SSO comme SAML ou OpenID Connect. Ce Handler ne supporte pas encore toutes les fonctionnalités de LL::NG.

    Le handler Node.JS fournit également un moteur alternatif pour le SSOaaS.

    Seconds facteurs d'authentification

    LemonLDAP::NG gère désormais directement les seconds facteurs d'authentification (2FA), en particulier :

    • les périphériques U2F ;
    • TOTP (FreeOTP, Authy, GoogleAuthenticator,…) ;
    • les clefs Yubikey ;
    • les appels REST à un webservice externe ;
    • n'importe quelle autre commande via le module External 2F.
    Plugins

    LemonLDAP::NG est désormais capable de gérer des développements spécifiques sans pour autant risquer de les casser en cas de mise à jour, via un système de greffons. Quelques exemples déjà disponibles :

    • Auto Signin : permet de s'authentifier automatiquement en fonction d'une règle, par exemple une adresse IP ;
    • Brute Force Protection : permet de gérer la protection contre les attaques Brute Force directement dans LemonLDAP::NG ;
    • Check State : permet de générer une page de statut pour une meilleure intégration avec des outils de monitoring.
    SSO as a Service (SSOaaS)

    Le contrôle d'accès SSO fournit trois services :

    • Authentification globale
    • Gestion des autorisations : authentifier n'est pas suffisant, les droits d'accès doivent être examinés
    • Traçabilité :
      • traces d'accès issues du SSO
      • traces des actions utilisateurs

    LemonLDAP::NG fournit tous ces services (à l'exception des traces des actions utilisateurs qui doivent être générées pas l'application mais LemonLDAP::NG fournit les identifiants à enregistrer via les en-têtes HTTP)

    Les acronymes "*aaS" signifient que l'application peut piloter la couche sous-jacente (IaaS pour l'infrastructure, PaaS pour la plateforme,…). Pour nous, le SSOaaS doit fournir la possibilité pour une application de gérer ses droits et choisir les attributs à transmettre : un fichier JSON est présent à la racine de l'application et permet de définir ces paramètres, sans avoir à manipuler la configuration centrale du WebSSO.
    L'authentification SSO ne peut être réellement “*aaS”: l'application l'utilise sans la gérer bien sur.

    LemonLDAP::NG fournit donc les fonctionnalités permettant de mettre en œuvre le SSOaaS dans ces conditions. Encore un peu rustique, ce support sera amélioré dans les prochaines mises-à-jour de la branche 2.0.

    Serveur à Serveur

    Les applications modernes utilisent des micro-services web. LemonLDAP::NG fournit un dispositif permettant de donner à une application un ticket qu'elle peut utiliser sur d'autres micro-service protégés par le WebSSO pour :

    • propager l'identité de l'utilisateur final ;
    • permettre aux micro-services de vérifier les droits de l'utilisateur final ;
    • limiter l'accès de cette application aux seuls micros services autorisés dans la console d'administration LemonLDAP::NG ;
    • limiter l'usage dans le temps de ce ticket (30 secondes).

    L'alternative consistant à donner à l'application le ticket SSO de l'utilisateur est nettement moins sécurisée : l'application obtiendrait ainsi tous les droits de l'utilisateur pendant tout le temps de sa session.

    La solution apportée par LemonLDAP::NG est une alternative à OAuth2, moins intrusive : le micro-service n'a pas besoin de valider le jeton d'accès, ce jeton est consommé directement par un Handler qui retransmet ensuite l'identité de l'utilisateur par en-têtes HTTP.

    Fédération Renater

    LemonLDAP::NG est désormais compatible nativement avec le système de Fédération de Renater, permettant de rendre son déploiement plus facile dans l'éducation, les universités, les laboratoires et le secteur public utilisant la fédération de Renater.

    Manager Différentiel des configurations

    Cette nouvelle fonctionnalité permet d'afficher directement dans le Manager la différence entre deux versions de la configuration et donc d'identifier plus facilement les paramètres qui ont été modifiés.

    Gestion des ACLs pour les protocoles CAS, SAML et OpenID Connect

    Il est désormais possible de définir des règles d'accès pour des applications reliées par CAS, SAML et OpenID Connect. Ces règles peuvent être également utilisées pour afficher ou non l'icône des applications dans le menu.

    Autres
    • Explorateur de sessions : possibilité de trier les sessions par date de création et de modification.
    • Logs : possibilité de gérer les journaux séparément (traces techniques et traces utilisateurs) :
      • logs du serveur (Apache uniquement) ;
      • syslog ;
      • Log4Perl (compatible Log4J) ;
      • Sentry (à utiliser de préférence avec Dispatch) ;
      • Dispatch: permet de tracer séparément en fonction du niveau d'alerte.
    Portail Rafraîchissement de la session

    Permet a l'utilisateur de rafraîchir sa session sans avoir besoin de se déconnecter, utile dans le cas de l'ajout à un nouveau groupe apportant de nouvelles applications sur le portail.

    Autres
    • Selection de la langue avant le login ;
    • Nouvelles langues : Vietnamien, Arabe, Italien en plus de l'Anglais et du Français ;
    • Gestion du changement de logo du portail sans modifier le thème ;
    • Passage du portail sur Bootstrap 4.
    Ils ont participé à cette nouvelle version
    • Core team : Xavier Guimard, Christophe Maudoux et Clément Oudot.
    • Organisations (sponsors et beta testeurs) : Gendarmerie Nationale, Worteks, Orange, Huma Num, Campus Condorcet, Agirc Arrco, Urgences Santé Québec.
    • Communauté (ouvertures de tickets, tests, patches) : Valérie Bauche, David Coutadeur, Frédéric Massot, Mathieu Lecompte-melançon, Nicolas Chauvet, Mathieu Parent, Rick Jongbloed, Jérémy Kespite, Philippe Baye, Pasi Karkkainen, Julian Layen, Quentin Jaboeuf, Stéphane Liabat, Emmanuel Lesouef, François-Xavier Deltombe, Iheb Khemissi, Jean-Charles Rogez, Nicolas Dutertre, Maxime De roucy, pit pit, Carl R., Dave Conroy, Paul Curie, Dejan Sanader, Jean-François Vincent, Anthony Roussel, Xavier Bachelot, Lulandco, Cédric Liard, Frédéric Pégé, Jonathan Swaelens, Michael Goldfinger.
    Télécharger ce contenu au format Epub

    Commentaires : voir le flux atom ouvrir dans le navigateur

    Catégories: Les actus

    En vente libre: de nouvelles associations et quelques idées cadeaux pour les fêtes

    mer, 05/12/2018 - 14:45

    Les associations du Libre proposent divers produits à la vente, elles ont aussi besoin de récupérer des dons. L’association En Vente Libre a été créée en 2009 pour les soutenir en mettant un site à disposition de celles qui le souhaitent, ce qui leur permet de mutualiser les coûts (bancaires, postaux et autres).

    En Vente Libre se développe : initialement, six associations participaient à la plate-forme enventelibre.org : April, Debian, Framasoft, La Mouette, Multisystème, et Ubuntu-Fr. Nous en accueillons maintenant d'autres : Alionet, Borsalinux-fr, Khaganat, LILA, Mageia et La Quadrature du Net. Elles ont décidé de rejoindre En Vente Libre et de participer à l'aventure, merci à elles !

    Bientôt les fêtes de fin d'année : pour vos cadeaux, le site vous propose de nombreuses idées. N'hésitez plus, venez visiter notre site et vous ferez d'une pierre deux coups : satisfaire vos proches tout en soutenant le Libre.

    Adhérer, participer, contribuer
    • si vous faites partie d’une association et que vous voulez vendre vos produits ou obtenir des dons sur la plateforme EVL, n’hésitez pas à demander notre convention par courriel à bureau [AT] enventelibre.org ;
    • si vous voulez participer au projet et devenir bénévoles, contactez-nous par courriel à association [AT] enventelibre.org, vous serez les bienvenus ;
    • si vous avez des compétences sur PrestaShop, faites-vous connaître, votre aide et vos conseils nous permettront d'améliorer notre service !
    Télécharger ce contenu au format Epub

    Commentaires : voir le flux atom ouvrir dans le navigateur

    Catégories: Les actus

    Conférences « Libertés et vie privée » - Capitole du Libre 17-18 nov.2018 à Toulouse

    mer, 05/12/2018 - 11:43

    La 7ème édition du Capitole du Libre, l’événement du logiciel libre en Occitanie, s’est déroulée du 17 au 18 novembre 2018 à l’ENSEEIHT, en centre-ville de Toulouse. Organisée par l’association Toulibre avec l’aide des clubs étudiants de l’ENSEEIHT (Net7, TVn7 et CAn7), cette rencontre concernait le grand public et les spécialistes.

    Je vous propose une synthèse des conférences, que vous pouvez également suivre en intégralité à l'aide des vidéos.

    Les conférences

    Chaque année, 100 conférences sont proposées dans 15 salles en parallèles durant le week-end. En 2017, les thèmes concernaient : la découverte du logiciel libre, l’IoT et embarqué, DevOps, Sécurité, Libertés et vie privée, communauté du Logiciel Libre, la 3D et création graphique ainsi que les jeux libres.
    En 2018, les thèmes concernaient : les enjeux du Libre, l’Open Data, l’IoT et embarqué, Le Libre, Technique, le C++, Libertés et vie privée, la 3D, le Web, DevOps, le Financement du Logiciel Libre et enfin les Jeux Libres (voir le programme 2018).

    Les animations et ateliers

    Durant le week-end, le village associatif accueille et échange avec le public et entre exposants du Libre ; des espaces accueillent les plus jeunes pour tester l’impression 3D (avec l’association Combustible), la robotique et les jeux vidéos.
    Parmi les ateliers, David Revoy présentait une création de BD (avec entre autre le logiciel libre de retouche d’image Krita) et, avec Elzen, la création de campagnes pour le jeu de stratégie The Battle for Wesnoth. Des membres de Framasoft et de l’April étaient présents.

    Télécharger ce contenu au format Epub

    Commentaires : voir le flux atom ouvrir dans le navigateur

    Catégories: Les actus