Linux (fr)

  • Version 2.0 de Calaos, la solution de domotique libre (Dépêches LinuxFR)

    Après de longs mois de développement, la version 2.0 de Calaos est enfin là. C'est la première version stable rendue disponible uniquement grâce au travail fourni par la communauté. Outre le passage en GPLv3, le travail s'est porté sur le nettoyage du code, la modularité de chaque couche, une meilleure prise en charge du matériel, le passage à gettext et à l'anglais, et beaucoup de corrections de bogues.

    Calaos Home

    Sommaire

    Historique de Calaos

    Calaos est une solution complète de domotique. Initialement Calaos était un système de domotique développé par la société éponyme, et partiellement Open Source. Lorsque la société a fermé ses portes courant 2013, l'intégralité du code source a été ouvert, mis sous licence GPLv3 et une petite communauté s'est formée pour continuer le développement. Aujourd'hui, nous avons une communauté active sur le forum, ainsi que quelques développeurs qui maintiennent, améliorent le code et ajoutent de nouvelles fonctionnalités.

    Ouverture du code complète en GPLv3

    Après la fermeture de la société, un gros nettoyage du code a été fait, ainsi que le passage à la GPLv3 de toutes les briques logicielles. Tout le code est disponible sur github, et chaque brique est dans son propre dépôt.

    Ce changement de licence étant voulu pour garantir la liberté des utilisateurs dans le futur et éviter qu'une installation Calaos puisse être verrouillée par une société. Il est assez évident que l'un des problèmes de la domotique, c'est la pérennité dans le temps de l'installation, d'un point de vue technologique (support de nouveau protocole, périphérique et remplacement des équipements en panne), mais aussi d'un point de vue sécurité. Et ce qui est sûr aujourd'hui ne l'est plus forcément demain, pouvoir mettre à jour son système est donc une absolue nécessité dans une maison domotisée.

    Présentation des couches logicielles

    Calaos Server

    Application serveur tournant en tâche de fond et qui s'occupe de la gestion de toute la maison, suivant la configuration qui a été faite au préalable. Elle permet aussi d'exporter l’état de la maison, grâce à un protocole JSON qui est utilisé par les différentes interfaces.

    • Technologies utilisées :
      L'application est écrite en C++ et est basée sur les EFL. La configuration se fait grâce à un système de règles qui détermine ce qui se passe dans la maison (Appui sur un interrupteur --> Allumage d'une lumière). Il est possible d'utiliser des scripts LUA pour plus de contrôle sur les règles et les scénarios.

    • Prise en charge du matériel/protocole :
      actuellement, Calaos gère le pilotage matériel suivant :

      • Automates Wago, avec des entrées-sorties TOR ou analogiques, des bus d'éclairages DALI ou DMX
      • IPX800
      • Eco Device
      • API Web
      • 1Wire
      • X10
      • Entrées-sorties Zibase
      • GPIO (avec accès direct sur les cartes tels que la Raspberry Pi ou cubieboard)
      • Squeezebox
      • Nabaztag (Karotz)
      • Caméras IP (Axis, MJPEG…).

    Calaos Home

    Application permettant de piloter depuis un écran tactile l’intégralité de la solution domotique. Elle est développée avec les EFL, pour la partie graphique et la connexion avec le serveur.

    Calaos WebApp

    Interface permettant de piloter Calaos depuis un navigateur web. Application Web HTML5, développé avec AngularJS et Bootstrap.

    Calaos WebApp en action

    Calaos OS

    Calaos OS est une distribution GNU/Linux à part entière. Cette distribution est basée sur OpenEmbedded et permet de fournir des images pré-configurées pour un ensemble de machines. Calaos Server, Calaos Home et Calaos WebApp sont déjà intégrés dans cette distribution, ainsi que tous les outils nécessaires au bon fonctionnement du serveur domotique. Nous préconisons l'utilisation de Calaos OS.

    Les cartes électroniques supportées sont les suivantes :

    • PC Intel x86 et x86_64
    • Raspberry-PI
    • Mele a1000, a2000 et a1000G
    • CubieBoard 1 et 2

    Il est également possible d'utiliser les images Intel x86 et x86_64 dans une machine virtuelle par exemple.

    Calaos Mobile

    Calaos Mobile est une application pour les tablettes et les téléphones mobiles. Ses fonctionnalités sont limitées par rapport à Calaos Home, mais cette version est prévue pour être utilisée plus en tant que télécommande, que ça soit à l'intérieur ou à l'extérieur de la maison. Pour une utilisation depuis le réseau de données mobile, il est nécessaire d'avoir accès depuis l'extérieur à Calaos Server.

    Calaos Mobile existe pour iOS et Android. Cette application est développée avec Qt5 et QML.

    Calaos Mobile sur iOS

    Calaos Installer

    Application permettant la configuration à distance de Calaos Server. Cette application permet l'ajout, la modification ou la suppression d'entrées-sorties et de s'affranchir de l’édition complexe et rébarbative de la configuration de Calaos à la main.

    Cette application permet également de créer graphiquement des scénarios en fonction des valeurs des différentes entrées/sorties, mais également de créer et d’éditer des scripts LUA permettant de répondre et de s'adapter a vos besoins. Application développée avec Qt5.

    Calaos Installer

    État de la communauté

    À ce jour la communauté est composée d'utilisateurs installés par l'ancienne société, mais également par de nouveaux utilisateurs. L'équipe de développement est très petite (2 commiteurs réguliers, plus quelques contributeurs occasionnels).

    Nous sommes d'ailleurs ouverts aux nouveaux développeurs pour venir nous aider, par exemple pour la partie web où on a plus de mal, mais aussi pour la traduction en anglais de la documentation sur le wiki. Il reste encore pas mal de travail à ce niveau.

    À terme nous avons aussi prévu de mettre en place une association loi 1901 afin de fédérer le projet et récolter plus facilement les fonds pour le maintien des infrastructures de développement. Une bonne partie de la communauté sur le forum a répondu positivement.

    Futur

    Maintenant que les bases pour le développement du projet sont correctement posées, nous allons pouvoir continuer à améliorer et ajouter des nouvelles fonctionnalités. En vrac, nous souhaitons travailler sur :

    • Ajout de plus de support matériel (MySensors.org, ZWave…)
    • Ajouter plus de cartes grâce à OpenEmbedded
    • Un système de mise à jour dans Calaos-OS
    • Avoir un système d'historisation des données avec des graphes
    • Et plein d'autres choses !

    En tout cas, je vous invite à tester et venir nous parler sur IRC (#calaos sur freenode)

    Lire les commentaires

  • Un fstab bien configuré pour un ordinateur « de bureau » (Journaux LinuxFR)

    Sommaire

    Bonjour journal de Linuxfr,

    Ça fait quelque temps que je te lis mais c'est la première fois que je t'écris.
    Je suis un auto-didacte avec Linux depuis quelques années mais pas un expert, aussi sois indulgent avec mon niveau technique, modeste.

    Pour un premier journal, je voudrais me pencher sur le fichier fstab (et ce qui en est lié : partitionnement, systèmes de fichier, etc). Ce fichier joue sur le disque dur qui est l'élément le plus lent de l'ordinateur, alors une configuration expliquée et rationnelle pourrait apporter, ne serait-ce qu'un peu, plus de performance et de sécurité à cet organe électronique (et une meilleure compréhension du système pour moi).

    D'abord je vais lister les trucs et astuces utiles que j'ai glané sur le Web, après je te posterai mon fichier fstab et quelques détails sur ma configuration matérielle pour que tu puisses m'aider, si tu le veux, à affiner le paramétrage de ce fichier.

    Les trucs utiles

    Aligner les partitions sur des cylindres du disque dur

    C'est une astuce, dont j'ai perdu la source, mais qui améliore(rait) un peu les performance du disque dur. Je partitionne mon disque dur en utilisant GParted (car il peut créer une partition en les alignant sur un cylindre a contrario de la plupart des installateurs de nos distributions) sur un système Live avant l'installation (où je n'ai qu'à réutiliser les partitions pré-découpées).

    Créer des partitions distinctes

    Pour des raisons de sécurité et de sûreté des données, il est préférable de créer des partitions pour /boot, /var, /tmp et /home (voire /opt pour ceux qui compilent des trucs pour leur système) distinctes de la partition racine /.

    Utiliser un système de fichier optimisé pour les différents usages

    Le système de fichier a une incidence sur les performances du disque dur.
    J'ai trouvé que ReiserFS est préférable pour la partition /var (très performant pour l'écriture des petits fichiers).
    XFS est préférable pour la partition /home, mais on est loin des avantages qu'offre ext4, donc ce dernier resterait préférable.
    Tmpfs est une bonne option pour les dossiers temporaires (/tmp, /var/tmp).

    Y'a-t-il d'autres systèmes de fichier à conseiller pour un usage précis dans le cadre de mon usage ?

    L'option "noatime"

    Cette option désactive la mise à jour des dates d'accès et de modification de tous les fichiers sur la partition concernée par l'option. C'est une option utile pour un serveur mais pas pour nos ordinateurs « de bureau », donc on peut l'ajouter à toutes les partitions dans le cas présent.

    http://tldp.org/LDP/solrhe/Securing-Optimizing-Linux-RH-Edition-v1.3/chap6sec73.html

    Les options "discard" et "data=ordered" (pour SSD uniquement)

    Ces options nécessitent un formatage de la partition en ext4 mais permettent l'activation de ce qu'on appelle communément le TRIM. Ce qui est nécessaire pour contenir l'usure prématurée du SSD.

    https://wiki.archlinux.org/index.php/Solid_State_Drives#Mount_Flags
    http://www.debian-fr.org/ssd-trim-discard-n-est-pas-pris-en-compte-t37357.html

    Mettre /tmp et /var/tmp en RAM

    Pour ce faire, il faut rajouter les deux dernières lignes de mon fstab ci-après.
    La taille allouée à chaque dossier est modifiable par l'option size=*m.

    Ça a pour avantage :
    1. d'accélérer le système car la RAM étant plus rapide que le disque dur.
    2. de réduire l'usure du disque dur (qui n'est plus sollicité car étant remplacé par la RAM).

    Les options "nosuid", "noexec" et "nodev"

    Ces options permettent une réduction - du moins une limitation - des privilèges avec les options de mount. Je passe sur ce que font ces options, il y a le man pour ça.

    1. Ajouter l'option noexec pour toutes les partitions sur le disque dur sauf la partition racine (/), la partition /var° et la partition /home°°.

    2. Ajouter l'option nodev pour toutes les partitions sauf la partition racine (/) et d'éventuelles partitions chroot.

    3. Ajouter l'option nosuid pour toutes les partitions sauf la partition racine (/).

    Je te confesse n'avoir que recopié les conseils donnés dans la source ci-dessous (page 15)
    http://people.redhat.com/sgrubb/files/hardening-rhel5.pdf

    ° : surtout avec Debian et dérivés, Aptitude en souffrirait beaucoup.
    °° : Car cela empêche l'exécution de tout script dans le dossier de l'utilisateur, je trouve cette option pratique pour les ordinateurs des personnes lambda (feu Mme Michu). Prenons l'exemple de cette personne qui utilise son ordinateur pour consulter des méls et télécharger tout et n'importe quoi comme par exemple clique-ici-pour-savoir-qui-consulte-ton-profil-Facebook.sh … Un petit truc silencieux au but obscur qui s'installe en douce dans un dossier caché, à l'insu de l'utilisateur, sans qu'un bon mot de passe ou un système bien à jour puisse y faire quelque chose.

    Exemple personnel

    Ma configuration

    J'utilise un ordinateur « de bureau » comportant un SSD (de récupération) installé en parallèle d'un disque dur. La faible taille du SSD fait que je ne peux me permettre d'y installer l'intégralité du système. Aussi, ai-je décidé de n'installer que les partitions / et /boot sur ce périphérique, plaçant les autres sur le disque dur. J'ai également séparé la partition /var (qui, comme tu le sais, contient entre autre les journaux d'activité) de la partition racine et l'ai placée sur le disque dur (dans le souci de prévenir toute usure prématurée des cellules mémoire de mon disque électronique par des écritures trop fréquentes).

    Fichier fstab

    UUID=XXX       /               ext4        defaults,noatime,discard,data=ordered                                   1 1
    UUID=XXX       /boot           ext4        defaults,noatime,nosuid,noexec,nodev,discard,data=ordered               1 2
    UUID=XXX       /home           ext4        defaults,noatime,nosuid,noexec,nodev                                    1 2
    UUID=XXX       /var            ReiserFS    defaults,noatime,nosuid,nodev                                           1 2
    UUID=XXX       swap            swap        defaults                                                                0 0
    
    tmpfs          /dev/shm        tmpfs       defaults,noatime,nosuid,noexec,nodev                                    0 0
    tmpfs          /tmp            tmpfs       defaults,noatime,nosuid,noexec,nodev,mode=1777,size=768m                0 0
    tmpfs          /var/tmp        tmpfs       defaults,noatime,nosuid,noexec,nodev,mode=1777,size=256m                0 0
    
    

    Et maintenant ?

    Dis-moi, que penses-tu des informations données ci dessus ? Qu'y a-t-il à corriger ? Que pourrais-je rajouter ?
    À propos de la ligne /dev/shm, est-elle vraiment utile ? Je ne sais quoi en penser.

    Merci de ton aide !

    PS : Je n'ai pas tout compris à cette histoire karma et c'est la première fois que j'écris, j'espère que tu jugeras ce journal avec indulgence.

    Lire les commentaires

  • L’écriture neutre (Journaux LinuxFR)

    Les problèmes de l’écriture dite « inclusive »

    C’est laide

    Très.

    Cela n’inclut pas toute la monde

    Très bien, ça donne de la visibilité aux femmes. Dans quelques années toutes les « non-binaires » et autres « agenres » risquent de venir râler parce qu’elles se sentent exclues, et on va se retrouver à faire comme les gens sur tumblr avec des pronoms idiotes telles que « xir, fær, … », qu’il faudra réussir à intégrer dans l’écriture « inclusive ».

    L’accessibilité

    C’est très complexe à lire et à écrire (par exemple, sous Windows, à part en installant manuellement la disposition bépo ou quelque chose de similaire, on ne peut pas faire la caractère « · »)

    Ça ne résout aucune problème à l’oral (comment prononcer « agriculteur·ice·s » ?)

    La point (.) possède déjà une sens (la fin d’une phrase), lui en ajouter une nouvelle est donc plutôt gênante.

    L’écriture neutre

    J’ai donc décidé de vous proposer la réforme suivante, que j’appelle « écriture neutre ».

    Les règles sont simples : les genres disparaissent.

    Je pars de la constat suivante : la genre n’a quasiment jamais d’intérêt:

    • pour toutes les objets inanimées, ça ne sert strictement à rien (quelle est l’intérêt de savoir qu’on dit « une chaise » mais « un tabouret » ?)
    • il est inutile de préciser la sexe d’une personne dans 99% des phrases que l’on faite.

    Il est donc possible de n’utiliser qu’une seule « genre », que l’on appellera « neutre ». Cette genre est extrêmement simple à apprendre puisqu’elle est composée exactement comme la genre féminine dans l’écriture « traditionnelle ».
    Ainsi, comme vous avez pu la remarquer jusqu’à maintenant en lisant cette journal, on ne dira plus « Je lis mon gros journal en regardant la télé en attendant que l’avocat m’appelle » mais « Je lis ma grosse journal en regardant la télé en attendant que l’avocate m’appelle ». Les mots comme « un », « le », « mon », « il » disparaissent complètement.

    Dans l’exemple précédente, il est à noter qu’on n’a aucune idée de la sexe (ou la genre) de la dite avocate. Cela peut très bien être une femme ou une homme, mais de toute façon on s’en fiche.

    Si vraiment on a besoin de signaler la sexe de quelqu’une, il suffit alors de la préciser à l’aide d’autres mots par exemple « la personne de sexe féminine », ou « la singe mâle est en colère » voire même « cette homme est grande ».

    Quelques notes supplémentaires

    La mot « monsieur » disparait : lorsqu’on salue une personne, elle est inutile de signaler sa sexe présumée (c’est encore une fois inutile, et de plus certaines personnes peuvent se vexer si l’on se trompe, ce qui peut créer de nombreuses problèmes). On utilisera donc uniquement « madame ». « Monsieur et Madame Dupond » deviendra donc « Mesdames Dupond ».

    Cette règles à de très nombreuses avantages :

    • Malgré une petite période d’adaptation, ça devrait être assez simple à apprendre. C’est simplement une réflexe à acquérir, et non pas une toute nouvelle orthographe.
    • toutes les personnes sont, cette fois, incluses (vu qu’elle n’est aucunement question de genre ou de sexe, même les non-binaires seront ravies)
    • ça passe très bien à l’oral
    • pas besoin de trouver une nouvelle caractère sur nos claviers, et toutes les lecteurs pour aveugles et autres s’en sortiront très bien
    • ça facilite grandement l’apprentissage de la langue pour les étrangers. À l’instar de l’anglais, plus besoin d’apprendre les genres de chaque mots (et Jane Birkin n’aura plus d’excuse pour faire semblant d’inverser la genre des mots alors qu’elle pratique la français depuis des dizaines d’années)

    Vous vous demandez sûrement pourquoi j’ai choisi de baser cette genre neutre sur la genre féminine (de l’écriture traditionnelle) : tout simplement pour éviter toutes les remarques des pseudo-féministes qui vont venir râler parce que « si on ne garde que le masculin, c’est encore pire » ou « ça invisibilise les femmes, olala ». Personnellement, je trouve que se baser sur la genre masculine aurait été plus simple, vu qu’elle faisait déjà office de neutre dans l’écriture « traditionnelle ». Ceci étant dit, je ne suis absolument pas fixée, et on peut très bien choisir l’une ou l’autre, les deux me conviennent.

    Lire les commentaires

  • [webmail] Organisation en répertoire ou tag/label/libellé (Journaux LinuxFR)
    Cher journal,

    Je sore aujourd'hui mon plus beau clavier pour écrire ses premiers mots (serait-je passé de l'autre côté après plusieurs années de simple lecteur?)

    La première chose que je fais quand je suis sur un ordinateur c'est : regarder mes emails! Il est donc indispensable pour moi d'avoir un webmail ergonomique! J'ai (comme certainement pas mal de monde ici) plusieurs adresses emails! avec différents moyens de visualisation (la centralisation n'est pas souhaitée) :
    - Boulot (squirrelmail)
    - Perso Gmail (webmail google)
    - Perso de mes différents noms de domaines (Squirrelmail/Roundcube/Horde en parallèle)
    J'ai effectué d'autres tests, des groupwares et autres, mais je n'ai pas accroché. Les clients lourds ne me conviennent pas non plus étant très/trop souvent en déplacement.

    Bref, tous ces webmails ont leurs points forts et leurs points faibles, mais franchement comparé à l'ergonomie du webmail de gmail.. il n'y a pas photo! Le système de libellé j'ai maintenant du mal à m'en passer.. D'où ce journal!

    A l'heure ou tous (sauf les systèmes de fichiers) ce classifie par Tag/label/libellé (ex: musique avec rhythmbox, photo avec f-spot...) Pourquoi, ho pourquoi, aucune Webmail (à ma connaissance) n'émerge sur le principe du Tag/label/libellé? Est-ce un problème lié au format Maildir? Google a-t-il protégé son système de libellé? ...? ..? .?

    Peux-tu, stp, cher journal éclairer ma lanterne?

    Plus largement : cette tendance de classification non plus par catégorie/répertoire (arborescente) mais par tag/label/libellé (non arborescente) vous séduit-elle? Un système de fichier "non arborescent" est-il imaginable? (ou la folie m'emporte?)

    3, 2, 1 : échangeons!
  • Libre en Fête 2011 à Supinfo Clermont-Ferrand le 26 mars (Laboratoire Linux SUPINFO)
    Libre en Fête 2011 à Supinfo Clermont-Ferrand le 26 mars
  • la neutralité du net bronsonisée (Journaux LinuxFR)

    Donc la neutralité du net est morte aux USA .
    Dans les faits, le Congrès peut toujours annuler la décision mais sa composition actuelle a peu de chances d'aller dans ce sens.
    Le PDG d'Orange Stéphane Richard s'est déjà prononcé récemment contre la neutralité du net. Logique : les FAI auraient tout intérêt à facturer des accès à internet à la demande.
    Il semblerait que des FAI alternatifs commencent à apparaître aux US. Et En France, que se passerait-il si a neutralité du Net venait à disparaître ?

    Lire les commentaires

  • Mise à jour des pages de manuel de Fedora (Linux Certif)

    Je suis motivé en ce moment :)

    Une fois de plus, j'ai mis à jour les pages de manuel, cette fois à partir des pages de la distribution Fedora.

    Depuis peu, mon ordinateur fonctionne grâce à Arch Linux, ce qui a posé pas mal de problème pour l'importation des pages. J'ai vérifié les pages manuellement et tout semble correct mais il est impossible d'être sûr lorsqu'on manipule autant de pages. N'hésitez pas à écrire si vous trouvez des problèmes.

    C'est 18545 pages de plus qui ont été ajouté au site (toutes langues confondues). Au total, le site héberge désormais plus de 200 000 pages! :)

    Il semble que Fedora ai réalisé un important effort de documentation. Beaucoup de nouvelle pages et de nouvelles traductions ont été introduite.

  • La gestion des magasins libre (Dépêches LinuxFR)

    OpenERP vient de lancer un projet Indiegogo pour développer une gestion des points de vente libre pouvant s'appuyer sur du matériel standard et bon marché. Le projet se base sur OpenERP pour la gestion de la caisse, sur un raspberry pi pour la passerelle navigateur-matériel et du matériel standard comme une tablette Android, un scanner barcode usb, une imprimante à tickets USB.

    La solution proposée permet d'obtenir une gestion de caisse avec du matériel de qualité pour seulement 470€ (290€ avec du matériel low-cost), ce qui est environ trois fois moins cher que les points de vente propriétaires (environ 1500€). L'objectif de ce projet est de généraliser l'utilisation du logiciel libre pour la gestion de la caisse dans les magasins.

    Il existe déjà plusieurs logiciels libres pour la gestion de la caisse (openbravo pos, phppointofsale, OpenERP), mais tous sont prévus pour fonctionner sur des caisses industrielles et chères, avec une complexité d'intégration.

    L'objectif de ce projet est de proposer une solution clé en main intégrant nativement le logiciel avec du matériel standard et permettant de s'appuyer sur du matériel de qualité et peu cher car vendu à grande échelle comme les tablettes Androïd.

    Le raspberry pi permet d'utiliser du matériel USB (environ 3x moins cher que leur équivalent sans fil) pour le matériel périphérique; imprimante à ticket, scanneur barcode, balance, terminal de paiement, etc. Pour ce faire, le raspberry pi sert de passerelle HTTP/USB entre le logiciel tournant dans le navigateur de la tablette et le matériel connecté en usb au raspberry pi.

    Pour les commercants qui souhaitent une solution encore moins chère, il est également possible d'utiliser le point de vente OpenERP sur un ordinateur portable, connecté à une imprimante standard et un scanner usb. C'est moins professionel, mais cela permet de réutiliser du matériel existant pour démarrer à moindre frais.

    Lire les commentaires

  • WireShark la capture réseau (Journaux LinuxFR)
    WireShark (anciennement Ethereal) est un outils d'analyse des trames réseau. L'application a été renommée car le développeur principal a changé de société : le nom Ethereal appartient à sa société précédente, il n'a donc pu continuer le projet sous le même nom...

    Wireshark est un analyseur multi plateformes de protocoles réseaux ou « packet sniffer » classique. Son utilité principale est d'examiner les données qui transitent sur un réseau ou de chercher des données ou un fichier sur un disque. L'outil est utilisable sur plusieurs plateformes : Windows (*.exe), Linux (.deb), OS X (*.dmg).

    Installation :

    Sous Linux, il suffit de lancer la commande : apt-get install wireshark.
    Petite astuce à l'installation : il peut arriver que lorsque l'on exécute Wireshark via l'utilisateur, celui ci ne reconnaisse pas les interfaces réseaux, car l'utilisateur n'as pas les droits d'accès. Il suffit de donner les droits à l'utilisateur ou de lancer directement Wireshark depuis root, mais c'est déconseillé...

    Utilisation simple :

    L'utilisation de ce type d'outils, permet de se rendre compte de la pertinence des protocoles chiffrés comme HTTPS, TLS ou SSL.
    Voici une petite démonstration d'une connexion à partir d'un client Mozilla-Thunderbird vers un serveur (Protocol IMAP standard, sans chiffrement).

    Après configuration du compte IMAP sur le client, on lance l'analyse réseau : voici le détail des échanges entre le client et le serveur.

    Image : Par ici

    On peut s'apercevoir que dans les échanges, la ligne avec l'ID 35 contient l'identifiant et le mot de passe de l'utilisateur (test-wireshark/linagora). Pas besoin de plus de commentaire...

    L'analyse d'une trame hexadécimale.

    Si l'on souhaite avoir des informations plus précises ou plus poussées, plus bas dans WireShark, il y a la trame correspondante en Hexadécimal :

    Image : Par ici

    A partir de là, il est possible de découper la trame. Grâce aux en-têtes, on peut comprendre en détail ce qui se passe. La trame en hexadécimal comprends les différentes couches : hardware, réseau, etc jusqu'à l'applicatif. En voici l'analyse détaillée.

    La première en-tête est la trame Ethernet :

    Image : Par ici

    La première couleur correspond à l'adresse MAC de destination (si celle ci est à FF:FF:FF:FF:FF:FF c'est bien souvent une requête ARP). La seconde couleur est l'adresse MAC de l'hôte qui envoie sa requête. La couleur rose correspond au type de protocole (IPV4, IPV6, ARP, AppleTalk etc..) étant à '0800' ça sera de l'IPv4 par la suite. En fin de trame la couleur jaune (2 octets) est le CRC, le contrôle d'erreur.

    Voici la trame IP :

    Image : Par ici

    La première couleur correspond à la version de l'IP donc 4. La longueur de l'entête est de 5 (cette valeur est toujours comprise entre 5 et 15). Ensuite nous avons 7 octets qui correspondent aux :
    • Type de service
    • Longueur totale de l'entête en octets
    • Identification du numéro de paquets, car un paquet peux être fragmenter en plusieurs trame.
    • Flags
    • Fragment Offset
    Pour avoir plus d'informations sur les cinq points précédents je vous invite à lire la page Wikipédia.

    En couleur grise, c'est le TTL, suivi par le numéro de protocole, étant à '06', le protocole suivant sera du TCP. Ensuite sur 2 octets nous avons une somme de contrôle. Enfin nous arrivons sur les 8 derniers octets de la partie IP qui correspondent aux adresses IP source et destination. '0A 4B 81 29' si on transforme l'hexadécimal en base décimale, on retrouve notre adresse IP source (10.75.129.41), pareil pour l'adresse de destination.

    Comme trouvé dans la partie IP, le protocole suivant est le TCP, voici la découpe :

    Image : Par ici

    Cette partie est en 9 morceaux distincts. Voici à quoi ils correspondent respectivement :
    • Port source : 'a691'
    • Port destination : '008f'
    Si on convertit ces 4 octets on retrouve ces valeurs : '42 641' et '143'. Le lecteur éclairé aura reconnu ici que le port de destination correspond à celui utilisé pour le protocole IMAP, dans sa version non sécurisée. Si on regarde les échanges réseau de la première image, on retrouve bien ces valeurs.

    Ensuite, il y a :
    • Numéro de séquence
    • Numéro d'acquittement
    • Taille de l'entête : codé sur 4 octets, la valeur '8' indique que l'entête TCP est composée de 4 mots de 32 bits.
    • Le champs réservé aux drapeaux (flags), de valeur '0 18'
    • Le champs "fenêtre", permettant de connaître le nombre d'octets que le récepteur souhaite recevoir sans accusé de réception
    • Somme de contrôle (CRC) : 56 73
    • Les champs d'options et de remplissage.
    Les niveaux supérieurs concernent directement l'application. L'analyse d'une telle trame peut être utile lors d'analyse de problème applicatif ou de problème réseau, afin de savoir ce qu'il se passe concernant le transport des paquets. Ces analyses servent également à procéder à la rétro-ingénierie des protocoles propriétaires. C'est à travers cette méthode que Rob Savoye et ses collègues développent le logiciel Gnash, par exemple.

    Ce journal reste une simple présentation des de Wireshark, et de montrer l'importance des protocoles chiffrées.
  • Reqflow (Journaux LinuxFR)

    Reqflow

    Reqflow est un outil open-source de traçabilité d'exigences entre documents. Ce genre de traçabilité s'avère utile dès que la taille d'un projet devient conséquente : plusieurs centaines d'exigences.

    J'avais plusieurs fois cherché et mentionné le besoin d'un tel outil open-source, et ne trouvant rien, je l'ai réalisé.

    Le concept d'exigence

    Pour résumer le concept d'exigence à ceux qui n'en ont pas l'habitude, une exigence (requirement en anglais) est typiquement une fonctionnalité, décrite en quelques lignes. De cette exigence peuvent découler :

    • des exigences plus fines, décrivant comment on va réaliser la fonctionnalité
    • des tests, qui décrivent comment la vérifier sur le produit fini

    On dit que les exigences aval couvrent les exigences amont.

    L'intérêt de décrire un système par exigences est de fragmenter la complexité en portions de dimensions réduites, plus faciles à maîtriser humainement (comprendre, discuter, vérifier, tester). Cela oblige également à synthétiser les documents de spécifications. On a trop souvent vu des documents de plusieurs centaines de pages verbeux, imprécis, et confus.

    La manière de travailler ensuite peut grossièrement se résumer ainsi : on vérifie qu'on n'a oublié aucune exigence en réalisant le système.

    Les entreprises industrielles qui conçoivent de gros systèmes (véhicules, avions, etc.) utilisent la fragmentation en exigences pour définir et réaliser leurs systèmes.

    Principe de Reqflow

    Reqflow est un outil en ligne de commande. Il analyse les fichiers d'entrée (au format Open XML, Open Document, etc.), capture les exigences, capture les liens entre exigences, et génère un rapport (format texte, CSV ou HTML), indiquant si toutes les exigences amont sont couvertes par des exigences aval.

    Pour fonctionner, on a besoin de placer dans les documents des marqueurs d'exigence. Exemple :

    PRINTF_01
    La commande `printf --help` doit afficher un message d'aide et se terminer.
    

    Ensuite dans le plan de test on doit référencer cette exigence :

    T_PRINTF_01
    - lancer la commande `printf --help`
    - vérifier qu'un message d'aide s'affiche.
    - vérifier que la commande se termine avec un code retour zéro
    Ref: PRINTF_01
    Ref: PRINTF_03
    

    Reqflow indique ensuite:
    - les exigences de la spécification qui ne sont pas prises en compte dans les tests
    - les erreurs (exigences en double, références vers des exigences inexistantes, etc.)
    - les matrices de traçabilité entre exigences et entre documents

    Exemple de rapport HTML: http://goeb.github.io/reqflow/reqReport.html

    Analyse des PDF

    Pour analyser les fichiers d'entrée au format PDF, j'ai utilisé la bibliothèque Poppler, qui est utilisé dans plusieurs lecteurs PDF open-source.

    Autant pour analyser les fichiers HTML, texte, ODT, DOCX, c'est relativement simple (bibliothèque libxml2 et analyse manuelle), autant pour le PDF c'est compliqué.

    Car le format PDF, s'il est bien pour transférer un document en gardant le rendu visuel, n'est pas du tout adapté pour être traité informatiquement. En effet les mots que l'on voit se suivre sur l'écran ne sont pas toujours consécutifs dans le fichier. Et ils peuvent même être inversés.

    Je crois (mais ne suis pas certain) que Poppler est capable de remettre les mots dans l'ordre en se basant sur leur emplacement sur la page.

    Expressions régulières

    J'avais commencé avec la bibliothèque POSIX regex. Puis je me suis réorienté vers la bibliothèque PCRE car elle me paraissait plus conviviale (pas besoin d'échapper les parenthèses notamment). Heureusement, la bibliothèque PCRE fournit une interface identique à la lib regex (libpcreposix), donc je n'ai pas eu à changer mon code source.

    Conclusion

    J'utilise Reqflow dans mon travail, pour tracer 750 exigences de 8 documents de spécification amont, et il me rend bien service.

    Page web de Reqflow: http://goeb.github.io/reqflow
    Code source sur Github: http://github.com/goeb/reqflow

    Lire les commentaires

  • Support à long terme de Debian: une opportunité à ne pas manquer (Dépêches LinuxFR)

    Nous le savons tous, la période de maintenance de chaque version stable de Debian (environ 3 ans ¹) est insuffisante pour répondre aux attentes de nombreuses entreprises qui se tournent alors vers Ubuntu LTS ou RedHat. Pour répondre à la demande d'un support étendu un groupe de travail « Debian LTS » a été mis en place avec deux objectifs principaux:

    1. mettre en place l'infrastructure nécessaire
    2. convaincre les entreprises de mutualiser leurs ressources pour assurer le travail nécessaire

    Le premier objectif est atteint puisqu'un dépôt « squeeze-lts » est désormais prêt à l'emploi. Il s'agit maintenant d'atteindre le second en convainquant le maximum d'entreprises soit d'apporter des moyens humains soit de participer financièrement.

    Si l'on réussit à fédérer suffisamment d'entreprises autour de ce projet ² (et nous savons tous que nombreuses sont celles qui utilisent Debian sur leurs serveurs), alors le support à long terme deviendra la norme, et Debian 7 puis Debian 8 en bénéficieront à leur tour.

    C'est pourquoi je vous invite à récupérer le formulaire de soutien et à présenter le projet à votre encadrement pour voir sous quelles modalités votre entreprise pourrait participer et ainsi rejoindre le rang des entreprises contributrices à Debian LTS. Merci!

    ¹ En fait chaque version de Debian est maintenue jusqu'à la sortie de la version suivante + 1 an. Comme les versions sortent environ tous les deux ans, cela donne trois ans de support sécurité en règle générale. C'est insuffisant, avec un support sécurité de 5 ans, il serait possible de garder 5 ans la version N et de passer directement à la version N+2:

    5 ans de support en image

    ² D'après mes premières statistiques, une cinquantaine d'entreprises pourrait suffire. Mais nous pouvons aller bien au delà et ainsi réduire le coût par entreprise, ou alors utiliser les moyens supplémentaires pour être plus pro-actif en terme de sécurité et/ou investir dans l'infrastructure pour optimiser le travail de l'équipe sécurité.

    Lire les commentaires

  • LinuxFr.org : seconde quinzaine de mai 2018 (Journaux LinuxFR)

    Nonante-septième épisode dans la communication entre les différents intervenants autour du site LinuxFr.org : l’idée est tenir tout le monde au courant de ce qui est fait par les rédacteurs, les admins, les modérateurs, les codeurs, les membres de l’association, etc.

    L’actu résumée ([*] signifie une modification du sujet du courriel) :

    Avertissement

    Ceci est un second message pour prévenir certains de nos visiteurs qui nous transmettent inutilement des infos sensibles via leur lecteur de flux RSS/Atom, infos qui se retrouvent stockées dans nos logs web.

    Format par défaut d'un log du serveur web Nginx (source) :

    log_format combined '$remote_addr - $remote_user [$time_local] '
                        '"$request" $status $body_bytes_sent '
                        '"$http_referer" "$http_user_agent"';
    

    Certains utilisateurs nous transmettent leur nom d'utilisateur distant (pas forcément gênant, mais inutile).

    Par contre, certains nous transmettent leur nom d'utilisateur ET leur mot de passe. On a ainsi leur nom d'utilisateur dans le champ remote_user mais aussi leur nom d'utilisateur et leur mot de passe en clair dans le champ http_referer, sous la forme http://login:pass@linuxfr.org/journaux.atom ou https://login:pass@linuxfr.org/news.atom. Cela concerne 6 utilisateurs différents (tous utilisateurs de FreshRSS), dont 1 a été identifié et contacté en privé. Pour les cinq autres, à savoir Jeoffrey, jm, lionel, SVNET et titoko, je vous suggère d'arrêter de nous envoyer votre mot de passe, puis de changer de mot de passe étant donné qu'il a fuité, et aussi d'utiliser préférentiellement la version HTTPS du flux souhaité. N'hésitez pas à me contacter en privé si vous avez des questions (oumph CHEZ linuxfr.org).

    La version FreshRSS 1.11.0 du 2018-06-03 corrige ce problème Strip HTTP credentials from HTTP Referer in SimplePie #1891.

    Statistiques

    Du 16 au 31 mai 2018

    • 1371 commentaires publiés (dont 11 masqués depuis) ;
    • 344 tags posés ;
    • 99 comptes ouverts (dont 9 fermés depuis) ;
    • 33 entrées de forums publiées (dont 1 masquée depuis) ;
    • 32 liens publiés (dont 1 masqué depuis) ;
    • 26 dépêches publiées ;
    • 30 journaux publiés (dont 1 masqué depuis) ;
    • 3 entrées nouvelles, 1 corrigée dans le système de suivi ;
    • 0 sondage publié ;
    • 2 pages wiki publiées (dont 1 masquée depuis).

    Listes de diffusion (hors pourriel)

    Liste webmaster@ - [restreint]

    • R.A.S.

    Liste linuxfr-membres@ — [restreint]

    • R.A.S.

    Liste meta@ - [restreint]

    • R.A.S.

    Liste moderateurs@ - [restreint]

    • [Modérateurs] Dépêche Refaire linuxfr
    • [Modérateurs] contenu problématique
    • [Modérateurs] nfsw
    • [Modérateurs] URL d'une dépêche

    Liste prizes@ - [restreint]

    • R.A.S.

    Liste redacteurs@ - [public]

    • R.A.S.

    Liste team@ - [restreint]

    • [team linuxfr] Optimize MySQL
    • [team linuxfr] Login/mot de passe envoyé en clair dans une URL HTTP sur LinuxFr.org
    • [team linuxfr] Login/mot de passe envoyé en clair dans une URL HTTP sur LinuxFr.org
    • [team linuxfr] Login/mot de passe envoyé en clair dans une URL HTTP sur LinuxFr.org
    • [team linuxfr] Test passage en Jessie
    • [team linuxfr] Joker.com: Your domains are about to expire (expiration report)

    Liste webmaster@ — [restreint]

    • R.A.S.

    Canal IRC adminsys (résumé)

    • mises à jour de sécurité
    • le support sécurité normal pour Debian GNU/Linux 8 Jessie s'arrête au 17 juin
    • expiration du certificat au 3 juin et discussion sur le renouvellement
    • deux conteneurs mis à jour en Jessie, en attendant le passage en Stretch
    • le conteneur de développement redirige tout le trafic en HTTPS désormais
    • une boucle de courriels entre un système de ticket et notre gestionnaire de liste de diffusion
    • travaux en cours pour nettoyer le dépôt git d'administration système (avec des fichiers générés par l'outil d'automatisation Ansible notamment)

    Tribune de rédaction (résumé)

    • Migration de GIMP vers GitLab ajoutée dans la dépêche sur la 2.10.2
    • Demande de retours sur la dépêche GrafX2 par le développeur principal
    • Une correction post-publication

    Tribune de modération (résumé)

    • du spam (dont un robot réutilisant des extraits de phrases)
    • modération d'une image déplacée
    • expiration de notre certificat X509 Gandi Wildcard au 3 juin
    • évocation du renouvellement du CNNum (on aurait pu mentionner les entrées au comité de prospective de la CNIL)
    • migration de deux conteneurs en Debian Jessie

    Commits/pushs de code https://github.com/linuxfrorg/

    • Merge pull request #222 from fredplante/master
    • Fix typo
    • (svgtex) fixes duplicate xlink attribute on svg result
    • (epub) Use https for LinuxFr.org URLs

    Divers

    • Geek Faëries du 1 au 3 juin : conférence « LinuxFr.org, 20 ans que ça geeke » et table ronde « Ces plates‐formes du Libre qui soutiennent les communautés » avec l'Agenda du Libre et En Vente Libre. Plein de mercis à Bookynette pour le Village du libre, à l'équipe organisatrice des GF, et à Marco et Marius pour l'hébergement.
    • Proposition de conférence soumise + table ronde + demande de stand pour les RMLL 2018 Strasbourg

    Commentaires : voir le flux atom ouvrir dans le navigateur

  • Migrer Windows 10 d'un disque BIOS/MBR, vers un SSD en mode UEFI/GPT avec des logiciels libres (Journaux LinuxFR)

    Sommaire

    Introduction

    Ce tutoriel vous guide pas à pas pour migrer votre installation de
    Windows qui est actuellement sur un disque dur de votre PC vers un
    nouveau disque, en l'occurrence un SSD. A vrai dire, vous pouvez aussi
    bien migrer vers un autre HDD.

    La spécificité de ce tutoriel est qu'elle utilise les outils fournis par
    Microsoft avec Windows ainsi que des logiciels libres (Clonezilla
    principalement, mais si quelque chose devait mal tourner vous pouvez avoir
    besoin d'utiliser fdisk, gdisk ou testdisk pour ne citer qu'eux). Quand
    j'ai voulu faire cette migration je n'ai pas trouvé de tutoriel
    expliquant de bout en bout comment faire cette migration juste avec les
    outils de Microsoft et des logiciels libres.

    Typiquement, vous pouvez avoir envie/besoin de faire cela car vous avez
    acheté un nouveau disque pour remplacer l'ancien (par exemple car
    l'ancien montre des signes de faiblesse, ou vous voulez améliorer la
    réactivité de votre système).

    En plus de la migration du système d'exploitation, ce tutoriel vous
    explique comment passer d'un démarrage en mode BIOS/MBR à un démarrage
    en mode UEFI/GPT.

    Succinctement la démarche est la suivante, d'abord installer le nouveau
    disque dans le PC, et initialiser la table de partition selon les normes
    Microsoft. Puis cloner/dupliquer la partition contenant le système
    d'exploitation à l'aide de Clonezilla. Ensuite et avant de redémarrer
    dans le clone de Windows sur le SSD, faire quelques modifications dans
    le registre pour que la lettre de lecteur C: pointe vers la bonne
    partition et éventuellement modifier le mode SATA en AHCI si vous le
    modifiez aussi dans le UEFI/BIOS. Après cela, on va préparer la
    partition système EFI/ESP pour que le PC puisse démarrer dessus et qu'il
    démarre sur le Windows du SSD. Finalement, une fois dans le Windows du
    SSD, on va réactiver l'"environnement de récupération de Windows".

    Mise en garde : Faites une sauvegarde de vos données avant toute
    opération. Personne n'est à l'abri d'une mauvaise manipulation ou d'une
    erreur.

    Prérequis

    Compétences

    Niveau de difficulté : Difficile.

    Vous devez être à l'aise au niveau de l'utilisation de la ligne de
    commande dans Windows, mais aussi assez à l'aise pour gérer les
    partitions de votre disque. Savoir modifier le paramétrage de votre
    Firmware UEFI/BIOS et aussi nécessaire. Ce tutoriel guide pas à pas pour
    la majorité des opérations. Certaines n'ont pas été détaillées par souci
    de simplicité et d'efficacité.

    Matériel

    Le PC où vous voulez installer le SSD. Il faut qu'il soit en état de
    marche. De plus il doit avoir un firmware UEFI. S'il n'a que un BIOS
    standard, sans UEFI, ce tutoriel n'est pas adapté.

    Clé(s) USB ou plusieurs CD/DVD sur lequel vous aurez mis
    Clonezilla, System rescue
    CD
    et un environnement de démarrage
    Windows PE, ou Windows RE, ou le DVD/Disque d'installation de Windows.

    Le disque SSD (testé avec Samsung SSD 860 EVO 250GB). Il doit avoir une
    taille suffisante pour contenir votre partition de Windows. Dans tous
    les cas, la taille de la partition qui contiendra Windows sur le SSD
    doit être au moins égale à la taille de la partition Windows du HDD que
    vous voulez cloner. Au besoin, pour remplir ce critère, réduisez la
    taille de votre partition Windows avec le gestionnaire de disque de
    Windows par exemple (ou un autre outil de gestion de partition, comme
    gparted, sur le System Rescue CD). Cherchez sur internet si vous ne
    savez pas comment faire.

    Logiciel

    Windows 10 installé (en version 64 bits) (testé avec Win10 v1709)

    Windows 10 PE ou support d'installation de Windows 10 (clé USB ou DVD) -
    En Version 64 bits (testé avec un support d'installation de Win10 v1804)

    System rescue CD (version 5.2.2 par
    exemple)

    Clonezilla installé sur une clé ou un CD.
    Bien vérifier avant que votre système arrive à démarrer dessus. (Testé
    avec Clonezilla 2.5.5-38)

    Nomenclature

    SSD : désigne le nouveau SSD

    HDD : désigne votre disque actuel, sur lequel est installé Windows

    WinPE : un environnement de démarrage Windows PE, ou Windows RE, ou le
    DVD/Disque d'installation de Windows. Il doit être sur un support
    amovible (USB, CD ou DVD)

    S: La lettre de lecteur affectée à la partition Système EFI qui sera sur
    le nouveau SSD (parfois appelée ESP, EFI_System_Partition ou encore
    SYSTEM, ou EFI)

    N: Le clone de Windows, sur le SSD

    O: Le Windows cloné, sur le HDD

    C: La partition dans laquelle est installée Windows, lorsqu'on est dans
    Windows (que ce soit le windows cloné, ou le clone)

    Les commandes doivent être lancées en tant qu'administrateur.

    Procédure de base

    • Fixer et brancher le SSD dans l’ordinateur

    • Désactiver Windows FastStart (cf votre moteur de recherche préféré)

    • Initialiser et partitionner le disque à l'aide de Windows

      • Démarrer sur le Windows installé ou WinPE
      • Pour initialiser le disque, d'abord créer une table de partition, puis partitionner le disque. Pour ce faire :
        • Suivre les instructions de partitionnement UEFI/GPT selon Microsoft. Ci-dessous mon exemple, mais peut-être avez-vous besoin d'une partition "recovery" aussi, ou votre configuration nécessite quelques aménagements. Dans ce cas, voir les instructions de Microsoft et adapter pour vos besoins.
        • Par exemple: une partition EFI de 260Mo, une partition Microsoft Reserved (MSR) de 16Mo, une partition pour Windows (taille au moins égale à la taille de la partition de Windows à cloner). Pour informations, dans diskpart, les tailles que vous donnez en MB/Mo sont en réalité des MiB/Mio (220 = 10242 octets).
          • Ouvrir une invite de commande en mode administrateur et lancer diskpart . Et une fois dans diskpart :
            • list disk pour lister les disques et connaître le n° du SSD.
            • select disk # avec le numéro du SSD à la place de #
            • clean Supprime le contenu du disque / l'initialise
            • convert gpt Définit que le disque aura une table de partition GPT
            • create partition efi size=260 Crée une partition EFI de 260MiB
            • format quick fs=fat32 label="System" Formater la partition EFI au format FAT32
            • assign letter="S" Lui donner la lettre S
            • create partition msr size=16 Créer une partition Microsoft Reserved de 16MiB
            • create partition primary Créer la partition pour Windows (l'équivalent du C: )
            • format quick fs=ntfs label="Windows" Formater la partition pour Windows au format NTFS
            • assign letter="N" Lui donner la lettre N
            • list volume Liste les volumes. Permet de voir la table de partition.
            • exit Quitte diskpart
    • Cloner le Windows installé sur le HDD. Ceci sera fait à l'aide de
      Clonezilla

      • Redémarrer dans Clonezilla
      • Une fois dans clonezilla, et si vous êtes confortable avec les lignes de commande Linux, éventuellement supprimer de la partition Windows du HDD les fichiers pagefile.sys , hyberfil.sys (désactiver windows faststart avant), swapfile.sys .
      • Cloner la partition Windows du HDD vers le SSD (de préférence, partition de même taille, et de toutes façons, la partition de destination doit être plus grande que la source. Si ce n'est pas le cas, réduisez d'abord la taille de votre partition Windows depuis Windows). Dans clonezilla, utiliser le mode Partition vers Partition, et en mode Export. Utiliser les options -e1 auto (automatically adjust file system geometry for a ntfs boot partition if exists) -e2 (sfdisk uses CHS of hard drive from EDD (for non grub loader) -r (resize filesystem to fit partition size of target) -m (do NOT clone boot loader) -v (verbose)
      • Optionnellement cacher la partition contenant le windows source de la table de partition du disque source (si vous ne savez pas à quoi ça sert, passez votre chemin). Pour cela modifier le type de partition de la partition NTFS de windows (en principe, NTFS a un id de « 7 ». On peut utiliser id 17 pour la partition cachée : 17 correspond à « IFS Hidden »). Utiliser cfdisk ou fdisk pour faire ce changement (ce sont des programmes linux).
    • Dans le Firmware UEFI (ou BIOS-UEFI), on peut en profiter pour passer
      du mode SATA "IDE" vers "AHCI". Windows n'aime pas ce changement et
      il faut donc faire une opération dans le registre qui est
      détaillée ci-dessous. Tant que vous ne le faites pas, vous aurez un
      écran de plantage bleu de windows au démarrage (BSOD).

    • Si vous voulez être sûr de ne pas faire de bêtise dans le Windows que
      vous venez de cloner, je vous conseille d'éteindre l’ordinateur & de
      débrancher l’ancien disque. Ainsi vous ne risquez pas de modifier le
      mauvais fichier de registre (en l'occurrence celui de votre Windows
      sur le HDD)

    • Effectuer quelques opérations sur le Windows de destination (celui
      sur le SSD) avant qu'on ne démarre dessus. En particulier corriger le
      registre pour affecter la lettre de lecteur C: à la bonne partition,
      et si le paramétrage du Firmware UEFI (BIOS-UEFI) a été modifié pour
      passer de SATA Mode PCI vers AHCI, on va aussi faire ce changement
      pour que ca fonctionne.

      • Redémarrer dans WinPE (en Mode UEFI, pas MBR !)
        • Tout d'abord déterminer la lettre de lecteur affectée au clone de Windows, celui qui est sur le SSD. Ou, s'il n'y a pas de lettre affectée, lui en donner une, par exemple N: (lettre utilisée dans les exemples qui suivent)
          • Pour cela, lancer dans diskpart
            • list volume
              Ce qui retourne la liste des volumes avec la lettre de lecteur qui a été affectée à chacun.
          • Si aucune lettre de lecteur n'est affectée, il faut alors lui en affecter une. Pour cela, lancer dans diskpart
            • select volume # (avec # étant le numéro du volume qui contient le nouveau windows)
            • assign letter=N
              S'il n'est pas possible d'utiliser select volume alors faire comme ceci
            • list disk
            • select disk # (# étant le numéro affecté au SSD)
            • list partition
            • select partition # (# étant le numéro affecté à la partition de Windows sur le SSD, probablement 3)
            • assign letter=N
        • Faire un CHKDSK /F sur la lettre du nouveau Win
        • Pour que la partition C: utilisée par Windows soit celle du SSD et pas celle de l’ancien disque, modifier une clé de registre du nouveau Windows :
          • Lancer REGEDIT et dans le registre HKEY_LOCAL_MACHINE monter la ruche N:\Windows\System32\Config\SYSTEM . Lui donner le nom "NewWin" On s’intéresse à HKEY_LOCAL_MACHINE\NewWin\MountedDevices . Ce sont là les valeurs qui sont dans le registre " HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices " lorsqu'on est dans l'installation de Windows.
            • Dans HKEY_LOCAL_MACHINE\NewWin\MountedDevices modifier la lettre de lecteur C: en renommant \DosDevices\C: par \DosDevices\O: (car la valeur fait référence à la partition de l'ancien Windows sur le HDD et on ne veut pas, en démarrant, utiliser cette partition mais celle de son clone qui est sur le SSD). Ainsi, lorsqu'on démarrera dans le nouveau Windows, la partition contenant le Windows sur le HDD aura la lettre O:, et la partition contenant le Windows sur le SSD aura la lettre C:
            • Créer une nouvelle valeur binaire nommée \DosDevices\C: et lui donner comme contenu celui de \DosDevices\N: qui est renseignée dans le registre WinPE, c'est-à-dire là HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices ( C: étant la lettre qu'utilisait le Windows du HDD comme partition où il y a le dossier \Windows )
            • ATTENTION: Bien vérifier que la copie a fonctionné et qu'il y a les bonnes valeurs, car dans mes essais, j'ai du m'y reprendre à 2 fois car le 1er "coller" ne collait pas ce que je voulais.
            • En principe c'est tout. Mais d'après certaines sources, il y aurait une clé \\?\Volume{GUID} ayant le même contenu que le \DosDevices\O: qu’on vient de modifier. Chez moi ce n'était pas le cas. Si vous avez une telle valeur, alors il faut lui donner le contenu de \DosDevices\N: depuis le registre WinPE
        • Si en même temps que la migration on veut aussi passer du mode SATA IDE vers AHCI alors il faut encore faire ceci. Cela a été repris du site tomshardware.co.uk
          • Toujours dans REGEDIT avec la ruche montée en HKEY_LOCAL_MACHINE\NewWin
          • Aller à HKEY_LOCAL_MACHINE\NewWin\ControlSet000\Services\storahci\StartOverride
          • Changer la valeur DWORD de 3 à 0.
          • Au redémarrage, si ça n'a pas été fait, changer la paramétrage du contrôleur SATA de IDE à AHCI. Au redémarrage, Windows devrait directement démarrer correctement et sans plantage (BSOD).
        • Rendre le disque bootable en installant les outils EFI de microsoft et configurant le Magasin BCD (BCD Store)
          • D'abord assigner une lettre de lecteur à la partition ESP
            • MOUNTVOL S: /S
              Si ca n'a pas fonctionné, faire comme ceci dans diskpart
            • list disk
            • select disk # (# est le numero du SSD retourné par list disk)
            • list partition
            • select partition # (# est probablement 1)
            • assign letter=S
          • Puis lancer bcdboot N:\windows /l fr-fr /s S: /f UEFI
            • N:\Windows est le répertoire contenant le clone de Windows sur le SSD)
            • S: = partition EFI
    • Redémarrer, et avant le lancement de Windows vérifier votre UEFI
      (ou BIOS-UEFI). Il faut qu'il soit configuré pour démarrer par défaut
      en mode UEFI et pas en mode BIOS. Penser aussi à corriger le
      paramétrage SATA si cela a été modifié dans le registre de Windows.

      Le paramétrage du démarrage avec
      bcdboot N:\windows /l fr-fr /s S: /f UEFI a normalement créé le
      magasin BCD, mis tous les fichiers EFI sur la partition SYSTEME (ESP,
      partiton EFI, la 1ère du SSD) et dit au firmware UEFI qu'il doit
      automatiquement démarrer avec le gestionnaire de démarrage
      (boot manager) de Windows.

    • Une fois qu’on a réussi à démarrer dans la copie de Windows

      • Réactiver le "FastBoot"
      • Réactiver l'environnement de récupération de Windows en lançant, depuis une ligne de commande avec les droits administrateur, la commande reagentc.exe /enable . Vérifier avec reagentc.exe /info . Et s'il y a une erreur essayer avec reagentc.exe /enable /setreimage /path C:\Recovery\WindowsREC:\Recovery\WindowsRE est le dossier où se trouve le fichier Winre.wim
      • Vérifier que tout est en ordre. Eventuellement donner un nouveau nom à votre partition C: (pour la différencier de celle sur le HDD) en lançant: LABEL [drive:][label]
      • Redémarrer encore une fois en laissant le processus de démarrage se faire tout seul pour vérifier que tout est ok.
    • Réinsérer l'ancien disque dur.

    • Normalement, il devrait être possible de redémarrer dans l'ancien
      Windows, du moment que vous savez comment booter en MBR, et sous
      réserve de ne pas avoir modifié le mode SATA dans le UEFI/BIOS. SI
      c'est le cas, vous pouvez envisager de modifier le registre du
      Windows du HDD, ou de modifier le paramétrage du UEFI/BIOS.

      Si vous avez aussi Linux d'installé sur le HDD, il devrait toujours
      être possible de le démarrer en mode BIOS

    • On peut diminuer/augmenter la taille de la partition C: du SSD (Pour
      un SSD TLC ou VNAND, on peut par exemple laisser de l’espace libre à
      la fin ~10 % de la capacité du disque d'après le logiciel Samsung
      Magician, pour un SSD 860 EVO)

    • En principe, puisqu’on boot en EFI on peut enlever sur le clone
      Windows sur le SSD les fichiers \bootmgr et \Boot\BCD puisque ce
      sont ceux qui étaient utilisés pour un boot en mode BIOS/MBR et que
      désormais on est en EFI. Vous pouvez d'abord les renommer et vérifier
      que ca ne change rien au prochain boot, plutôt que de les supprimer
      tout de suite.

    Quelques pistes si ça ne fonctionne pas…

    • Faire un chkdsk sur la nouvelle partition
    • Recréer le bootsector du NTFS avec testdisk (dispo sur System Rescue CD, mais peut être aussi dans Clonezilla ? Je n'ai pas vérifié)
    • Vérifier le BCD:
    • Vérifier que la partition EFI est bien initialisée (présence des fichiers \EFI , \EFI\Boot\ , \EFI\Microsoft\ …) Si ce n'est pas le cas, il y a eu un problème avec bcdboot N:\windows /l fr-fr /s S: /f UEFI
    • Vérifier le boot manager du bios (démarrage en UEFI ou MBR ? Gestionnaire de démarrage par défaut ? Présence du gestionnaire de démarrage de Windows ?)
    • A priori, pas utile : Commandes à lancer dans WinPE
      • Pour recréer le boot sector de la partition systeme (EFI): bootrec /fixboot
      • Pour chercher les OS sur le disque et les mettre dans le bootloader bootrec /scanos
    • Quelques commandes de bcdedit pour modiser la valeur de certains éléments du magasin BCD. Inutile car le BCD Store qui est utilisé lorsqu'on démarre en mode EFI n'est pas le même que celui utilisé dans un démarrage en mode MBR. Donc, pas besoin de chercher à modifier le BCD. Je garde pour info : les lettres sont celles telles que définies dans le système où on est (WinPE par ex). Doc BCDEDIT
      • bcdedit /set {bootmgr} device \Device\HarddiskVolume1
      • bcdedit /set {default} device \Device\HarddiskVolume3
      • bcdedit /set {default} osdevice \Device\HarddiskVolume3
      • Ou à la place de \Device\HarddiskVolume1 mettre les lettres de lecteur :
      • bcdedit /set {bootmgr} device partition=S:
      • bcdedit /set {default} device partition=C:
      • bcdedit /set {default} osdevice partition=C:

    Documentation, pour aller plus loin…

    A propos du EFI/UEFI:

    A propos de l'entrée MountedDevices du registre:
    http://diddy.boot-land.net/firadisk/files/mounteddevices.htm

    Si on veut y accéder, par défaut les fichiers du BCD sont cachés. Pour
    les rendre visibles:

    • attrib bcd -s -h -r
    • mv bcd bcd.bak
    • bootrec /rebuildbcd

    Documentation bcdedit:

    MBR Partition ID

    A propos des disk ID (=Disk signatures):

    Si besoin de supprimer du registre les entrées de disques qui ne sont
    pas connectés ou sans lettre assignée lancer: mountvol /R. Ce
    programme permet aussi de lister les lettres de volumes avec leur GUID
    (GUID pour ce système uniquement, il n’est pas stocké dans la partition,
    ni ailleurs sur le disque, il est assigné par windows pour un couple
    (signature de disque/partition offset) dans une instance de windows
    alors que dans une autre instance de windows la même partition sur le
    même disque aura ce GUID différent)

    Changer le label du volume: commande LABEL [drive:][label]

    Historique de révisions

    • Vous trouverez la dernière version de ce tutoriel sur ma page perso
      de tutoriels informatique
      .
      Vous y trouverez aussi la version HTML, PDF et TXT.

    • 2018-06-17 : Ajout d'une note indiquant que ce tutoriel utilise des
      logiciels libres

    • 2018-06-11 : Correction de la forme et de fautes d'orthographe

    • 2018-05-28

    Commentaires : voir le flux atom ouvrir dans le navigateur

  • fdupes : un utilitaire pour gagner de la place sur son disque dur (Journaux LinuxFR)

    Un petit journal juste pour vous indiquer un petit utilitaire bien pratique nommé fdupes, qui permet de détecter les fichiers dupliqués sur votre machine.

    J'ai découvert ce soft dans le cadre du nettoyage de données que je suis en train de faire sur mes disques durs.

    En effet, il m'est souvent arrivé de copier des fichiers d'un répertoire à un autre pour réorganiser mes données sur mon (ou mes) disques, mais comme je n'aime pas jeter ni supprimer, j'ai accumulé certains fichiers en double ou en triple.

    fdupes permet de parcourir les répertoires qu'on lui passe en paramètre et de faire un rapport sur les fichiers en doublon que l'on peut y trouver.

    Pour identifier les doublons, fdupes effectue une comparaison de taille et de signature MD5 de chaque fichier, et ensuite une comparaison octet par octet est effectuée.

    Cet utilitaire m'a permis de gagner près d'une centaine de gigas en 30 mn. Ya encore d u potentiel de gain de place, mais je préfère ne pas me précipiter, pour ne pas perdre malencontreusement des données (les 100 Gb gagnés me permettront de remettre en marche le processus de sauvegarde de mon portable, en attendant de mettre en place une solution à base de nas).

    Note : pour supprimer mes fichiers dupliqués, je n'ai pas fait de rm sauvage: je les ai déplacés vers un dossier avant de les supprimer définitivement, pour éviter les grossières erreurs. Mon dernier rm -fr sur ~ m'a servi de leçon.

    Un lien vers le dépot github du projet et un autre vers quelques explications d'utilisation en français.

    Commentaires : voir le flux atom ouvrir dans le navigateur

  • Pâtes à l'huile d'olive ou au beurre ? (Journaux LinuxFR)

    En cette merveilleuse journée de mai, une question me traverse l'esprit. Est-ce que le lectorat de linuxfr préfère les pâtes à l'huile d'olive ou au beurre ?

    En effet, il semblerait que certaines personnes préfèrent les pâtes au beurre, ce qui est choquant, et j'aimerais savoir si ces personnes sont nombreuses.

    Évidemment, quand je parle d'huile d'olive, il s'agit de véritable huile d'olive, et pas quelque chose de coupé acheté en promotion dans une grande surface.

    Ce journal est à mettre en rapport avec le journal demandant si il fallait mettre de l'huile dans l'eau des pâtes. (La réponse est négative).

    Et pour finir, une nimage en rapport.

    Lire les commentaires

  • wlmessage, un équivalent à xmessage (Journaux LinuxFR)

    Cher journal, j'avais récemment besoin d'un petit utilitaire scriptable capable d'afficher une fenêtre graphique, et surtout de recevoir des entrées utilisateur sous la forme de boutons, champs texte…

    Quelque chose dans la veine de xmessage donc, mais pour Wayland. Et en plus joli :-).

    Autres pré-requis :
    - être léger ;
    - ne pas dépendre d'un toolkit en particulier. Pas de GTK+, EFL, Qt…

    J'ai donc rapidement écrit wlmessage, qui est simpliste mais remplit parfaitement cet office.

    wlmessage 0.1

    Lien de téléchargement

    C'est encore simpliste (max 3 boutons, un seul champ texte, pas de copier-coller…) mais je le ferai évoluer. Et il y a un dépôt Git si quelqu'un veut aider :-).

    Lire les commentaires

  • Retour sur la licence de NumWorks (Journaux LinuxFR)

    À la suite du journal précédent, je me demandais, quelle était la protection effective de la licence CC-BY-NC-SA. J'aimerais bien que l'on ne reprenne pas la guerre libre pas libre de l'autre dépêche, j'ai plutôt envie de voir ce qu'ils apportent, plutôt que de réfléchir à ce dont ils nous privent.

    Pour rappel, la licence CC-BY-NC-SA permet de :

    • Partager — copier, distribuer et communiquer le matériel par tous moyens et sous tous formats
    • Adapter — remixer, transformer et créer à partir du matériel

    L'Offrant ne peut retirer les autorisations concédées par la licence tant que vous appliquez les termes de cette licence.

    Attribution — Vous devez créditer l'Œuvre, intégrer un lien vers la licence et indiquer si des modifications ont été effectuées à l'Oeuvre. Vous devez indiquer ces informations par tous les moyens raisonnables, sans toutefois suggérer que l'Offrant vous soutient ou soutient la façon dont vous avez utilisé son Oeuvre.

    Pas d’Utilisation Commerciale — Vous n'êtes pas autorisé à faire un usage commercial de cette Oeuvre, tout ou partie du matériel la composant.

    Partage dans les Mêmes Conditions — Dans le cas où vous effectuez un remix, que vous transformez, ou créez à partir du matériel composant l'Oeuvre originale, vous devez diffuser l'Oeuvre modifiée dans les même conditions, c'est à dire avec la même licence avec laquelle l'Oeuvre originale a été diffusée.

    Pas de restrictions complémentaires — Vous n'êtes pas autorisé à appliquer des conditions légales ou des mesures techniques qui restreindraient légalement autrui à utiliser l'Oeuvre dans les conditions décrites par la licence.

    Les sources de ce système d'exploitation seront toujours disponibles, si l'entreprise décide de changer de licence, elle ne pourra pas revenir sur ce qui existe déjà.

    Cela fait donc a minima un excellent objet d'étude d'une solution employant beaucoup de logiciels libres dans sa construction.

    Leur parti pris est très intéressant. Ils ont décidé de na pas utiliser d'OS mais de directement coder sur le Cortex-M4, cela permet à leur système de tenir sur 256kB de ram.

    Ils ont du recréer tout un environnement, j'imagine que l'investissement en terme de R&D est très important.

    Je pense que c'est cet aspect qui rend l'OpenSource (ou libre) difficile. En effet, admettons qu'ils aient mis leur OS et toute la couche applicative en GPL, ils auraient très facilement pu avoir une boite qui récupère tout le code sans apporter aucune amélioration mais en profitant des faibles prélèvements sociaux d'autres pays (Chine par exemple), pour vendre moins cher. De plus il aurait aussi été possible qu'une entreprise ayant plus de capital fasse baisser les coûts par un effet d'échelle, et reprenne le développement en tant qu'acteur majeur. Cela aurait été super pour la diffusion du produit mais aurait mis un coup d'arrêt à leur entreprise.

    Le problème est que l'ingénierie logicielle a certes un coût mais les investissements sont majoritairement du salaire alors que le développement d'un matériel entraîne des investissements en prototypes et une industrialisation sur une chaîne de production, qui peut rendre la libre utilisation, des développements précédemment fait, périlleux pour l'entreprise.

    Donc oui, à titre personnel, je me questionne sur le fait qu'il existe systématiquement un modèle économique viable libre associable à n'importe quel projet. N'ayant pas la réponse, je serais ravi que l'on m'éclaire sur ce sujet qui dépasse vraiment mon niveau de compétence.

    Maintenant, cela montre qu'il est possible d'utiliser des briques libres pour faire une calculatrice, c'est vraiment intéressant.

    Quelqu'un a-t-il une idée sur la différence de consommation entre une carte cortex-M4 et une carte raspberry pi zeros ?

    Si je trouve leur idée intéressante, je trouve que d'avoir un terminal mobile basé sur une distribution linux minimale avec un environnement de type SageMath avec une version des notebooks Jupyter adaptés aux petits écrans pourrait vraiment être cool ! Quand on voit à quel point des outils tels que JupyterLab permettent de rendre l'accès à des environnements python avec toutes les libs installées, utiliser une raspbian minimale avec un une appli Qt pour le web et un serveur jupyter, permettrait de faire vraiment pas mal de choses ! Sachant qu'en plus Jupyter peut faire plein d'autres choses telles que du SageMath, Octave, maxima, Julia, …

    Le problème serait alors l'autonomie … mais bon avec l'arrivée en 2019 de l'advanced color paper display, on pourrait bien avoir accès à une technologie permettant de faire des petits écrans couleurs qui ne consomment pas du tout. Un trois couleurs serait déjà faisable par exemple.

    Donc je trouve que leur idée est vraiment top, mais personnellement je préférerais pouvoir conserver mon environnement Linux même sur une calculette. Bon, en même temps, je ne pense vraiment pas être la cible … Cependant je trouve l'analyse d'Aurélien Pierre assez intéressante. Il serait juste sympa d'avoir tout l'environnement dans une machine qui ressemblerait à une TI92 ou une voyage 200, même si ce format n'est plus vraiment d'usage … Avoir un clavier Alpha-numérique physique est tout de même un gros plus. Sachant qu'une calculatrice moderne de chez TI avec des capacités CAS coûte encore 130€, il reste de quoi s'amuser avec les raspberry pi et consort …

    Commentaires : voir le flux atom ouvrir dans le navigateur

  • Sortie de QGIS 2.14 LTR « Essen » (Dépêches LinuxFR)

    Le projet QGIS a l’immense plaisir de vous annoncer la publication de la version 2.14 de sa suite logicielle de Système d'Information Géographique (SIG) libre.

    QGIS est une suite logicielle de traitement de l'information géographique. Elle permet de générer des cartes, d'analyser des données spatiales et de les publier, en ligne ou sur papier. Elle permet également de réaliser de nombreux traitements et algorithmes sur des données spatiales ou d'autres données liées. En d'autres termes, QGIS est un SIG ou Système d'Information Géographique, conçu pour recueillir, stocker, traiter, analyser, gérer et présenter tous les types de données spatiales et géographiques. C'est un projet officiel de la fondation Open Source Geospatial (OSGeo). Il est disponible sur les systèmes d'exploitation GNU/Linux, Mac OS X, Windows et Android.

    La version 2.14 nommée « Essen » en hommage à la ville du même nom, est disponible depuis le 1er Mars 2016. Cette version est une "LTR", Long-Term-Release, et sera supportée pendant un an. Il s'agira de l'avant dernière version de la lignée 2.x, car il a été décidé de conserver une dernière version (2.16) qui sera suivie de la version 3.0. Depuis début avril 2016, une version 2.14.1 a été publiée. Elle corrige certains bugs de jeunesse de la version 2.14.

    Splashcreen

    Dans la suite de la dépêche, un aperçu des nouveautés vous sera présenté plus en détails, ainsi que les plans actuels pour la future version 3. Pour le public non averti, nous vous invitons à lire le début de la dépêche sur la sortie de QGIS 2.10 pour avoir un petit rappel sur les SIG et sur QGIS…

    Sommaire

    Les nouveautés d'intérêt de QGIS 2.14

    Voici une petite sélection des nouveautés de la version 2.14 de QGIS. Si vous voulez découvrir l'intégralité des évolutions, nous vous invitons à consulter la page des changements en image qui est vraiment très complète et qui a l'avantage d'être traduite en français.

    Couches virtuelles

    Il s'agit d'un des points majeurs de la nouvelle version de QGIS. Pour faire simple, les couches virtuelles sont des vues dynamiques d'autres couches. Les vues sont des requêtes de sélection qui peuvent agir sur une ou plusieurs couches.

    Grâce aux couches virtuelles, on peut maintenant disposer d'un système de vues dynamiques pour toutes les couches de type fichier, ce qui est une grande avancée. Le système de requête utilise la syntaxe de SQLite et les fonctions Spatialite pour la partie géographique. Elle permet donc de nombreux traitements, des résultats variés et ce même pour les formats qui ne gèrent pas de SQL. En plus de la syntaxe SQL, il est également possible d'utiliser le moteur d'expression de QGIS, ce qui enrichit encore plus le panel de fonctions.

    Concrètement, vous pouvez créer une couche virtuelle en cliquant sur le bouton concerné. Une boîte de dialogue s'ouvre pour vous permettre de préciser le contenu de la requête, en fonction des couches qui sont actuellement ouvertes dans le projet QGIS. Tout changement dans les couches sources sera automatiquement et immédiatement répercuté dans la couche virtuelle. Ce mécanisme s'approche de celui de MapInfo avec son requêteur SQL interne.

    Pour terminer sur le sujet, retenez qu'on peut également exécuter des requêtes SQL virtuelles sous forme de géotraitements, grâce à l'outil Executer SQL, présent dans le fournisseur de traitements QGIS.

    Voici une capture d'écran représentant la fenêtre permettant de créer une couche virtuelle :

    Couche virtuelle

    Moins de clics, plus d'efficacité

    Du point de vue de l'utilisateur, la version 2.14 de QGIS amène un grand nombre de nouvelles fonctionnalités qui facilitent l'utilisation au quotidien de QGIS. Avec le temps, QGIS fait de plus en plus de choses et même si des efforts sont faits pour conserver une ergonomie utile et cohérente, certaines opérations impliquent d'ouvrir plusieurs fenêtres, ne serait-ce que pour accéder aux éléments de configuration. Il en résulte un parcours d'accès qui peut être parfois assez contraignant pour changer quelques éléments simples.

    Dans QGIS 2.14, quelques corrections permettent néanmoins d'aller beaucoup plus vite pour certaines opérations. C'est ce que nous allons voir en détails dans les points qui suivent.

    D'abord, on peut maintenant changer la couleur d'une classe directement depuis la légende (l'arbre des couches), sans devoir passer par l'onglet Style des propriétés de la couche. Un simple clic-droit sur la classe concernée ouvre un menu contenant un sélecteur de couleur permettant de choisir directement la couleur concernée (cf illustration suivante). Difficile de faire plus direct !

    Édition directe de la couleur d'une classe

    Ça n'a l'air de rien, mais c'est au moins 5 clics de souris en moins et deux boîtes de dialogue en moins ! C'est également une méthode plus interactive pour voir directement sur la carte ce qu'un changement de couleur peut avoir sur une classe. Le sélecteur de couleur fonctionne aussi pour les styles gradués.

    On peut également avoir accès directement à un éditeur de symbole complet depuis la classe d'une couche, dans la légende. Cela permet de modifier plus que la couleur du symbole, dans une boîte de dialogue dédiée. Pour y avoir accès, il suffit de double-cliquer sur le symbole ou de faire un clic-droit suivi de Modifier le symbole.... Auparavant (cette méthode d'accès reste valide), il fallait aller dans les propriétés de la couche, onglet style et double-cliquer sur le symbole qu'on souhaitait modifier. Cet accès rapide permet également d'avoir une meilleure interaction avec la représentation sur la carte, à l'issue du changement du symbole.

    Toujours sur les classes, il est possible de désactiver/activer toutes les classes d'une couche en une seule opération. Il suffit de se placer dans une classe et de faire un clic-droit pour avoir l'accès à cette fonctionnalité directement depuis le menu contextuel. L'interêt est ici de pouvoir désactiver toutes les classes pour pouvoir facilement en activer une seule ou quelques-unes. Auparavant, il fallait décocher une à une toutes les classes ce qui était très fastidieux pour les couches avec de nombreuses classes. Bien entendu, cela fonctionne également pour les classes des styles gradués.

    Au niveau du gestionnaire de compositions (les mises en page destinées à être imprimées ou exportées en PDF), on peut maintenant en supprimer ou en ouvrir plusieurs. C'est également quelques clics d'économisés.

    Compositions multiples

    Enfin, il est possible de charger un projet directement depuis le panneau d'exploration de QGIS. Cela permet de passer d'un projet à l'autre sans se fatiguer.

    Contrôle de formulaire des ressources externes

    Un nouveau contrôle de formulaire vient de faire son apparition. Il concerne principalement les fichiers et vise à remplacer les contrôles déjà existants de sélection de fichiers et d'affichage d'image même si ces deux contrôles ont été conservés.

    Dans QGIS, les contrôles de formulaire sont les éléments qui permettent de personnaliser le formulaire de saisie des attributs. À chaque fois que vous créez un objet géographique dans QGIS, ce dernier vous propose de saisir directement ses attributs via le formulaire. C'est une fonctionnalité très intéressante qui permet de relier facilement géométrie et champs d'information. Sur ce point, QGIS est un des SIG les plus avancés, notamment par la richesse des contrôles proposés.

    Le contrôle resource externe permet aux champs qui contiennent des liens vers des fichiers d'être mieux gérés. D'abord, on peut maintenant indiquer un ou plusieurs filtres de fichiers pour encadrer la saisie. Par exemple, vous ne voulez ajouter dans un champ que des liens vers des fichiers PDF. Le contrôle resource externe le permet. Il emprunte la syntaxe de filtre à Qt.

    Par ailleurs, il permet de paramétrer un chemin par défaut. C'est très utile lorsqu'on sait que tous les fichiers à référencer sont situés dans des répertoires présents sous une racine commune : l'utilisateur a moins de clics à faire pour trouver son fichier. Le stockage des chemins de fichier dans le champ peut être fait en mode relatif (on ne stocke que ce qui est nécessaire), à partir du chemin par défaut ou du chemin du fichier de projet. C'est intéressant lorsqu'on souhaite enregistrer des noms de fichier dans des champs avec un nombre de caractères limités (les fichiers Shape ne permettent que des champs de moins de 255 caractères de long).

    Parmi les nombreuses améliorations apportées par ce contrôle, on peut maintenant présenter les chemins vers les fichiers sous forme de liens cliquables. Cela permet de pouvoir ouvrir le fichier directement depuis QGIS. Voilà de quoi faciliter la vie des utilisateurs qui n'auront plus besoin de faire un copier/coller du chemin pour ouvrir le fichier.

    Enfin, les pages HTML et les images peuvent directement être affichées depuis l'interface de QGIS grâce à un visualiseur interne.

    Voici un exemple d'affichage sous forme de lien :

    Ressources externes

    Générateur de symbologie géométrique

    Comme chaque nouvelle version de QGIS, la version 2.14 amène de nouvelles fonctions dans le moteur d'expression. Pour rappel, ce moteur d'expression permet de manipuler l'ensemble des données attributaires d'une couche, ligne à ligne pour constituer un résultat final. On peut par exemple extraire le premier mot d'un champ contenant du texte. Vous pouvez utiliser le moteur d'expression dès qu'une variable peut être gérée par les données.

    Depuis quelques versions (2.12 et 2.14), QGIS dispose d'un grand nombre de fonctions d'expression qui travaillent sur la géométrie. On peut donc utiliser ces dernières pour extraire et modifier des géométries. C'est cet élément qui est utilisé dans le générateur de symbologie. Ce dernier gère les derniers niveaux de couche de symbole (là où on trouve les styles de base comme le remplissage simple, la ligne simple, le motif de points, etc.).

    L'intérêt majeur de cette nouvelle fonctionnalité est de pouvoir modifier à la volée la géométrie d'une couche sans toucher aux données source. On peut y avoir accès dans n'importe quel moteur de rendu (symbole unique/gradué/catégorisé/basé sur des règles), via une couche de symbole, dans l'arbre des symboles qui permet de créer le style de représentation des objets de la couche. Il suffit de choisir une couche basse et de changer son type (type de symbole) et choisir Générateur de géométrie.

    À partir de ce moment, vous avez accès à une boîte de dialogue d'expression (contenant $geometry par défaut, ce qui renvoie la géométrie de chaque objet) et vous pouvez renseigner une expression générant de la géométrie. Pour ajouter un tampon de 0,5 mètre, utilisez buffer($geometry, 0.5). Comme le générateur de géométrie se situe au niveau des couches de base de symbologie, on peut bien entendu ajouter d'autres couches ce qui donne des représentations uniques quasi-infinies.

    Quelques exemples d'utilisation :

    • J'ai une couche de polygones qui est souvent modifiée et je souhaite systématiquement afficher un tampon de 2m autour des polygones. La couche n'est pas dans une base de données (et je ne peux pas utiliser une vue dans le SGBDRS). Pas de problème, il suffit d'utiliser le générateur avec une expression de type buffer.
    • Je souhaite faire une anamorphose négative (réduisant la surface d'un polygone) variable selon la valeur d'un champ, j'ai juste à employer la fonction buffer avec un résultat négatif issu d'un champ (ou d'une formule).
    • Je veux intégrer un motif pour la bordure de mes polygones. La seule solution consiste à créer une géométrie surfacique à partir de ma bordure en faisant la différence entre deux tampons de la géométrie de départ. L'expression sera du type: difference( buffer( $geometry , 250 ), buffer( $geometry, -250 ) ). Ensuite, il suffit d'appliquer un motif de lignes ou de points et le tour est joué !

    Générateur de géométries

    Bien entendu, il ne s'agit que de visualisation : la donnée source n'est jamais modifiée. QGIS est l'un des seuls logiciels de SIG à permettre ces manipulations directement lors du rendu, de manière dynamique, tout en tenant compte des classes. C'est un grand pas en avant en matière de rendu cartographique. Cette fonctionnalité reste également intéressante pour les SGBDRS car si ces derniers peuvent modifier des géométries à la volée, il est fort probable qu'ils ne puissent pas tenir la charge d'un grand nombre de connexions qui feraient appel à des fonctions de génération de géométrie dynamique. À l'inverse, QGIS permet de déporter le travail sur le client SIG.

    Ordre de tracé des géométries

    Il arrive parfois qu'une couche contienne des objets qui se superposent. Oui, ce n'est pas une bonne pratique SIG mais ça arrive. Dans ce cas de figure, comment gérer l'affichage correctement ? QGIS 2.14 dispose d'une fonctionnalité permettant de gérer ce problème assez facilement. Il suffit d'utiliser une expression pour gérer un index Z. Ce paramètre intitulé « Contrôle de l'ordre de rendu des entités » est disponible dans le bas de l'onglet style.

    Il permet de renseigner une ou plusieurs expressions pour gérer l'ordre d'affichage des géométries d'une même couche. Chaque expression permet de gérer un ordre de classement. On peut donc avoir plusieurs champs qui permettent le classement. Cela permet des combinaisons de tri quasiment infinies et finalement, assez simple à renseigner.

    Index-Z

    Moteur de rendu 2.5D

    Issu d'un financement collectif (plusieurs collectivités européennes), le moteur de rendu 2.5D permet la simulation de la 3D dans QGIS. On parle de simulation car QGIS ne dispose pas (encore) de module de rendu en 3D qui utiliserait les fonctions 3D des cartes graphiques. C'est donc le moteur de rendu classique qui est utilisé pour déformer les polygones initiaux en objets à l'apparence 3D.

    Pour y parvenir, on utilise le générateur de symbologie géométrique (décrit plus haut dans cette dépêche) pour créer les géométries supplémentaires de l'extrusion en hauteur du polygone, pour créer le toit ainsi que l'ombre portée. Bien entendu, on peut faire varier la hauteur selon une expression. Voici à quoi ressemble l'interface qui permet de le créer :

    Interface de rendu 2.5D

    En fait, le moteur de rendu 2.5D n'est pas un véritable moteur de rendu à part entière. L'interface présentée est plus un assistant qui se charge de créer un style de symbole unique qui s'articule autour de 3 symbologies générées (toit, mur, ombre). Pour s'en rendre compte, il suffit de configurer le moteur 2.5D puis de basculer vers le moteur de rendu Symbole unique. Vous pourrez alors voir et étudier les 3 styles imbriqués :

    QGIS 2.5D avancé

    Une des limites de ce mode de fonctionnement est que ce rendu peut être assez consommateur de ressources machine (temps CPU) car contrairement à un symbole simple, QGIS va générer en interne toutes les géométries supplémentaires (3 géométries) ce qui prend forcément plus de temps que de générer un simple polygone. Encore une fois, même si le moteur de rendu de QGIS travaille sur plusieurs fils d'exécution (multi-thread), il ne tire pas parti de l'accélération des cartes 3D (mais les autres SIG bureautique ne le font pas non plus).

    Néanmoins, ce mode de fonctionnement par exploitation du moteur 2D classique de QGIS a quand même un avantage majeur : vous pouvez utiliser les moteurs de rendus gradués, catégorisés par un ensemble de règles pour représenter des éléments en 2.5D avec des styles différents, avec des classes différentes. Il vous suffit de basculer dans un de ces modes pour avoir accès aux éléments de configuration habituels mais qui porteront sur une symbologie générée. Donc, pas besoin de retenir les expressions de génération 3D, QGIS s'en occupe pour vous.

    Voici un exemple de rendu de bâtiments en 3D par QGIS 2.14 avec des hauteurs différentes selon les bâtiments et une classification de ces derniers par la couleur :

    Rendu 2.5D

    Amélioration de la gestion des unités

    C'est une petite évolution mais qui a un intérêt important : QGIS 2.14 gère mieux les unités, du moins de manière plus homogène. Auparavant, chaque outil avait plus ou moins son système d'unité indépendant. Un travail de refactorisation a été entrepris pour corriger ce point.

    D'abord, la gestion des unités et de la représentation des coordonnées a été relocalisée dans les propriétés du projet. Ensuite, de nouvelles unités ont fait leur apparition (comme par exemple les hectares pour les mesures de surface) aussi bien pour les mesures de longueur, de surface ou angulaires. Les fonctions d'expression de calcul de longueur, de surface et d'angle renvoient le résultat selon l'unité indiquée dans les paramètres du projet. Enfin, l'affichage des coordonnées dans les différents endroits de QGIS est maintenant unifié et on peut indiquer le nombre de décimales utilisées.

    Unité unifiées

    Modules v.net dans Processing

    Processing est le module des géotraitements de QGIS. Il propose un ensemble de traitements qui reposent sur les fonctions de QGIS mais également sur d'autres SIG ou d'autres outils SIG tels que GRASS, SAGA, GDAL, Orfeo, etc. L'intégration de ces outils externes est une vrai avancée car cela évite de recréer des algorithmes ou des traitements qui sont déjà éprouvés dans d'autres logiciels. D'un point de vue de développeur, cela permet aussi d'intégrer beaucoup plus de traitements sans devoir ré-implémenter du code pour reproduire ces algorithmes. QGIS 2.14 propose donc environ 300 traitements si on inclue GRASS et GDAL et plus de 500 traitements si on ajoute SAGA.

    En ce qui concerne les différents types de traitements disponibles, il manquait de quoi travailler sur des réseaux et de graphes. GRASS propose de nombreux algorithmes travaillant sur ce type de données, via un ensemble de traitements regroupés sous le module v.net. Ces traitements fonctionnent sur des couches linéaires de réseau (ou de graphe) qui sont des couches linéaires où les segments sont interconnectés entre eux par un seul point (un noeud) et ne s'entrecroisent pas.

    QGIS 2.14 donne accès à l'ensemble des traitements v.net de GRASS via Processing. Vous aurez besoin de la version 7 de GRASS d'installée sur votre station de travail, en sachant que c'est la version qui est déployée dans l'installeur pour MS-Windows de QGIS. Pour les utiliser, rien de plus simple : il suffit de disposer d'une couche linéaire de réseau et d'une (ou plusieurs ou pas du tout suivant le traitement employé) couche de points puis de choisir votre traitement dans l'arbre de la boîte à outils de traitements. Ils sont situés dans les commandes GRASS 7, dans la partie Vecteur.

    Vous pourrez ainsi réaliser des cartes isochrones, des cartes de répartition de secteur, résoudre les problèmes du voyageur de commerce, calculer les chemins les plus courts entre deux séries de points, etc.

    GRASS7 v.net

    Métadonnées INSPIRE pour QGIS Server

    Si QGIS Desktop est souvent mis en avant, QGIS Server continue à évoluer. Ainsi, il peut maintenant renvoyer des métadonnées INSPIRE aux clients WMS et WFS. Attention, toute la norme INSPIRE n'est pas gérée par QGIS. En effet, vous pouvez pour l'instant juste indiquer la langue officielle du service (parmi les 24 langues de l'union européenne) ainsi qu'indiquer une URL permettant l'accès à une fiche de métadonnées externe ou alors les dates de mise à jour des métadonnées.

    Ces éléments se configurent dans la partie OWS des paramètres du projet.

    Paramètres OWS server

    Et pour la version 2.16 ?

    La phase de développement n'a débuté que depuis un mois mais certaines nouvelles fonctionnalités sont déjà apparues dans quelques pull-requests ou quelques commits. Voici quelques éléments d'intérêt qui devraient intégrer la prochaine version (2.16 de QGIS).

    Syntaxe des étiquettes HTML

    C'était une grande demande de la part des utilisateurs et un des derniers points du moteur d'étiquettes à revoir, mais c'est en bonne voie d'intégration. Dans la version 2.16 de QGIS, il sera possible de bénéficier d'une syntaxe de style pour les étiquettes. L'intérêt immédiat de ce point est de permettre de styler indépendemment chaque partie de la chaîne de caractères qui compose l'étiquette.

    Ainsi, si votre étiquette est composée de plusieurs mots, vous pourrez mettre le premier en gras et en couleur alors que le second sera simplement en noir. La syntaxe des styles d'étiquettes permet d'utiliser le moteur d'expression de QGIS ce qui donne des combinaisons très étendues, voire quasi infinies (on peut concaténer plusieurs champs, changer de style si la valeur d'un champ est supérieur à une valeur).

    Cette fonctionnalité devrait permettre plus de richesse dans l'affichage des étiquettes, ne serait-ce que pour changer la couleur d'une étiquette composée de plusieurs mots, ce qui est un cas d'utilisation finalement assez fréquent et qui manquait dans QGIS.

    Voici le lien vers la pull-request pour les plus curieux. Et une petite image d'aperçu de ce que ça pourrait donner :
    Style des étiquettes

    Intégration des algorithmes GRASS 7 dans QGIS

    Dans la version 2.14 de QGIS, les géotraitements (appelés aussi algorithmes) v.net de GRASS7 ont été intégrés. Avec eux, a été introduit un mécanisme de code permettant de gérer les traitements de GRASS qui implique des vérifications et des pré-traitements amonts avant que GRASS puisse les dérouler correctement. Ainsi, potentiellement, tous les traitements GRASS sont maintenant intégrables dans Processing.

    Ne reste plus qu'à tous les intégrer et c'est en partie réalisé. L'objectif est ici de disposer de tous les algorithmes de GRASS7 directement dans QGIS, sans passer par l'extension GRASS. Pour l'instant, tous les modules raster (r.*) et vecteurs (v.*) ont été intégrés. Il reste les modules dédiés aux traitements sur image satellite (i.*) mais on peut espérer que ces derniers soient publiés avant la phase de gel des nouvelles fonctionnalités (qui commence dans 2 mois).

    Refonte du fournisseur de données WFS

    Ce commit (ainsi que ceux qui vont suivre) améliore grandement le fournisseur de données WFS. Pour les néophytes, WFS est un service web permettant de transmettre des données vectorielles à un client. C'est un standard de l'OGC qui permet de télécharger à la volée des données vecteur depuis un serveur gérant ce protocole via HTTP. Jusqu'à présent, QGIS avait connu peu d'évolution sur le client WFS interne actuel. Il existait également une extension qui permettait la gestion de la version 2.0 de ce protocole mais elle n'était pas intégrée dans le cœur du projet.

    C'est donc maintenant chose faîte avec les fonctionnalités suivantes :

    • Support des protocoles WFS 1.0, 1.1 et 2.0 (toute la norme n'est pas implémentée).
    • Auto-détection du protocole (évite au client de paramétrer tout ça à la main).
    • Implémentation d'un cache d'entités pour gérer les couches volumineuses.
    • Des tests unitaires pour tout ça bien sûr !

    Ce qu'on peut dire sur la version 3.0 de QGIS

    Choix de la gouvernance du projet

    QGIS dispose d'un comité de projet. Ce dernier prend des décisions majeures sur l'orientation de QGIS. Depuis quelques versions maintenant, on parle de la future version 3.0 de QGIS qui devrait permettre de casser la compatibilité avec la branche 2.x tout en améliorant les fonctionnalités. En effet, un certain nombre de nouveautés impliquent de modifier fortement les API pour être implémentées et QGIS essaye de ne rien casser dans la branche 2.x.

    Le PSC a donc pris une résolution générale qu'on peut résumer aux conclusions suivantes:

    • Le développement de QGIS v3.0 se fera dans une branche dédiée.
    • Cette branche accueillera les évolutions techniques qui s'imposent : migration vers Qt5, utilisation de PyQt5 et passage à Python3.
    • La publication de la version 3.0 de QGIS utilisera le mode de publication : « ça sortira quand ce sera prêt ! ».
    • Le développement « traditionnel » continue dans la branche 2.x qui conserve son cycle de publication par objectif de temps.
    • Il y aura une version 2.16.

    Le mot d'ordre est d'essayer de commencer dès maintenant à coder dans la branche 3.x les nouvelles fonctionnalités impossibles à intégrer dans la branche 2.x. Le fait de laisser une version 2.16 permet de continuer à faire évoluer QGIS sur les points qui n'ont pas besoin d'un saut technologique majeur tout en permettant de se laisser du temps pour faire une migration propre (qui marche) vers Qt5/Python3.

    Inclusions de Python3 et de Qt5

    Depuis quelques semaines maintenant, Python3 et Qt5 sont de la partie dans QGIS. Pour l'instant, ils ne permettent pas de disposer de l'ensemble des fonctionnalités de QGIS avec ces composants techniques mais on peut maintenant dire que l'infrastructure est là.
    Il y a pas mal de commits pour effectuer des corrections (notamment les choses qui coincent avec Python3) et on peut dès maintenant compiler QGIS avec Qt5 ainsi qu'intégrer Python3).

    Par ailleurs, QGIS utilise Travis-Ci pour effectuer son intégration continue et des évolutions permettent maintenant de compiler (et tester) automatiquement des builds avec Qt5. Tout ça prend une bonne direction même s'il reste du chemin à parcourir tant les fonctionnalités à tester sont nombreuses.

    Je veux aider le projet QGIS, que puis-je faire ?

    Passons maintenant au moment propagande… QGIS n'est plus depuis quelques années un logiciel libre développé dans son coin par quelques développeurs disparates. Le nombre de sponsors peut donner quelques pistes sur le sérieux du développement de QGIS. Ainsi, pour la version 2.14, on peut compter plus de 31 sponsors cités, ce qui est loin d'être négligeable. Néanmoins, QGIS reste un projet ouvert où tout le monde peut participer. Si vous consultez le bugtracker, vous vous rendrez-compte assez facilement qu'il reste beaucoup de place pour améliorer QGIS : il reste 1300 bugs à corriger et 1300 demandes d'évolution à implémenter. Ce chiffre est d'ailleurs en stagnation depuis au moins 6 mois, ce qui montre que même si des bugs sont corrigés et des nouvelles fonctionnalités amenées dans QGIS, il y a vraiment besoin de ressources pour continuer à améliorer le projet.

    Selon votre profil, vous pouvez nous rejoindre sur les points qui suivent:

    • Je suis développeur C+/Qt : c'est parfait, venez nous aider à améliorer le code et les algorithmes internes de QGIS. Le développement se déroule sur GitHub et n'oubliez pas de lire la documentation de développement.
    • Je suis développeur Python : c'est très bien, QGIS regorge de modules Python et d'extensions internes codées dans ce langage. Par exemple, venez nous aider à corriger les bugs de Processing, cela permettra de répondre aux besoins des utilisateurs de géotraitements. À ce propos, vous pouvez également nous aider sur la création des tests unitaires pour Processing qui ont été publiés avec QGIS 2.14. Sinon, vous pouvez travailler également sur le module DB Manager qui vous permettra de proposer de meilleurs services aux utilisateurs SIG avancés qui veulent faire des requêtes ou gérer leurs bases de données.
    • Je suis un utilisateur courant de QGIS : même si vous ne savez pas coder, vous pouvez facilement nous aider. Pour commencer, retenez que nous avons besoin de réaliser des tests approfondis lors de la phase de gel des fonctionnalités qui commence au bout de 3 mois de développement. À ce stade, les nouvelles fonctionnalités doivent être fortement testées avant que nous puissions publier la future version de production. Par ailleurs, il faudra également veiller à ce que ces nouvelles fonctionnalités ne cassent pas quelque-chose qui fonctionnait auparavant. Et pour cet ensemble de tests, rien ne vaut les vraies données, basées sur des cas concrets. Il vous faudra installer les versions compilées toutes les nuits et travailler sur vos données habituelles tout en faisant remonter tout problème via le bugtracker. Plus nous aurons d'utilisateurs pendant cette phase, moins il y aura de problèmes dans la publication de la nouvelle version (nous ne serons donc pas forcément obligés de publier une version corrective en un mois après la sortie de la nouvelle version). Votre rôle ici est très important car les développeurs n'ont forcément que des jeux de tests limités et ils sont concentrés sur la résolution de bugs pendant cette phase qui dure un seul mois. Merci pour votre implication dans les tests. Si vous avez de l'expérience métier, vous pouvez aider les utilisateurs QGIS qui posent des questions, notamment sur StackOverFlow.
    • Je suis bon en anglais technique (SIG et/ou informatique) : venez rejoindre l'équipe de traduction de QGIS. Nous sommes nombreux à être inscrits mais nous avons toujours besoin de forces vives pour faire en sorte que QGIS Desktop soit toujours 100 % traduit en français ou que le site web et la documentation restent à jour par rapport à la version en langue anglaise. Ceci est particulièrement vrai lors de la phase de gel des fonctionnalités. Les nouvelles fonctionnalités amènent souvent de la documentation interne ou des chaînes de caractères à traduire. Il faut de plus rester sur le qui-vive pendant toute cette phase car des modifications de texte peuvent intervenir même quelques heures avant la compilation finale. Il serait en effet bon d'atteindre régulièrement les 100 % de traduction de l'application bureautique (ce qui permet de dire à la communauté que QGIS est complètement traduit en français). Mais une fois que la version officielle est compilée et distribuée, il nous faut également beaucoup d'aide pour traduire correctement la page web des changements en image. Cette page est très importante pour les utilisateurs francophones de QGIS car elle permet de leur présenter toutes les nouvelles fonctionnalités dans leur langue maternelle, ce qui leur permet d'avoir une information plus claire sur ce que le nouveau QGIS peut leur apporter. Plus nous serons nombreux à être des traducteurs actifs, plus le travail lourd et fastidieux de traduction sera réparti et plus QGIS sera facilement traduit.

    Dans tous les cas, nous saluerons vos contributions par un grand merci et vous pourrez apporter votre pierre à l'édifice QGIS !

    Conclusions

    Encore une fois, QGIS respecte son rythme soutenu d'intégration de nouvelles fonctionnalités, en continuant à sortir une nouvelle version tous les 4 mois, ce qui est d'autant mieux pour les utilisateurs.

    Sur la partie bureautique, on peut maintenant dire que le niveau de QGIS est assez proche des meilleurs outils SIG non libres disponibles sur le marché. Le moteur de rendu est l'un des plus avancés en ce qui concerne les fonctionnalités cartographiques et ses performances sont d'un très bon niveau comparativement à ce qu'on peut trouver pour d'autres logiciels de ce type. Le générateur de symbologie géométrique est une fonctionnalité qui n'existe pas ailleurs. Le moteur d'étiquette continue également à s'améliorer avec le temps. QGIS offre de plus en plus de géotraitements qui permettent de manipuler beaucoup plus facilement les données, même avec des requêtes complexes.

    Pourtant, il reste toujours des défis techniques à gérer, notamment, le passage à Qt5 et à Python3. On peut constater (dans le code, il n'y a que ça de vrai) que les développeurs principaux du projet y investissent pas mal de temps et c'est tant mieux pour l'avenir. Avec 191 contributeurs recensés sur GitHub, l'équipe de développement s'étoffe, ce qui montre une certaine forme de vitalité pour le projet.

    Souhaitez-nous de construire une excellente version 3.0, en attendant de vous retrouver pour la sortie de QGIS 2.16 dans 3 mois…

    Lire les commentaires

  • Compilation de VSCode sous Centos 6 (Journaux LinuxFR)

    Il y a quelques mois, le camarade freem< nous avait fait part de ses déception concernant VSCode parce qu'il ne trouvait pas matière à troller de manière satisfaisante.

    J'ai voulu me faire mon propre avis et l'essayer par moi même. Malheureusement, ma machine pro est une Centos 6 et la libc disponible beaucoup trop vielle. Impossible de l'essayer et donc de partager avec vous mes impressions pertinentes et de kalitay :(. Quelques moules m'ont gentiment expliqué que je n'avais qu'à me sortir les doigts du fondement et le compiler moi même, que si je voulais vraiment, je pouvais.

    Plusieurs mois plus tard, j'ai enfin trouvé le temps et la motivation d'essayer. Et à ma grande surprise, ce fut plutôt facile.

    # Installation d'une version décente de GCC, python et git depuis les dépots 
    # Softawre Collections
    sudo yum install centos-release-scl
    sudo yum install devtoolset-7 python27 rh-git29
    
    # Installation de NodeJS et Yarn
    curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -
    curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
    sudo yum install nodejs yarm
    
    # Activation de l'environnement de compilation
    scl enable python27 devtoolset-7 rh-git29 bash
    
    # Récupération des sources de VSCode
    git clone https://github.com/Microsoft/vscode.git
    cd vscode
    
    # Augmentation de la limite du nombre de fichiers ouverts à 166384
    # (il peut être nécessaire de modifier /etc/security/limits.conf pour atteindre
    # cette valeur)
    ulimit -n 166384
    
    # Récupération des dépendances
    # (On défini la variable CXX parce que sinon un des makefile utilise 
    # /usr/bin/g++ qui ne supporte pas C++11 )
    CXX=$(which g++) yarn
    
    # Construction du paquet
    yarn run gulp vscode-linux-x64-min
    
    # "Instalation"
    mv ../VSCode-linux-x64 ~/opt/vscode

    Et voilà ! À moi les joies des d'un éditeur moderne !

    $ ~/opt/vscode/bin/code-oss
    /home/killruana/opt/vscode/bin/../code-oss: error while loading shared libraries: libgtk-3.so.0: cannot open shared object file: No such file or directory

    Lourd est le parpaing de la réalité sur la tartelette aux fraises de nos illusions. :'(

    Rendez-vous dans quelques mois pour la suite de mes aventures avec vscode.

    Commentaires : voir le flux atom ouvrir dans le navigateur

  • De bien belles icones comme on aimerait en voir plus souvent... (Journaux LinuxFR)

    Dear Diary,

    Alors que je songeais à la difficulté d'enjoliver l'apparence de Libreoffice je me mis à rechercher de quoi relooker un peu mon bureau. Ce que je n'avais pas fait depuis longtemps.
    Et alors ? Et ALORS ? ET ALOOORS ????
    Et alors, je viens de trouver par hasard une collection de bien belles icônes que je ne connaissais pas et que d'autres peut être ne connaissent pas....
    Il s'agit des icones Faenza qu'on trouve sur deviant art.
    Ce qui est bien c'est qu'en dépit du titre un peu réducteur (gnome icon theme ) il y en a pour tous les desktops. Je ne trouve qu'un défaut à cette collection : il en manque quelques unes pour certains logiciels (gftp, kdenlive...) mais c'est un travail magnifique et sans aucun doute énorme.
    J'aimerais, cher journal, que d'autres linuxiens me fassent aussi découvrir leurs thèmes d'icônes favoris car autant les thèmes se comptaient par milliers il y a 10 ans autant l'on semble se moquer de l'apparence de notre nunux chéri à présent.
    It's cool, isn't it ?

    Titre de l'image

    PS : je me demande pourquoi elles ne sont pas proposées dans ma distribution car elles sont plus mieux....

  • OpenJardin 1.04 (Dépêches LinuxFR)

    OpenJardin est un logiciel pour GNU/Linux orienté permaculture. Il permet une gestion graphique et interactive des parcelles avec des fiches de cultures par parcelle, une planification annuelle et une planification des rotations de cultures.

    Le logiciel a fortement évolué depuis sa mise a disposition en janvier 2018, les demandes d’amélioration et les idées fournies par la communauté nous ont permis de réaliser la version 1.04 (disponible pour l'instant pour Linux Debian Gnu/Linux 64 bits et pour Windows 32bits).

    Parmi les améliorations on trouve entre autres :

    • zoom des plans ;
    • création de parcelles de formes polygonales et de polylignes (pour représenter des réseaux par exemple) ;
    • création de bases de données associées à chaque configuration ;
    • importation et exportation de la base de données ;
    • possibilité d’afficher ou non une parcelle dans le calendrier ;
    • déplacement dans le plan ;
    • etc.

    capture d’écran de la version 1.04

    Commentaires : voir le flux atom ouvrir dans le navigateur

  • Le logiciel libre dont on ne peut utiliser les libertés (Journaux LinuxFR)

    Sommaire

    Dans mon entreprise, on utilise des logiciels libres. Il arrive qu'on aie besoin de modifier ces logiciels tiers, pour gérer un cas spécifique ou pour une meilleure intégration dans l'application.

    Et parfois, en se lançant dans ce genre de travaux, on tombe sur une surprise :

    Il existe des logiciels libres dont il est presque impossible d'utiliser les libertés sans une quantité déraisonnable de travail.

    Je ne parle pas d'openwashing ici, cette technique qui consiste à faire croire qu'un logiciel est libre mais ne l'est pas et dont on a récemment parlé ici. Non, je parle de programmes véritablement libres (sous licence Apache ou MIT généralement, notre code n'étant pas libre ça ne peut être des licences contaminantes comme la GPL) mais dont les subtilités font que… visiblement quelqu’un ne veut pas que les libertés soient trop utilisées. On notera déjà que c'est souvent des logiciels dont il existe une version avancée commerciale.

    Les libertés d'exécution et de redistribution sont généralement faciles à appliquer ; le problème survient souvent quand on veut étudier le programme et l'améliorer. Voici quelques exemples de techniques utilisées ; certaines peuvent être expliquées par un simple manque de volonté d'adhérer à l'esprit du logiciel libre ou par une mauvaise organisation interne ; d'autres s'approchent du sabotage. Dans tous les cas, la licence est respectée à la lettre.

    Toutes les techniques ci-dessous ont été croisées dans des cas réels (heureusement pas toutes sur le même projet) :

    Aucune documentation technique

    Il n'existe aucune documentation technique d'aucune sorte. Selon la taille du logiciel, ça peut être plus ou moins gênant (je vous laisse imaginer quand le workspace du projet fait plusieurs centaines de Mo).

    Parfois, rien qu'obtenir une version exécutable du logiciel à partir des sources est un calvaire.

    Une version avancée consiste à utiliser des frameworks, compilateurs ou réglages exotiques, sans que ce soit documenté publiquement.

    Les dépendances cachées

    Les dépendances du projet vont par défaut se télécharger depuis un serveur qui appartient à la même organisation que le projet, et pas depuis les dépôts standards. Et surprise, ce serveur ne contient (en public) que les dernières versions des dépendances.

    Au pire, ces dépendances sont elles-mêmes libres, on peut toujours aller les chercher et les compiler à la main, mais la quantité de travail pour obtenir une version fonctionnelle explose dès qu'on veut autre chose que la toute dernière version. Et je ne parle pas de la galère quand on veut mettre à jour un fork depuis l'origine.

    Le faux dépôt de sources

    Celle-ci est subtile : le dépôt des sources public n'est d'évidence pas un dépôt de travail, puisqu'il ne contient qu'un seul commit par version, sans le moindre commentaire. Ça n'est pas gênant tant qu'on essaie pas de maintenir un fork.

    La version avancée, qui consiste à ne fournir les sources que sous la forme d'un dossier compressé sans le moindre historique, semble avoir à peu près disparue, du moins dans mon domaine.

    Le tapis et le labyrinthe mouvant

    Deux variantes d'une même technique :

    1. Les sources peuvent être planquées à un endroit inaccessible, voire carrément absentes du site éditorial – rien, pas même un lien, pas même une mention claire de la licence : si tu ne sais pas déjà que le logiciel est libre… tu le découvres en lisant la licence après avoir donné toutes tes informations pour la fameuse « version de démonstration 30 jours ».
    2. Le site change tout le temps, et la manière d'accéder aux sources n'est jamais la même d'un mois sur l'autre.

    À noter que quelques entreprises ne fournissent les sources qu'aux clients de l'entreprise, ce qui est généralement autorisé.

    Une variante intéressante du point 2, c'est quand le logiciel change régulièrement de grands pans de son architecture.

    Le code qui fait des suppositions sur l'environnement de développement

    Généralement à base de chemins en dur dans le code ou de réglages spécifiques à un IDE. C'est rare, mais on en croise…

    La ressource libre-mais-déposée

    Ici ça s'applique plus aux ressources qu'au code, principalement aux logos : votre ressource est libre, mais est une marque déposée. Il y a plein de cas où on ne peut pas l'utiliser. Par exemple, le logo GNU n'illustre pas la version d'origine de cet article, parce que, je cite (le gras est d'origine) :

    Ce dessin est utilisable conformément à la GNU FDL v1.3, à la licence Art libre ou à la Creative Commons CC-BY-SA 2.0 (résumé en français ici). Toutefois, c'est aussi un logo déposé du projet GNU. Si vous voulez vous servir de cette tête de GNU pour mettre en lien un site web de la Free Software Foundation ou du projet GNU, n'hésitez pas ; de même, vous n'avez pas besoin de permission supplémentaire pour l'utiliser dans des contextes qui parlent de GNU de manière positive et exacte. Pour tout autre usage, veuillez au préalable demander la permission à licensing@fsf.org.
    Source: La page du logo GNU sur le site de la FSF

    Et donc ce logo est disponible sous 3 licences libres différentes, mais a des restrictions très fortes sur l'usage qui peut en être fait. C'est en fait valable avec à peu près tous les logos et toutes les marques – et les règles d'utilisations de logos et marques d'entreprises peuvent être bien plus restrictives.


    La conclusion de tout ceci ?

    Qu'un logiciel soit libre n'impose pas que son développeur doive vous faciliter l'application des libertés.

    C'est quelque chose qu'on croit trop souvent, de même qu'on mélange souvent « libre » et « gratuit ».


    Ce texte, placé sous licence CC BY 4.0, est une légère adaptation pour LinuxFR.org de l'original disponible sur Zeste de Savoir.

    Commentaires : voir le flux atom ouvrir dans le navigateur

  • Envoyé de mon **** (Journaux LinuxFR)
    Avez vous remarqué que depuis l'arrivée de la tablette révolutionnaire de la coopérative fruitière, les messages envoyés depuis leurs caisse est systématiquement signé "Envoyé de mon ***".

    Ce petit message, qui a pour effet de m'énerver (c'est pas que j'aime pas les pommes...), donne une bonne visibilité à leurs produit.

    Je vous propose donc que nous aussi on signe nos messages "Envoyé de notre Linux".

    Soulignons l'usage de "notre" signifiant qu'ils nous appartient à tous.

    Bon, vous pouvez copieusement moinsser ce journal, il est surtout là pour décharger mes nerfs.
  • Votre rapport à l’anglais ? (Journaux LinuxFR)

    Bonjour nal,

    Je travaille pour une grande entreprise européenne qui fait appel à des fournisseurs/prestataires de tous horizons !

    C’est génial, tous les documents que l’on produit doivent être en anglais ! On s’y fait, et ça peut aller, on est tous habitués à lire de la doc en anglais et vu qu’on voit aujourd’hui plus d’anglais sur les murs de Paris (vive la pub) qu’on n’en voyait en allemand pendant l’occupation, on sait relativement bien le lire et l’écrire. En plus c’est à peu près toujours le même champ lexical.

    Mais vient toujours le moment du « call » avec au choix: américain, britannique, allemand, indien, chinois, espagnol, italien. (Mention spécial pour le call avec 8 Français et un Américain qu’on finit tout de même en anglais lorsque l'Américain s'est déconnecté du webex.)

    Je ne sais pas parler anglais et je déteste ça, je dois « animer des calls » et je me retrouve à bafouiller, chercher mes mots et à finir par répondre « euh yes » à des phrases provenant d’accents texans ou chinois que je ne comprends pas. Pire, quand je sais que j’ai un call dans deux jours, je n’en dors pas la nuit, et la veille je me retrouve comme un écolier à préparer des phrases toutes faites sur un papier pour ne pas être pris au dépourvu, au cas où.

    Pire encore, les dix premières secondes puis dix premières minutes du call, j’ai la gorge prise tellement je suis stressé et je bafouille un « hello, how are you ? » qui me fait encore plus stresser car tout en le disant, j’entends bien qu’il n’est pas serein ou convaincant. Du coup je n'arrive pas à prendre le dessus autant que je le voudrais sur mes fournisseurs avec qui on ne partage pas toujours les mêmes intérêts.

    Et toi, journal, dis moi que je ne suis pas seul.

    Quel est ton rapport à l'anglais ?
    Comment as-tu fait pour le parler de façon acceptable ?
    Comment tu fais pour ne pas être stressé avant/pendant un call ?
    Est-ce que tu pourrais être dans l'entreprise où tu es aujourd'hui si tu ne parlais pas anglais ?
    Est-ce que tu as dû te farcir des séries américaines en VO alors que tu détestes ça ?

    Je vous laisse ce lien sur cette organisation qui tend à la sauvegarde des quelque 7000 langues en voie de disparation : http://www.sorosoro.org/
    (c’est rigolo y a un petit planisphère qui localise les foyers de chaque langue, qui permet de cliquer sur celle-ci pour l’écouter !)

    Lire les commentaires

  • Lister rapidement les liens d'une page web (Journaux LinuxFR)

    Il y a quelques jours je suis tombé sur une page web cul-de-sac. Pas un rongeur pour se la rat-comté.

    J'ai donc tenté une inspection du HTML pour tenter d'y voir plus clair, et là j'me suis dit qu'une petite formule de JavaScript me donnerait une réponse limpide quant à la présence de lien dans la page :

    javascript:document.querySelectorAll('a').forEach(console.log)
    Ça rentre à l'aise dans un marque page, et ça peut dépanner. En plus l'affichage est celui, enrichi, des nœuds HTML dans la console de Firefox. Évidemment, ça marche pour l'importe quelle balise citée dans le querySelectorAll : img ? link ?

    J'ai ajouté la formule à mon http://www.grimoire-command.es/post/2018/List-web-page-links-in-Firefox

    Lire les commentaires

  • Phoseg, stockage et analyse de données phonétiques transcrites (Dépêches LinuxFR)

    Bonjour à tous,
    dans le cadre d'un projet j'ai besoin d'un module pour stocker et analyser des données phonétiques transcrites, par exemple avec l'alphabet phonétique international. Mon code commence à devenir (vaguement) utilisable : je le publie donc sous une licence GLPv3 : Phoseg est un module pour Python3 que vous trouverez à cette adresse.

    J'ai essayé de coller à certains principes facilitant le travail en communauté ainsi que l'écriture de code lisible : tests unitaires, code et commentaires écrits en anglais, surveillance de la qualité du code par pylint, documentation fournie.

    Concrètement, je cherche d'autres personnes susceptibles d'utiliser ou d'améliorer mon module. Si vous êtes un spécialiste de la phonétique, j'ai aussi de nombreuses questions à vous poser… De façon générale, n'hésitez pas à faire remonter vos remarques, je n'attends que ça, surtout si elles sont négatives !

    Concrètement, Phoseg est un module Python qui se pilote avec la classe PhoSegObject :

    from phoseg import PhoSegObject
    
    

    Il s'agit d'abord de créer un objet PhoSegObject, par exemple avec des données de type IPA :

    # Rōma = [ɾoːma] en latin
    obj = PhoSegObject( ipa = "ɾoːma" )
    
    

    Ces données phonétiques sont alors analysées et syllabisées automatiquement. La fonction de syllabation peut être celle de Phoseg ou une autre, que l'utilisateur fournira.

    Si l'on veut imposer une syllabation particulière, on utilisera un format maison, le format SIPA :

    obj = PhoSegObject( sipa = "(ɾ,oː,)(m,a,)" )
    
    

    On peut aussi utiliser les noms décrivant les sons, séparés par un point-virgule :

    # [a] "open front unrounded vowel"
    # [ĭ] "overshort close front unrounded vowel"
    # [r̥] "voiceless alveolar trill"
    # [t] "voiceless alveolar plosive"
    sounds = ["open front unrounded vowel",
              "prenasalized overshort close front unrounded vowel",
              "voiceless alveolar trill",
              "voiceless alveolar plosive",
             ]
    obj = PhoSegObject(soundsnames = ";".join(sounds) )
    
    

    Une fois l'objet initialisé, il peut alors nous donner les informations attendues :

    # structure (1)
    # ici, on vérifie que [ɾoːma] a une consonne, une voyelle, ce qu'on veut, une voyelle :
    print( obj.cv_struct_identical_to(['c','v', '*', 'v']) )
    
    
    # structure (2)
    # ici on vérifie que la deuxième voyelle de [ɾoːma] est longue :
    print( obj.cv_struct_identical_to(['*','vː', '*', '*']) )
    
    
    # syllabes et phonèmes :
    print( obj.number_of_phonemes() ) # =4 : [ɾoːma] possède 4 phonèmes.
    print( len(obj) )                 # =2 : [ɾoːma] possède 2 syllabes.
    
    
    # syllabe ouverte, syllabe lourde :
    # "une princesse turque" : [yn pʀɛ᷉sɛs tyʀk]
    myobj = PhoSegObject( sipa = "(,y,n)(pʁ,ε̃,)(s,ɛ,s)(t,y,ʁk)" )
    print( myobj[0].is_open() )     # False : (,y,n) est une syllabe fermée.
    print( myobj[0].is_heavy() )    # True : (,y,n) est une syllabe lourde.
    
    

    Voilà : il reste encore beaucoup de travail mais j'espère intéresser quelques curieux !

    Lire les commentaires

  • Rapport Bandinter sur le droit du travail.... (Journaux LinuxFR)

    Plutôt que de lire ce que les journalistes en ont compris, je l'ai parcouru et je suis tombé la-dessus :

    Article 18
    Un salarié ne peut être mis à disposition d’une autre entreprise dans un but lucratif, sauf dans les cas
    prévus par la loi.

    Va falloir envisager de ferme toutes les sociétés de service en informatique, à moins que les cas prévu par l a loi ne soient plus clair que par la passé en écarte un bonne fois pour tous, les prés illégale de main d'oeuvre.

    A vouloir simplifier, on est pas a l'abris de d'effet de bord plus ou moins désastreux, les tests de non régression législatifs cela existe ?

    Lire les commentaires

  • Coup de projecteur sur des associations qui reconditionnent des ordis avec des logiciels libres (Dépêches LinuxFR)

    Dans l'Ouest de la France, le reconditionnement de matériel informatique est une activité qui a le vent en poupe, puisque l'on peut trouver de la Loire-Atlantique au Maine-et-Loire plusieurs associations qui se chargent de récupérer du matériel pour en faire don à leurs adhérents. ALIS, CALIS, Nâga et SNALIS, installées respectivement à Nantes, Cholet, Rezé et Saint-Nazaire, équipent les foyers, associations, écoles, afin de créer une action sociale sur la région et éviter la « déchetisation » des ordinateurs âgés de moins de six ans.
    Par ailleurs, Défis, avec sept salariés et son projet Ordi-Solidaire sur la Bretagne travaille au réemploi depuis 2007 et tente d'organiser la filière sur sa région. Linux Quimper et Ordis libres de l'Arrée redistribuent des ordinateurs depuis 2009 après une courte présentation à des personnes en situation financière difficile. THOT c.i.s. à Binic, travaille également pour l'E-inclusion.
    Asso-Linux et Ordi-Linux offrent un espace d'entraide et d'information sur le Web aux acteurs du réemploi sous GNU/Linux.

    Sommaire

    ALIS44

    « L’association ALIS 44 collecte des ordinateurs vieux de moins de six ans sur Nantes Métropole, les reconditionne sous Xubuntu (Xalis) et Logiciels Libres, puis les redistribue aux personnes à faibles ressources et aux associations adhérant à ALIS 44. »
    alis44-prise-en-main
    ALIS 44 prône la réutilisation avant le recyclage, en limitant les Déchets d’Équipements Électriques et Électroniques (DEEE), œuvre pour l'e-inclusion.

    Historique

    ALIS 44 (pour Association Libre, Informatique et Solidaire) a vu le jour en 2006. Elle compte actuellement 3 salarié(e)s, dont 2 contrats aidés. Nous distribuons plus de 500 ordinateurs à plus de 600 adhérents et 24 associations à Nantes. L'association compte plus de 50 bénévoles, et nous accueillons chaque année plus de 20 stagiaires. 200 personnes ont bénéficié de nos ateliers « prise en main » et d’alphabétisation numérique.

    Pourquoi ?

    ALIS 44 a pour but de récolter des ordinateurs inutilisés auprès d’administrations, d’associations et d’entreprises, de les collecter et de les reconditionner avec un système d’exploitation et des logiciels libres et lui donner ainsi une deuxième vie.

    Cette démarche permet aux adhérent(e)s de pouvoir bénéficier d'un ordinateur clef en main mais surtout d'un accompagnement dans son usage par de nombreuses initiations sur la bureautique, le réseau et internet et les loisirs numériques.

    Pour qui ?

    Tous les publics peuvent accéder à nos machines et nos initiations. Nos tarifs sont volontairement très bas pour pouvoir garantir l'accès au plus grand nombre car notre raison d'être est résolument sociale.

    GNU/LINUX

    Linux est apparu dès le départ comme une évidence. Liberté d'utiliser son ordinateur, partager des connaissances, échange entre usager(e)s, seuls les OS et les logiciels libres pouvaient nous le fournir. Linux nous permet de guider simplement l'utilisateur, mais aussi de modifier la distribution Xubuntu et l'adapter à nos besoins. Nous nommons la distribution modifiée Xalis.

    Événements

    Un atelier consacré à la sensibilisation au reconditionnement de son ordinateur le 19 mars 2016, des ateliers « prise en main » hebdomadaires, des Questions-Réponses le jeudi après-midi, des ateliers alphabétisation les mardi et mercredi matin. N'hésitez pas à consulter notre site.

    Où et contact

    ALIS 44 se trouve au 60 rue de la Bottière, 44000 NANTES.

    Nous sommes ouverts : le Lundi, Mardi, Mercredi, Vendredi de 09h00 à 12H00 et de 14H00 à 18H00 et le Jeudi de 10H00 à 12H00 et de 14H00 à 16H30. Nous ouvrons aussi désormais un Samedi par mois.

    Tarifs

    De 30 à 40€ suivant les revenus, et 25€ de plus pour un écran plat. 80€ pour un ordinateur portable. Les UC sont garanties 1 an.

    CALIS

    « L’association CALIS (Cholet Association Libre Informatique et Solidaire) récupère des ordinateurs inutilisés afin de les reconditionner avec des Logiciels Libres. Les ordinateurs reconditionnés sont alors redistribués aux adhérents de l’association. Cette action permet de favoriser l’accès à l’informatique, de lutter contre l’exclusion sociale et de respecter l’environnement. »
    calis-logo

    Historique et quelques chiffres

    Calis est une petite association créée en 2013 qui comprend 8 bénévoles et 72 adhérents (année 2015). Concernant les adhésions cette année nous avons une majorité de particuliers (67), 4 associations et 1 école.

    Nous avons récupéré 82 machines pour 72 ordinateurs donnés à nos adhérents. (année 2015)
    Depuis la création de l'association nous avons reconditionnés 113 machines.

    À la création, l'association Nâga nous a été d'une grande aide en fournissant les documents administratifs utiles à la mise en place de l'activité, un site web flambant neuf et un soutien vis-à-vis des questions que l'on pouvaient se poser à l'époque.
    La première année l'association a dû se faire connaître peu à peu, ne bénéficiant pas d'un local, ni de fonds. Les réunions se faisaient alors chez les membres du bureau ou ponctuellement dans un bar de Cholet. En 2014, nous avions trouvé une salle à louer au sein du Centre Social Pasteur, salle où nous ne sommes pas restés longtemps car la structure était en travaux. Nous avions donc occupé plusieurs coins du Centre (sic) pour nous poser en 2015 dans notre local actuel.

    Pourquoi ?

    Le reconditionnement nous permet vraiment de créer des liens avec les gens. On ne compte plus le nombre de personnes que l'on a rencontrées qui continuent de nous aider ou qui passent faire un coucou à la permanence.

    On est tous un peu écolos dans l'âme et on a réellement du mal à comprendre cette "déchetisation" massive à laquelle sont soumis les vieux ordinateurs. Comme nous utilisons tous GNU/Linux, nous savons bien, nous, qu'un ordinateur de 5 ans, ça ne se jette pas. Il ne restait plus qu'à se retrousser les manches pour reconditionner du PC à tour de bras afin de les sauver d'un atterrissage à la benne.

    Parce que bidouiller des machines on aime ça, tout simplement. Cela nous a permis d'être confrontés à différents types de matériel, passant de vieux coucous utilisant de l'EDO au Core 2 sans oublier du serveur 19U. C'est enrichissant sur le plan technique et humain, avancer tous ensemble pour découvrir et venir à bout des machines les plus coriaces.

    Et enfin parce que le logiciel libre et sa philosophie tiennent une place centrale chez nous. Nous souhaitions donc mêler le respect de l'environnement, l'humain, et la promotion du logiciel libre.

    Pour qui ?

    Dans l'idée, pour tous ! Néanmoins, nous sommes tous bénévoles et il est difficile de dégager du temps libre pour chacun de nous. C'est pourquoi nous nous concentrons prioritairement sur les personnes qui peuvent éprouver des difficultés financières, sociales, mentales ou physiques, afin de répondre aux gens qui ont un réel besoin en matière de matériel informatique.

    GNU/Linux

    Nous utilisons actuellement une version modifiée de Linux Mint Mate 17.3 bénéficiant de toutes les mises à jour officielles et comprenant des ajouts de logiciels tels que Gcompris, Minetest, Exaile, Audacity, Openshot, quelques modules pour pidgin et Gimp, etc.

    Concernant la création nous utilisons un simple script bash après installation, puis Penguy Builder se charge de nous créer un live. Cependant, Penguy Builder est un fork du projet Remastersys qui ne fonctionne plus désormais sur les dernières versions de Linux Mint. Penguy Builder ne semble pas en état d'être à son tour abandonné mais, par mesure de précaution, nous avons également opté pour la solution Clonezilla en générant un script d'installation.

    Nous proposons également à nos adhérents un peu plus novices l'installation d'HandyLinux. En effet, il nous est apparu que cette distribution se révélait bien plus accessible que Linux Mint pour les personnes éprouvant des difficultés avec l'informatique.

    Événements

    Plusieurs ateliers jeux vidéos ont été organisés en collaboration avec l'équipe d'animation du Centre Social Pasteur. On fournit les machines, le serveur et on installe des jeux libres sur les bécanes (Open Arena, Teeworlds, Hedgewars…).
    Les jeux les plus joués par les jeunes restent Open Arena et Teeworlds, des jeux peu gourmands et qui ne posent aucun souci pour les cartes graphiques d'il y a 10 ans. Dans l'ensemble, ce que les jeunes préfèrent c'est aussi des jeux fun tout de suite sans paliers d'apprentissage. C'est une info à souligner, si vous avez des idées de jeux peu gourmands et fun pour les ateliers futurs.

    Dernièrement, nous avons également mené un atelier de présentation de l'association et du logiciel libre au sein de l'Adapei Formation à Cholet. Ce fut formateur et nous espérons bien refaire ce type d'interventions à l'avenir.

    Où et Contact

    Il est possible de nous joindre :

    Tarifs

    L'adhésion est au tarif astronomique de :

    • 10€ pour les particuliers : donne droit à un ordinateur complet (Comprenez : écran, tour, clavier, souris). Service après don valable de date à date (1 an)

    • 20€ pour les associations : pas de limite en terme de nombre d'ordinateurs par adhésion. Service après don valable de date à date (1 an)

    Nâga

    « L’association Nâga récupère des ordinateurs, les reconditionne avec Xubuntu et les donne à ses adhérents, suite à une initiation. » Elle est basée à Rezé.
    naga44-accueil

    Historique et chiffres

    L'association a été créée en juin 2013. Il y a déjà plusieurs années avec Alis 44, nous nous disions que Nantes Métropole, c'est grand et qu'il y avait de la place pour plusieurs structures (et il y en a certainement encore).

    Nombre d'adhérents : 201 (187 en 2014)
    Détail adhésions : 167 particuliers (145 en2014) / 34 adhérents associatifs, répartis sur 8 associations (14 en 2014)
    Nombre d'ordinateurs reçus : 216 (368 en 2014, on privilégie la qualité)
    Donateurs : particuliers, lycées, mairies, entreprises
    Accueil de 4 stagiaires

    Des statistiques détaillées sur les adhérents sont aussi consultables dans la partie "Le retour à l’emploi".

    Pourquoi ?

    Suite à une discussion entre Pierre-François CHATELLIER et Benjamin LARCHER sur la recherche d'un travail de ce dernier, la question « et qu'est ce que tu voudrais vraiment faire ? » est tombée. La réponse fut une structure un peu comme Alis 44, mais tout seul, c'est dur à lancer comme projet. Pierre-François dit que ça le tentait bien. Le lendemain, les papiers de déclaration étaient rédigés. Faire un travail éthique est une priorité aussi bien pour Pierre-François que Benjamin. Nous souhaitions développer l'autonomie des adhérents, à travers des groupes d'entraide mutuelle (GEM), le forum et un site de tutoriels vidéos (200 vidéos) et 600 pages de tutoriels rédigés. Tout ceci nous évite le service téléphonique.

    Nous partageons tous nos documents internes dans l'esprit association sous Licence Libre. Sur demande, nous pouvons accueillir une personne qui souhaiterait monter une association du même type. Il est possible de rester le temps souhaité pour voir les différentes facettes (administration, gestion de documents, technique, comptabilité, communication).

    Pour qui ?

    L'association s'adresse aussi bien particuliers, qu'entreprises ou associations. Tout le monde peut être bénéficiaire d’un ordinateur et des ateliers via Nâga. Chacun doit cependant devenir adhérent à l’association. L’adhésion est faite en fonction des revenus :

    • Personnes allocataires de minimas sociaux (RSA socle…) : 80 euros
    • Personnes ayant des revenus compris entre les minimas et le SMIC inclus : 110 euros
    • Personnes ayant des revenus supérieurs au SMIC : 140 euros

    Les adhérents choisissent eux-même leur adhésion, pas de contrôle de notre part. Commencer une relation en faisant confiance est un bon départ.

    Événements

    Nous faisons des ateliers de dons d'ordinateurs deux fois par semaine. Les groupes d'entraide mutuelle sont également 2 fois par semaine. Nous intervenons dans le quartier du Breil à Nantes, ainsi que dans des CSCs. (Loire et Seil, Derval, L'allée verte, La chapelle sur Erdre). Il n'y a pas de dates fixes, c'est un peu à la demande. Sauf pour Ping au Breil où les dates sont affichées sur http://www.naga44.org/ à droite.
    Nous organisons aussi une Carto party OSM (11-20 h le 14/05/16 et le 01/10/16 à la Bonneterie à Rezé). Nous participons à divers événements tels que le festival T'Cap sur la question des handicaps, au forum des associations de Rezé en Septembre.

    Où et Contact

    Vous pouvez nous contacter par courriel ou par téléphone au 02 85 52 31 22 (Du mardi au vendredi de 10h à 12h et de 13h à 18h et le samedi de 13h à 18h).
    Nous sommes situé à "La Bonneterie", 17 chemin Fontaine Launay à Rezé.

    Remarques

    Tous les mois nous mettons en avant l’œuvre libre du mois, afin de montrer que le libre est une philosophie touchant plein de domaines.

    Initiation et don des ordinateurs

    L’initiation au système d’exploitation Xubuntu dure environ deux heures. Elle se fait principalement par groupe de cinq adhérents, mais peut être individualisée pour certains cas spécifiques.

    SNALIS

    L’association SNALIS sur Saint-Nazaire et alentour, récolte du matériel informatique, le reconditionne et le donne à ses adhérents lors d'ateliers d'initiation pour 25 ou 80€ librement. (plus de 200 adhérents, 500 machines, 3 salariés en 2015). SNALIS organise des ateliers autour de l'informatique dans les maisons de quartier, maintient un bricolab local, fait de la formation et des prestations de tous niveaux, participe aux débats culturels et politiques sur le numérique.
    SNALIS maintient ses propres environnements, distributions pour ses adhérents et serveur autonome pour son fonctionnement depuis 2010.
    logo-snalis

    SNALIS, forte de son expérience, se développe en 2016 en migrant sur Fedora pour pouvoir rester sur le fil de l'innovation. Elle ne proposera pas que des outils habituels pour un reconditionneur sur une base plus ou moins vétuste mais d'intégrer pas à pas un ensemble cohérent d'un système libre sur tous les aspects écologiques, communication, sécurité, autonomie, coopération. Ainsi c'est autour du PC, des cartes ARM, tablettes, au serveur en passant par le smartphone, la téléphonie, le texto libre, qu'elle repense et prône une autonomie personnelle et collective.

    Association Défis - Ordi-Solidaire Bretagne

    Sur la région Bretagne, l'association Défis distribue en prêt et vente à bas coût des ordinateurs et accompagne aux usages du numérique depuis 2007. Un ordinateur reconditionné sous GNU/Linux a été prêté à plus d'un millier de familles.
    logo-defis

    En 2010, Défis devient « Pôle Régional Ordi 2.0 » et lance le projet Ordi-Solidaire Bretagne avec le soutien du Conseil Régional de Bretagne qui de son côté organise un accompagnement avec le « Visa Internet Bretagne ».

    En 2016, nous lançons le "Visa équipement" destiné aux usagers en difficulté (par exemple au RSA ou aux minima sociaux). Il s'agira d'un ordinateur reconditionné sous GNU/Linux et de son entretien sur une année.

    Nous sommes actuellement en lien avec de nombreuses structures afin de renforcer les filières de réemploi en informatique. Nous souhaitons par exemple comme en région PACA et Languedoc Roussillon, travailler à la réduction des déchets avec le soutien de l'ADEME.

    Coopérer à l’échelon national nous permettrait de faire levier sur les commandes publiques (ordinateurs reconditionnés pour l'éducation nationale, le pénitentiaire par exemple).

    Linux Quimper

    Le centre social des Abeilles de Quimper avec l'aide technique de Linux Quimper récupère depuis 2009 des ordinateurs déclassées auprès d'administrations comme la ville de Quimper ou la DDTM et d'entreprises. Ces ordinateurs sont reconditionnés avec des logiciels libres autour du système GNU/Linux . Ils sont ensuite attribués gratuitement en priorité aux personnes et aux associations en situation financière difficile.

    Nous avons redistribué depuis 2009 plus de 1200 ordinateurs, au début sous Xubuntu 10.04. Actuellement nous utilisons Ubuntu 14.04 avec l'interface Gnome 3 et pour les ordinateurs moins puissants Lubuntu 14.04. Les re-distributions ont lieu après une présentation simple du système GNU/Linux. Les inscriptions se font auprès du Centre des Abeilles (02.98.55.33.13).

    Ces ordinateurs, grâce aux logiciels libres et à GNU/Linux, sont utilisables immédiatement, gratuitement et en toute légalité dans tous les domaines de l'informatique comme la bureautique, internet, le graphisme, l'audio-vidéo, etc.

    Le Centre des Abeilles et Linux Quimper se sont engagés depuis 2009 dans cette redistribution gratuite de ces ordinateurs déclassés :

    • pour permettre l'accès à l'informatique aux personnes et associations qui en sont écartées pour des raisons économiques
    • pour limiter le gaspillage du matériel informatique et réduire les déchets
    • pour développer l'usage des logiciels libres.

    Ordis libres de l'Arrée

    Ordis libres de l'Arrée collecte principalement des ordinateurs déclassés par des administrations sur le Finistère. L'association reconditionne ces machines avec un OS Linux (actuellement : Debian Handylinux). Pour bénéficier de la mise à disposition d'un ordinateur, il faut adhérer (cotisation : 10€). Il y a une permanence au centre Frédéric le Guyader à Brasparts (en face de la mairie) chaque vendredi matin, sauf périodes de vacances scolaires. On peut y venir y demander des conseils ou de l'aide pour dépanner une machine. L'asso est aussi présente à la bibliothèque municipale de Saint-Rivoal le samedi matin en tant que facilitateur d'accès au numérique (avec Linux de préférence).

    L'association organise aussi tous les ans une ou deux journées Linux en lien avec LinuxQuimper. Il faut s'inscrire pour demander à bénéficier d'une machine (orlibare CHEZ laposte.net) ou venir librement installer Linux sur un ordinateur personnel.

    THOT (communication, information, savoir)

    THOT (c.i.s.) à Binic, dans les Côtes-d'Armor, est une association créée en septembre 2014 pour l'E-inclusion. Elle collecte des ordinateurs, les reconditionne avec Emmabuntüs, les donne ou les vend pour cent euros maximum.

    THOT participe aux grands évènements du logiciel libre sur la région Bretagne : Salon Infothema, Libre en fête en Trégor, Open Bidouille Camp à St Brieuc, Fête de la Science à Ploufragan, afin de sensibiliser tous les publics au réemploi sous GNU/Linux. Ils animent aussi une permanence tous les samedis de 9 h à 12 h dans la salle Jean Bart à 25520 Binic, voir l'ensemble de leurs permanences.

    Ordi-Linux

    Ordi-Linux.org est un site d’information participatif pour les reconditionneurs d’ordinateurs sous GNU/Linux. Une carte interactive est dédiée au référencement des reconditionneurs informatiques sous Linux. Il traite de la problématique de la gestion des DEEE, des solutions, notamment celle du reconditionnement sous Linux. Il aborde les aspects économique, législatif, formule les problèmes, énonce des définitions et des propositions.
    reconditionnement

    La législation européenne comme française privilégie le reconditionnement au recyclage. Malgré cela, parmi les nombreuses structures de reconditionnement sous Linux qui embauchent des salariés en contrats aidés, peu sont pérennes et autonomes financièrement.

    finances

    Ordi-Linux propose

    • d’amener des informations afin de débloquer cet illogisme ;
    • d’apporter des solutions pérennes et des possibilités de financement de ces structures ;
    • d’analyser les blocages ;
    • de faire un état des lieux global de la situation ;
    • d’apporter des solutions aux problèmes rencontrés pour le passage sous Linux.

    propose

    Les bénéfices sont nombreux et pas seulement financiers. Cependant, l'équilibre économique conditionne l’existence des reconditionneurs d'ordinateurs sous Linux.

    Une reconnaissance des reconditionneurs

    Théoriquement, une reconnaissance est possible pour les reconditionneurs par un label Ordi 2.0. Dans la pratique, plusieurs reconditionneurs ayant fait la demande et des relances, n’ont pas eu de réponse. C’est ainsi depuis environ trois ans.

    dmandes

    Récupération à priori d’Éco-systèmes

    Actuellement, les ordinateurs sont jetés dans des bennes d’Éco-systèmes pour être recyclés. Ce « stockage » les endommage. Pour appliquer le cadre législatif actuel, il faut une mise à disposition du matériel en amont d’Éco-systèmes, afin de le trier et voir ce qui est valorisable. Une récupération de ce qui ne l’est pas est ensuite récupéré par Éco-systèmes gratuitement (ce qui est déjà le cas pour les reconditionneurs). Encore faut-il que les reconditionneurs soient reconnus.

    Plate-forme de récupération

    Il est nécessaire d’avoir une plate-forme de dépôt type « bâtiment industriel ».
    La plupart des reconditionneurs sont de petites structures qui n’ont pas les moyens financiers, tout comme les artistes, Fab labs et autres intervenants dans le domaine.
    Une fois l’activité démarrée et l’augmentation du volume traité, il serait alors possible de payer le loyer, les frais de bâtiment et de rembourser les frais d’installation.
    L’investissement est donc un problème à étudier. Par expérience, l’association Nâga estime que 50% au moins des ordinateurs des particuliers sont reconditionnables (et bien plus pour la valorisation en général). Pour les entreprises, ce chiffre est supérieur à 80%. Ceci aiderait grandement à atteindre le quota fixé par le cadre législatif.

    Linux au sein des établissements scolaires

    Avec une augmentation des ordinateurs reconditionnés, l’offre dépasserait la demande.
    Une des possibilités serait l’introduction de Linux dans les établissements scolaires de manière systématique. Des distributions Linux dédiées à l’éducation sont déjà utilisées dans les écoles.

    La séparation des commandes de matériel

    Lorsque les commandes de matériel sont faites, souvent les ordinateurs sont inclus dans des lots. Cela empêche les reconditionneurs de proposer des ordinateurs, car ils n’ont pas les autres éléments du lot. Il faudrait donc séparer les lots.
    On retrouve ce problème aussi pour les cartouches d'encre et toners qui sont souvent dans le lot papeterie. Il est alors difficile de les reconditionner en les remplissant une fois vides. Remplir soi-même, c’est 95% moins cher. Remplir par un professionnel c’est entre 30 et 70% fois moins cher, selon le modèle. En plus, des entreprises font même la livraison pour simplifier la vie !

    Alis44110

    Basée à Châteaubriant, l'association Alis44110 a pour buts de :

    • développer l’usage des systèmes d’exploitation basés sur Linux et faciliter l’accès et l’utilisation des Logiciels Libres en général, à tous.
    • organiser des ateliers, réunions « install party » et tout autre manifestation privée ou non autour des logiciels libres, notamment en direction de la jeunesse et d’autres types d’associations
    • développer et animer un portail internet de diffusion des savoirs et d’entraide intergénérationnelle pour le Pays de Châteaubriant
    • de manière plus générale, exploiter tout le potentiel des technologies de l’Information et de la Communication pour promouvoir l’utilisation de systèmes basés sur Linux et les Logiciels Libres.

    Conclusion

    Sauver du recyclage des ordinateurs professionnels de moins de six ans est un défi que tentent de relever ces associations de l'Ouest de la France. Pour mobiliser tant d'énergie, le reconditionnement d'ordinateurs avec des logiciels libres ne peut être que passionnant car il est au service des personnes qui ont besoin de cet outil de communication.
    atelier-mois-multimedia
    À Vitré, le reconditionnement est abordé de façon ludique et pédagogique au cours d'ateliers avec des jeunes pour construire un Jerry, un ordinateur assemblé dans un bidon en plastique de vingt litres. À gauche, vous pouvez voir le Schtroumpf Jerry équipé de HandyLinux et à droite, vous apercevez le fond d'écran bleu de Framasoft repris par le Collectif Emmabuntüs qui aime à se nommer les biffins du numérique.

    Lire les commentaires

  • grsecurity abandonne le gratuit (Journaux LinuxFR)

    Hop, le lien : https://grsecurity.net/passing_the_baton.php

    Donc, si j'ai bien compris, grsecurity arrête de fournir en accès libre son ensemble de patchs pour le noyau Linux. C'est un peu décevant, parce que je m'en sers depuis à peine un an sur ma Debian, et je trouve que c'est un plus en sécurité relativement facile à mettre en œuvre. Je vais devoir, dans un futur proche, revenir à un noyau normal, parce que grsecurity ne vend rien aux particuliers. Et ce serait probablement trop cher pour moi. Bref.

    Je ne sais pas si la communauté va reprendre ces patchs. Je pense que ce serait un plus, mais ça demande, comme d'habitude, énormément de temps, et dans leur cas, beaucoup de compétences.

    Et comme l'a dit un ami (qui se reconnaîtra) : « Open Source Security Inc. ne fait plus d'open source donc ». Je vous laisse troller sur cette phrase :)

    Lire les commentaires

  • AlterncCamp c'est dès jeudi 21 juin (Journaux LinuxFR)

    Salut

    Ayant déjà fait la dépéche et que le temps est passé, j'en profite pour rappeler que jeudi, vendredi et samedi il est possible d'aider à l'avancée du projet alternc

    Commentaires : voir le flux atom ouvrir dans le navigateur