Tout (fr)

  • Agenda du Libre pour la semaine 34 de l'année 2017 (Dépêches LinuxFR)

    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 10 événements (0 en Belgique, 9 en France, 0 au Luxembourg, 1 au Québec, 0 en Suisse et 0 en Tunisie) est en seconde partie de dépêche.

    Sommaire

    [QC Montréal] (3L)-Logiciels Libres en liberté groupe d’utilisateurs de Logiciels Libres, de niveau débutant - Le lundi 21 août 2017 de 18h00 à 21h00.

    (3L)-Logiciels Libres en liberté groupe d’utilisateurs de Logiciels Libres, de niveau débutant qui tiendra sa rencontre régulière mensuelle tout les 3ième lundi de chaque mois. Amener vos portables et votre bonne humeur. Venez jaser sur les logiciels libres, Nous montrer vos découvertes, poser vos questions?

    [FR Reims] G.L.O.U. - Le mardi 22 août 2017 de 18h00 à 20h30.

    Le G.L.O.U. est l'occasion de boire un coup entre amis des libertés, et de discuter de tout et de rien.

    Nous vous proposons de se retrouver, pour cette deuxième période de vacances estivale, autour d'un verre, mardi 22 août 2017 à 18h00.

    Lieu : Grand comptoir de Reims à l'intérieur de la Gare de Reims centre.

    [FR Grenoble] Atelier de la Guilde - Le mardi 22 août 2017 de 19h00 à 23h00.

    GUILDE (Guilde des Utilisateurs Linux du Dauphiné) est une association loi 1901 qui s'est fixée pour objectifs de promouvoir le système Linux auprès des particuliers et des professionnels, de rassembler les utilisateurs de Linux de la région du Dauphiné.

    Nous souhaitons faire naître des projets, des initiatives et créer des groupes de travail qui bénéficieront aussi bien à Linux qu'à ses utilisateurs.

    Notre région est riche en entreprises de haute technologie, centres de recherches, universités et sociétés de services qui utilisent déjà Linux.

    Par leur biais nous avons l'opportunité de faire connaître l'une des innovations logicielles les plus marquantes de ces dix dernières années.

    [FR Chartres] OpenAtelier - Le mercredi 23 août 2017 de 20h00 à 23h59.

    L'OpenAtelier est un moment de rencontre et de partage ou les membres et curieux sont invités à échanger sur leurs idées et leurs projets.

    Les espaces techniques sont également ouverts aux réalisations (électronique, informatique, menuiserie, impression 3D, découpe vinyle…).

    Pour les curieux, c'est le bon moment pour venir découvrir l'association et ses membres.

    [FR Toulouse] Rencontre Tetalab - Le mercredi 23 août 2017 de 21h00 à 23h00.

    Rencontre hebdomadaire des hackers et artistes libristes Toulousains.

    Ouvert au public tous les mercredi soir.

    Venez nombreux.

    [FR Cognac] Journées estivales d'initiations de 3LC - Du vendredi 25 août 2017 à 09h00 au dimanche 27 août 2017 à 17h00.

    Dernier rendez vous pour la période estivale. Sur 3 jours Vendredi 25, Samedi 26 et Dimanche 27 Aout Les bases de la programmation (à partir de 14 ans).

    • Initiation à la programmation structurée Faire un programme bash (téléchargement automatique de fichiers sur un site internet)
    • Initiation à la programmation fonctionnelle Faire un programme en C (créer une liste de mots du dictionnaire … et comprendre pourquoi il faut avoir des mots de passes fort…)
    • Initiation à la programmation orientée Objet Avec Python créer un interface graphique en quelques lignes / Avec Java gérer un tas de 52 cartes

    Si vous êtes intéressés par une de ces journées, vous pouvez vous inscrire dès maintenant en envoyant un mail à l'adresse ci dessous.

    Dès aujourd'hui vous pouvez aussi noter, la date du Samedi 28 Octobre
    Initiation à l'utilisation d'internet avec des outils libre et initiation à la Neutralité du Réseau.

    [FR Villeneuve d'Ascq] Libre à Vous - Le samedi 26 août 2017 de 09h00 à 12h00.

    Vous souhaitez tester GNU/Linux sur votre ordinateur, vous recherchez un logiciel pour une fonction précise, des conseils ou de l'aide sur les logiciels libres?

    Libre à Vous est une permanence destinée à vous faciliter l'utilisation de l'informatique. Vous repartirez avec « le plein » de logiciels libres, fiables, évolutifs, performants et gratuits.

    C'est chaque samedi matin au Centre d'Infos Jeunes à la ferme Dupire, 80 rue Yves Decugis à Villeneuve d'Ascq (métro Triolo) de 9h00 à 12h00.

    Entrée Libre. Tout Public.

    [FR Valenciennes] Permanence ValLibre - Le samedi 26 août 2017 de 09h30 à 12h00.

    Permanence assistance informatique.

    Dépannage petits bobos informatiques.

    Initiation à l'informatique libre.

    Tous les samedis ouvrables sauf les derniers samedis du mois et les samedis en période de vacances scolaires.

    Si besoin particulier, la prise de rendez-vous est fortement conseillée.

    Téléphone accueil MQCV : 03 27 22 43 90

    [FR La Couronne] Permanence - accueil public - Le samedi 26 août 2017 de 10h00 à 13h00.

    Notre permanence d'accueil avec le sourire, le café et les gâteaux !

    Lieu de rencontre et d'échange convivial pour discuter informatique et outils numériques.

    Cette association permet à chacun de découvrir également l'univers de Linux et par extension de tous les **logiciels* et matériels libres*.

    Entrée Libre. Tout Public.

    [FR Valenciennes] Atelier (wiki) HainautPédi@ - Le samedi 26 août 2017 de 10h00 à 12h00.

    Atelier pour les contributions au wiki territorial HainautPédi@

    http://hainautpedia.vallibre.fr

    Les ateliers HainautPédi@ sont organisés pour que les contributeurs se rencontrent et fassent évoluer ensemble le contenu du wiki.

    Ces séance sont à accès libre, elles permettent également aux personnes intéressées de prendre contact avec la communauté afin d'apprendre concrètement le fonctionnement du projet.

    Lors d'un atelier, des machines sont accessibles pour compléter le wiki ou simplement expérimenter.

    Rendez-vous à l'espace numérique de la bibliothèque municipale de Valenciennes. Dernier samedi du mois.

    Lire les commentaires

  • Apple a posté une offre d'emploi sur un serveur secret (MacBidouille)

    ZDNet a découvert une serveur d'Apple, us-west-1.blobstore.apple.com qui n'était pas public.

    Dessus était postée une offre d'emploi dont voici une photo.


    L'offre d'emploi annonce rechercher un ingénieur très talentueux capable de travailler sur un projet qui concernerait visiblement tous les serveurs d'Apple.
    Avoir trouvé cette page semble être une étape pour pouvoir postuler à ce travail.

  • Terminal Overload : un FPS entièrement libre et récent, mais déjà abandonné ? (Dépêches LinuxFR)

    Terminal Overload est un FPS (First Person Shooter) libre multijoueurs, qui se déroule dans un univers abstrait et futuriste. C'est un successeur de Revenge Of The Cats: Ethernet, sorte de mix entre KernelPanic et Warsow avec un rendu de type filiforme qui peut rappeler Tron. Les binaires 32 bits pour Windows et Linux sont fournis ainsi que le code source à compiler.

    logo TO

    Un financement participatif (crowdfunding) avait été lancé par l'auteur de Revenge Of The Cats: Ethernet, Michael Goldener, le 6 décembre 2013 avec pour but de libérer l'ensemble du jeu dont le moteur n'était pas entièrement libre.

    Torque3D, une version moderne et libre du moteur était apparue et fût adoptée. Le but de l'appel à financement était donc de porter le jeu sur ce moteur. Le financement ayant été atteint, un fork a été créé et la version 0.1 sortie le 1 août 2014 sous le nom de Terminal Overload.

    Il utilise donc désormais le moteur Torque3D sous licence MIT (au lieu du moteur Torque Game Engine). La licence du code est la GPL-v3 et les données sont sous Creative Commons Attribution 4.0 International.

    Malheureusement, il n'y a plus d'activité depuis le 5 février 2016.
    Y aurait-il un repreneur dans la salle ?

    Lire les commentaires

  • Firefox 64 bits par défaut sur Windows 64 bits (Génération NT: logiciels)
    Mozilla se décide à proposer par défaut la version 64 bits de Firefox pour les utilisateurs de Windows en 64 bits.
  • Haiku a 16 ans (Dépêches LinuxFR)

    Le 18 août 2001, le premier message sur la liste de diffusion d’OpenBeOS était envoyé par Marcus Overhagen (« Ok, let’s start »). 16 ans plus tard, le projet est toujours là, même si les versions se font rares. Faisons donc un point annuel sur les derniers développements et ce qu'il se passe dans le projet.

    Sommaire

    Rappels sur le projet Haiku

    Haiku est un système d'exploitation pour les ordinateurs de bureau (on ne vise ni les serveurs, ni les téléphones et tablettes, pour le moment). Il fonctionne sur les plateformes x86 (32 et 64 bits) et est compatible avec BeOS (au niveau binaire pour la version 32 bits, en recompilant les applications pour la version 64 bits).

    L'objectif du projet est de continuer là ou BeOS s'est arrêté, et de fournir un système d'exploitation facile à utiliser, réactif et efficace. Et bien sûr, de permettre à tous les développeurs intéressés de se lancer dans un projet de grande envergure et de découvrir l'intérieur d'un système d'exploitation.

    Haiku est écrit principalement en C++, et tous les composants (noyau, pilotes, applications, serveur graphique, etc.) sont réalisés par la même équipe, ce qui simplifie les possibilités d'intégration entre les différents composants. Il n'est pas encore complètement compatible POSIX, mais ça avance petit à petit.

    En route pour la bêta

    La feuille de route de Haiku

    Lors de la création du projet, l'objectif pour la version 1 de Haiku était simple: « fournir un système 100 % compatible avec BeOS R5 (la dernière version officielle publiée) et qui remplace complètement ce dernier ».

    Des jalons ont été définis: la première version « alpha » ne serait publiée que lorsque le système serait suffisamment avancé et stable pour pouvoir se compiler lui-même. La première version « bêta » ne serait publiée que lorsque toutes les API de BeOS R5 seraient implémentées (même s'il restait des bugs).

    Après la première version Alpha, les objectifs de la version 1 ont été réexaminés. En effet, cette version n'est arrivée qu'en 2009, et déjà à ce moment il était clair que BeOS était un système vieillissant et que le reproduire à l'identique ne serait pas suffisant. Une consultation parmi les développeurs de Haiku ainsi que parmi les utilisateurs a donc permis d'ajouter de nombreux points à la liste des fonctions nécessaires pour la version 1 (et donc pour la version beta1, qui doit comprendre les mêmes fonctionnalités).

    Cette feuille de route élaborée dans l'enthousiasme de la sortie de la première version alpha était peut-être un peu trop ambitieuse. Cependant, la plupart des fonctionnalités prévues (support du Wifi, par exemple) sont effectivement arrivées.

    L'infrastructure de publication des paquets

    C'est le gros point bloquant pour la prochaine release.

    L'un des derniers points restant était « il doit être possible de mettre à jour le système sans tout réinstaller ». Après de longues discussions entre les développeurs et avec la communauté, la solution retenue fut de réaliser un gestionnaire de paquets, qui pourrait mettre le système à jour. Ce dernier présente quelques propriétés intéressantes, en particulier, les paquets ne sont pas extraits comme pour la plupart des systèmes existants, mais montés dans un système de fichiers virtuel. Ceci permet une installation et une désinstallation très rapide, et sans utiliser d'outils spécifiques (il suffit de copier le paquet dans le dossier /system/packages prévu à cet effet).

    Cependant, le gestionnaire de paquets est inutile si personne n'est capable de publier un dépôt de paquets et de le tenir à jour. Le projet Haiku espérait que ce serait fait par d'autres. En particulier, HaikuWare (le site sur lequel on trouvait la plupart des logiciels pour Haiku) et HaikuPorts (l'outil permettant de compiler des logiciels à partir des sources pour Haiku) auraient pu répondre à cette demande. Cependant, le responsable de HaikuWare n'a pas du tout aimé le système de gestion de paquets (jugé trop complexe pour les développeurs) et a finalement décidé de fermer son site et de cesser tout soutien à Haiku. Quant à HaikuPorts, l'outil à été mis à jour pour générer des paquets plutôt que d'installer les fichiers directement sur le système. Cependant, ce travail a été réalisé par les développeurs de Haiku et cette "intrusion" dans le développement de l'outil a fini par causer le départ du principal mainteneur de HaikuPorts. Les développeurs de Haiku se retrouvent donc seuls en charge de tout l'écosystème de logiciels.

    En dehors de ces soucis d'infrastructure, il y a également du travail pour les outils graphiques permettant de gérer les dépôts et les logiciels installés. Dans Haiku, il y a plusieurs logiciels prévus à cet effet :

    • HaikuDepot, qui est un magasin d'application un peu comme ceux que l'on trouve sur les smartphones ou Synaptic sur Debian. Il permet d'explorer la liste des logiciels avec captures d'écrans et description, ainsi que les notes et commentaires d'autres utilisateurs. En plus du dépôt de paquet, il repose sur un webservice indépendant qui se charge uniquement des métadonnées (commentaires, notes, icônes, captures d'écran) qui ne sont pas présentes dans le paquet logiciel lui-même.
    • Repositories, l'application de préférences qui permet de choisir les dépôts de logiciels que l'on veut utiliser. En plus des dépôts officiels fournis par Haiku et HaikuPorts, il existe à présent plusieurs dépôts complémentaires permettant la distribution de nombreux logiciels.
    • Enfin, SoftwareUpdater se charge de surveiller et de notifier la disponibilité de mises à jour pour le système et pour les applications.
    • Et bien sûr pkgman, l'outil en ligne de commande équivalent d'apt ou yum, est toujours présent et permet de faire tout ça sans cliquer.

    Le support du 64 bits et le passage à gcc 6

    La dernière version alpha 4 de Haiku n'était disponible que pour les machines 32 bits. A l'époque, le support du 64 bits était encore considéré expérimental et nous avions choisi de ne pas le publier dans une version officielle tout de suite.

    Cela va changer avec la version beta1, qui sera donc disponible en 32 et 64 bits. Il y a eu récemment des changements sur l'ABI 64 bits (par exemple time_t est passé de 32 à 64 bits pour prévenir le bug de l'an 2038).

    La version 32 bits de Haiku utilise gcc en versions 2.95.3 (pour la compatibilité avec BeOS) et 5.4. La version 64 bits utilise uniquement gcc 5.4. Le passage à gcc6 est en cours, mais comme souvent, cette nouvelle version de gcc apporte de nouvelles optimisations et de nouveaux warnings, qui révèlent des problèmes dans le code de Haiku. Il faut donc être prudent et prendre le temps d'investiguer chacun de ces problèmes avant de pouvoir officiellement mettre à jour la version de gcc supportée.

    HaikuArchives

    http://haikuarchives.github.io/

    L'un des problèmes de Haiku est le manque de logiciels disponibles. En principe, la compatibilité avec BeOS devrait permettre de réutiliser tous les logiciels écrits pour BeOS, mais ceux-ci ne sont plus maintenus. De plus, suite à la fermeture de HaikuWare et de BeBits (les deux principaux sites répertoriant ces logiciels), il était à craindre qu'ils soient perdus pour toujours.

    Le projet HaikuArchives répond à ce problème. Le but de ce projet est de retrouver les auteurs de logiciels pour BeOS et de les convaincre de retrouver leurs sources (c'est le plus difficile) pour les publier (en général ça ne pose pas trop de problèmes), de préférence sous une licence libre.

    Ceci permet d'effectuer au moins une maintenance minimale sur le code, en attendant que les projets soient repris par d'autres développeurs. Cela permet de suivre les petits changements dans l'API, de vérifier que les logiciels compilent toujours avec un compilateur récent et de préparer le passage au 64 bits.

    Développements dans l'année

    Le navigateur web

    Haiku utilise le moteur WebKit (partagé avec Safari et GNOME, entre autres). Le développement de ce moteur est très actif et il est difficile de suivre pour un projet qui n'a pas de développeurs affectés à plein temps pour cela.

    Aussi, Haiku utilise actuellement une version de WebKit datant de début 2016, et commence à rencontrer des problèmes pour cette raison sur certains sites web. Il est donc nécessaire de mettre à jour notre port de WebKit, et des efforts dans ce sens sont en cours.

    D'autre part, le support des protocoles HTTP, HTTPS et gopher mûrit doucement, avec encore de nombreux bugs corrigés.

    Debugger à distance

    « Debugger » est, comme son nom l'indique, le debugger fourni avec Haiku. C'est un outil indispensable pour les développeurs.

    Cependant, il s'agit d'une application graphique et assez complexe, ce qui peut se révéler problématique lorsqu'il s'agit d'investiguer des problèmes dans les composants de Haiku comme le serveur graphique app_server.

    La solution choisie est de permettre d'utiliser Debugger à distance, depuis une autre machine. Le code du debugger est donc adapté petit à petit pour permettre ce fonctionnement à travers le réseau.

    Flux médias

    Haiku propose une implémentation du « Media Kit » de BeOS, qui permet entre autre choses le décodage, la lecture et l'encodage de sons et de vidéos.

    Jusqu'à présent, ce décodage pouvait se faire uniquement à partir d'un fichier ou de données chargées en mémoire. Mais il est maintenant possible de l'utiliser avec des flux ce qui rend par exemple possible la lecture de web radios avec MediaPlayer.

    Support de l'impression

    Pouvoir imprimer des documents est indispensable sur un système de bureau comme Haiku. Bien que la gestion des imprimantes soit présente, il reste encore de nombreux problèmes à traiter avant que cela soit complètement fonctionnel.

    Les pilotes d'imprimantes utilisés sont ceux de gutenprint, qui permet d'assurer la compatibilité avec un assez grand nombre de marques et de modèles. C'est maintenant la dernière version de Gutenprint qui est utilisée pour cela.

    La version 64 bits de Haiku est capable d'imprimer aussi bien que la version 32 bits.

    Un gros nettoyage a été effectué sur les diverses fenêtres de configuration de l'imprimante et de mise en page (gestion des marges, etc), pour les simplifier et les uniformiser entre différentes applications.

    La prochaine étape est de régler tous les problèmes de rendus lors de l'impression d'un document: texte mal positionné, dégradés de couleurs qui disparaissent, par exemple.

    Le « launch daemon »

    launch_daemon est un serveur qui se charge de séquencer le démarrage et l'extinction de la machine (des opérations courantes sur une machine de bureau - surtout que Haiku ne sait pas encore se mettre en veille).

    Il remplace la procédure d'init qui était auparavant implémentée sous forme d'un simple script shell.

    Launch daemon peut lancer plusieurs services en parallèle, en réagissant à des évènements (par exemple, « tous les disques sont montés »). Il permet également de redémarrer un service automatiquement en cas de plantage, et même de mettre en attente les messages envoyés à un service qui n'est pas démarré.

    Ceci permet par exemple de ne démarrer le serveur d'impression que lorsqu'on imprime un document pour la première fois, limitant ainsi le temps de démarrage du système et l'utilisation de la mémoire vive.

    Systèmes de fichiers

    Plusieurs corrections ont été effectuées dans la gestion des systèmes de fichiers.

    BFS, le système de fichier principal de Haiku, avait encore quelques différences avec celui de BeOS, qui sont maintenant corrigées afin d'assurer une complète interopérabilité entre les deux systèmes.

    Divers petits problèmes ont été également corrigés dans le VFS (le code commun à tous les systèmes de fichiers), ainsi que dans rootfs (qui gère le système de fichier racine monté en "/"), devfs (qui gère "/dev" et les fichiers représentants les périphériques), et packagefs (qui gère le montage des paquets logiciels dans un système de fichiers virtuels). Ces corrections permettent d'avoir un meilleur comportement dans des cas inhabituels, par exemple lors d'une tentative d'ouverture en écriture d'un dossier.

    Enfin, du côté des systèmes de fichier réseau, Haiku peut maintenant se connecter à des partages SMB (en plus du NFS qui était déjà présent), permettant d'échanger facilement des fichiers avec d'autres machines présentes sur le réseau.

    Il est également possible d'utiliser le RAM disk, pour y stocker des données non persistantes qui n'ont pas besoin d'être sur un disque dur.

    Des pilotes

    Le support matériel est évidement un problème pour un projet comme Haiku qui fait le choix de ne pas utiliser un système existant. Cette année, les efforts ont porté principalement sur :

    • Le support de xHCI (USB3), qui devient indispensable sur les machines récentes où l'USB2 est en voie de disparition,
    • La mise à jour du pilote intel_extreme, qui pilote toutes les cartes graphiques Intel à partir de la GMA950,
    • Le support de l'UEFI, pour démarrer sur les machines qui n'ont pas de BIOS ; ainsi que le support complet des tables de partitions GPT qui y sont souvent associées,
    • Le support des cartes réseaux virtuelles virtio, permettant de lancer Haiku dans certaines machines virtuelles (Hyper-V, par exemple).
    • Le pilote atheros813x est à jour avec la version de FreeBSD 11. Tous les autres pilotes réseau importés de FreeBSD sont pour l'instant à jour avec la version 9 uniquement.

    Support de l'internationalisation

    Depuis le début du projet, Haiku utilisait la police de caractères DejaVu Sans pour son interface graphique. Cependant, celle-ci ne permettait pas le support de toutes les langues.

    Désormais, c'est la police de caractères Noto qui est installée par défaut, ce qui permet la prise en charge, entre autres, du japonais et du coréen, en plus des langues latines et cyrilliques.

    D'autre part, la méthode de saisie Canna, qui permet de taper du texte en japonais, est maintenant complètement fonctionnelle ; et KeymapSwitcher, qui permet de changer de disposition de clavier par une combinaison de touche, est disponible dans les dépôts de logiciels et sera probablement inclus directement dans la version bêta 1.

    Terminal

    On pourrait penser que ce n'est pas l'application la plus importante, mais les développeurs passent beaucoup de temps en face d'un shell bash.

    Le Terminal de Haiku peut enfin avoir plus de 6 onglets ouverts dans une même fenêtre.

    Plusieurs problèmes apparus avec ncurses 5.9 ont été résolus par l'implémentation de séquences d'échappement manquantes. En particulier, il est possible d'utiliser Nano avec le curseur affiché au bon endroit et tous les caractères visibles.

    Des projets autour de l'OS

    Avoir un système, c'est bien, mais avoir des applications, c'est mieux.

    Portage de Qt5

    Grace aux efforts mis en place pour la gestion des paquets, il est devenu possible de capitaliser les efforts de portage de logiciels et de maintenir en état de marche un grand nombre de bibliothèques portées.

    Cela a rendu possible la reprise du développement de Qt4, puis de Qt5 pour Haiku, ce qui permet de bénéficier de nombreuses applications.

    Bien que l'objectif final de Haiku soit de développer son propre écosystème d'applications, bien intégrées avec le reste du système, les applications Qt permettent d'avoir dès maintenant un système de bureau opérationnel avec des applications fonctionnelles.

    Le port de Qt se complète petit à petit, avec par exemple le support du glisser-déposer, et une apparence qui se rapproche autant que possible de celle des applications natives.

    L'une des applications Qt souvent utilisées est Qupzilla, un navigateur web qui permet de visiter certains sites qui ne fonctionnent pas bien avec le navigateur natif.

    LibreOffice

    Un gros manque sur Haiku est l'absence d'une suite bureautique digne de ce nom. Il existe quelques vieilles applications pour BeOS, en particulier la suite GoBe productive et le tableur Sum-It, mais ils sont loin d'être suffisants, et les sources de GoBe productive ne sont pas disponibles pour la maintenir à jour.

    En conséquence, la solution retenue est d'essayer de porter LibreOffice. C'est un gros travail, mais les premières captures d'écran semblent prometteuses.

    Présence dans les manifestations autour du logiciel libre

    Le projet Haiku reste assez peu connu. La présence dans différentes manifestations autour du logiciel libre nous permet de nous faire connaître, et d'essayer d'attirer de nouveaux développeurs.

    C'est aussi l'occasion d'aider certains projets à porter leurs applications sur Haiku lorsque cela est possible et pertinent.

    FOSDEM

    Cette année nous avons partagé un stand avec ReactOS, un projet aux objectifs similaires puisqu'il s'agit d'un système d'exploitation libre compatible avec Windows.

    https://www.haiku-os.org/blog/mmu_man/2017-02-09_back_from_fosdem/

    mmu_man a donné une conférence sur les idées que les autres bureaux devraient emprunter à Haiku.

    RMLL

    Haiku était également présent aux RMLL, avec un stand et une conférence faisant un point sur les progrès vers la prochaine version bêta de Haiku.

    https://prog2017.rmll.info/programme/cote-utilisateurs-utilisatrices-diversite-des-usages/haiku-pari-la-venue-quand-beta

    https://www.haiku-os.org/blog/mmu_man/2017-08-15_recovering_from_rmll_2017/

    Ce fut également l'occasion de porter QElectrotech vers Haiku et d'essayer de mettre à jour le portage de Pytouhou pour une version un peu plus récente.

    Capitole du Libre

    Haiku était aussi présent au Capitole du Libre, avec un stand, et deux conférences.

    https://2016.capitoledulibre.org/programme.html#ameliorer-la-portabilite-et-lintegration-dapplicat

    https://2016.capitoledulibre.org/programme.html#haiku-lorganisation-dun-projet-libre

    La fin de BeGeistert

    http://begeistert.org/

    BeGeistert était depuis 1998 une conférence autour de BeOS puis de Haiku. Organisée habituellement à Düsseldorf, elle permettait à la communauté de Haiku de se retrouver une fois par an, avec quelques présentations et un coding sprint consistant à enfermer plusieurs développeurs dans une pièce, à secouer, et à voir ce qui ressort.

    Avec un nombre de participants de plus en plus faible, et des coûts de plus en plus élevés pour la location de la salle utilisée, l'association HSA (Haiku Support Association) organisatrice de l'évènement a décidé qu'il n'était plus pertinent de maintenir BeGeistert dans ce format.

    Il n'y aura donc pas de BeGeistert en 2017, mais il y aura tout de même un coding sprint, organisé à Toulouse juste après le Capitole du Libre.

    http://pulkomandy.tk/kdc

    Participation au Google Code-in

    https://codein.withgoogle.com/archive/2016/organization/5146925732986880/

    Le Google Code-In est un programme du bureau de l'open source de Google. Il s'adresse au 13-17 ans, le but étant de leur faire découvrir le logiciel libre et l'informatique en général.

    Cela se présente sous la forme d'un concours où les participants doivent réaliser des contributions à l'un des projets de logiciels libres participants. Les tâches à réaliser peuvent être par exemple la réalisation d'une icône, d'un flyer, d'un fond d'écran, l'écriture de documentation, faire une présentation du projet, ou bien sûr écrire un peu de code pour corriger un bug.

    Haiku est l'un des 3 projets qui a participé tous les ans depuis le lancement du Code-In en 2010 (les deux autres étant KDE et Apertium). En effet, la participation à ce programme demande un gros investissement de la communauté pour accueillir efficacement des participants qui n'ont pas forcément l'habitude du fonctionnement des logiciels libres.

    Haiku a pu gagner quelques nouveaux contributeurs grâce à ce concours, mais les résultats sont surtout à long terme d'encourager la contribution aux logiciels libres en général.

    De retour dans le Google Summer of Code

    https://www.haiku-os.org/community/gsoc/2017/ideas

    Haiku participe également régulièrement au Google Summer of Code. Celui-ci se présente sous la forme d'un stage, où des étudiants sont rémunérés par Google mais encadré par les contributeurs de différents projets de logiciels libres.

    Le résultat en termes de contribution aux logiciels participants étant en principe beaucoup plus important que pour le Google Code-In, il y a beaucoup plus de projets intéressés pour participer, aussi il n'est pas possible pour tous les projets de participer tous les ans (il faut laisser de la place aux autres). Haiku n'avait donc pas participé aux éditions 2015 et 2016, mais est de retour en 2017 avec 7 étudiants contribuant entre autres à l'amélioration de la pile TCP, le support de l'écriture sur le système de fichiers btrfs, ou encore l'écriture d'une application agenda et un travail sur l'interface graphique des préférences du système.

    Le Google Summer of Code se termine à la fin du mois d'août, donc les contributions des étudiants participants sont intégrées petit à petit d'ici là, et seront probablement présentes dans la version bêta de Haiku.

    Lire les commentaires

  • Accidents provoqués par l'utilisation d'un iPhone par un conducteur: Apple se défend (MacBidouille)

    Vous vous souvenez probablement de la procédure lancée contre Apple en fin d'année dernière. Une famille ayant perdu un enfant lors d'un accident poursuivant la société pour ne pas avoir intégré dans son mobile un de ses brevets bloquant l'usage de l'appareil lors de la conduite d'un véhicule. Or, le chauffard qui avait percuté la voiture de cette famille était en train d'envoyer des SMS depuis son iPhone.
    Ce n'est pas la seule affaire où Apple a été attaquée pour des raisons identiques. Macrumors rapporte qu'Apple est intervenue pour se défendre dans une action en recours collectif identique sur le fond où elle est accusée de mettre en avant ses profits avant la sécurité des usages de la route en n'installant pas de système pour bloquer ses appareils lors de la conduite des véhicules.
    Apple s'est défendue assez logiquement en indiquant ne pas être responsable de ce que font ses clients de leurs appareils.
    La jurisprudence va dans ce sens et considère que le conducteur reste l'entier responsable des éléments qui ont pu provoquer un accident suite à sa distraction.

    Apple a toutefois mis en place une fonction permettant de basculer les appareils iOS sur un mode "ne pas déranger" quand ils détectent un mouvement rapide signe d'un déplacement en voiture dans iOS 11.

  • La faille de sécurité d'iOS qui n'en est pas réellement une (MacBidouille)

    Voici une vidéo postée sur Youtube montrant comment un appareil à 500$ peut déverrouiller un iPhone (7, 7S et certains 6, 6S) sous iOS 10.

    Le boîtier réalise une attaque en force brute en essayant très rapidement toutes les combinaisons possibles jusqu'à trouver la bonne.
    En théorie iOS interdit cela et propose une temporisation auprès quelques essais infructueux.

    Toutefois, si certaines conditions ont été réunies, c'est possible. Cela arrive si le code a été changé très récemment et que l'utilisateur ne l'a pas utilisé plus de 10 minutes depuis.
    Cette fenêtre de tir est donc très limitée puisqu'au but de 10 minutes d'usage la temporisation reprend ses droits.
    Arrivé là, on peut utiliser cet appareil pour trouver le code, mais en si peu de temps pour en avoir la certitude, il faut qu'il ne fasse que 4 chiffres alors que par défaut il en fait 6. Bien entendu en cas de code alphanumérique, on ne pourrait tester que quelques milliers de combinaisons.

    Bref, c'est un exploit technique qui nécessite un autre exploit lié au hasard pour fonctionner.
    Apple a d'ailleurs annoncé que ce bug n'existe plus dans iOS 11.

  • kyrbeis: un outil basique de gestion de dotfiles (Journaux LinuxFR)

    Mon bien cher Nal,

    Voulant synchroniser simplement des fichiers de configuration utilisateur, j'ai tout d'abord testé quelques-uns des outils énumérés ici.

    Je voulais un outil:

    • simple d'utilisation
    • fondé sur les liens symboliques, comme dotfiles

    Je voulais aussi utiliser git (et git-crypt pour chiffrer les fichiers sensibles).
    Trouvant les outils testés trop compliqués (voir risqués), j'ai décidé d'écrire une gem ruby de quelques lignes, kyrbeis pour faire cela.

    Je me suis dit que cela pourrait aussi éventuellement vous intéresser, voilà donc comment vous pourrez l'utiliser.

    installation

    $ gem install kyrbeis
    

    utilisation

    Créez un répertoire ~/dotfiles, dans lequel vos configurations seront stockées.
    Pour ajouter un nouveau fichier de configuration, par exemple ~/.vimrc,
    créez ~/dotfiles/__vimrc dans lequel vous écrirez votre configuration vim comme d'habitude.
    Puis, en prenant soin que ~/.vimrc n'existe pas déjà (auquel cas kyrbeis ne fera rien) faites un:

    $ kyrbeis apply
    

    ce qui est équivalent à faire un ln -s ~/dotfiles/__vimrc ~/.vimrc.

    Kyrbeis supporte aussi les sous répertoires, comme ~/.config/.
    Par exemple, pour ajouter un fichier ~/.config/git/ignore, vous créerez ~/dotfiles/__config/git/ignore.

    Conclusion

    Évidemment, cet outil prend son sens combiné a git, (ainsi que git-crypt, et à un gestionnaire de mot de passe).

    Et vous, cher Nal, quelle méthode utilisez-vous pour résoudre ce problème ?

    Lire les commentaires

  • Windows 10 : l'insertion de modèles 3D dans Story Remix pour la Fall Creators Update (Génération NT: logiciels)
    La fonctionnalité phare d'ajout d'objets 3D avec l'application Story Remix sera finalement bel et bien au rendez-vous de Windows 10 Fall Creators Update. Brièvement annoncé, le retard à l'allumage n'est plus.
  • Ce seraient des photos du futur processeur A11 (MacBidouille)

    Slashleaks a publié ces deux photos qui montreraient un processeur A11 dont seront dotés les prochains iPhone.


    Elles sont assez floues pour que l'on ne puisse pas lire les informations écrites autour de la puce. Donc impossible de dire si ce sont des fausses ou des vraies. Mais cela n'a dans les faits pas de réelle importance.

    Pour rappel, ces puces seront (ou sont) produites par TSMC dans un procédé de gravure 10nm FinFET.

  • La clé du décodage du code de l'enclave sécurisée du TouchID aurait été rendue publique (MacBidouille)

    Pendant longtemps Apple a protégé le noyau d'iOS en le codant. Il était décodé à la volée lors du démarrage de l'appareil. Cela permettait d'éviter aux hackers d'aller fouiller dedans mais provoquait aussi des critiques car on ne savait pas exactement ce qu'il contenait. Apple y a mis fin dès les premières beta d'iOS 10 et ce noyau n'est maintenant plus codé.
    Il en va autrement de l'enclave sécurisée destinée à gérer le TouchID. Il s'agit d'une petite portion matérielle contenant le code destiné à comparer la base des empreintes enregistrées avec celle présentée au capteur. C'est donc un élément crucial de sécurité et la raison pour laquelle on parle d'enclave. Ce système n'est pas accessible directement via le reste de l'appareil, ce qui évite qu'il soit piraté. Pour faire court, il ne fait qu'annoncer au reste de la machine que le code est bon, ou pas. C'est le même système qui a été adopté dans les derniers ordinateurs portables d'Apple et la raison pour laquelle il y a dedans une petite puce ARM gérant ce TouchID (et la Touch Bar).
    Un hacker se faisant appeler Xerub a posté sur GitHub ce qui serait la clé de décodage du microcode de cette enclave sécurisée. Interrogé par TechRepublic il affirme l'avoir fait non pas pour que l'on puisse pirater quoi que ce soit, mais afin que l'on puisse savoir ce que contient cette véritable boite noire installée dans l'iPhone.

    Cette clé ne permet que de décoder le microcode de l'enclave mais malgré son nom ne compromet en aucun cas sa sécurité à court terme. Elle pourrait en revanche être utilisée pour que ce code soit inspecté à la loupe afin de savoir s'il contient des failles de sécurité permettant de compromettre le processus d'identification.

    Interrogée, Apple n'a pas nié que cette clé soit la bonne. La société a en revanche indiqué que ce chiffrement du code n'était qu'une petite partie des sécurités mises en place pour protéger cette enclave. Elle ne compte d'ailleurs pas proposer de mise à jour pour changer la clé de chiffrement.
    On peut le comprendre, le mal est déjà fait et il faudrait du temps pour modifier assez radicalement le fonctionnement de ce code afin de rendre la connaissance du précédent inutile pour progresser dans les recherches de failles.

  • qemu + boot & root disquette (Journaux LinuxFR)

    Bonjour les moules :)

    Je cherche à faire un truc un peu tordu sous qemu-2.8 : booter une disquette vmlinux (bootdisk Slack-1.1.2 en fait) et ensuite continuer le boot sur la root-disquette sachant qu'à l'époque (~1994), il fallait éjecter puis insérer la nouvelle disquette pour monter le VFS (minixfs dans le cas de la root-disquette) ! Je crois pas que qemu sache faire ce tour de passe passe.. J'ai d'autres idées pour contourner le pb ou bien avez-vous la cli qui se prête dans qemu ? :)

    Lire les commentaires

  • Un petit bot telegram (Journaux LinuxFR)

    Bonne rentrée à tous!

    Pour fêter cela je vous propose mon premier bot telegram:
    https://storebot.me/bot/dictonbot

    Il permet soit de demander le dicton du jour (texte ou .mp3; mp3 fait avec espeak afin que cela soit une authentique voix de robot!), soit de s'y abonner et le recevoir chaque jour à midi (texte seulement). Le dicton est sensé être humoristique 😃

    J'en profite pour savoir si certains d'entre vous ont fait des bots, pour telegram ou autre, et ce que tout le monde en pense.

    Il parait que c'est le nouveau futur :*)

    Lire les commentaires

  • L'Apple Watch 3 serait rentrée en phase de tests finaux de production (MacBidouille)

    Selon l'Economic Daily News, l'Apple Watch serait maintenant en phase de tests finaux de production chez Quanta.
    Il serait prévu que le sous-traitant commence à les livrer à Apple durant le dernier trimestre de cette année. Toutefois Apple pourrait annoncer la montre en septembre.

    Les rumeurs prédisent qu'un des modèles sera capable d'une connexion LTE qui lui donnera significativement plus d'autonomie face à l'iPhone mais pas face à son chargeur. Les modèles Wi-Fi devraient en revanche pouvoir fonctionner plus longtemps sans être rechargés.

    [MàJ] Autour du même thème, Digitimes, qui cite des sources industrielles, annonce que les ventes de la montre, grâce au nouveau modèle, pourraient atteindre les 4,5 millions d'unités pour le dernier trimestre 2017, ce qui permettrait à Apple d'atteindre les 15 millions sur l'année entière. On pourrait même atteindre les 20 millions d'unités en 2018.

  • iOS 11: Il est maintenant possible de désactiver le TouchID de manière discrète (MacBidouille)

    Macrumors rapporte que parmi toutes les nouvelles fonctionnalités intégrées à iOS 11 il y en a une activant un mode urgence.

    Si l'on presse 5 fois rapidement le bouton de démarrage de l'appareil, ce dernier affichera l'image présentée à gauche. Elle permet de l'éteindre, d'afficher la fiche médicale si elle est remplie ou de passer un appel d'urgence.

    Cette fonction permet aussi une chose qui n'est alors pas visible, désactiver le TouchID ou plutôt demander sa réactivation avec le mot de passe comme après une période prolongée sans avoir utilisé l'appareil.

    Cela permettra aux personnes qui seraient contraintes par la force de poser leur doigt sur le touchID d'échapper à cette contrainte physique.

    Cette nouvelle fonction aura encore plus de sens avec l'iPhone 8 qui, doté d'une reconnaissance faciale, pourrait être débloqué juste en le présentant devant le visage de son propriétaire.

  • Sharp à nouveau dans une situation délicate (MacBidouille)

    L'histoire de Sharp a été mouvementée ces dernières années. Cette société japonaise maintenant tombée dans le giron de Foxconn a vécu avant cela des années très difficiles, luttant contre sa faillite et cherchant par tous les moyens à faire rentrer de l'argent frais pour finaliser sa technologie IGZO des LCD avec des transistors transparents permettant d'augmenter la luminosité, qui sortie plus tôt aurait pu lui permettre de rester indépendante.
    Elle avait dans ce but accepté de revendre une de ses usines de production à un fabricant chinois appelé Hisense. Le marché contenait une clause surprenante, qui montre la situation dans laquelle était Sharp à l'époque. Elle autorisait Hisense à commercialiser pendant 5 ans des téléviseurs issus de cette usine aux Etats-Unis sous la marque Sharp.

    Hélas, selon Sharp, Hisense a commencé à produire en masse des téléviseurs Sharp en abaissant significativement leur qualité, ce qui a selon ses propos nuit à sa marque. Elle a donc décidé de casser ce contrat d'utilisation de son nom. Hisense a contesté cette décision devant un tribunal arbitral de Singapour. Ce dernier a pris une décision fort surprenante en donnant raison à Hisense mais aussi en exigeant de Sharp une clause de silence qui lui interdit de communiquer sur le fait que ces téléviseurs soient sous ses standards de qualité ni même de parler de cette décision arbitrale. Sharp se retrouve donc muselée dans sa communication.
    Il lui reste toutefois un moyen de communiquer indirectement sur ce sujet grâce à une autre procédure judiciaire lancée aux Etats-Unis. Dans cette procédure rendue publique (la justice américaine n'est pas concernée par l'arbitrage), Sharp conteste de nouveau le contrat qui la lie à Hisense et affirme même que les produits importés aux Etats-Unis ont des spécifications constructeur mensongères et sont même potentiellement dangereux à cause d'émissions électromagnétiques trop importantes et de leur piètre qualité de production.

    Foxconn, maintenant propriétaire de la marque Sharp, va tout faire pour en récupérer l'usage exclusif et ne pas risquer de la voir se déprécier.

  • Apple commence à promouvoir iOS 11 pour l'iPad (MacBidouille)

    La sortie d'iOS 11 approche. Apple a décidé de commencer à en vanter les avantages sur les iPad Pro. Elle a mis en ligne six vidéos vantant les mérites d'autant de fonctions qui vont simplifier la vie de ceux qui ont des tablettes compatibles ou en achèteront.

    Elles ne sont pas dénuées d'une certains forme d'humour.

  • ShadowPad : une backdoor dans une solution de gestion de serveurs (Génération NT: logiciels)
    Une attaque a permis d'insérer une backdoor dans une solution populaire pour la gestion de serveurs. À l'insu de l'éditeur légitime.
  • [Btrfs et openSUSE] Épisode 1 : sous-volumes, snapshots et rollbacks (Journaux LinuxFR)

    Sommaire

    Btrfs is hard

    « Btrfs et openSUSE » est une série de journaux sur le système de fichiers Btrfs, basée sur ma propre expérience d'utilisateur d'openSUSE. Au menu :

    • des généralités sur Btrfs
    • des noms qui pètent : sous-volumes, snapshots, rollbacks
    • du snapper
    • du grub
    • de la mise à jour incrémentale
    • des quotas
    • de la maintenance
    • des trucs spécifiques à openSUSE
    • des tentatives désespérées pour rester applicable à d'autres distributions
    • des erreurs (pas taper)
    • des bugs
    • des cris
    • des larmes
    • et bien plus ! ou bien moins

    Aujourd'hui, l'épisode 1 : sous-volumes, snapshots et rollbacks.

    Quelques définitions

    Dictionnaire

    Sous-volume

    Un sous-volume, c'est un concept qui se situe entre celui du répertoire et celui de la partition.

    D'après la FAQ du wiki Btrfs, voilà ce qu'on peut faire avec :

    • un sous-volume peut-être monté indépendamment du reste du système de fichiers ;
    • il est possible de faire un snapshot d'un sous-volume en une seule opération atomique ;
    • on peut assigner des limites de capacité à un sous-volume via des quotas ou autrement partager l'espace de stockage entre tous les sous-volumes. Ainsi les sous-volumes peuvent partager des données entre eux (à travers la déduplication et les snapshots).

    On peut aussi copier des sous-volumes d'une partition Btrfs à une autre (ce sujet aura un épisode dédié !).

    Snapshot

    Un snapshot – un instantané, un cliché – est un clone d'un et un seul sous-volume à un instant t.

    Du coup, c'est aussi un sous-volume. Avec un parent : le sous-volume original.

    Rappelez-vous l'épisode précédent : on avait dit que Btrfs se basait sur la technique du Copy-on-Write. Et bien Btrfs n'est pas seulement capable de faire des copies paresseuses de fichiers ; il est capable d'en faire pour un sous-volume entier, comprenant maints répertoires et fichiers, et ce de façon quasi-immédiate.

    Rollback

    Pour un système, un rollback est la restauration d'un état précédent de ce système.

    Dans notre contexte Btrfs, cela consiste à utiliser un instantané d'un sous-volume – un cliché pris à un instant t – à la place de ce sous-volume. Donc revenir à un état précédent de ce sous-volume.

    Une installation d'openSUSE classique

    Caméléon

    Voici les sous-volumes présents sur une openSUSE fraîchement installée. Le seul écart par rapport au partitionnement par défaut est de ne pas avoir de partition /home séparée en XFS mais simplement un sous-volume Btrfs, pour des raisons de test.

    ~# btrfs subvolume list /
    ID 257 gen 184 top level 5 path @
    ID 258 gen 971 top level 257 path @/.snapshots
    ID 259 gen 985 top level 258 path @/.snapshots/1/snapshot
    ID 260 gen 184 top level 257 path @/boot/grub2/i386-pc
    ID 261 gen 184 top level 257 path @/boot/grub2/x86_64-efi
    ID 262 gen 972 top level 257 path @/home
    ID 263 gen 184 top level 257 path @/opt
    ID 264 gen 925 top level 257 path @/srv
    ID 265 gen 984 top level 257 path @/tmp
    ID 266 gen 925 top level 257 path @/usr/local
    ID 267 gen 927 top level 257 path @/var/cache
    ID 268 gen 184 top level 257 path @/var/crash
    ID 269 gen 184 top level 257 path @/var/lib/libvirt/images
    ID 270 gen 184 top level 257 path @/var/lib/machines
    ID 271 gen 184 top level 257 path @/var/lib/mailman
    ID 272 gen 184 top level 257 path @/var/lib/mariadb
    ID 273 gen 184 top level 257 path @/var/lib/mysql
    ID 274 gen 184 top level 257 path @/var/lib/named
    ID 275 gen 184 top level 257 path @/var/lib/pgsql
    ID 276 gen 986 top level 257 path @/var/log
    ID 277 gen 184 top level 257 path @/var/opt
    ID 278 gen 986 top level 257 path @/var/spool
    ID 279 gen 984 top level 257 path @/var/tmp
    ~# cat /etc/fstab
    UUID=a2ec9936-18fe-4910-a50b-c120726264f8 swap swap defaults 0 0
    UUID=926a75ec-a27c-488a-aa90-ce131f6cd378 / btrfs relatime         0 0
    UUID=926a75ec-a27c-488a-aa90-ce131f6cd378 /boot/grub2/i386-pc btrfs relatime,subvol=@/boot/grub2/i386-pc         0 0
    UUID=926a75ec-a27c-488a-aa90-ce131f6cd378 /boot/grub2/x86_64-efi btrfs relatime,subvol=@/boot/grub2/x86_64-efi         0 0
    UUID=926a75ec-a27c-488a-aa90-ce131f6cd378 /home btrfs relatime,subvol=@/home         0 0
    UUID=926a75ec-a27c-488a-aa90-ce131f6cd378 /opt btrfs relatime,subvol=@/opt         0 0
    UUID=926a75ec-a27c-488a-aa90-ce131f6cd378 /srv btrfs relatime,subvol=@/srv         0 0
    UUID=926a75ec-a27c-488a-aa90-ce131f6cd378 /tmp btrfs relatime,subvol=@/tmp         0 0
    UUID=926a75ec-a27c-488a-aa90-ce131f6cd378 /usr/local btrfs relatime,subvol=@/usr/local         0 0
    UUID=926a75ec-a27c-488a-aa90-ce131f6cd378 /var/cache btrfs relatime,subvol=@/var/cache         0 0
    UUID=926a75ec-a27c-488a-aa90-ce131f6cd378 /var/crash btrfs relatime,subvol=@/var/crash         0 0
    UUID=926a75ec-a27c-488a-aa90-ce131f6cd378 /var/lib/libvirt/images btrfs relatime,subvol=@/var/lib/libvirt/images         0 0
    UUID=926a75ec-a27c-488a-aa90-ce131f6cd378 /var/lib/machines btrfs relatime,subvol=@/var/lib/machines         0 0
    UUID=926a75ec-a27c-488a-aa90-ce131f6cd378 /var/lib/mailman btrfs relatime,subvol=@/var/lib/mailman         0 0
    UUID=926a75ec-a27c-488a-aa90-ce131f6cd378 /var/lib/mariadb btrfs relatime,subvol=@/var/lib/mariadb         0 0
    UUID=926a75ec-a27c-488a-aa90-ce131f6cd378 /var/lib/mysql btrfs relatime,subvol=@/var/lib/mysql         0 0
    UUID=926a75ec-a27c-488a-aa90-ce131f6cd378 /var/lib/named btrfs relatime,subvol=@/var/lib/named         0 0
    UUID=926a75ec-a27c-488a-aa90-ce131f6cd378 /var/lib/pgsql btrfs relatime,subvol=@/var/lib/pgsql         0 0
    UUID=926a75ec-a27c-488a-aa90-ce131f6cd378 /var/log btrfs relatime,subvol=@/var/log         0 0
    UUID=926a75ec-a27c-488a-aa90-ce131f6cd378 /var/opt btrfs relatime,subvol=@/var/opt         0 0
    UUID=926a75ec-a27c-488a-aa90-ce131f6cd378 /var/spool btrfs relatime,subvol=@/var/spool         0 0
    UUID=926a75ec-a27c-488a-aa90-ce131f6cd378 /var/tmp btrfs relatime,subvol=@/var/tmp         0 0
    UUID=926a75ec-a27c-488a-aa90-ce131f6cd378 /.snapshots btrfs relatime,subvol=@/.snapshots         0 0
    ~#

    Que remarque-t-on au premier abord ? Trois choses :

    1. Il y a beaucoup de sous-volumes (!)
    2. Il y a un sous-volume @ (?)
    3. Il y a un sous-volume @/.snapshots et un autre @/.snapshots/1/snapshot (??)

    Essayons déjà de trouver des explications à ces trois points.

    Pourquoi tant de sous-volumes ?

    Minions

    Essayons de répondre à la question suivante : quels sous-volumes créer à l'installation d'une distribution GNU/Linux pour permettre de faire ensuite des snapshots pertinents du système (/) ?

    Un seul sous-volume pour / ?

    Moui, le problème c'est que, sur un système complet il y a des données assez « volatiles » ou qui sont beaucoup réécrites : fichiers temporaires, caches, VM, bases de données, logs…

    Il n'est pas franchement pertinent de conserver ces données à un instant t. En outre :

    • ces données sont peu propices à l'utilisation du CoW ;
    • ces données pourraient être exclues tout simplement pour les conserver tout au long de la vie du système ; typiquement les journaux système : c'est bien de garder la trace d'une restauration.

    Au final, faire régulièrement des instantanés d'un tel sous-volume géant entraînerait une fragmentation et une consommation de l'espace disque importante en plus de ne pas être suffisamment flexible pour exclure certaines données des restaurations du système.

    Un sous-volume par répertoire de haut niveau (/usr, /etc, …) ?

    Moui, mais dans ce cas impossible pour un snapshot de représenter un système fonctionnel. Souvenez-vous, un snapshot correspond à un seul sous-volume. Cela rend compliqué la restauration du système (il faut restaurer plusieurs sous-volumes au lieu d'un seul).

    La solution actuelle sur openSUSE

    Il s'agit simplement de multiplier les sous-volumes afin de les exclure des instantanés de /, donc :

    • exit /tmp, /var/tmp : fichiers temporaires ;
    • exit /var/cache : caches ;
    • exit /var/lib/libvirt/images, /var/lib/machines : machines virtuelles ;
    • exit /var/lib/mariadb, /var/lib/mysql, /var/lib/pgsql : bases de données ;
    • exit /var/log : on veut conserver les traces d'une restauration du système ;
    • etc.

    D'où le grand nombre de sous-volumes à l'installation. Je vous l'accorde, ce n'est pas la panacée.

    Personnellement, je trouve que c'est un peu bête de créer certains de ces sous-volumes car on ne va pas forcément les utiliser. Tous les utilisateurs ne vont pas forcément créer une base de données ni utiliser une machine virtuelle.

    Je me dis qu'on pourrait essayer de créer ces sous-volumes à l'installation de certains paquets mais ça peut devenir vite compliqué. J'ai à ce sujet le vague souvenir qu'une mise à jour de systemd m'avait créé le sous-volume /var/lib/machines.

    Par ailleurs, puisque j'ai parlé de CoW : celui-ci est carrément désactivé pour certains sous-volumes.

    ~# lsattr -d /var/lib/{mariadb,mysql,pgsql,libvirt/images}
    ----------------C-- /var/lib/mariadb
    ----------------C-- /var/lib/mysql
    ----------------C-- /var/lib/pgsql
    ----------------C-- /var/lib/libvirt/images
    ~#

    Le cas de @

    Arobase

    Je ne connais pas l'origine de ce sous-volume.

    Avant – disons en 2015, quand j'ai installé mon openSUSE Tumbleweed – on ne l'avait pas. On utilisait simplement FS_TREE, le « sous-volume » avec l'ID 5.

    Je suppose que ce FS_TREE doit être suffisamment différent des autres sous-volumes pour lui préférer @ – qui déjà présente l'avantage d'avoir un vrai nom. Un caractère, c'est mieux que zéro.

    Si vous avez des explications plus complètes sur @, n'hésitez pas à le dire dans les commentaires ;-)

    @/.snapshots et @/.snapshots/1/snapshot

    Sur openSUSE, la stratégie est de mettre tous les instantanés sous le sous-volume @/.snapshots. C'est un choix.

    Plus étrange, on remarque la présence d'un premier instantané, alors que le système vient à peine d'être installé :

    ~# btrfs suvolume list -s /
    ID 259 gen 985 top level 258 path @/.snapshots/1/snapshot
    ~#

    Mais qu'est-ce don' ?

    ~# btrfs property /.snapshots/1/snapshot
    ro=false
    label=
    ~# mount | grep "on / "
    /dev/vda2/ on / type btrfs (rw,relatime,space_cache,subvolid=259,subvol=/@/.snapshots/1/snapshot)
    ~# btrfs subvolume get-default /
    ID 259 (@/.snapshots/1/snapshot)
    ~#

    En clair, ce premier snapshot :

    • est le sous-volume par défaut de / : ce n'est donc rien d'autre que notre / actuel
    • est en lecture-écriture (et c'est heureux sinon on ne pourrait rien écrire sur /)

    Pourquoi ne pas utiliser directement @ ?

    Et bien, c'est pour éviter d'oublier de nettoyer les données du sous-volume initial après une première restauration.

    En effet, les snapshots… ça prend de la place. Le fait d'avoir tout sous /.snapshots facilite le ménage. Mais on reparlera de ça plus tard.

    Manipuler des sous-volumes et des snapshots

    Création et suppression de sous-volumes

    ~# btrfs subvolume create 
    btrfs subvolume create: too few arguments
    usage: btrfs subvolume create [-i <qgroupid>] [<dest>/]<name>
    
        Create a subvolume
    
        Create a subvolume <name> in <dest>.  If <dest> is not given
        subvolume <name> will be created in the current directory.
    
        -i <qgroupid>  add the newly created subvolume to a qgroup. This
                       option can be given multiple times.
    
    ~# btrfs subvolume delete
    btrfs subvolume delete: too few arguments
    usage: btrfs subvolume delete [options] <subvolume> [<subvolume>...]
    
        Delete subvolume(s)
    
        Delete subvolumes from the filesystem. The corresponding directory
        is removed instantly but the data blocks are removed later.
        The deletion does not involve full commit by default due to
        performance reasons (as a consequence, the subvolume may appear again
        after a crash). Use one of the --commit options to wait until the
        operation is safely stored on the media.
    
        -c|--commit-after      wait for transaction commit at the end of the operation
        -C|--commit-each       wait for transaction commit after deleting each subvolume
        -v|--verbose           verbose output of operations
    
    ~#
    

    Pas grand chose à dire là-dessus.

    En pratique, je n'ai créé un sous-volume qu'une seule fois, pour rajouter /var/cache. Ce n'était pas encore un sous-volume créé à l'installation quand j'ai installé openSUSE Tumbleweed.

    Création et suppression de snapshots

    ~# btrfs subvolume snapshot 
    btrfs subvolume snapshot: too few arguments
    usage: btrfs subvolume snapshot [-r] [-i <qgroupid>] <source> <dest>|[<dest>/]<name>
    
        Create a snapshot of the subvolume
    
        Create a writable/readonly snapshot of the subvolume <source> with
        the name <name> in the <dest> directory.  If only <dest> is given,
        the subvolume will be named the basename of <source>.
    
        -r             create a readonly snapshot
        -i <qgroupid>  add the newly created snapshot to a qgroup. This
                       option can be given multiple times.
    ~#
    

    Donc pour créer un snapshot en lecture seule de mon système actuel :

    ~# mkdir -p /.snapshots/42
    ~# btrfs subvolume snapshot -r / /.snapshots/42/snapshot
    Create a readonly snapshot of '/' in '/.snapshots/42/snapshot'
    ~#

    (J'aurais pu remplacer / par /.snapshots/1/snapshot.)

    Ça va très vite :

    ~# mkdir -p /.snapshots/43
    ~# time btrfs subvolume snapshot -r /.snapshots/43/snapshot
    Create a readonly snapshot of '/' in '/.snapshots/43/snapshot'
    
    real    0m0,444s
    user    0m0,000s
    sys     0m0,019s
    ~#

    Enfin, un snapshot se supprime comme n'importe quel autre sous-volume :

    ~# btrfs subvolume delete /.snapshots/{42,43}/snapshot
    Delete subvolume (no-commit): '/.snapshots/42/snapshot'
    Delete subvolume (no-commit): '/.snapshots/43/snapshot'
    ~# rmdir /.snapshots/{42,43}
    ~#

    Restauration du système

    1814-1830

    Faire un rollback, c'est simple : c'est remplacer un sous-volume courant par une version précédente, c'est-à-dire par un instantané de ce sous-volume.

    Comment pourrait-on faire ? Ça n'a pas l'air évident au premier abord : il va falloir sans doute jouer avec le montage des sous-volumes et mv

    Je simplifie le problème : ici, ce qui m'intéresse de changer, c'est le système, c'est le sous-volume de /.
    Dans ce cas, et vu notre configuration, faire une restauration revient simplement à changer le sous-volume par défaut de /. C'est tout.

    On a déjà vu quelle était la commande pour récupérer le sous-volume par défaut :

    ~# btrfs subvolume get-default /
    ID 259 (@/.snapshots/1/snapshot)
    ~#

    Le setter n'est pas beaucoup plus compliqué :

    ~# btrfs subvolume set-default
    btrfs subvolume set-default: too few arguments
    usage: btrfs subvolume set-default <subvolid> <path>
    
        Set the default subvolume of a filesystem
    ~#

    Mais allez, c'est parti, on y va ! Faisons une restauration complète !
    On suppose que l'instantané à restaurer existe : @/.snapshots/2/snapshot.

    ~# mkdir -p /.snapshots/{3,4}
    ~# # Création d'un instantané en lecture-seule du système actuel.
    ~# btrfs suvolume snapshot -r / /.snapshots/3/snapshot
    Create a readonly snapshot of '/' in '/.snapshots/3/snapshot'
    ~#
    ~# # Création d'un instantané en lecture-écriture de l'instantané 2.
    ~# btrfs suvolume snapshot /.snapshots/2/snapshot /.snapshots/4
    Create a snapshot of '/.snapshots/2/snapshot' in '/.snapshots/4/snapshot'
    ~#
    ~# # Définition du sous-volume par défaut sur l'instantané 4.
    ~# btrfs subvolume set-default $id_snapshot_4 /
    ~#

    Et voilà ! On peut redémarrer et booter sur notre système restauré !

    Bien. Normalement à ce moment précis, il va y avoir deux catégories de personnes :

    • celles qui vont dire : « C'est trop cooool ! »
    • celles qui vont dire : « Minute, papillon : il te reste encore à modifier ta configuration de GRUB pour que ça marche ! »

    Et toutes ces personnes auront raison, en un sens. Parce que tel quel, ce qu'on a fait est suffisant sur openSUSE, mais pas forcément ailleurs. Et c'est bien embêtant.

    C'est si embêtant qu'on en parlera dans le prochain épisode !

    That's all folks!

    Liens

    Sur le wiki Btrfs :

    Sur le wiki openSUSE, la liste des sous-volumes créés par défaut.

    Lire les commentaires

  • Des photos de supposés modules de charge sans fil pour les iPhone 8 (MacBidouille)

    Ces photos ont été publiées sur un forum chinois.

    Elles représenteraient le composant interne destiné à venir prendre place dans un chargeur sans fil destiné à l'iPhone 8.
    Des rumeurs prédisent que l'appareil d'Apple pourrait supporter un tel système, mais qu'il serait proposé en option par Apple en sus de l'achat de ce (coûteux sans aucun doute) téléphone. En revanche, il ne devrait arriver que plus tard dans l'année, Apple ayant (selon ces rumeurs) des problèmes à le finaliser dans les temps à cause de soucis logiciels (et pas matériels).

  • Nouvelles de ZeMarmot, GIMP et GIMP Motion (greffon d’animation dans GIMP) (Dépêches LinuxFR)

    Un peu d’info sur les évolutions de ZeMarmot (déjà discutées sur LinuxFr.org), sur la partie logicielle et artistique.

    Ce ne sont pas forcément des nouvelles pour ceux qui suivent l’avancée du projet sur le site Studio Girin, la liste de diffusion ou les réseaux sociaux. Mais pour tous ceux qui ne nous connaissent pas beaucoup ou ne suivent pas, j'espère que cela vous plaira.

    Sommaire

    Logiciel libre

    GIMP core

    Comme d’hab’, je reste un des contributeurs majeurs de GIMP avec 171 commits en 2017 (654 en tout, faisant de moi le 5e plus gros contributeur historique à ce jour) sur la branche master, et quelques commits mineurs sur babl et GEGL. Bien sûr, je fais aussi de la revue de code régulière (qui a eu pour résultat cette année au moins 18 commits poussés de contributeurs occasionnels), des rapports de bogues, des réponses aux bogues d’autrui, du suivi, de la maintenance, etc.

    Mes récentes contributions comportent beaucoup de corrections de bogues, quelques nouvelles fonctionnalités et des détails d’implémentation. Tous ces détails font la différence, surtout maintenant qu’on se rapproche de la sortie de la 2.10. En fait, ces derniers temps, c’est même surtout la somme de tous ces petits détails que l’on améliore qui « m’excite ». Chacune de ces mini‐fonctionnalités à elle seule peut paraître insignifiante, mais toutes ensemble, je trouve vraiment GIMP 2.9/2.10 tellement plus agréable à utiliser et efficace par rapport à la 2.8, que cette version s’annonce pour moi comme une avancée majeure. N’hésitez pas à jeter un œil sur le journal de mes contributions pour avoir plus de détails.

    Nous devrions bientôt sortir une version de développement 2.9.6, ce qui vous donnera une meilleure visibilité, surtout qu’il y a vraiment eu plein de choses super excitantes entre 2.9.4 et 2.9.6 (et pas que de moi ! Nous sommes maintenant trois gros codeurs sur GIMP et les choses se mettent vraiment à bouger énormément).

    Un peu de fun avec GEGL et Android

    À côté, j’ai commencé à m’amuser avec du développement Android. En particulier, j’ai fait la compilation croisée de glib et GEGL pour Android grâce à mon outil, Crossroad (dont j’avais parlé il y a quelques années ici). Je n’ai eu qu’une seule correction à faire pour rendre GEGL compilable pour Android (un commit sur babl, la bibliothèque de conversion de pixels de GEGL).
    J’en parlerai probablement encore quand je sortirai Crossroad 0.8, la version qui permettra officiellement la compilation croisée pour toutes les plates‐formes prises en charge par Android (ARM, x86, MIPS, en 32 et 64 bits), car pour l’instant c’est fait avec la version de développement de Crossroad (mais ça marche déjà très bien ! Testé sur l’émulateur Android, mais aussi sur un vrai téléphone).

    En attendant, je me suis amusé avec une application Android qui peut appliquer diverses opérations GEGL sur une image. L’application n’a pas pour but d’être complexe pour le moment et me sert surtout à expérimenter l’usage de ces bibliothèques libres sur des machines portables. Vous pouvez tout de même jeter un œil au code, si vous voulez, c’est libre ! :-)

    Robogoat : modification d’images avec GEGL sur Android

    Très franchement je ne sais pas encore où cela me mènera. C’est beaucoup d’expérimentation et je le fais surtout parce que ça m’amuse. Certains vont tout de suite s’imaginer GIMP pour Android, j’en suis sûr. ;-)
    Après tout, une version Android de GIMP est clairement une des fonctionnalités demandées régulièrement. J’y ai pensé aussi, bien sûr (il va sans dire, ça serait cool d’avoir GIMP sur les appareils portables !), mais je ne vois absolument pas cela comme une possibilité à court ou moyen terme. GIMP pourrait sûrement être compilé pour Android, là n’est pas le problème, mais son interface n’est clairement pas pensée pour être utilisée sur de petits périphériques. Je sais qu’il y aurait beaucoup de choses à revoir et il est même fort probable qu’il puisse être bien plus intéressant de faire une nouvelle interface graphique à partir de zéro, basée sur GEGL. D’un autre côté, pour travailler sur des tablettes, il y a probablement quelque chose d’intéressant à faire.
    Ne retenez donc pas votre respiration en vous imaginant du GIMP pour Android dans un futur proche. Néanmoins, oui, c’est une possibilité très réelle à terme comme résultat de mes expériences. C’est vrai. :-)

    GIMP Motion

    Début juillet, j’ai publié mon travail en cours sur notre greffon (156 commits additionnels à ce jour, qui ne sont pas encore dans la branche master) pour ajouter la prise en charge d’animations de qualité professionnelle avec GIMP. Le code est donc visible publiquement comme branche du dépôt de GIMP. Il n’est pas intégré encore à la branche master car je considère vraiment cela comme du travail en cours, avec son lot de bogues connus et inconnus et de changements que je fais dessus régulièrement. Cela ne nous empêche pas de l’utiliser quotidiennement (enfin surtout Aryeom, bien sûr), sans pour autant le considérer comme du travail fini et donc disponible dans une version « stable » de GIMP.

    GIMP Motion en action

    Pour l’occasion, j’ai publié deux vidéos pour introduire l’utilisation de base du greffon, lequel présente deux modes : un mode storyboard (que j’appelle aussi « animation simple », car ce serait typiquement le mode classique pour les gens qui font des GIF/WebP animés avec le concept un calque = une image) et un mode animation traditionnelle pour des animations plus complexes où chaque image sera une composition de plusieurs calques. Les deux vidéos sont accompagnées d’un message explicatif qui décrit un peu mieux le contenu de la vidéo et le futur du greffon (surtout le second message) :

    En deux mots, pour ceux qui auront la flemme de lire les articles : dans l’avenir, ce greffon permettra de créer des animations composées de nombreux calques, avec animations de caméra (zooms, panoramique et inclinaison rapide, rotations…), animations d’effets (lumières, reflets, coloration, flous, déformation de caméra…). Tout effet GEGL pourrait être animé, ce qui permettra des animations avancées en quelques clics, ainsi que du motion graphics, etc.

    Une des avancées indirectes apportée à GIMP par le développement de ce greffon, c’est de rendre libgimp (la bibliothèque utilisée par les greffons pour interagir avec GIMP) enfin thread‐safe, puisque j’en ai eu besoin et j’ai donc modifié GIMP pour travailler plus aisément en multi‐thread dans des greffons (seule ma branche possède ce changement pour le moment). Ce sera donc une autre amélioration dont bénéficiera l’ensemble de l’écosystème de greffons de GIMP.

    Le film « ZeMarmot »

    Sur le processus de production d’un film d’animation, vous serez peut‐être intéressé par les articles suivants.

    De l’animatique à l’animation

    Nous avons décrit les étapes de préproduction à production, en expliquant le passage du storyboard à l’animatique puis au keyframing et enfin à l’animation, illustré par une vidéo montrant les diverses étapes côte‐à‐côte.
    De l’animatique à l’animation

    Design

    Nous avons publié un article sur le design d’arrière‐plans, en prenant le terrier de ZeMarmot comme base, à partir de nos photos de recherche sur terrain.
    Design du terrier de ZeMarmot

    Et bien plus…

    Bien sûr, il y a plus au niveau artistique, mais comme à notre habitude, nous essayons de garder un peu de mystère autour de la production pour ne pas vous gâcher le plaisir du premier visionnage. Un peu de patience… ;-)
    Nous divulguons ceci dit un peu plus à nos financeurs Patreon/Tipeee, comme récemment la première scène animée (et on peut donner les liens à ceux qui ont contribué autrement ; si c’est votre cas, envoyez juste un courriel). Mais on met des avertissements clairs « SPOILER », car même en nous soutenant, vous ne voulez pas forcément en voir trop (je sais que personnellement je n’aime pas voir de versions non finies de films, hormis si je travaille dessus).

    Financement participatif

    Comme à mon habitude, je termine mes nouvelles du projet en rappelant que ZeMarmot est entièrement financé de manière participative. Nous utilisons deux plates‐formes de financement participatif mensuel :

    Tout est géré par une association loi 1901 enregistrée en France, LILA, vous pouvez donc aussi faire des donations directement si vous le souhaitez (page de donation de LILA ; n’hésitez pas à envoyer un message en parallèle si vous donnez par ce biais, surtout si vous souhaitez préciser pourquoi vous donnez et nous indiquer votre nom), et sans frais de plate‐forme donc.

    À ce jour, le financement du projet existe, mais il ne nourrit pas grand monde, ce qui explique aussi l’évolution bien plus lente du projet que nous l’espérions. Pour tout dire, on a eu quelques baisses de moral plus d’une fois durant lesquelles on s’est demandé si c’était bien raisonnable de continuer.

    Si vous appréciez notre travail pour améliorer ou créer du logiciel libre et créer de l’art libre que tout le monde pourra télécharger et visionner, je vous appelle à nouveau pour aider notre projet. Le financement va entièrement dans ces objectifs, en salaires de production du film. Que ce soit pour améliorer les logiciels libres en général, GIMP en particulier, l’édition vidéo ou l’animation 2D libres, peut‐être même me pousser à continuer mes expérimentations de compilation croisée — certes, des objectifs annexes sans rapport direct, mais ces expérimentations sont nées de mon intérêt dans GIMP, donc de ZeMarmot — de bibliothèques libres sur diverses plates‐formes (que ce soit Android, d’autres plates‐formes embarquées, ou autres !) ou parce que vous aimez le concept ou l’histoire de notre film (une marmotte qui voyage et qui est libre), ou bien parce que vous souhaitez nous aider à professionnaliser l’art libre, ou toute autre raison qui vous plaît dans ce que nous faisons, alors vous savez comment nous aider en soutenant le projet. :-)

    Et encore une fois, merci à tous ceux qui nous ont soutenus jusque‐là ! Sans vous, ZeMarmot n’existerait pas et tous les trucs dont j’ai parlé plus haut, ainsi que dans divers autres articles, ou encore mes centaines de commits sur GIMP, etc., tout cela n’existerait pas non plus.

    Merci de ZeMarmot

    Lire les commentaires

  • Nouvelles de ZeMarmot, GIMP et GIMP Motion (plugin d'animation dans GIMP) (Dépêches LinuxFR)

    Un peu d'info sur les évolutions de ZeMarmot (déjà discuté sur LinuxFr.org), sur la partie logicielle et artistique.

    Ce ne sont pas forcément des nouvelles pour ceux qui suivent l'avancée du projet sur le site Studio Girin, la liste de diffusion ou les réseaux sociaux. Mais pour tous ceux qui ne nous connaissent pas beaucoup ou ne suivent pas, j'espère que cela vous plaira.

    Sommaire

    Logiciel Libre

    GIMP core

    Comme d'hab, je reste un des contributeurs majeurs de GIMP avec 171 commits en 2017 (654 en tout, faisant de moi le 5ème plus gros contributeur historique à ce jour) sur la branche master, et quelques commits mineurs sur babl et GEGL. Bien sûr, je fais aussi de la revue de code régulière (qui a eu pour résultat cette année au moins 18 commits poussés de contributeurs occasionnels), des rapports de bugs, des réponses aux bugs d'autrui, du suivi, de la maintenance, etc.

    Mes récentes contributions comportent beaucoup de corrections de bugs, quelques nouvelles fonctionnalités, et des détails d'implémentation. Tous ces détails font la différence, surtout maintenant qu'on se rapproche de la sortie de 2.10. En fait ces derniers temps, c'est même surtout la somme de tous ces petits détails que l'on améliore qui « m'excitent ». Chacune de ces mini-fonctionnalités à elle-seule peut paraître insignifiante, mais toutes ensemble, je trouve vraiment GIMP 2.9/2.10 tellement plus agréable à utiliser et efficace par rapport à 2.8 que cette version s'annonce pour moi comme une avancée majeure. N'hésitez pas à jeter un œil sur le log de mes contributions pour avoir plus de détails.

    Nous devrions bientôt sortir une version de développement 2.9.6, ce qui vous donnera une meilleure visibilité, surtout qu'il y a vraiment eu plein de choses super excitantes entre 2.9.4 et 2.9.6 (et pas que de moi! Nous sommes maintenant 3 gros codeurs sur GIMP et les choses se mettent vraiment à bouger énormément).

    Un peu de fun avec GEGL et Android

    À côté, j'ai commencé à m'amuser avec du développement Android. En particulier j'ai cross-compilé glib et GEGL pour Android grâce à mon outil, crossroad (dont j'avais parlé y a quelques années ici). Je n'ai eu qu'une seule correction à faire pour rendre GEGL compilable pour Android (un commit sur babl, la bibliothèque de conversion de pixels de GEGL).
    J'en parlerai probablement encore quand je sortirai Crossroad 0.8, la version qui permettra officiellement la compilation croisée pour toutes les plateformes prises en charge par Android (ARM, x86, MIPS, en 32 et 64 bits), car pour l'instant c'est fait avec la version de développement de Crossroad (mais ça marche déjà très bien! Testé sur l'émulateur Android, mais aussi sur un vrai téléphone).

    En attendant, je me suis amusé avec une application Android qui peut appliquer diverses opérations GEGL sur une image. L'application n'a pas pour but d'être complexe pour le moment et me sert surtout à expérimenter l'usage de ces bibliothèques libres sur des machines portables. Vous pouvez tout de même jeter un œil au code, si vous voulez, c'est libre! :-)

    Robogoat: modification d'images avec GEGL sur Android

    Très franchement je ne sais pas encore où cela me mènera. C'est beaucoup d'expérimentations et je le fais surtout parce que ça m'amuse. Certains vont tout de suite s'imaginer GIMP pour Android, j'en suis sûr. ;-)
    Après tout, une version Android de GIMP est clairement une des fonctionnalités demandées régulièrement. J'y ai pensé aussi, bien sûr (il va sans dire, ça serait cool d'avoir GIMP sur appareils portables!), mais je ne vois absolument pas cela comme une possibilité à court ou moyen terme. GIMP pourrait sûrement être cross-compilé pour Android, là n'est pas le problème, mais son interface n'est clairement pas pensée pour être utilisée sur de petits périphériques. Je sais qu'il y aurait beaucoup de choses à revoir et il est même fort probable qu'il puisse être bien plus intéressant de faire une nouvelle interface graphique à partir de zéro, basée sur GEGL. D'un autre côté, pour travailler sur des tablettes, il y a probablement quelque chose d'intéressant à faire.
    Ne retenez donc pas votre respiration en vous imaginant du GIMP pour Android dans un futur proche. Néanmoins oui, c'est une possibilité très réelle à terme comme résultat de mes expérimentations. C'est vrai. :-)

    GIMP Motion

    Début juillet, j'ai publié mon travail en cours sur notre plug-in (156 commits additionnels à ce jour, qui ne sont pas encore dans master) pour ajouter la prise en charge d'animation de qualité professionnelle avec GIMP. Le code est donc visible publiquement comme branche du dépôt de GIMP. Il n'est pas intégré encore à la branche master car je considère vraiment cela comme du travail en cours, avec son lot de bugs connus et inconnus et de changements que je fais dessus régulièrement. Cela ne nous empêche pas de l'utiliser quotidiennement (enfin surtout Aryeom bien sûr), sans pour autant le considérer comme du travail fini et donc disponible dans une version « stable » de GIMP.

    GIMP Motion en action

    Pour l'occasion, j'ai publié deux vidéos pour introduire l'utilisation de base du plug-in, lequel présente deux modes: un mode storyboard (que j'appelle aussi « animation simple » car ce serait typiquement le mode classique pour les gens qui font des GIF/WebP animés avec le concept un calque = une image) et un mode animation traditionnelle pour des animations plus complexes où chaque image sera une composition de plusieurs calques. Les deux vidéos sont accompagnées d'un message explicatif qui décrit un peu mieux le contenu de la vidéo et le futur du plug-in (surtout le second message) :

    En deux mots, pour ceux qui auront la flemme de lire les articles : dans l'avenir, ce plug-in permettra de créer des animations composées de nombreux calques, avec animations de caméra (zooms, panning/tilting, rotation…), animations d'effets (lumières, reflets, coloration, flous, déformation de caméra…). Tout effet GEGL pourrait être animé, ce qui permettra des animations avancées en quelques clics, ainsi que du motion graphics, etc.

    Une des avancées indirectes apportée à GIMP par le développement de ce plug-in, c'est de rendre libgimp (la bibliothèque utilisée par les plug-ins pour interagir avec GIMP) enfin thread-safe, puisque j'en ai eu besoin et ai donc patché GIMP pour travailler plus aisément en multi-thread dans des plug-ins (seule ma branche a ce changement pour le moment). Ce sera donc une autre amélioration dont bénéficiera l'ensemble de l'écosystème de plug-ins de GIMP.

    Le film « ZeMarmot »

    Sur le processus de production d'un film d'animation, vous serez peut-être intéressé par ces articles :

    De l'animatique à l'animation

    Nous avons décrit les étapes de pré-prod à production, en expliquant le passage du storyboard à l'animatique puis au keyframing et enfin à l'animation, illustré par une vidéo montrant les diverses étapes côte-à-côte.

    De l'animatique à l'animation

    Design

    Nous avons publié un article sur le design d'arrière-plans, en prenant le terrier de ZeMarmot comme base, à partir de nos photos de recherche sur terrain.

    Design du terrier de ZeMarmot

    Et bien plus…

    Bien sûr, il y a plus au niveau artistique, mais comme à notre habitude, nous essayons de garder un peu de mystère autour de la production pour ne pas vous gâcher le plaisir du premier visionnage. Un peu de patience… ;-)
    Nous divulguons ceci dit un peu plus à nos financeurs Patreon/Tipeee, comme récemment la première scène animée (et on peut donner les liens à ceux qui ont contribué autrement ; si c'est votre cas, envoyez juste un email). Mais on met de clairs warning « SPOILER » car même en nous soutenant, vous ne voulez pas forcément en voir trop (je sais que personnellement je n'aime pas voir de versions non-finies de films, hormis si je travaille dessus).

    Financement participatif

    Comme à mon habitude, je termine mes nouvelles du projet en rappelant que ZeMarmot est entièrement financé participativement. Nous utilisons deux plateformes de crowdfunding mensuel :

    Tout est géré par une association loi 1901 enregistrée en France, LILA, vous pouvez donc aussi faire des donations directement si vous le souhaitez (page de donation de LILA ; n'hésitez pas à envoyer un message en parallèle si vous donnez par ce biais, surtout si vous souhaitez préciser pourquoi vous donnez et nous donner votre nom), et sans frais de plateforme donc.

    À ce jour, le financement du projet existe, mais il ne nourrit pas grand monde, ce qui explique aussi l'évolution bien plus lente du projet que nous l'espérions. Pour tout dire, on a eu quelques baisses de moral plus d'une fois où on s'est demandés si c'était bien raisonnable de continuer.

    Si vous appréciez notre travail pour améliorer ou créer du Logiciel Libre et créer de l'Art Libre que tout le monde pourra télécharger et visionner, je vous appelle à nouveau pour aider notre projet. Le financement va entièrement dans ces objectifs, en salaires de production du film. Que ce soit pour améliorer les Logiciels Libres en général, GIMP en particulier, l'édition vidéo ou l'animation 2D Libres, peut-être même me pousser à continuer mes expérimentations de cross-compilation — certes des objectifs annexes sans rapport direct, mais ces expérimentations sont nées de mon intérêt dans GIMP, donc de ZeMarmot — de bibliothèques libres sur diverses plateformes (que ce soit Android, d'autres plateformes embarquées, ou autre!) ou parce que vous aimez le concept ou l'histoire de notre film (une marmotte qui voyage et qui est libre), ou bien parce que vous souhaitez nous aider à professionnaliser l'Art Libre… ou toute autre raison qui vous plaît dans ce que nous faisons… alors vous savez comment nous aider en soutenant le projet. :-)

    Et encore une fois, merci à tous ceux qui nous ont soutenus jusque là ! Sans vous, ZeMarmot n'existerait pas et tous les trucs dont j'ai parlé plus haut, ainsi que dans divers autres articles, ou encore mes centaines de commits sur GIMP… tout cela n'existerait pas non plus.

    Merci de ZeMarmot

    Lire les commentaires

  • Des extensions Google Chrome compromises ! (Génération NT: logiciels)
    Plusieurs extensions pour le navigateur Google Chrome sont un temps devenues malveillantes. Les développeurs ont été piégés par un email de phishing et ont livré leurs identifiants à des attaquants.
  • Au tour du prix de la mémoire graphique d'exploser (MacBidouille)

    Depuis de nombreux mois les cours de la mémoire Flash et de la DRAM sont orientés à la hausse. C'est lié à une forte demande en SSD qui accapare l'essentiel des chaînes de production.
    On apprend maintenant par Digitimes que c'est au tour des cours de la mémoire graphique de s'envoler. Ils ont augmenté entre juillet et août de 31% et devraient encore progresser en septembre.
    Cette pénurie ne semble pas près de prendre fin à courte échéance et elle provoquerait déjà des inquiétudes chez les fabricants de cartes graphiques, et probablement aussi d'Apple qui achète ses puces graphiques pour les intégrer directement sur les cartes logiques de l'essentiel de ses ordinateurs.

    La hausse pourrait représenter jusqu'à une quinzaine de dollars par produit fini. C'est une somme non négligeable, le risque de pénurie étant encore plus grave alors que la production des produits qui seront proposés au moment des fêtes de fin d'année va bientôt démarrer.

  • Apple prend une position ferme face au racisme aux Etats-Unis (MacBidouille)

    Si vous suivez un tant soit peu l'actualité mondiale, vous ne pouvez ignorer qu'une crise majeure sur fond de racisme secoue les Etats-Unis.
    Notre rôle n'est pas de la commenter même s'il ne fait pas l'ombre d'un doute que toute notre équipe soit farouchement opposée à toute forme de racisme ou ségrégation.

    Sans surprise, Apple a choisi son camp et Tim Cook n'a pas hésité à le faire publiquement.

    Il a également adressé un message à ses employés pour dénoncer toute forme de racisme. Apple va donner quelques millions de dollars aux associations luttant contre ce racisme pour les aider.

    La société va toutefois plus loin encore comme le rapporte BuzzFeed. Elle va supprimer le support d'Apple Pay des commerces qui vendent des accessoires et de la propagande raciste aux Etats-Unis, où pour des raisons constitutionnelles ils peuvent avoir pignon sur rue.

    PS: Merci de ne pas vous enflammer de trop sur les forums, sinon les réactions à cette brève seront rapidement fermées.

  • Apple va investir 1 milliard de dollars pour des contenus exclusifs de qualité (MacBidouille)

    A plusieurs reprises nous vous avons relaté qu'Apple était à la recherche de contenus vidéo exclusifs pour donner un coup de fouet à iTunes. C'est devenu indispensable pour assurer sa croissance sans dépendre totalement des Majors audiovisuelles mais aussi lutter contre Netflix, qui s'est érigé en référence dans ce domaine.
    Apple a pour cela commencé par débaucher quelques grands noms de l'industrie du cinéma. Ce sont pour l'essentiel des dirigeants mais pas des créatifs de haut vol. Dans ce domaine Netflix vient d'ailleurs de réussir un coup de ma^tre en réussissant à convaincre Shonda Rhimes de le rejoindre. Elle est celle qui a créé des séries TV à succès comme Grey's Anatomy, Scandal et How To Get Away With Murder.

    Dans ces conditions, Apple n'a pas trop le choix et doit commencer à aligner de l'argent, beaucoup d'argent. Selon le Wall Street Journal la société serait maintenant prête à mettre 1 milliard de dollars sur la table pour acquérir ces fameux contenus exclusifs pour l'année prochaine. La somme est impressionnante même si Netflix y consacre un budget encore bien plus important.

    En attendant, Apple propose un aperçu de ses deux prochains épisodes de Carpool Karaoke.


    Certes, ils seront vus par les fans, mais il faudra autre chose pour gagner à long terme des parts de marché.

  • Dans l'écheveau des câbles à connecteurs USB-C (MacBidouille)

    AppleInsider a publié un très intéressant article sur les différents câbles Thunderbolt 3 ou plutôt sur tous les câbles dotés d'un connecteur au format USB-C dont font aussi partie les câbles Thunderbolt 3.
    En effet, il y a largement de quoi créer des confusions lors d'achats de câbles compatibles tant il y en a de différents.
    En effet, si l'on prend par exemple un MacBook Pro 15" de 2017, il est fourni avec quatre connecteurs Thunderbolt 3 (40 Gbits/s) capables également de gérer de l'USB 3.1 (10 Gbits/s).
    Dans la boîte il y a également un transformateur et un câble permettant de le connecter à cette machine. Ce câble est certifié pour pouvoir laisser passer les 87W du chargeur alors que ce qui est fourni avec un modèle 13" ne supporte que 60W (27W pour le Macbook).
    De plus, ce câble n'est pas Thunderbolt mais seulement USB et selon les tests réalisés ne supporte que l'USB 2.0. Pourtant, il a des deux côtés un connecteur USB-C.

    Pour aller plus loin dans cet écheveau de câbles, voici une liste probablement non exhaustive de ceux qui existent, tous ayant donc deux connecteurs USB-C:
    - Câble USB 3.1 (passifs) courts;
    - Câbles USB 3.1 (passifs) longs (2m);
    - Câbles Thunderbolt 3 passifs et courts, moins de 50cm;
    - Câbles Thunderbolt 3 passifs et longs (jusqu'à 2m) mais limités à 20 Gbits/s;
    - Câbles Thunderbolt 3 actifs et plus long, jusqu'à 2m;
    - Câbles Thunderbolt 3 actifs et très longs, jusqu'à 100m.

    Il faut encore ajouter à cela, comme expliqué plus haut, que chaque câble peut être certifié pour supporter une puissance de courant différente, 60W ou 100W selon les cas.

    On se retrouve donc dans une réelle jungle où le consommateur a toutes les chances de se perdre, faute d'étiquetage clair dans les normes, en particulier le Thunderbolt 3.

    Pour finir, il faut ajouter une dernière chose. Les tests réalisés ont montré que les câbles actifs qui permettent donc de conserver le débit maximum du Thunderbolt 3 au-delà de 50cm ne supportent en revanche qu'un débit limité en USB, l'équivalent du 3.0 à 5 Gbits/s.

    Si vous avez tout compris, vous n'avez plus qu'à l'expliquer à votre entourage, ce qui promet des discussions et questions sans fin.

  • La FTC va surveiller Uber pendant 20 ans (MacBidouille)

    La commission fédérale du commerce américaine a publié un document dans lequel on apprend que Uber a accepté d'être surveillé pendant les 20 prochaines années sur sa gestion et son utilisation des données personnelles qui lui sont confiées.
    Cela fait suite à une affaire qui remonte à 2014. La FTC avait été saisie à cause d'une fonction interne des logiciels de la société surnommée mode God qui permettait aux employés de suivre des personnes dans leur déplacement, ici des journalistes. Uber est accusée d'avoir failli en ne contrôlant pas de manière efficace l'accès à ces fonctions devenues intrusives.
    Uber est également accusée de ne pas avoir assez protégé les données personnelles de ses chauffeurs affiliés, qui avait conduit au vol des données de 100 000 d'entre eux.

    La FTC ne peut prononcer des amendes. En revanche, Uber a accepté, pour échapper à d'autres sanctions, de subir un audit externe tous les deux ans et ce pendant les 20 prochaines années.

  • Samsung lance une gamme de SSD externes USB-C (MacBidouille)

    Samsung a annoncé la sortie d'une nouvelle gamme de SSD externes dotés d'un connecteur USB-C.

    Ils sont disponibles dans des capacités allant de 250 Go à 2 To (entre 130 et 800$) et utilisent une interface USB 3.1 pour des pointes de débits atteignant les 540 Mo/s.

    Ils pourraient avoir un grand succès auprès de ceux qui ont des portables Apple récents, ce stockage supplémentaire étant bien moins coûteux que les options d'augmentation de capacité SSD inamovibles des machines Apple.

  • Intel commence à parler de Ice Lake (MacBidouille)

    Intel a levé une toute partie du voile sur sa future génération de processeurs de la génération Ice Lake, l'intégrant dans son décodeur de codes processeurs.
    Il succèdera à Coffee Lake, qui sera présenté le 21 août prochain, et à Cannon Lake, qui arrivera ultérieurement. Tout comme ce dernier, il utilisera une gravure en 10nm, améliorée et baptisée par avance 10nm+.
    Pour rappel, Intel a décidé de conserver une même finesse de gravure pour trois générations de processeurs contre deux auparavant. Elle sera toutefois améliorée progressivement

Le moins que l'on puisse demander à une sculpture, c'est qu'elle ne
bouge pas.
-+- Salvador Dali -+-