Linux (fr)

  • Wazo, le fork de XiVO, prend son envol (Dépêches LinuxFR)

    La distribution de téléphonie sur IP (PABX/IPBX) basée sur Debian et Asterisk nommée XiVO a souffert d’une soudaine extinction de voix : le site Web xivo.io et le projet GitHub ont été fermés récemment par la société Avencall. Celle‐ci détient toujours la marque XiVO et réside maintenant sous le nom de domaine xivo.solutions. (NdM.: voir ce commentaire de avencall : les sources de XiVO sont désormais sur un projet Gitlab et une version est à venir pour la fin d'année).

    Un divergeance (fork) du projet a été créée sous le nom de Wazo et les sources sont de nouveau disponibles sur GitHub. Un groupe de cinq développeurs, dont Sylvain Boily (l’initiateur du projet XiVO en 2005) a repris la gestion du nouveau projet.

    Wazo a sorti sa première version Wazo 16.16 en décembre 2016, basée sur XiVO 16.13. Vous pouvez télécharger l’image ISO sur le miroir de Wazo et une procédure de migration XiVO vers Wazo est disponible.

    Ça mange quoi en hiver, Wazo ?

    Wazo est donc un serveur de téléphonie IP basé sur Asterisk diffusé sous licence GPL v3. Il permet de gérer la téléphonie d’une entreprise avec les appels entrants, appels sortants, renvois d’appel, messageries vocales, chambres de conférence, un centre de contact modeste, de contrôler ses appels à partir de son ordinateur (CTI) et offre nombre d’API REST pour intégrer tout ce petit monde dans d’autres systèmes logiciels. À travers ces API, Wazo se veut une plate‐forme de téléphonie que vous pouvez vous approprier et autour de laquelle vous pouvez développer.

    Pourquoi le nom Wazo ?

    Wazo est tout simplement un homophone de « oiseau », principalement à cause de la mythologie du phœnix, de la renaissance d’un projet et la symbolique de prendre son envol. Pour cette raison, le projet se nomme Wazo et son nom de version pour 2017 est Phoenix. Les développeurs signalent que tout jeu de mot est le bienvenu.

    Pourquoi un fork hostile ?

    La raison principale est une divergence de vision à long terme, les développeurs de Wazo expliquent la leur :

    Nous croyons fermement que la téléphonie devrait être accessible partout : quels que soient l’appareil, l’application, l’environnement logiciel que vous avez, vous devriez pouvoir appeler qui vous voulez, quand vous voulez. Pour accomplir cela, nous voulons un logiciel de téléphonie qui soit facile à mettre en place, facile à intégrer à d’autres logiciels, scalable et extensible à volonté.

    Wazo 16.16, nouvelle version, qu’est‐ce qu'elle apporte ?

    La nouvelle version de Wazo est arrivée lundi 12 décembre 2016, et elle apporte quelques nouveautés :

    • la migration de XiVO vers Wazo ;
    • la prise en charge du codec Opus ;
    • une meilleure documentation des API REST ;
    • une nouvelle API REST pour les interconnexions SIP avec les opérateurs et la gestion d’appels sortants ;
    • une nouvelle API REST pour les groupements d’appels (plusieurs téléphones sonnent sur le même numéro) ;
    • une nouvelle API REST pour les chambres de conférence ;
    • une nouvelle API REST pour les menus vocaux ;
    • une nouvelle API REST pour les messages vocaux utilisateur ;
    • une gestion plus souple du carnet d’adresses ;
    • amélioration de l’interconnexion de plusieurs serveurs Wazo pour partager les contacts.

    Wazo en 2017, quel plan de vol ?

    Pour l’année 2017, l’équipe prévoit notamment :

    • d’ajouter une nouvelle interface Web d’administration, plus moderne et plus facilement extensible ;
    • de continuer le développement des API REST pour piloter l’intégralité du projet ;
    • de fournir des interfaces web et mobile pour les utilisateurs ;
    • de continuer son approche scalable pour une vision Cloud (PaaS ou SaaS) ;
    • et, bien sûr, d’être à l’écoute de la communauté et de répondre à ses préoccupations premières.

    Comment on finance les graines ?

    Comme tout projet logiciel, il faut bien sûr financer le temps de développement et l’équipe nous fait savoir qu’ils ont plusieurs idées dans les cartons. Ils souhaitent rentabiliser un modèle logiciel libre en fournissant du service, du développement, mais aussi apporter une nouvelle approche sur le modèle de commercialisation, sans utiliser les mécanismes retrouvés actuellement dans des projets à double licence. Donc, pas de fonctionnalités payantes à l’horizon, comme ce qui fait grincer du bec chez les utilisateurs de FreePBX ou Elastix, d’autres projets libres de téléphonie sur IP…

    Lire les commentaires

  • Linutop OS XS disponible pour tous les Raspberry PI (Zéro, A, A+, B, B+ et 2) : (Dépêches LinuxFR)

    Linutop OS XS est une distribution conçue pour simplifier l’usage en entreprise d’un Raspberry Pi. Elle permet notamment de configurer rapidement un kiosque d’affichage dynamique. Elle s’appuie sur la version Raspbian avec l’environnement graphique XFCE, complété par LibreOffice 3, VLC media player 2 et les outils Linutop qui sont une des ses particularités :

    • Linutop Configuration panel
    • Kiosk Navigateur Web
    • Player d’Affichage Dynamique

    Le développement de ces outils est basé sur du QT GPL, notamment Kiosk et le panneau de configuration. Les sources sont donc disponibles sur simple demande. Le reste vient de Debian Wheezy et donc le tout est entièrement libre.

    Les outils spécifiques à Linutop

    • Linutop Configuration panel: une interface graphique pour faciliter la configuration du système: langue, clavier et fuseau horaire, configuration écran, démarrage d’un VNC ou SSH en un clic.
    • Kiosk Navigateur Web: permet de configurer avec ou sans barre de navigation, mode plein écran, verrouillage des sites interdits ou autorisés.
    • Player d’Affichage Dynamique: permet de gérer une « playlist » pour un affichage en plein écran (image, PDF, lien URL, page web, vidéo HD, musique), il est compatible avec le système de diffusion Linutop.tv, possède une télécommande et peut fonctionner avec ou sans réseau.

    Linutop OS XS pour Raspberry PI

    Avantages:

    • Panneau de configuration graphique en français
    • La version gratuite permet d’utiliser VLC avec l’accélérateur matérielle
    • Permet de construire un affichage dynamique local ou distant à moindre coût et pour une consommation électrique minimale.

    Principaux usages:

    • Kiosque Internet : Salle d'attente, hôtel, bureau, école, borne d'accès Internet publique…
    • Affichage dynamique : école, musée, communication interne…
    • Système pour usage multiple : Media player dédié, sonde réseau et plus.

    Lire les commentaires

  • Le cauchemar d'Henry (Journaux LinuxFR)

    Henry, notre ami, est de retour pour vous conter les plus rocambolesques de ses aventu… de ses belles… de ses humiliations. Pour rappel, la dernière en date, la vie privée d'Henry, qui avait ravi tant de membres de LinuxFr.

    Le journal dont vous êtes l'anti-héros! Hop, on y va…

    La nuit dernière, Henry a fait un affreux cauchemar…

    Il arrivait au camping de Trougon, où l'employée de l'accueil lui faisait un grand sourire. Une fois dans son bungalow, il peut apprécier le grand lit, la petite terrasse, au sud, et la cuisine largement équipée. De passage, plus tard, à la supérette du camping, il peut constater, non sans un sentiment de plénitude, que son jus de pommes préféré est en rayonnage, de même que du jambon fermier et de bonnes baguettes. Du premier coup, il parvient à retourner à son bungalow, il faut dire que le chemin est drôlement bien indiqué.

    Le soir, au restaurant, la pizza du chef lui donne satisfaction, de même que la part de tarte tatin et le petit vin de la région. Et le tout pour €15! Cerise sur le gâteau: les toilettes sont propres et la porte ferme efficacement.

    La fin de soirée, Henry la passe sur sa terrasse, avec Evelyne et Rolande, qui habitent 2 bungalows plus loin. Bien que Evelyne lui plaise plus, c'est Rolande qui semble plus sensible à son charme ténébreux. "Bah, se dit-il, laissons faire le destin." Bien que les deux femmes repartent dormir chez elles, c'est clair qu'Henry a marqué des points. Vivement demain!

    La nuit, parfaite, pas de bruit, ni dedans ni dehors. Pas de ventilation, pas de voisins bruyants, pas de route proche, pas de chasse d'eau qui fuit. À la supérette au matin, Henry croise à nouveau le dame de l'accueil qui lui fait la bise tout en mettant sa main sur son épaule. Si ça c'est pas le bonheur!

    Il gagne une bouteille de vinaigre à la tombola de la caisse du petit magasin; Cécile, la dame de l'accueil l'invite pour lui montrer la région "un de ces jours", la plage est propre, le vendeur de glaces sympa et la noix de coco pas trop chère.

    Lorsque soudain, Henry se rend compte, avec effroi, que ça fait plus de 24 heures qu'il n'a pas allumé son téléphone, que sa tablette est encore dans sa valise et qu'il ne sait même pas si le camping propose du WiFi : rien de tout cela ne lui a manqué, horreur!!

    À la place d'Henry, que ferais-tu alors?

    Lire les commentaires

  • Tutorial Code_Aster (Journaux LinuxFR)

    Sommaire

    Bonjour Nal', une fois n'est pas coutume, il pleut en Haute-Garonne ! Alors j'ai tué le temps jetant un œil à Code Aster. Je laisse ici mes notes.

    Code_Aster, qu'est-ce c'est ?

    Code_Aster est un code de calcul de structure thermo-mécanique par la méthode des éléments finis isoparamétriques.
    Il est développé par EDF sous licence GNU/GPLv3.
    Il permet de faire à peu près tout ce qui est imaginable en mécanique, voir à ce propos-là plaquette de présentation

    Ce code de calcul est intégré à la suite de logiciels libres Salomé-Méca, qui contient un préprocesseur, Code_Aster, et un post-processeur/vieweur pour voir les résultats.

    Aujourd'hui, nous allons utiliser le code en version stand_alone, et nous utiliserons notre éditeur de texte préferé, gmsh, astk, puis de nouveau gmsh pour voir les résultats de nos calculs.

    Installation

    Cela se passe ici.
    Deux options:
    1. Soit on compile code_aster
    1. Soit on n'aime pas compiler et on télécharge le binaire de Salome-Méca qui contient code_aster de façon préinstallé, et quelques Gio d'outils dont ne nous servirons pas.

    La compilation se passe assez bien, et les paquets prérequis (voir les instructions de compilation sur leur site) se trouvent assez facilement.

    Calcul de Poutre

    Nous allons étudier le comportement mécanique d'une poutre encastrée d'un côté et soumise à un effort ponctuel de l'autre côté:
    poutre_encastre

    Nous allons le faire de 3 façons:

    1. En modélisation poutre 1D
    2. En modélisation plaque 2D
    3. En modélisation complète 3D

    Création de la géométrie avec Gmsh

    Pour fonctionner, Code_Aster a besoin d'un fichier de commande, et d'un fichier décrivant un maillage: une liste de nœuds et une liste d'éléments reliant ces nœuds. On pourrait lui fournir un fichier texte contenant les coordonnées géométriques de chaque nœud du maillage, mais vu qu'on a la flemme et que cela peut être assez ennuyeux pour des problèmes complexes, on va demander à Gmsh de le faire pour nous.

    On crée tout d'abord la géométrie de notre problème à l'aides de points, de lignes, surfaces et volumes, on doit aussi définir des groupes d’intérêts (la poutre entière, la partie encastrée, et la partie sur laquelle on applique la force). On peut jouer 5 minutes avec la partie GUI de Gmsh pour lequel on trouvera de nombreux tutoriaux sur le web, mais on en revient vite à un fichier texte.

    Voici donc poutre1d.geo:

    //== parametres ==
    //taille maillage autour des noeuds. 2.5mm entre deux noeuds.
    cl__1 = 2.5;
    
    // == geometrie ==
    //points
    Point(1) = {0,0, 0, cl__1}; // extremite encastre de ma poutre
    Point(2) = {100,0, 0, cl__1}; // extremite libre de ma poutre, soumise à une force
    //lignes
    Line(1) = {1, 2}; // on cree la ligne entre Point1 et Point2
    
    //== groupe ==
    Physical Point("encastr") = {1};
    // on encastrera le noeud correspondant à ce point
    
    Physical Point("force") = {2};
    //on appliquera la force sur le noeud correspondant à ce point
    
    Physical Line ("poutre") = {1};
    // notre poutre sera constitue des tous les noeuds et elements correspondant à cette ligne

    Une fois ce fichier poutre1d.geo crée, on l'ouvre avec gmsh (Terminal: gmsh poutre1d.geo)
    On clique sur Mesh > 1D, le maillage est fait, mais on ne le voit pas car seul la géometrie est affichée ! Donc Tools > Options, Onglet Visibily de Géometrie, on décoche Points et Lines et dans Mesh, on coche Nodes and Lines. Cela donne ceci:

    maillage1d

    Notez qu'avec Tools > Options, dans l'onglet list bowser, on peut visualiser/désafficher (toucher enter du clavier une fois cliqué sur le nom du groupe dans la fenêtre) les groupes que nous avons crée et leurs affectations. C'est très pratique. On voit par exemple bien que notre groupe "poutre" est constitué de tous les éléments de la poutre.

    Pour sauvegarder notre maillage, on fait File > Export et on choisit le format de maillage appelé .MED, on obtient donc un beau mesh1d.med. Surtout, on veille à ce que tout soit décoché dans la fenêtre pop-up qui apparaît et on clique rapidement sur OK.

    De même, voici poutre2d.geo, qu'on maille en 2D avec gmsh:

    //== parametres: ==
    //taille maillage autour des noeuds. 2.5mm entre deux noeuds.
    cl__1 = 2.5;
    L=100; //longeur poutre de 100mm
    R=5; // ratio longueur/largeur
    l=L/R;
    
    //== geometrie ==
    //points
    Point(1) = {0, 0, 0, cl__1};
    Point(2) = {L, 0, 0, cl__1};
    Point(3) = {L, l, 0, cl__1};
    Point(4) = {0, l, 0, cl__1};
    Point(5) = {L, l/2, 0, cl__1};
    //lignes
    Line(1) = {1, 2};
    Line(2) = {2, 5};
    Line(3) = {5, 3};
    Line(4) = {3, 4};
    Line(5) = {4, 1};
    
    //surface
    Line Loop(1) = {1, 2, 3, 4, 5}; //on cree une boucle de lignes
    Plane Surface(1) = {1}; // on crée une surface à partir de la boucle
    
    //== groupe ==
    Physical Line("encastr") = {5}; // on encastrera cette ligne
    Physical Point("force") = {5}; // lieu application force
    Physical Surface("poutre") = {1}; // notre poutre 2d

    maillage2d

    Et poutre3d.geo qu'on mesh en 3D avec gmsh:

    //== paramètres: ==
    //taille maillage autour des noeuds.
    cl__1 = 5;
    L=100; //longeur poutre
    R=5; // ratio longueur/largeur
    l=L/5;
    
    //== geometrie ==
    //points
    Point(1) = {0,0, 0, cl__1};
    Point(2) = {L,0, 0, cl__1};
    Point(3) = {L,l, 0, cl__1};
    Point(4) = {0,l, 0, cl__1};
    Point(5) = {L, l/2, 0, cl__1};
    //lignes
    Line(1) = {1, 2};
    Line(2) = {2, 3};
    Line(3) = {3, 4};
    Line(4) = {4, 1};
    //surface
    Line Loop(1) = {1, 2, 3, 4};
    Plane Surface(1) = {1};
    Point{5} In Surface{1}; // pour que le point 5 soit contenu dans la surface
    
    //volume
    Extrude {0,0,-3}{Surface{1};Layers{3}; Recombine;}
    //on extdure la surface 1 de -3mm selon l''axe Z
    //en créant 3 éléments dans l''épaiseur avec l''aide de layers
    
    
    //== groupe ==
    //on sait que c''est la surface 25 parce qu''on le visualise sous gmsh en affichant "surface label".
    //il peut y avoir une erreur lors de l''import si le numéro de la surface crée par l''extrusion n''est pas 25.'
    //      C''est pas grave, on regarde à quoi correspond la surface à encastrer, on trouve son label, et mon modifie les lignes ci-dessous.
    Physical Surface("encastr") = {25}; // on encastrera cette surface
    Physical Point("force") = {5}; // lieu application force
    Physical Volume("poutre") = {1}; // notre poutre 3d
    
    //== mailage ==
    Transfinite Line{1,3}=8*R+1; // 8*R élem dans la longueur = 41 noeuds entre lignes 1 et 3
    Transfinite Line{4,2}=8+1; // 8 élem dans la largeur =  9 noeuds entre lignes 4 et 2
    Transfinite Surface "*"; // on veut un maillage propre
    Recombine Surface "*"; // on veut un maillage quadra

    maillage3d

    Nous voici maintenant avec 3 maillages au format.med Il nous faut maitenant créer notre fichier de commande !

    Fichier de commande

    #U1.03.02
    DEBUT();
    
    #on charge le fichier de maillage .MED, unité logique 20
    mesh=LIRE_MAILLAGE(
        INFO=2,
        INFO_MED=2,
        UNITE=20,
        FORMAT='MED',
    );
    
    #on a importé le maillage et ses groupes, on crée d'autres groupes:
    
    mesh=DEFI_GROUP(
        reuse =mesh,
        INFO=2,
        MAILLAGE=mesh,
        #on crée un groupe nommé TOUT qui contient toutes les mailles du maillage.
        #on ne va pas s'en servir, mais ça peut être utile
        CREA_GROUP_MA=_F(NOM='TOUT',TOUT='OUI',),
        #on grée un groupe de noeud qui contient tous les noeuds de toutes les mailles.
        # Il faut le faire quand le maillage provient de Gmsh, car Gmsh transforme les noeuds en maille, on les retransforme ici en noeud
        CREA_GROUP_NO=_F(TOUT_GROUP_MA='OUI',),
    );
    
    #on affecte au groupe de maille 'poutre' crée avec gmsh,
    #   des éléments finis de types Poutre, ici POU_D_T
    model=AFFE_MODELE(
        MAILLAGE=mesh,
        AFFE=(
            _F(
              GROUP_MA=('poutre',),
              PHENOMENE='MECANIQUE',
              MODELISATION='POU_D_T',
            ),
        ),
    );
    
    #on définit un matériaux, ici de l''acier:
    #  Module d'Young' E = 210000 N/mm2
    #  Coefficient de Poisson, nu = 0.3
    #  masse volumique = 8e-9 tonne/mm3
    steel=DEFI_MATERIAU(ELAS=_F(E=210000.,NU=0.3,RHO=8e-9),);
    
    #U4.43.03
    #on assigne notre matériaux à nos mailles du groupe 'poutre'
    material=AFFE_MATERIAU(
        MAILLAGE=mesh,
        AFFE=_F(GROUP_MA=('poutre',), MATER=steel,),
    );
    
    
    #U4.42.01
    #On assigne à nos éléments poutre POU_D_T une section rectangulaire de largeur 20mm et d'épaisseur 3mm
    
    elemcar=AFFE_CARA_ELEM(
        MODELE=model,
        INFO=2,
        POUTRE=(
            _F(
                GROUP_MA=('poutre',),
                SECTION='RECTANGLE',
                CARA=('HY','HZ',),
                VALE=(3,20),
            ),
        ),
    );
    #on interdit toutes rotations et translations aux noeuds du groupe 'encastr' (1 seul noeud ici).
    #   cela simule l'encastrement
    encast=AFFE_CHAR_MECA(
        MODELE=model,
        DDL_IMPO=(
            _F(
                GROUP_NO=('encastr',),
                DX=0,DY=0,DZ=0,DRX=0,DRY=0,DRZ=0,
            ),
        ),
        INFO=1,
    );
    
    # on applique 500N selon la direction -Z au noeud de notre groupe 'force'
    force_f=AFFE_CHAR_MECA(
        MODELE=model,
        FORCE_NODALE=_F(
            GROUP_NO=('force',),
            FZ=-500,
        ),
        INFO=2,
    );
    
    #U4.51.01
    #on compile les précédents concepts pour le calcul
    stat=MECA_STATIQUE(
        MODELE=model,
        CHAM_MATER=material,
        CARA_ELEM=elemcar,
        EXCIT=(
            _F(CHARGE=encast,),
            _F(CHARGE=force_f,),
    
        ),
    );
    
    # Par défaut, sont calculés uniquement les déplacements et les réactions nodales aux points de gauss des éléments, je crois.
    # du coup on enrichit le concept "stat" pour lui demander d'autres choses.
    # SIEF_ELNO: ici, efforts théorie des poutres au niveau des nœuds des éléments
    # SIPO_ELNO: ici, contraintes dans la poutre, au niveau des nœuds des éléments
    # SIPM_ELNO: ici, contrainte max dans la poutre
    # REAC_NODA: forces/moments aux nœuds limites
    stat=CALC_CHAMP(
        reuse =stat,
        RESULTAT=stat,  
        CONTRAINTE=(
            'SIEF_ELNO','SIPO_ELNO','SIPM_ELNO',
        ),
        FORCE=('REAC_NODA',),
    );
    
    #on imprime ça dans un fichier de sortie .med, unité logique 80.
    #on n'imprime que les déplacements et les contraintes
    # (on n'affiche pas tout ce qu'on a calculé, genre SIPM_ELNO ou REAC_NODA pourquoi pas !)
    IMPR_RESU(
        FORMAT='MED', 
        UNITE=80,
        RESU=_F(
            RESULTAT=stat,
            NOM_CHAM=(
                'DEPL',
                'SIPO_ELNO',
                'SIPM_ELNO',
            ),
        ),
    );
    
    FIN();

    (Notez que les #U4.51.01 ou autres renvoient à la documentation )
    On enregistre ce fichier texte en 1d.comm par exemple, et nous allons lancer le calcul à l'aider d'astk.

    Astk

    Astk est l'outil permettant de mener à bien un calcul, on le lance via /opt/code_aster/bin/astk (si vous avez installé code_aster dans /opt/).

    On cherche à obtenir une fenêtre qui a cette allure :

    astk

    Ensuite :
    - File -> New
    - on choisit notre path / dossier de travail
    - dans la colonne d'icônes au milieu à droite, on clique sur l’icône en forme de dossier bleu, pour aller chercher son mesh1d.med et son 1d.comm
    - on clique sur l’icône du dessus pour ajouter deux lignes, puis dans type pour la ligne, on choisit mess et rmed, dans name on les appels ./log1d.mess et ./resu1d.rmed
    - File -> Save_As -> 1d.astk

    La colonne LU correspond à Logique Unité, c'est l'endroit de la mémoire où je ne sais quoi où on s'attend à trouver le fichier, dans le fichier.comm on a précisé que l'unité logique était 20 pour le maillage .med et 80 pour le résultat .med
    Les colonnes DRC veulent dire Datas, Récrire, Compressé.

    Une fois que cela est fait on clique sur Run ! Le calcul est lancé, il se termine, on va voir le log1d.mess qui a était crée, il contient toutes les infos relatives au calcul.
    L'information la plus importante étant la dernière ligne.

    Chez moi j'ai: EXECUTION_CODE_ASTER_EXIT_13223-localhost=0
    Si le code renvoit 0, c'est que cela a fonctionné ! S'il renvoit 1, c'est que ça a planté et qu'il faut débuger…

    Résultat

    Normalement tout a fonctionné, nous avons un beau resu1d.rmed que nous ouvrons aves gmsh (Terminal gmsh resu1d.rmed)

    On peut donc voir les déplacements et la contrainte, tout ce dont a besoin un mécanicien pour dimenssionner des systèmes mécaniques !

    Voici les paramètres sur lequels agir pour afficher le déplacement multiplié par 10. Il faut afficher des Vectors et non pas l'Original Field. Comme ci-dessous:

    gmsh poutre 1d

    Pour les contraintes, SIPO_ELNO contient la contribution de chaque force/moment aux contraintes de la poutre.

    C'est grossomodo un vecteur de 6 composantes que voici:

    contraintes

    Pour les afficher une par une, on se place dans Options > Visibility > et, en bas, la première case à droite de la liste déroulante Original Field/Scalar Force/Vector/Tensor. 0 Correspond à SN et 5 correspond à SNT, par rapport au tableau ci-dessus. (Je ne sais pas trop ce que présente SIPO_ELNO par défaut)

    SIPM_ELNO quant à lui présente par défaut la contrainte maximum selon XX.

    Voici d'autre visu avec les modèles 2D et 3D:

    2d_vmises
    3d_déplacement
    3d_vmises

    Aller plus loin

    Code_Aster est très vaste, il contient près de 400 types d'éléments finis ! Pour aller plus loin, n'hésitez pas à lire la doc, qui contient aussi des exemples de calcul qui sont livrés avec le code.

    Je vous conseille aussi notamment l'excellent livre sous licence libre de Jean-Pierre Aubry, qui est un passage obligatoire pour prendre en main le code ! (Le code date par contre de la version 11 de Code_Aster, mais une nouvelle version est en cours d'écriture !)
    On y fait notamment des analyses non-linéaires avec du contact entre pièces et du frottement.
    Aster Study vient aussi de faire son apparition.

    Voilou cher journal, n'hésite pas à t'amuser !

    Je poste en commentaire à ce journal les fichiers .comm de calcul en 2D et 3D.

    Lire les commentaires

  • Install Party GNU/Linux le 29 août 2015 à Marseille (Dépêches LinuxFR)

    L’association CercLL (CercLL d’Entraide et Réseau Coopératif autour des Logiciels Libres) vous invite à une install-party GNU/Linux, le samedi 29 août 2015 de 14h30 à19h30, dans la salle de la Fabulerie au 4 rue de la Bibliothèque 13001 Marseille (près du Conservatoire).

    Logo de l'association CercLL

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

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

    Au programme :

    • Découverte de l’univers des logiciels libres.

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

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

    Affiche

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

    Une participation de 2 euros est demandée.

    L’adhésion à l’association est de 20 euros annuelle.

    Lire les commentaires

  • Envoi de spam à partir d'un serveur, comment réagir ? (Dépêches LinuxFR)

    Après l'article sur comment retrouver l'origine d'une attaque, nous allons voir aujourd'hui comment accueillir comme il se doit sur votre serveur un envoi de spam. Pour changer, on partira du principe que l'on est sur une Debian avec un postfix. Notre serveur s'appelle exemple.octopuce.fr, et notre site de référence installé sur ce serveur s'appelle exemple.com.

    On partira aussi du principe que l'on n'aime pas beaucoup le spam… voire même qu'on lui mettrait bien un bon coup de clavier en pleine poire.

    Sommaire

    Au commencement était…

    Une liste d'envoi de mails (mailq) qui se remplit beaucoup trop rapidement, on parle de plusieurs centaines, voire plusieurs milliers de mails en quelques minutes/heures (selon la technique que l'attaquant utilise). Vous pouvez voir en bas de cet article comment être alerté automatiquement.

    On commence par regarder la liste d'attente des mails (mail queue) avec la commande mailq. La commande less est là pour éviter d'afficher plusieurs centaines de mails, on aura ainsi seulement les premiers de la liste :

    mailq | less
    

    Vous devriez voir une suite de blocs qui ressemble à ceci :

    E35BA5318CA83     1389 Fri Jul 31 10:25:10  MAILER-DAEMON
    (delivery temporarily suspended: connect to yahoo.com[63.250.192.45]:25: Connection refused)
                                             darcy.bolden75@yahoo.com
    
    F21DC4093C551     1400 Fri Jul 31 09:36:40  MAILER-DAEMON
    (delivery temporarily suspended: connect to yahoo.com[63.250.192.45]:25: Connection refused)
                                             nicki.forth76@yahoo.com
    
    F125553301B52     1409 Fri Jul 31 18:15:21  MAILER-DAEMON
    (delivery temporarily suspended: connect to yahoo.com[63.250.192.45]:25: Connection refused)
                                             renato_kalman62@yahoo.com
    

    Détaillons le premier bloc :

    • E35BA5318CA83 correspond à l'ID du mail
    • et 1389 correspond à la taille du mail en octet
    • Fri Jul 31 10:25:10 correspond à la date de l'envoi (idéal pour le retrouver dans les logs ;-))
    • MAILER-DAEMON est l'expéditeur (peut être www-data, une adresse mail…)
    • delivery temporarily suspended explique pourquoi le mail est toujours là (dans notre cas, les serveurs de yahoo ne veulent pas de lui)
    • darcy.bolden75@yahoo.com représente le destinataire

    Si ça ressemble à du spam, que ça a le goût du spam (et que ça tente de vous vendre du viagra…)…

    Je choisis dans mon tas de mail celui avec l'ID B58B18A1C2140 et je "l'ouvre" avec la commande postcat (à noter que cette commande affiche par défaut la totalité du mail (header, body, envelope content) :

    postcat -q B58B18A1C2140|less
    

    Et voici le résultat :

    *** ENVELOPE RECORDS deferred/B/B58B18A1C2140 ***
    message_size:             826             195               1               0             826
    message_arrival_time: Fri Jul 24 06:08:12 2015
    create_time: Fri Jul 24 06:08:12 2015
    named_attribute: rewrite_context=local
    sender: mechant@exemple.octopuce.fr
    *** MESSAGE CONTENTS deferred/B/B58B18A1C2140 ***
    Received: by exemple.octopuce.fr (Postfix, from userid 2001)
        id B58B18A1C2140; Fri, 24 Jul 2015 06:08:12 +0200 (CEST)
    DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=exemple.com;
        s=alternc; t=1437710892;
        bh=jovdSJ/Kn2/7639VFyVqNVkUC4F7d1BbnAP59auo7XI=;
        h=To:Subject:From:Reply-To:Date;
        b=EkH7RR1L6vi0gkvl/AXhJChbwtOvMTB6KFS/tuoxoo6+O3UINMgxpLqp45vY9E+ED
         Dl0rOINTF8YDAGFmv6VCU4SDt1FTmWyjcJyefj1Mc9wl3TGRQVPfUDkUhVrrDB3yau
         Boz8MjYyfBIz28gXWB680XdkC1E5LQwnsmmay//8=
    To: anhselagiolong_2710@yahoo.com
    Subject: RE:  Your Top Affordable Vagra solutions
    X-PHP-Originating-Script: 2001:dir.php
    From: "Melba Bauer" <melba_bauer@exemple.com>
    Reply-To:"Melba Bauer" <melba_bauer@exemple.com>
    X-Priority: 3 (Normal)
    MIME-Version: 1.0
    Content-Type: text/html; charset="iso-8859-1"
    Content-Transfer-Encoding: 8bit
    X-RealFrom:
    Message-Id: <20150724040812.B58B18A1C2140@exemple.octopuce.fr>
    Date: Fri, 24 Jul 2015 06:08:12 +0200 (CEST)
    
    
    <div>
    Your Top Affordable Vagra solutions &ndash; <a href="http://strobeton.ru/assets/plugins/tinymce/jscripts/tiny_mce/plugins/contextmenu/defines.html">check it out</a>
    </div>
    
    *** HEADER EXTRACTED deferred/B/B58B18A1C2140 ***
    named_attribute: encoding=8bit
    original_recipient:
    recipient: anhselagiolong_2710@yahoo.com
    *** MESSAGE FILE END deferred/B/B58B18A1C2140 ***
    

    Les points importants :

    • create_time: Fri Jul 24 06:08:12 2015 (date de création)
    • Received: by exemple.octopuce.fr (Postfix, from userid 2001) (reçu par)
    • sender: exemple@exemple.octopuce.fr (si c'est une de vos adresses mails qui existe réellement, c'est simple : changement de mot de passe immédiat).
    • X-PHP-Originating-Script: 2001:dir.php (origine de l'envoi (fichier vérolé, formulaire sans captcha…))

    Et puis bon, celui là il est facile, il tente de nous vendre du viagra… je pouvais pas avoir plus stéréotypé comme exemple…

    Viens, on joue à cache-cache \o/

    À partir de là, la marche à suivre est la même que dans l'article "remonter une attaque avec les logs d'apache2". Nous allons commencer notre chasse dans le fichier /var/log/mail.log.

    On commence par aller voir au moment de l'attaque :

    astuce : / permet de faire une recherche dans less, comme par exemple 2015:06:0 si vous n'avez qu'une seule journée par fichier

    less /var/log/mail.log
    
    176.9.139.10 - - [24/Jul/2015:06:07:18 +0200] "POST /wp-content/plugins/wsanalytics-google-analytics-and-dashboards/images/dir.php HTTP/1.1" 200 382 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.7.6)" 5
    129.195.0.205 - - [24/Jul/2015:06:07:27 +0200] "GET /wp-includes/js/comment-reply.min.js?ver=4.1.4 HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible;)" 0
    89.184.77.50 - - [24/Jul/2015:06:07:26 +0200] "POST /wp-content/plugins/wsanalytics-google-analytics-and-dashboards/images/dir.php HTTP/1.1" 200 466 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.7.6)" 2
    89.184.77.50 - - [24/Jul/2015:06:07:34 +0200] "POST /wp-content/plugins/wsanalytics-google-analytics-and-dashboards/images/dir.php HTTP/1.1" 200 219 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.7.6)" 1
    176.9.139.10 - - [24/Jul/2015:06:07:28 +0200] "POST /wp-content/plugins/wsanalytics-google-analytics-and-dashboards/images/dir.php HTTP/1.1" 200 64 "-" "Mozilla
    /5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.7.6)" 10
    89.184.77.50 - - [24/Jul/2015:06:07:41 +0200] "POST /wp-content/plugins/wsanalytics-google-analytics-and-dashboards/images/dir.php HTTP/1.1" 200 541 "-" "Mozill
    a/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.7.6)" 2
    89.184.77.50 - - [24/Jul/2015:06:07:48 +0200] "POST /wp-content/plugins/wsanalytics-google-analytics-and-dashboards/images/dir.php HTTP/1.1" 200 370 "-" "Mozill
    a/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.7.6)" 1
    176.9.139.10 - - [24/Jul/2015:06:08:12 +0200] "POST /wp-content/plugins/wsanalytics-google-analytics-and-dashboards/images/dir.php HTTP/1.1" 200 374 "-" "Mozill
    a/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.7.6)" 9
    

    oh bah si c'est [google analytics] ça doit pas être ça…

    OU PAS ! Comme nous l'avions vu, nous recherchons des requêtes POST dans les logs, et là nous en avons une jolie fournée ! Les "pirates" étant des animaux fourbes et rusés, ils n'hésitent pas à mettre des faux noms, comme des fichiers wordpress dans l'arborescence d'un drupal…

    Allons voir de plus près ce fichier !

    less /var/www/alternc/m/monjolisite/wp-content/plugins/wsanalytics-google-analytics-and-dashboards/images/dir.php
    

    On y trouve quelque chose comme ceci :

    virus spotted

    Et là, on appelle ça un fichier vérolé :]

    Note : si vous n'avez que ça dans votre fichier, vous pouvez l'effacer directement après avoir remonté entièrement l'attaque. Si vous avez du code "valide" dans le fichier, vous pouvez enlever seulement la partie incompréhensible.

    Juste pour savoir, j'ai eu combien de requêtes sur ce fichier depuis 4 jours ?

    cat access-20150721.log access-20150722.log access-20150723.log access-20150724.log|grep -c "/wp-content/plugins/wsanalytics-google-analytics-and-dashboards/images/dir.php"
    3204

    Ah oui quand même… Et avec combien d'IPs différentes ?

    cat access-20150721.log access-20150722.log access-20150723.log access-20150724.log|grep "/wp-content/plugins/wsanalytics-google-analytics-and-dashboards/images/dir.php"|awk '{print $1}'|sort -gu|wc -l
    123
    

    Comme vous vous en doutez, la "traque" ne s'arrête pas là. Je vous renvoie à l'article remonter une attaque avec les logs d'Apache2, vu que c'est là que ça va se passer. Je vous conseille de finir de trouver la faille avant de passer à la suite.

    KILL EVERYTHING WITH FIRE

    fire

    Mais avant, on va quand même faire une sauvegarde, parce que l'on est jamais à l'abri d'une connerie… (la commande suivante vous permet de copier votre mailq dans le dossier /var/tmp/svg-mail) :

    mkdir /var/tmp/svg-mail
    rsync -avP /var/spool/mail/ /var/tmp/svg-mail
    

    Reprenons notre lance-flammes. Comme vous l'avez vu au début de cet article, la commande mailq est assez verbeuse, et nous avons juste besoin de l'ID des mails pour les effacer. La commande qu'il nous faut est la suivante (en changeant MOTIF, bien entendu…):

    mailq|grep MOTIF|awk '{print $1}'|postsuper -d -
    
    • mailq -> affiche la liste des mails en attente
    • grep MOTIF --> recherche les lignes avec le motif que nous voulons (ici ce serait MAILER-DAEMON)
    • awk '{print $1}' -> affiche la première partie de la ligne, ça correspond ici à l'ID des mails
    • postsuper -d - --> indique à la commande postsuper d'effacer (-d pour delete) les mails qu'on lui donne.

    Et ça nous donnera quelque chose ressemblant à ceci :

    mailq|grep MOTIF|awk '{print $1}'|postsuper -d -
    [...]
    postsuper: F21198830C2B1: removed
    postsuper: F108B894D4171: removed
    postsuper: F22718A48D820: removed
    postsuper: F11EB8FB2A9E7: removed
    postsuper: F02B78A14E94D: removed
    postsuper: F0B5B8D42374F: removed
    postsuper: F02BB8D422BEC: removed
    postsuper: Deleted: 17047 messages
    

    Spamhaus

    Si votre serveur a envoyé (beaucoup) de spam, il est sans doute dans les listes de différents organismes (comme les RBL, pour Realtime blacklist), qui fournissent eux-mêmes des systèmes antispams. Les plus célèbres d'entre eux sont sans doute anti-abuse.org et spamhaus qui a le mérite (en plus de faire du très bon travail) d'avoir un site plutôt bien foutu, sur lequel on peut vérifier et débloquer son serveur s'il est considéré comme spammeur : spamhaus.org/lookup/.

    Améliorons encore

    Supervision

    Il existe des outils pour vous aider à superviser et à vous alerter en cas de problèmes. Ils peuvent se présenter sous la forme de script "à la main" (merci stackoverflow). Des checks pour Nagios (que ce soit sur les RBLs) ou la taille de la mailq. On peut aussi parler de mailgraph et de pflogsumm.

    À noter que anti-abuse.org fournit un service en ligne, rblmon.com qui peut vous alerter automatiquement quand une de vos IPs arrivent dans une RBL.

    PHP / mail.log

    Pour retrouver plus facilement les fichiers ayant servi à envoyer du spam, n'hésitez pas à les logger via l'option mail.log de votre php.ini :

    vim /etc/php5/apache2/php.ini
    
    ## trouver la ligne "mail.log" et la compléter comme ceci :
    mail.log = /var/log/mail.php.log
    

    Puis on crée le fichier (n'hésitez pas à modifier les permissions si le coeur vous en dit):

    touch /var/log/mail.php.log && chmod 777 /var/log/mail.php.log
    

    SPF, DKIM et DMARC

    Au fur et à mesure du temps, des techniques ont été inventées pour lutter contre le spam et authentifier les expéditeurs "légaux". On parle ici de 3 choses :

    • SPF, pour Sender Policy Framework,
    • DKIM pour DomainKeys Identified Mail,
    • DMARC pour Domain-based Message Authentication, Reporting and Conformance.

    Je vous conseille vivement de les configurer sur vos serveurs de mails. Vous pouvez lire à ce sujet les articles de Steve Kemp.

    Des outils le font par défaut, comme AlternC.

    antivirus

    Si vous avez un antivirus, par exemple ClamAV (idéalement en y ajoutant les signatures de maldet) sur votre serveur, il peut vous aider à (re)trouver des fichiers vérolés :

    clamscan -ri /var/www/
    
    /var/www/search.php: Php.Trojan.StopPost FOUND
    /var/www/help.php: Php.Trojan.StopPost FOUND
    
    ----------- SCAN SUMMARY -----------
    Known viruses: 3912137
    Engine version: 0.98.5
    Scanned directories: 550
    Scanned files: 78469
    Infected files: 2
    Data scanned: 1382.68 MB
    Data read: 1509.90 MB (ratio 0.92:1)
    Time: 132.390 sec (2 m 12 s)
    

    Lire les commentaires

  • 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

  • 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

  • Swift sous GNU/Linux - Introduction (Dépêches LinuxFR)

    Swift est le nouveau langage de programmation d’Apple. Il a été rendu libre et open-source, sous licence Apache 2.0, le 3 décembre 2015. Nous allons voir à travers cet article comment l’installer et l’utiliser sur GNU/Linux. Vous n’avez pas besoin d’avoir de connaissance avancée de GNU/Linux, ni de machine avec GNU/Linux installée pour suivre ce tutoriel.

    Swift

    Sommaire

    Installation de Swift sur GNU/Linux

    Si vous avez déjà Ubuntu 14.04 LTS ou Ubuntu 15.10, en machine physique ou virtuelle, vous pouvez simplement suivre les instructions sur le site swift.org pour télécharger et installer Swift pour Linux. Vous pouvez alors vous rendre directement à la section suivante.

    La suite vous décrit les étapes pour installer simplement une machine virtuelle Ubuntu dotée du nouveau langage Swift.

    Installation de VirtualBox

    VirtualBox est un logiciel libre vous permettant de configurer et faire tourner des machines virtuelles. Si ce n’est déjà fait, installez-le en vous rendant à la page de téléchargement du site.

    Installation de Vagrant

    Vagrant est un logiciel en ligne de commande qui permet d’installer et configurer des machines virtuelles à l’aide de scripts. Rendez-vous à la page de téléchargement du site, téléchargez et lancez l’installeur du système d’exploitation de votre machine hôte.

    À l’aide du script suivant, vous allez pouvoir télécharger et configurer votre machine virtuelle en une ligne de commande !

    Créez un dossier vagrant-swift, puis créez dans ce dossier, un fichier nommé Vagrantfile contenant le code suivant :

    Vagrant.configure(2) do |config|
      config.vm.box = "ubuntu/trusty64"
      config.vm.provision "shell", inline: <<-SHELL
        sudo apt-get --assume-yes install clang
        curl -O https://swift.org/builds/ubuntu1404/swift-2.2-SNAPSHOT-2015-12-01-b/swift-2.2-SNAPSHOT-2015-12-01-b-ubuntu14.04.tar.gz
        tar zxf swift-2.2-SNAPSHOT-2015-12-01-b-ubuntu14.04.tar.gz
        echo "export PATH=/home/vagrant/swift-2.2-SNAPSHOT-2015-12-01-b-ubuntu14.04/usr/bin:\"${PATH}\"" >> .profile
        echo "Swift has successfully installed on Linux"
      SHELL
    end

    Pour les utilisateurs Windows, il vous faudra un terminal qui permet d’exécuter des commandes Unix. Je vous recommande Git Bash de la suite Git for Windows. Durant l’installation, vous pouvez laisser toutes les options de configuration par défaut. Une fois installée, vous devez lancer Git Bash.

    Ouvrez un terminal si ce n’est déjà fait (Git Bash si vous êtes sous Windows). Placez-vous dans le répertoire vagrant-swift et lancez la commande suivante :

    $ vagrant up

    Allez boire une bière le temps que Vagrant procède aux étapes suivantes :

    Téléchargement d’Ubuntu 14.04 LTS
    Lancement de la machine virtuelle
    Installation du compilateur clang
    Téléchargement et décompression de Swift
    Configuration de la variable PATH de l’utilisateur

    Vous aurez peut-être des messages affichés en rouge, vous pouvez les ignorer. Si tout s’est déroulé correctement, le dernier message indique :

    ==> default: Swift has successfully installed on Linux
    La machine virtuelle est prête, connectez-vous en ssh en lançant cette commande :

    $ vagrant ssh

    La connexion établie, vous obtenez un prompt de ligne de commande :

    vagrant@vagrant-ubuntu-trusty-64~$

    Vérifiez que Swift est bien installé en tapant :

    vagrant@vagrant-ubuntu-trusty-64:~$ swift --version
    Swift version 2.2-dev (LLVM 46be9ff861, Clang 4deb154edc, Swift 778f82939c)  
    Target: x86_64-unknown-linux-gnu

    Premier programme

    Live

    Les développeurs iOS ou OS X le savent déjà grâce au playground d’Xcode, Swift est un langage pouvant être exécuté en live grâce au REPL (Read-Eval-Print-Loop).
    Lancez la commande swift, un prompt apparaît, entrez alors votre première ligne de code Swift sur Linux !

    vagrant@vagrant-ubuntu-trusty-64:~$ swift
    Welcome to Swift version 2.2-dev (LLVM 46be9ff861, Clang 4deb154edc, Swift 778f82939c). Type :help for assistance.
    1> print("Hello, Swift!")
    Hello, Swift!
    2>

    Pour quitter votre session Swift REPL, entrez la commande :q.

    Compiler un programme

    Pour compiler un programme écrit en Swift, créez un fichier source, par exemple de la manière suivante :

    $ cat > helloworld.swift

    Puis rentrez cette unique ligne de code :

    print("Hello World !")

    Appuyez une fois sur Entrée suivi de CTRL-D pour créer le fichier. Listez le répertoire courant pour vous assurer de la présence du fichier fraîchement créé en tapant la commande ls. Compilez maintenant votre programme en tapant :

    $ swiftc helloworld.swift

    Si vous listez le répertoire courant, vous verrez qu’un nouveau fichier exécutable nommé helloworld a été créé. Votre programme est prêt à être lancé, tapez :

    $ ./helloworld

    Vous devriez voir en sortie :

    Hello World !

    Ce qu’Apple a rendu open source

    Seulement une partie de la technologie est disponible en open source pour le moment. Les composants sont :

    • Compilateur Swift, sources et exécutables, débogueur, REPL. C’est le coeur du langage lui-même. Apple a rendu open les sources du programme swiftc, le même compilateur utilisé pour compiler les applications iOS et OS X.
    • Bibliothèque standard Swift. Presque la même bibliothèque standard utilisée depuis la sortie de Swift, elle comprend la définition des collections, protocoles et autres fondamentaux. Si par curiosité, vous voulez voir comment est définie la classe (plus précisément la structure) String, rendez-vous sur le github ici.
    • Bibliothèques Swift core. Elles font peau neuve aux bibliothèques existantes d’Apple écrites en Objective-C. Elles fournissent des fonctionnalités et des outils de haut niveau tels que ceux pour la communication web, l’interaction avec le système de fichiers, les calculs de date et heure.
    • Swift Package Manager. C’est le maître de cérémonie de l’assemblage de chaque brique qui forme une application. Il va télécharger les dépendances, les compiler et les lier entre-elles pour créer des bibilothèques ou des exécutables.
    • Mais encore… Si vous parcourez la page Github d’Apple, vous trouverez d’autres composants tels qu’une encapsulation de libdispatch (Grand Central Dispatch), des informations sur Swift 3.0, ou même un parseur du langage Markdown…

    Ce qui n’est pas (encore) disponible

    Il manque à l’appel la plupart des frameworks qui rendent les applications iOS et OS X aussi belles. Pour n’en citer que quelques-uns : AppKit, UIKit, Core Graphics, Core Animation, AVFoundation…

    Vous ne trouverez pas non plus l’environnement de développement intégré Xcode.

    Mais ce qu’Apple a rendu open source est plutôt significatif. En effet, le fait que les bibliothèques Swift Core ne reposent plus sur l’environnement d’exécution Objective-C montre qu’Apple est en train de créer les fondements de Swift pour, à long terme, remplacer Objective-C. De plus, le fait que Swift soit cross-platform suggère qu’Apple espère voir les développeurs l’utiliser pour le développement d’applications Linux entre autres. Si ce n’est pour des applications GUI, au moins pour des applications serveurs.

    Swift Package Manager

    Voyons en pratique l’utilisation du package manager sur un exemple simple, un petit jeu de « pierre, feuille, ciseaux ». Créez un dossier helloswift puis un dossier sources à l’intérieur du premier en exécutant les commandes suivantes :

    $ mkdir helloswift  
    $ cd helloswift  
    $ mkdir sources  
    $ cd sources

    Créez ensuite un fichier nommé main.swift, (le nom main est important pour la suite), dans le répertoire sources en exécutant :

    $ cat > main.swift
    

    Copiez le programme suivant :

    import Foundation
    import Glibc
    
    let player = ["pierre", "feuille", "ciseaux"]
    
    srandom(UInt32(NSDate().timeIntervalSince1970)) 
    
    for count in 1...3 {
        print(count)
        sleep(1)
    }
    
    print(player[random() % player.count]);

    Tapez Entrée puis CTRL-D.

    Vous pouvez d’ores et déjà exécuter votre programme avec la commande :

    $ swift main.swift
      Génial ! Il faut que j’en parle aux copains !
    Arf… il n’auront pas la commande swift…
    

    C’est ici que le Swift Package Manager entre en jeu ! Grâce à lui, vous allez pouvoir distribuer un exécutable de ce formidable programme. Créez un fichier Package.swift dans le dossier parent (helloswift) :

    $ cd ..
    $ cat > Package.swift

    Copiez ceci dedans puis tapez Entrée et enfin CTRL-D :

    import PackageDescription
    
    let package = Package(
        name: "Chifoumi"
    )

    Lancez la commande de build :

    $ swift build

    Swift détecte automatiquement le point d’entrée du programme car nous avons nommé notre fichier main.swift. Si vous renommez ce fichier, vous aurez des erreurs de compilation. En revanche le changement de nom du dossier sources n’affecte pas la compilation mais l’exécutable créé portera le nom du dossier et non le nom donné dans le fichier Package.swift. Si la compilation réussit, le package manager crée un dossier .build contenant un dossier debug dans lequel se trouve l’exécutable Chifoumi. Vous pouvez alors le distribuer et quiconque ayant une machine Linux pourra l’exécuter en tapant la commande suivante dans le répertoire où se trouve l’exécutable :

    $ cd .build/debug/
    $ ./Chifoumi

    Le Swift package manager possède évidemment beaucoup de fonctionnalités que nous n’avons pas explorées. Un guide d’utilisation plus avancée fera peut-être l’objet d’un nouvel article, qui sait ?

    Stay tuned !

    Références / Sources

    Lire les commentaires

  • 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

  • Journée régionale du libre en Centre Val de Loire le 21 novembre 2015 (Dépêches LinuxFR)

    Solix - Sologne Linux organise la 1ère journée régionale du libre en Centre Val-de-Loire, le samedi 21 novembre 2015 de 10h à 20h à la maison de l'emploi (L'Atelier, 3 rue Jean Monnet, 41200, ROMORANTIN).

    Au programme :

    Conférences :

    Horaire Thème Conférencier
    10h Retour d'expérience sur l'espace de travail partagé (coworking) Marco RODRIGUES, EP3V
    11h OpenStreetMap, la cartographie libre Cyrille Giquello, OpenStreetMap France
    14h Introduction au chiffrement Benoit Mendousse, Adeti.org
    15h Musique et littérature libre : Borne de partage culturel Emmanuel Sargos, gérant de Doob
    16h Comment peux-t-on gagner de l’argent en donnant ce que l’on fait ? Patrice LEPISSIER, Blogul
    17h Promouvoir et défendre le logiciel libre : L'APRIL Lionel Allorge, administrateur de l'April
    18h Wikimedia France : l’économie collaborative Nathalie Martin, Directrice exécutive
    Émeric Vallespi, vice-président

    Ateliers :

    • Atelier TuxKart avec une carte de romorantin (projet sanikart)
    • Espace conception numérique, Animé par BerryLab36 (Châteauroux), le VAN (Vendôme) et le FabLab Robert Houdin (Blois).
    • Outillage et méthode pour amorcer notre dégooglisation.

    Espace enfants :

    • Découverte d'Edubuntu et de jeux libres
    • Découpage-pliage de Tux
    • Atelier culinaire libre pour le goûter
    • Tester votre dextérité à la guitare avec Frets on fire.

    Village associatif :

    • Solix
    • Blogul
    • Adeti.org
    • Cenabumix
    • Berry Lab 36
    • Touraine Data Network…

    Il est possible de déjeuner sur place au restaurant du foyer de jeunes travailleurs pour 9,90€ sur réservation ( prévenir avant le 13/11/2015).

    N'hésitez pas à relayer ce message, à nous contacter si vous avez des questions, à nous apporter votre aide…
    Nous espérons avoir le plaisir de vous voir nombreux.

    Affiche

    Lire les commentaires

  • Nextcloud, le fork d'ownCloud (Dépêches LinuxFR)

    Le créateur d'ownCloud, Frank Karlitschek, vient d'annoncer un fork hostile de son projet après avoir claqué la porte de l'entreprise ownCloud il y a un mois. La suite de la dépêche donne des détails sur cette annonce.

    ownCloud ▶▶▶
         

    ownCloud est un logiciel permettant de créer et utiliser un service de cloud. Le logiciel peut être installé sur votre propre serveur pour bénéficier de partages et de synchronisation de fichiers, calendriers, contacts, lecteur de musique, etc. Pour ne pas avoir à installer et gérer un serveur ou pour bénéficier de services supplémentaires, une entreprise a été créée en 2011 et propose une version Enterprise.

    Le 27 avril 2016, Franck Karlitschek a posté un billet sur son blog qui commence en ces termes :

    Recently I had to make one of my hardest decisions so far. Because this has an impact beyond myself I want to share this here: I am leaving ownCloud, Inc. today. But, the journey of ownCloud and Frank is not over!

    Puis il explique ses divergences avec sa propre entreprise sur la vision de la communauté, sur le respect des contributeurs bénévoles et sur l'avenir à long terme d'ownCloud. Il faudra ensuite attendre 5 semaines pour qu'il annonce le fork d'ownCloud sous le nom de Nextcloud et la création de la société Nextcloud GmbH pour proposer logiciels et services aux entreprises et grosses organisations.

    Que propose donc Nextcloud de différent et de meilleur ?

    Pour les contributeurs

    • arrêt de l'utilisation d'un contributor license agreement (CLA)
    • arrêt de la double licence
    • le trademark va être porté par une fondation indépendante
    • un développement ouvert à la communauté à la place d'un développement semi-fermé

    Pour les utilisateurs

    • gestion complète des fonctionnalités calendriers et contacts
    • gestion des visioconférences grâce à Spreed.ME, WebRTC, et Spreed WebRTC
    • gestion de certaines fonctionnalités aujourd'hui disponibles uniquement dans la version entreprise d'ownCloud

    Pour les clients et les partenaires

    • Gestion complète des contacts, calendrier et webmail
    • Gestion complète de la visio-conférence
    • Travail ensemble pour définir la feuille de route
    • Nextcloud GmbH est créé pour avoir une vision long terme et pas des bénéfices rapides

    Pour les employés

    • Nextcloud GmbH cherche la pérennité et non pas une croissance à court terme
    • Les actionnaires seront les employés
    • Respect de la vie privée et sécurité des données interne et externe
    • Travail en équipe et création de lignes directrices pour l'entreprise et d'un code de conduite pour travailler avec la communauté.

    Par ailleurs, Nextcloud GmbH s'engage à prendre en charge gratuitement tous les clients actuels owncloud pour simplifier la transition. Nextcloud est annoncé pour juillet prochain.

    Lire les commentaires

  • SSHFS est un vrai système de fichiers en réseau (Journaux LinuxFR)

    Cher journal,

    Comme tu dois le savoir, il y a (au moins) deux façons générales d'accéder à des fichiers à distance :

    • les protocoles de transfert de fichiers, tels que FTP ou HTTP ;
    • les systèmes de fichier en réseau, tels que SMB/CIFS et NFS.

    La différence, c'est qu'un protocole de transfert sert… à transférer des fichiers, évidemment, tandis qu'un système de fichiers en réseau permettra des choses comme l'ouverture de fichiers, la lecture à une position arbitraire, l'écriture (sans tout envoyer), le renommage ou encore le verrouillage. Certains protocoles de transfert disposent de telles fonctionnalité, mais rarement de façon complète.

    Sur SSH, on peut manipuler des fichiers :

    • par SCP, qui à ce qu'il me semble, transfère des fichiers en lançant par SSH des commandes telles que cat ;
    • par SFTP, un protocole spécifiquement développé pour SSH, dont il constitue un module.

    Le nom SFTP laisse penser qu'il s'agit d'un protocole de transfert de fichiers, mais je viens de me rendre compte qu'il n'en était rien : ce protocole a été conçu pour pouvoir être utilisé aussi bien pour les transfert de fichiers, typiquement, avec un logiciel client comme sftp, avec lequel on fait des choses comme get et put, ou pour servir de système de fichiers en réseau, typiquement pour effectuer un montage avec un pilote comme sshfs.

    Par conséquent, si vous êtes amenés à chercher un moyen d'accéder à vos fichiers en réseau local, autrement qu'en les transférant de machine en machine, ne vous laissez pas tromper par le nom d'sshfs et surtout du protocole SFTP qu'il utilise, vous pouvez le considérer comme une option sérieuse, au même titre que NFS ou CIFS !

    Lire les commentaires

  • Sortie de Krita 3.0 (Dépêches LinuxFR)

    La version 3.0 de Krita est sortie le 31 mai 2016. Krita est un logiciel libre de dessin et peinture conçu pour des utilisations telles que la création d’illustrations, de bandes dessinées ou de textures. Krita est très complet et est utilisé par des artistes tels que David Revoy, qui contribue activement en tant que bêta-testeur et en fournissant des ressources de qualité au projet.

    Cette version 3.0 incorpore beaucoup de fonctionnalités issues d’une campagne de financement participatif kickstarter réalisée en 2015.

    Sommaire

    Krita 3.0 écran principal

    Les animations

    Une des améliorations importantes de cette version est le travail réalisé sur les animations dans le cadre de la campagne kickstarter.

    Animation réalisée par Undyne (http://gullshriek.tumblr.com/)

    Animation réalisée par Undyne

    Animations image par image

    Il est désormais possible de faire correctement des animations image par image avec Krita. Calques multiples, toutes sortes de vitesses de lecture, onion skinning, le tout en plus de tous les outils de peinture existant dans Krita, voilà qui devrait être assez pour titiller les doigts des animateurs !

    • Calques trame animables – Il est désormais possible de créer des calques de trame dans lesquels vous définissez des key frames que vous pouvez ordonner via le panneau time-line. Cette technique fonctionne avec tous les espaces de couleurs et toutes les profondeurs !
    • Onion Skinning – Cette technique vous permet de superposer les trames précédentes et suivantes à celle courante. Cet outil est très utile pour partir d’animations grossières et arriver à des animations fluides.
    • Import de séquences d’images – Il est désormais possible d’importer un ensemble d’images en tant que calque animé. La séquence d’images est automatiquement triée par nom.
    • Export de séquences d’images – Krita permet maintenant l’export d’animations en tant que séquence d’images afin d’être ensuite retravaillées avec d’autres logiciels.
    • Nouveau panneaux – De nouveaux panneaux sont disponibles : panneau time-line, animation, ainsi qu’un espace de travail animation.
    • Import et export CSV – Cette fonctionnalité permet de travailler les calques animation dans TV-paint ou Blender via un plugin.
    • Export scml – Cet export permet de réaliser l’image de base dans Krita et ensuite de la travailler dans Spriter, un outil d’animation puissant pour les jeux.

    Améliorations des performances pour les animations

    Un autre défi lié à l’introduction des outils d’animation est qu’il est facile de réaliser une time-line, mais c’est une autre histoire de fournir une prévisualisation fluide et rapide. Les fonctionnalités d’animation de Krita ne seraient qu’un gadget inutile sans une prévisualisation en temps réel. Afin d’atteindre les performances souhaitées, les améliorations suivantes ont été faites :

    • Cache pour la prévisualisation – Ce cache permet une prévisualisation à des cadences de lecture arbitraires et à des accélérations relatives.
    • Prévisualisation instantanée de gros canevas – La mise à profit de la puissance de OpenGL 3.0 permet désormais de dessiner de manière fluide même avec une brosse de 1000 pixels de largeur !
    • Suppression de trames – Sur le matériel lent, des trames sont supprimées lors de la lecture afin de pouvoir visualiser les animations en temps réel.

    Améliorations des calques

    Afin de permettre de travailler plus efficacement avec les calques, plusieurs améliorations ont été faites dans cette version.

    De nouvelles actions

    Parmi les nouvelles actions possibles sur les calques nous trouvons :

    • Simplification de la fusion de calques – un raccourci-clavier pour les gouverner tous.
    • Manipulation de multiples calques – Krita 2.9 a introduit la sélection multiple de calques ainsi que l’ordonnancement de calques par glisser/déposer. Cette version a étendu ces fonctionnalités avec la possibilité de bouger les calques, la sélection de calques depuis le canevas (via Maj+R+Clic), la fusion de calques, la duplication de calques, et d’autres actions encore.
    • Sélection rapide de calques – Il est possible de sélectionner tous les calques, ou seulement les calques visibles ou verrouillés.
    • Édition en masse des propriétés de calques – Il est désormais possible de renommer instantanément plusieurs calques, ou de changer leur mode de mélange, opacité ou toute autre propriété.
    • Groupement de calques – des raccourcis sont maintenant disponibles pour la création de groupes de calques, de groupes de rognage ou le dégroupement.

    Amélioration de l’interface de calques

    Interface des calques

    Suite à de longues discussions autour des actions importantes de la gestion des calques et de ce qui doit être présenté à l’utilisateur, la panneau de calques a été entièrement revu. Les changements visuels sont accompagnés de nouvelles fonctionnalités.

    • Calques plus lisibles – Le fait que la présentation des calques soit plus condensée permet d’en voir plus à la fois.
    • Couleurs — Il est désormais possible d’affecter une couleur à un calque via le menu contextuel, permettant ainsi de créer un code couleur des calques au goût de chacun.
    • Filtrage des calques par couleur – Les calques peuvent être filtrés par couleur afin de ne voir que les calques d’une ou plusieurs couleur spécifiques.

    Grilles, guides et ancrage

    Grilles et ancrage

    • Panneau de grilles et guides – Les grilles et guides possèdent désormais un panneau unifié.
    • Personnalisation des grilles et guides – Il est maintenant possible de personnaliser l’aspect des grilles et guides ainsi que de configurer leur visibilité séparément.
    • Grilles et guides par document – Des patrons de grilles peuvent être configurés et les grilles sont enfin débarrassées de leur côté global absurde.
    • Ancrage – La plupart des outils prennent maintenant en charge l’ancrage aux grilles et guides. De plus la configuration des options d’ancrages peut être accédée rapidement via le raccourci Ctrl+S.

    Filtres

    Filtre gradient map

    De nouveaux filtres font leur apparition dans cette version :

    • Gradient Map – Il n’était pas prévu, mais Spencer Brown l’a ajouté. Cependant, l’implémentation de ce filtre n’est toujours pas terminée et il n’apparait donc pas dans les filtres de calques.
    • Modèles pour le filtre d’ajustement TSV – L’ajustement TSV prend désormais en charge TSL, HSY et Y’CbCr comme espaces de couleurs.
    • Parallélisation avec G’MIC – L’utilisation des filtres avancés G’MIC permet d’utiliser tous les cœurs de votre processeur. G’MIC est aussi désormais beaucoup plus stable.

    Interface utilisateur

    L’interface a été améliorée afin d’augmenter le confort d’utilisation de Krita.

    Les raccourcis

    Les raccourcis clavier ont été revus dans cette version afin de permettre une utilisation efficace de Krita.

    • Schémas de raccourcis — Pour les habitués des raccourcis de Photoshop ou Paint Tool SAI, il est possible de changer le schéma de raccourcis dans le menu Paramètres > Configure Krita > Keybord Shortcuts.
    • Import et export de schémas de raccourcis — Cette fonctionnalité permet de partager ses raccourcis.
    • Meilleure présentation des raccourcis — Les raccourcis sont désormais groupés.
    • Raccourcis de sélection — Une nouvelle option dans les paramètres permet d’échanger les touches Alt et Ctrl dans les raccourcis de sélection.
    • Raccourcis de luminosité — Les actions d’éclaircissement et d’assombrissement sont maintenant gérées par couleur et utilisent la luminosité réelle dès que possible.

    Autres améliorations

    Nouvelle palette popup

    Les améliorations de l’interface portent sur l’ensemble de Krita.

    • Palette popup — La lisibilité des icônes préréglées a été améliorée.
    • Écran de création de document — L’écran de création de document a été repensé de manière plus compacte afin d’être plus adapté aux petits écrans.
    • Écran de chargement — Krita affiche désormais ce qu’il charge sur l’écran de démarrage.
    • Interface graphique — L’outil de rognage, l’assistant d’édition et l’outil de ligne droite ont vu leur interface graphique refaite.

    Sous le capot

    Cette version s’accompagne aussi de changements techniques intéressants, détaillés ci-dessous.

    Qt5 / KF5

    Une différence notable pour les développeurs entre la version 2.9 et la version 3 est le passage de la bibliothèque graphique Qt4 vers Qt5 et de KDE4 vers KF5. La gestion des périphériques tels que les tablettes graphiques a été réécrite. Les développeurs en ont profité pour nettoyer et ranger le code. Cela permettra une meilleure maintenance du code et plus de contributions externes.

    Performances

    Le temps de démarrage du logiciel s'est amélioré en démarrant uniquement le cœur du logiciel. En conséquence, les modules seront plus longs à démarrer.

    AppImage pour GNU/Linux

    Si vous souhaitez tester Krita 3.0 sans attendre qu’il soit disponible dans les dépôts de votre distribution préférée, le projet fournit une AppImage en téléchargement sur le site qui tourne sur environ toutes les distributions récentes.

    Compilation sous Windows/MacOS X

    La compilation est rendue beaucoup plus facile sur les systèmes autres que GNU/Linux.

    La suite

    Krita 3.1 sortira ensuite pour corriger les bugs et finir le développement de toutes les fonctionnalités promises par la deuxième campagne kickstarter.

    Une troisième campagne kickstarter a été lancée pour financer de nouveaux développements. Le but de cette campagne est d'améliorer la gestion du texte (particulièrement utile pour la bande dessinée) et le dessin vectoriel.

    Ressources

    Pour les artistes en herbe qui souhaitent se mettre à Krita, la taille et la portée de Krita peut faire peur au premier abord.
    Heureusement, pour prendre en main le logiciel, il existe un grand nombre de ressources libres disponibles sur le site. Ces ressources comprennent des manuels utilisateurs aussi bien que des tutoriels ou recettes pour des activités spécifiques.

    À ces ressources s’ajoutent des DVD, plusieurs livres et même un livre en français pour les anglophobes.

    Certains artistes contribuent aussi en fournissant des ensembles de brosses et textures.

    Contribuer

    Il est possible de contribuer au projet de plusieurs manières suivant vos compétences, que ce soit en terme de ressources artistiques (brosses, textures, …) ou en traduction (l’interface contient encore beaucoup de parties non traduites). Des détails sur comment contribuer en tant que non développeur peuvent être trouvés sur le site.

    Bien entendu, il est aussi possible de soumettre des rapports de bug, de contribuer du code ou de faire des propositions.

    Tout au long de l'année, vous pouvez aussi soutenir financièrement la fondation.

    Si vous vous demandez comment la fondation Krita utilise son argent, il est intéressant de suivre ce lien.

    dépense de la fondation

    Lire les commentaires

  • Réseau domestique : mes choix (Journaux LinuxFR)

    Sommaire

    En lisant le journal de yekcim (avec son beau schéma de réseau domestique), je me suis dis que mon schéma de réseau n'avait pas été mis-à-jour depuis longtemps. Je l'ai donc re-dessiné et (fier comme un paon) j'ai décidé de le vous le montrer.

    C'est l'occasion de partager les solutions que j'ai choisi pour résoudre les problématiques d'un réseau domestique (ce qui est aussi le sujet du journal sus-cité). Je vous encourage aussi à faire de même. Il est toujours intéressant de confronter son opinion et ses choix avec ses pairs !

    Sans plus attendre, voici déjà mon bô dessin :

    LAN

    TL;DR

    La dessous, y'a un gros pavé. Si vous ne voulez pas tout lire, voici un résumé :

    • fonctions "techniques" regroupées et ondulées
    • données sur un NAS qui gère aussi le réseau
    • NFS pour l'accès aux données de partout
    • XBMC (xbox/raspbmc) et UPnPlay (android) pour les fonctions client media
    • Debian partout (ou presque)

    Background

    Puisque c'est mon journal et mon réseau, commençons sans hésiter par un 3615 MaVie.
    Quand j'ai rénové ma maison, j'ai fait mon électricité. Tant qu'a passer des fils, j'en ai profité pour câbler en basse tension (ie: câble Ethernet) toutes les pièces. je me retrouve donc avec 32 prises RJ45 toutes ramenées au tableau électrique (dans la GTL située au 1er étage) Il me suffit de les brasser vers le téléphone ou le switch (ou autre chose genre téléinfo) pour choisir leur utilisation.

    Sur le schéma on retrouve donc des lignes verticales représentant le réseau de chaque étage. Les taches colorées figurent les pièces. C'est une vue logique, pas physique. Je me doute bien que savoir que guiautec est relié à la prise murale E1CT05 elle même reliée à la prise A06 de la baie de brassage et au port ge3 du switch ne vous intéresse pas :)

    Le nommage des machines suit 2 règles : des noms d’îles de l'archipel des Glenan pour les généralistes et la fonction (ou la marque) pour les équipements spécialisés.
    Côté OS, c'est assez homogène avec du Debian (testing) partout :). On notera quand même un Windows 8 pour l'adolescente (uniquement pour Les Sims 4) et une machine virtuelle Windows 7 (non représentée) sur mon PC pour des outils de développement WIN only (du Python et gcc, franchement, ils auraient pu faire une version Linux !). Et bien sur, les équipements mobiles en Android.

    GTL : fonctions techniques

    Dans ce petit placard, sont regroupées toutes les fonctions "techniques".

    Le point névralgique de mon réseau (outre le switch) est le NAS qui assure toutes les fonctions de management du réseau. C'est un Synology DS213j. Il a remplacé un NAS homemade à base de mini-ITX via epia qui a rendu l’âme il y a quelques mois. Le basculement vers une appliance clef en main a été dicté par une volonté de simplifier l'administration. Je suis très content de ce choix ! J'ai très peu perdu en souplesse et fonctions, mais beaucoup gagné en simplicité de gestion.

    Il assure les fonctions réseau (DHCP, DNS, NTP …) car je fais moyennement confiance à la Livebox pour cela. De plus cela me donne beaucoup plus de maîtrise de ce qui se passe.
    Évidement, il me permet aussi d'héberger toutes mes données (musique, vidéos, photos et autres documents) et de les partager avec les autres machines du réseau.
    Il m'offre des fonctions annexes tel git ou un MariaDB accessibles de partout.
    Et enfin il gère toute la partie sauvegarde que nous verrons plus loin.

    Le switch est un Netgear GS724T gigabit. Il est administrable via une page web et offre une interface snmp. Au moment de l'achat c'était le gigabit (administrable) avec suffisamment de ports le moins cher. À noter (voir ci-dessous) qu'il permet aussi de gérer des VLANs.

    Côté domotique, je n'ai pas grand chose. Un RaspberryPi (sous Debian) gère cela :

    • La téléinfo EDF qui est stockée dans la BdD du NAS. Les graphiques sont accessibles via un serveur lighttpd hébergé directement sur le Pi.
    • Le Fil pilote (un seul radiateur pour le moment) est géré via une interface USB simple. Je ne l'utilise que pour allumer le sèche serviette de la salle de bain (parentale) pour les douches du matin. La aussi une interface web permet de le programmer.

    Enfin tout ce petit monde est branché (230V) sur un onduleur MGE Ellipse 1000. J'avais choisit MGE pour son soutien au libre (via NUT). Il est managé en USB par le NAS qui peut ainsi s'éteindre avant la coupure définitive. Le Pi accède aussi à ces informations via le réseau. C'est très appréciable car j'ai déjà cramé la carte SD d'un Pi à cause de micro coupures à répétition. Acheté en décembre 2006 j'ai du remplacer ses batteries le mois dernier (par contre il a coupé d'un coup sans prévenir :( ).

    1er étage : les machines de tout le monde

    Dans le "secrétariat" on trouve la machine en libre service (huic) qui sert pour les papiers et les comptes (et regarder des vidéos de minecraft sur youtube). C'est ma machine génération N-1.

    Pour imprimer et scanner j'ai choisit une imprimante réseau (Xerox phaser 6110MFP achetée en décembre 2008). La aussi l'administration s'en trouve simplifiée et tout le monde y a directement accès. Pour scanner, j’utilise le script perl de Jon Chambers démarré à la demande sur le NAS. Les documents sont alors accessibles en NFS.

    Dans mon bureau se trouve ma machine principale (guiautec) qui reste la plus puissante de la maison (elle date de cette année). Ma machine de génération N-2 (penfret) est sur mon établi électronique. Elle me sert principalement à afficher les schémas ou les datasheets quand je soude. Malheureusement sa carte GPIB ISA a cramé récemment et la machine elle-même donne de sérieux signes de fatigue. Je ne pense pas la remplacer, mon portable de récup fera bien l'affaire (sauf pour le GPIB :( )

    Pour les enfants, notre adolescente a (ENFIN! selon elle) son propre PC (bananec) et la petite utilise le PC en libre service. Je n'ai pas mis de proxy, de filtre parental ou autre. Nous croyons aux vertus de l'éducation (pour le moment …). De plus, elles connaissent les compétences de leur père ce qui sert d'arme de dissuasion ;)

    2ème : la musique

    Pour la musique, j'utilise une petite tablette chinoise à 2 balles (et écran résistif de merde) qui a le mérite de disposer d'un adaptateur Ethernet. Elle accède aux fichiers via le serveur DLNA du NAS et l'application UPnPlay. On est loin d'une installation de haute fidélité, mais au vu de mes oreilles moisies, c'est suffisant.

    C'est le seul équipement qui fait du DLNA. Ce protocole ne m'a jamais emballé, mais sur cet Android c'est le moyen le plus facile. Si la tablette était récente (et acceptée par Google) j'utiliserai sans doute les applications de Synology qui fonctionnent très bien sur mon téléphone.

    3ème : la vidéo

    Ici se trouve la TV et son boîtier Livebox associé. Soyons honnête il ne sert presque pas puisque nous consommons surtout des films.

    Depuis des années je suis un fervent utilisateur de XBMC, d'abord sur Xbox (sa principale utilisation depuis son achat d'occasion) puis sur RaspberryPi (raspbmc) suite à l’avènement des vidéos en HD.
    L'accès au NAS se faisait en Samba sur la xbox et en NFS sur le Pi.

    Le Pi est commandé via un clavier ou l'appli officielle sous Android. Je compte y ajouter une télécommande infrarouge quand j'aurais fini le projet associé RPiSU

    Sauvegarde

    J'essaye d'avoir une politique correcte de sauvegarde.

    • Chaque PC sauvegarde ses données (en gros /etc et /home) en Rsync (avec anacron et un petit script maison) dans un répertoire du NAS.
    • Le NAS est en RAID histoire de ne pas paumer ses données en cas de panne de disque (oui je sais ce n'est pas de la sauvegarde)
    • Toutes les nuits les données (importantes) du NAS et le répertoire de sauvegarde des PCs est copié (avec historique) sur un disque externe USB. Ce sont les outils de Synology qui permettent l'historique.

    Il me manque la sauvegarde off-site que je suis en train (depuis très longtemps …) d'étudier : cloud, synchro avec un NAS distant …

    VLAN : restreindre les enfants

    Une fonction que je n'ai plus d'implémentée dans le réseau actuel mais qui était en place quand les enfants étaient trop petits pour avoir leur propre accès Internet.

    Un WRT54G (sous OpenWRT) offrait un 2ème accès Wifi avec un vlan particulier. Certains ports du Switch étaient aussi dans ce vlan. Les enfants n'avaient accès qu'à ce Wifi ou ces ports particuliers. Ainsi ils pouvaient avoir accès aux données du NAS (films, photos, musique) mais n'avaient pas d'accès à internet (depuis leur chambre). Cela permet de les avoir en visu quand il y accèdent et de leur prodiguer les conseils et aide nécessaires.

    Évolutions éventuelles

    Le réseau domestique tel qu'il est actuellement nous convient et ne devrait pas beaucoup évoluer dans les temps à venir :

    • J'envisage de mettre en place une sauvegarde off-site.
    • J'ai aussi l'intention d'éteindre le Wifi de la Livebox (étage des chambres) pour installer mon WRT54G au 2ème étage (la ou les téléphones/tablettes) sont le plus utilisées.
    • je cherche aussi (doucement) un moyen de grapher toutes ces fonctions. Avant j’utilisais Munin mais sa lourdeur ne m'incite pas à la faire tourner sur mon NAS ou mon Pi

    Voila, bravo à ceux qui sont arrivés jusque la.
    Et maintenant c'est à votre tour, quels sont vos choix et solutions pour votre réseau domestique ?

    Lire les commentaires

  • Sortie de KDE Frameworks 5 (Dépêches LinuxFR)

    KDE Frameworks 5 (KF5) est sorti le 7 juillet 2014 ! Pour rappel, KF5 c’est le résultat de 3 ans d’efforts pour modulariser les KDElibs, les bibliothèques utilisées par la plupart des logiciels KDE. À cette occasion, elles ont été migrées vers Qt5 et améliorées. Une itération majeure donc, mais une évolution et pas une révolution, ce qui facilite la transition.

    La modularisation est un objectif de longue date pour rendre les KDElibs utiles aux développeurs Qt. En effet, les bibliothèques KDE sont, au fur et à mesure de leur évolution, devenues un véritable cadriciel (framework) ou, plutôt, un ensemble de bibliothèques interdépendantes ; ce côté monolithique souvent reproché aux KDElibs limitait son utilité en dehors de KDE.

    Logo KDE en cours de construction — CC-By-Sa 3.0/GFDL 1.2

    Note: Cette dépêche est essentiellement une traduction des notes de versions et d'un choix de documentations sur les API de KF5 issus du planet KDE, notamment ces trois .

    Sommaire

    Historique

    Quand KDE a été lancé, il y a 15 ans, le développement était centré sur les applications et les bibliothèques arrivaient ensuite, lorsqu’une fonctionnalité était utilisée dans plusieurs applications. Aujourd’hui, les bibliothèques KDE sont la base commune de presque toutes les applications KDE, fournissant des fonctionnalités haut niveau comme les barres d’outils ou les menus, la vérification orthographique et l’accès aux fichiers.

    À l’heure actuelle, « KDELibs » est distribué comme un ensemble de bibliothèques interconnectées. Dans le cadre du travail sur KDE Frameworks 5, ces bibliothèques ont été méthodiquement réusinées en un ensemble de modules indépendants et multiplateformes qui seront accessibles à tous les développeurs Qt.

    KDE Frameworks, conçu comme une extension à Qt, va enrichir l’environnement de développement de Qt avec des fonctions qui simplifient, accélèrent et réduisent le coût du développement Qt. Par exemple, KArchive (un des premiers cadriciels disponibles) offre la prise en charge de nombreux algorithmes de compression dans une bibliothèque indépendante et simple à utiliser. Envoyez-lui simplement des fichiers ; il n’y a pas besoin de réinventer une fonction d’archivage.

    La transition de plateforme à Frameworks est en cours depuis presque 3 ans et est menée par les meilleurs contributeurs KDE. Il a été décidé que les versions de KF5 sortiraient avec un cycle plus adapté au développement des cadriciels de KF5, différent de celui de l’espace de travail Plasma. KF5 devient donc un projet à part de la communauté KDE.

    Découpage et dépendances

    Schéma des relations entre les composants de KF5 — CC-By 3.0 unported

    Les cadriciels de KF5 sont classés selon deux axes :

    • Tiers :

      • tiers 1 : aucune dépendance aux autres composants KF5 ;
      • tiers 2 : dépendance possible aux tiers 1 ;
      • tiers 3 : dépendance possible à un autre tiers 3 et aux tiers en-dessous.
    • Type (voir plus bas) :

      • fonctionnel ;
      • intégration ;
      • solution.

    Cadriciels fonctionnels

    Ces cadriciels sont indépendants. Ils n’ont pas de dépendance à l’exécution, mais offrent une fonctionnalité de haut niveau. La liste suivante n'est pas exhaustive quant au nombre de cadriciels disponibles, elle en présente les principales nouveautés.

    KArchive est un cadriciel qui prend en charge les archives compressées dans des formats populaires tels zip, 7z et tar, et propose une compression QIODevice pour gzip, bzip2 et xz. KArchive peut extraire n’importe quel fichier dans l’un des formats pré-cités.

    KPlotting est un cadriciel de graphe simple qui gère l’anti-crénelage (anti-aliasing), l’empilage et la mise à jour. Il s’occupe de transformer les données soumises en un graphique avec ses axes et ses étiquettes (il prend en compte le passage de l’unité de départ vers les coordonnées en pixels à l’écran).

    Threadweaver rend l’écriture de code multithreadé plus facile en utilisant des tâches de fond. Contrairement à QThreadPool, il prend en compte les dépendances entre tâches, les signaux done (réalisé), ainsi que les signaux globaux jobsDone. Il permet aux fils d’exécution d’être suspendus et arrêtés facilement et ne dépend que de QtCore.

    KConfig enregistre et restitue des paramètres de configuration. Il présente une API orientée groupe. Il utilise des fichiers INI et des répertoires/annuaires conformes à la norme XDG. Il génère du code en se basant sur les fichiers XML.

    KItemModels contient (entre autres) :

    • un modèle de filtrage récursif pour les vues en arbre ;
    • un modèle de proxy vérifiable pour les arbres et les listes ;
    • et un second modèle de proxy, pour restructurer un arbre en liste.

    KCoreAddons dispose des éléments suivants (entre autres) :

    • KJob : une classe de base pour faire des API asynchrones ;
    • file handling classes: directory watching, backup handling, auto save files ;
    • Partage des données en cache sur le disque entre applications ;
    • des classes de gestion de texte: séparer des chaines de caractères entre les mots et ajouter des points de suspension.

    Cadriciels d’intégration

    Ceux-ci ont des dépendances en fonction de la plateforme pour l’intégration système.

    Sonnet a un correcteur orthographique d’arrière-plan, ainsi que des widgets et des dialogues de configuration. Il fonctionne via des extensions et peut fonctionner avec aspell, hspell, hunspell et enchant.

    Solid peut détecter le matériel et informer une application sur les périphériques de stockage et les volumes, le CPU, le statut de la batterie, la gestion d’énergie, le statut de la connexion Internet et des interfaces réseau, et le Bluetooth. Pour les partitions chiffrées, l’énergie et le réseau, des démons en fonctionnement sont nécessaires.

    Cadriciels solution

    Ceux-là nécessitent que leurs propres démons fonctionnent correctement.

    KIO permet à l’utilisateur de parcourir et modifier des fichiers indépendamment du fait qu’ils soient locaux ou distants. Il prend en charge un grand nombre de protocoles (incluant ftp, samba, webdav et nfs), de nombreux formats de fichiers compressés, les miniatures, l’extraction de la musique audio, la corbeille et fish, une vue de gestion de fichiers au travers d'une connexion ssh.

    KService est un cadriciel qui fournit des fonctionnalités avancées de gestion des greffons, y compris la recherche sur le disque de ceux-ci à la demande. Il est utile pour les architectures à base de composants, où il permet de charger lors de l’exécution les dépendances nécessaires. Il offre également des fonctions pour trouver les applications associées à un type de fichiers, telles que l’identification de l’application préférée de l’utilisateur pour visualiser les PDF.

    Migrer vers KF5

    Il existe pas mal de ressources pour migrer sans douleur une application fondée sur les bibliothèques de KDE. On peut :

    • lire l’API ;
    • examiner les notes de portage ;
    • s’aider des projets déjà portés ;
    • obtenir de l’aide sur le canal IRC #kde-devel et la liste de diffusion kde-frameworks-devel@kde.org.

    Il y a aussi un exemple de projet utilisant KF5.

    CMake

    A noter, l'adoption des idiomes de CMake : les macros kde4_* ne sont plus utilisées pour créer des cibles, mais les macros CMake, par exemple kde4_add_executableadd_executable. Attention aux dépendances : ${KDE4_KDEUI_LIBS} est remplacé par KF5::WidgetAddons. Notez que ça n’est plus une variable et que, si vous utilisez CMake 3.0, vous obtiendrez un avertissement si elle n’a pas été trouvée. De plus, il n’est plus nécessaire d’utiliser include_directories() pour chaque dépendance, ce sont maintenant les cibles qui s’occupent de ça. Jetez un œil à Extra-cmake-modules : il y a des choses intéressantes dont vous pourriez avoir besoin un jour, de plus c’est une extension CMake, vous pouvez l’utiliser même si Qt ou C++ n’est pas utilisé dans votre projet.

    Laurent Montel, développeur KDE – notamment de KDEPIM – a développé des scripts pour faciliter la migration.

    C++

    Problablement la partie la plus facile, il suffit d’essayer de le faire compiler et de regarder l’API quand cela ne fonctionne pas, puis de recommencer.

    Pour commencer le port, c’est en général mieux de s’appuyer sur le cadriciel KDELibs4Support au début. C’est un cadriciel qui contient tous les modules obsolètes, parce que ce sont des fonctionnalités qui ont été déplacées dans Qt5 pour la plupart. Ça aidera à avoir un projet qui compile et, ensuite, vous pouvez supprimer les dépendances obsolètes une par une.

    Si vous souhaitez développer en Qt4 pour un moment encore, il peut être utile de faire quelques portages d’abord, par exemple la migration KIcon → QIcon::fromTheme, ce qui réduira la divergence entre la branche Qt4 et la branche Qt5. Ça peut aussi vous aider de faire des tests unitaires avant de migrer, pour éviter de tester toutes les fonctionnalités à la main pendant le portage.

    QML

    Porter du QML n’est pas trivial, mais il n’y a que quelques projets qui l’utilisent sérieusement. Toutes les technologies sous-jacentes ont changé, ça peut donc devenir épineux. Pour le moment, dans Qt5, il y a deux implémentations de QML. QtQuick 1, qui est celle que nous utilisions dans Qt4 et QtQuick 2 qui est celle que vous voulez utiliser, qui utilise le graphe de scène Qt (Qt Scene Graph) et qui fait de la magie avec le GPU.

    Vous pouvez tout d’abord décider de rester en QtQuick 1. Néanmoins, PlasmaComponents a été porté à QtQuick 2, vous devrez donc faire le changement complet pour les plasmoïdes.

    Si vous avez avez besoin de faire un port vers QtQuick 2, il y a aussi quelques scripts que vous pouvez utiliser pour faciliter la transition. Pour commencer, vous devez simplement renommer toutes les classes commençant par QDeclarative* vers QQml* et QQuick* ; elles gardent en général le même nom. Par contre, si vous utilisiez les fonctionnalités de QGraphicsView, vous vous êtes fait avoir !

    Pour porter le code QML/Javascript vers QtQuick 2, il faut mettre à jour tous les imports. Tous les imports Qt sont montés de version, vous devez donc changer import QtQuick 1.1 pour import QtQuick 2.2, et — dans la même logique — remplacer import org.kde.plasma.components 0.1 par import org.kde.plasma.components 2.0.

    Apports

    Qt 5 apporte de nombreux nouveaux concepts intéressants, comme QtWebSockets, QtWayland, QtWebEngine ou Qt3D. De plus, cela permet à votre projet d’intégrer correctement le code Qt avec les nouveaux concepts de C++11.

    Porter votre projet vers KF5 va l’aider à devenir plus portable et à cibler différentes plateformes.

    Amélioration de l’outillage

    Séparer les bibliothèques et faire en sorte que le système de compilation fonctionne a provoqué de nombreux cassage de compatibilité. Pour être sûr que tout fonctionne et obtenir des cadriciels compilables et fonctionnels, il était nécessaire d’avoir de meilleurs outils. Une énorme amélioration est l’arrivée d’un système d’intégration continue. Pousser du code pour un cadriciel signifie désormais qu’il est compilé dans un environnement propre et que des tests automatisés sont lancés. C’est aussi utilisé pour construire ses dépendances, donc les problèmes dans le code qui ont pu échapper à l’attention du développeur sont la plupart du temps détectés automatiquement. Les résultats du système d’intégration continue sont souvent disponibles après quelques minutes et, si quelque chose casse, les développeurs reçoivent des notifications sur IRC ou par courriel. Ces courts cycles permettent de résoudre les problèmes quand les modifications effectuées sont encore fraiches dans la tête du développeur. On gagne également du temps, car en récupérant le dernier code en développement, il y a moins de risque d’avoir un code qui ne compile pas.

    La compilation déclenche aussi les tests automatisés, qui ont déjà été améliorées récemment, mais restent encore assez loin d’une couverture complète. Avoir des tests automatisés permet de trouver plus facilement les problèmes et améliore la confiance dans le fait qu’un changement particulier ne cause de désastre nulle part.

    Ni les compilations continues, ni les tests automatisés ne permettent d’être à 100% sûr que quelque chose ne cassera pas un jour, mais c’est beaucoup moins probable et cela économise du travail aux développeurs. Si un script détecte un problème, c’est probablement beaucoup plus efficace que le test manuel (qui reste nécessaire, évidemment).

    Un aspect social de cela est que si quelque chose casse dans les compilations ou tests automatisés, il n’y a pas qu'une seule personne qui est en charge du problème ; ça doit au contraire être un évènement où on « arrête la chaine » et nécessite une attention immédiate — de tout le monde.

    Conclusion

    La migration vers Qt5, la modularisation et l’amélioration du code des fondations est une avancée technique majeure dans l’histoire de KDE.

    Mais les avancées ne sont pas uniquement techniques, l’organisation du projet s’améliore notamment avec plus de relecture de code, une meilleure organisation des dépôts et une unification du flux de travail avec notamment une migration vers GitLab.

    La prochaine version de Plasma sera la première à utiliser KDE Frameworks 5 et cela promet d’être intéressant, car, là où le passage de KDE 3 à KDE 4 et de GNOME 2 à GNOME 3 ont été un gros changement de paradigme et technique, il n’est pas prévu de gros changements niveau utilisateur.

    Nouveau Konqui

    Lire les commentaires

  • Revue de presse de l'April pour la semaine 27 de l'année 2016 (Dépêches LinuxFR)

    La revue de presse de l'April est régulièrement éditée par les membres de l'association. Elle couvre l'actualité de la presse en ligne, liée au logiciel libre. Il s'agit donc d'une sélection d'articles de presse et non de prises de position de l'association de promotion et de défense du logiciel libre.

    Sommaire

    [Journal du Net] Contribuer à l’open source, un levier de croissance et de dynamisme pour l’entreprise

    Par Arnaud Breton, le jeudi 7 juillet 2016. Extrait:

    La production en open source est extrêmement riche et présente de nombreux avantages pour les entreprises dès lors qu’elles souhaitent s’y investir de manière concrète et durable.

    Lien vers l'article original: http://www.journaldunet.com/solutions/expert/64809/contribuer-a-l-open-source--un-levier-de-croissance-et-de-dynamisme-pour-l-entreprise.shtml

    [L'OBS] Chic, le gouvernement choisit le logiciel libre. Zut, c’est en Bulgarie

    Par Thierry Noisette, le mercredi 6 juillet 2016. Extrait:

    Apprendre que le gouvernement choisit, pour tout développement logiciel sur mesure qu’il commandera, de privilégier les logiciels sous licences open source, voilà qui réjouit les partisans des logiciels libres et de leurs avantages (partage, économie, souveraineté…).

    Lien vers l'article original: http://rue89.nouvelobs.com/2016/07/06/chic-gouvernement-choisit-logiciel-libre-zut-cest-bulgarie-264570

    Et aussi:

    [France Info] Un Wikipédia mondial du logiciel

    Par Jérôme Colombain, le mercredi 6 juillet 2016. Extrait:

    Les logiciels constituent aujourd’hui une part importante de notre savoir collectif mais ils peuvent se perdre. Pour éviter cela, des Français ont décidé de créer une sorte de bibliothèque mondiale du logiciel.

    Lien vers l'article original: http://www.franceinfo.fr/emission/nouveau-monde/2015-2016/un-wikipedia-du-logiciel-06-07-2016-07-00

    [Next INpact] Loi Numérique: pas de recours «prioritaire» aux logiciels libres pour l'administration

    Par Xavier Berne, le lundi 4 juillet 2016. Extrait:

    En dépit des avis émis par les participants à la consultation sur l'avant-projet de loi Numérique, le législateur n’a pas souhaité imposer aux administrations de recourir «en priorité» aux logiciels libres. Les fonctionnaires devront simplement s’en tenir à un vague «encouragement».

    Lien vers l'article original: http://www.nextinpact.com/news/100503-loi-numerique-pas-recours-prioritaire-aux-logiciels-libres-pour-l-administration.htm

    Voir aussi:

    Lire les commentaires

  • mon codingame à moi (Journaux LinuxFR)

    Vous ne le saviez peut-être pas ? (pourtant… bon… ce n'est pas passé inaperçu sur ce site) mais samedi soir vers 18h, c'était le codingame. Je n'avais pas participé à la dernière édition mais la bon… c'était l'occase. Je n'ai jamais eu de cours d'info proprement dit, je code de temps en temps pour mon plaisir DONC je me suis entraîné un peu cette semaine.
    Quelques baisses de moral quand l'exo super simple, le premier, tu le finis en 30 minutes et que ça c'est le temps qu'il a fallu au premier pour tout finir… Mais on est pro ou pas. (moi je ne le suis pas)

    donc hier, samedi, premier jour de vacances en famille, chouette, y'a le wifi au camping. Quoi ? Apéro ? euh non, c'est important, tu comprends, c'est mon premier Coding Game… !!

    (première engueulade avec la chef de famille, ma femme…)

    Pas très grave, j'arrive à 19h10 au lieu de 18h mais bon… c'est de donne guerre (il a bien fallu faire la promenade avec les enfants). Je n'avais pas prévu de scorer plus que ça. Le compromis c'est important, surtout pour le premier jour des vacances. La soupe à la grimace, je n'aime pas des masses.

    Bon… premier exo assez vite expédié (j'étais fier !!! trop fier !!).

    Deuxième exo… bon… ça se présente pas trop mal… des petits rucs que j'oublie en cours de route mais c'est pas trop mal (autosatisfaction…) Tiens ma fille arrive… (oui, j'étais près de l'accueil du camping en autiste derrière un sapin, le wifi n'étant présent que "autour de l'accueil, monsieur") : "un soucis ?", "Oui, Mael (mon fils) s'est ouvert tout le pied en faisant de la trottinette, maman veut que tu viennes tout de suite". ………………. Raaaaaaaaaaaaaaaaaaaaaahhhhhhhhhhhhh p'tain j'y étais presque.

    Ma femme a failli tomber dans les pommes en voyant l'état du pied de mon fils, j'ai eu le droit aux gros yeux (comme si c'était moi qui faisait de la trotte en tong !!!). Après des calins et de la médecine de papa, je m'y remets. Ah…

    Trop tard… ding dong… peut plus rien faire.. RAAAAH.

    Cependant, j'aimerais bien soumettre mon code pour savoir si je passe tout, car j'ai tout fait de tête de retour au bungalow…
    Si un admin pouvait me dire si au moins, ça passe, juste histoire que j'ai cette petit fierté : "j'ai un un CG !!"

    Merki :) (id : 109667e3cf595613d13e9379b9907d9f2ead17 )

    NB: mon fils va bien mais il est passé à "ça" de ne plus pouvoir mettre le pied dans l'eau pour 2 semaines…le premier jour des vacances c'est super.

    Lire les commentaires

  • [auto-hébergement] todolist (Journaux LinuxFR)

    Après m'être fait blackboulé comme un malpropre par stackexchange peut-être que, toi mon cher Nal, tu peux m'aider?

    Je suis à la recherche d'un logiciel libre de gestion de todolist très basique que je pourrais héberger sur mon propre serveur. Par basique, je veux dire que je n'attend pas une appli GTD très aboutie comme l'est Tracks. Enfin l'idéal serait que cette appli web soit utilisable depuis un mobile via une UI web adaptée ou via une API.

    Parmi les webapp todolist, le mieux que j'ai trouvé c'est une appli en PHP/jQuery nommée yourTinyTodo. Elle a été forké à partir de mytinytodo qui elle même avait été forké à depuis myToDoListPHP.

    Le problème c'est que cette yourTinyTodo, bien qu'elle soit parfaite pour mon utilisation via un ordi, est inutilisable depuis un petit écran de téléphone. De plus, il n'existe pas encore d'API (https://github.com/alex-LE/yourTinyTodo/issues/12) ; cela explique peut-être pourquoi on ne voit pas fleurir d'applications clientes.

    Donc tu vois où je veux en venir cher Nal : aurais-tu des alternatives à me conseiller ? Ou sinon peut-être que tu connais des développeurs interessés par la contribution (ou fork) de yourTinyTodo dont le developpement n'est pas très actif.

    Merci!

    Lire les commentaires

  • Espionnage: la FSF deconseille le cloud public, recommande les clouds privés basés sur le libre (Journaux LinuxFR)

    Le journal The Guardian a révélé que la NSA (Agence de Sécurité Nationale des États-Unis) a un accès direct aux systèmes de Google, Facebook, Apple et autres géants de l'Internet, pour espionner les communications qui passent par les États-Unis. John Sullivan, directeur de la Free Software Foundation, conseille d'utiliser des logiciels libres (en cloud privé) plutôt que le cloud public:

    Des intrusions de la vie privée de cette ampleur sont à craindre quand les gens abandonnent leurs données et logiciels locaux pour migrer vers le stockage et les applications en ligne. Les géants come Microsoft, Facebook et Google sont vulnérables aux requêtes du gouvernement exigeant les données des utilisateurs. Pour contrer ce problème, il y a de meilleurs moyens, plus sûrs, de partager des informations en ligne. Les logiciels libres comme GNU MediaGoblin, StatusNet, Diaspora, pump.io, Tahoe-LAFS, FreedomBox et SparkleShare travaillent d'arrache-pied pour créer un monde moins centralisé, un monde dans lequel les utilisateurs maintiennent le contrôle sur leurs données et sur les logiciels qui accèdent à ces données, mais un monde qui est tout aussi pratique et social que son équivalent centralisé.

    MediaGoblin: Publication de media. Similaire à Flickr, YouTube, SoundCloud.
    StatusNet: Micro-blogging. Similaire à Twitter.
    Diaspora, pump.io, Freedombox: Réseau social décentralisé. Similaire à Facebook.
    Tahoe-LAFS, SparkleShare, CmisSync: Synchronisation de fichiers. Similaire à Dropbox.
    Zimbra: Email. Similaire à Gmail/Calendar.

    Lire les commentaires

  • Pourquoi un PC ralentit-il ? (Journaux LinuxFR)

    Durant toutes ces années, j'ai nourri l'idée que si un PC ralentissait, c'était parce que Windows installait plein de trucs infâmes.

    Pourtant, force est de constater à présent que mes PCs Linux deviennent de plus en plus lents et nécessitent un reformatage annuel, quelque chose que je pensais réservé au Windowsiens.

    Pire : malgré reformatage, les PCs restent beaucoup plus lents qu'avant et je ne l'explique pas vraiment.

    Alors, selon vous, qui est responsable de la lenteur ?

    1. Usure mécanique (notamment pour les HDD qui tournent moins bien et les ventilations qui s'encrassent)

    2. Structure du disque dur qui se corrompt (bad sector) et également, au fil des années sans reformatage, un fragmentage important ? (pour l'anecdote, j'ai un SSD qui ne supporte pas TRIM et, au bout de 3 ans, c'est presqu'inutilisable).

    3. Encombrement logiciel (fichiers de conf et formats de cache qui se transmettent par delà les upgrade et génèrent des bugs)

    4. Évolution du logiciel (les logiciels ne sont plus testés avec d'anciens matériels et buttent sur des petites incompatibilités)

    5. Évolution de notre perception (cela a toujours été lent mais on s'habitue à plus rapide)

    6. Un mix de tout ça ?

    Enfin, bref, tout ça parce que je jette l'éponge sur un de mes desktops qui est passé depuis 7 ans par toutes les versions d'Ubuntu et qui, à présent, se vautre sans raison (le menu Unity ne trouve pas la moitié des applications genre le terminal, Chromium crashe lorsqu'il y a plus de 2 tabs ouvertes, Firefox ne détecte aucun plugin et refuse de les installer). Ce n'est pas venu d'un coup mais ça a vraiment été progressif au cours des 3 dernières années, malgré des ré-installations et un check du disque dur. Mais je constate le même genre de soucis sur d'autres ordinateurs de la même génération.

    Donc je cherche un mini PC de bureau qui soit le plus silencieux, le moins cher possible, avec minimum 4Go de RAM et un connecteur VGA (ou alors, un bon connecteur HDMI -> VGA mais toutes les critiques sur Amazon pour ce genre de produit sont affolantes).

    Merci :-)

    Lire les commentaires

  • Le WeTab maintenant à partir de 254€ (Linux Certif)

     Le WeTab, la tablette Linux basée sur Meego, est maintenant vendu à 253,99€ pour la version Wifi, et 333€ pour la version 3G.

    Pour rappel, le Wetab est une tablette sortie l'année passée et se voulait complètement à contre courant des autres tablettes.

    Quelques caractéristiques:

    • Linux complet avec X11 et gestionnaire de packet (plutôt qu'un Linux édulcoré pour téléphone)
    • MeeGo (plutôt que Android)
    • Processeur Intel Atom (plutôt que ARM)
    • Plutôt ouvert et avec une communautée
    Les raisons de la baisse de prix sont inconnues. Personellement, j'épère qu'un nouveau modèle va arriver. La possibilité que le projet est abandonné n'est pas a exclure.
  • Réduire la latence des connections TCP, enfin (Journaux LinuxFR)

    La plupart des interactions avec les sites web se font avec des échanges très court: un paquet pour la requête, un ou deux paquets pour la réponse, comme l'échange est très court, l'ouverture de la connexion avant l'échange ajoute une latence très importante.
    Il n'est pas si simple d'éviter cette durée de connexion sans réduire la sécurité (il faut valider l'adresse de l'émetteur, autrement on est vulnérable à l'usurpation d'adresse source: T/TCP n'est pas utilisé à cause de ce problème), ni utiliser trop de ressource sur le serveur (maintenir des sessions TCP ouverte en permanence avec l'option keep-alive doit être restreint autrement cela consomme trop de ressources sur les serveurs).

    L'alternative "évidente", que j'attendais depuis longtemps, est l'utilisation d'une connexion anticipée pour récupérer une clef cryptographique afin de pouvoir réutiliser cette clef ensuite: cela permet d'avoir des "pseudo connexions" permettant un échange rapide avec peu d'utilisation de ressource sur le serveur, et bonne nouvelle Google travaille dessus!

    Ceci est détaillé de manière très claire (comme d'habitude) sur le blog de Stephan Bortzmeyer: http://www.bortzmeyer.org/tcp-ouverture-rapide.html

    Lire les commentaires

  • 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

  • Le humble bundle Frozenbyte (Linux Certif)

    Le humble bundle est un pack de jeux indies vendu sans prix définit. Le principe est que l'acheteur choisit combien il est prêt à donner pour les jeux.

    Le système a quelques règles qui en font une offre particulièrement honnête par rapport à ce qui se fait habituellement en jeux vidéo:

    1. aucun DRM
    2. les jeux fonctionnent sur Linux, Mac OS X et même Windows
    3. vous payez ce que vous voulez

    Il y a déjà eu deux événement humble bundle, le troisième est actuellement en cours. Ce dernier s'appelle le "Humble Frozenbyte Bundle" car tout les jeux viennent de l'éditeur Finlandais Frozenbyte.

    Les jeux proposés sont:

    Le humble bundle est une très bonne opportunité de supporter les jeux indie et le jeux sur Linux. Pour le moment, les Linuxiens donnent 12$ en moyenne pour le pack, soit environ 8€.

    Si vous avez envie d'essayer ces jeux, il vous reste 10 jours pour participer.

  • Rejoindre le labo, entrer en contact avec la communauté (Laboratoire Linux SUPINFO)

    Si vous êtes à Caen, Clermont Ferrand, Lyon, Paris ou Rennes, il existe déjà des étudiants qui travaillent en local que vous devriez contacter (cf. le guide des labo de l'an dernier pour retrouver les contacts). Vous devriez aller vous inscrire sur le site de votre campus que vous retrouverez dans cette liste.

    Si vous êtes le premier étudiant de ce labo sur votre campus, vous pouvez créer un compte ici même. Si de nombreux étudiants se joignent à vous, il vous sera possible de demander l'ouverture d'un site dédié.

    Pour communiquer, nous vous recommandons de rejoindre le réseau de messagerie instantannée décentralisé XMPP, qui repose sur une liste d'amis permanente. Le salon de discussion du labo est : labo-linux@conference.labo-linux.org

    Si vous n'avez pas de compte, vous avez la possibilité d'en créer un sur http://xmpp.labo-linux.org Ce client Web offre une interface Responsive pour téléphones ainsi qu'un réseau social. Il existe des clients lourds tels que Gajim, Pidgin ou Adium.

     

    image

  • OpenTTD désormais disponible sur la Wii (Journaux LinuxFR)

    OpenTTD est une réécriture entièrement libre de Transport Tycoon Deluxe créé par Chris Sawyer et édité par Microprose en 1994. C'est une simulation de ville en 3D isométrique. Le jeu est moins joli graphiquement que Lincity NG puisque c'est du 8 bit, mais il est plus abouti.
    OpenTTD a donc été transposé sur la Wii. Il est disponible depuis le 6 novembre 2011 et en français de surcroît.

    Comment en profiter :

    • tout d'abord, dépoussiérer la Wii à laquelle les enfants ne jouent plus depuis longtemps.
    • la connecter sur internet par le wifi.
    • ne pas la mettre à jour
    • installer le hack de la Wii qui correspond à votre firmware (Bannebomb ou LetterBomb). Voir le tutoriel ici ou . Pour résumer :
      • trouver une carte SD de 2 Go (pas plus)
      • à partir d'un ordinateur, décompresser le hackMiiInstaller qui correspond à votre firmware sur la carte SD et mettre boot.elf à la racine. Si votre Wii est de version 4.1 ou inférieure, renommez le dossier "private POUR WII DE 3.0 A 4.1" en "private". Et si elle est en 4.2, renommez le dossier "private POUR WII 4.2" en "private".
      • insérer la carte dans la Wii, redémarrer et cliquer sur le bouton "Options Wii", puis "Chaînes" et l'onglet "Carte SD". A la question "Load boot.dol/elf ?" répondez oui.
      • installer "The Hombrew Channel" (en principe le "BootMii" n'est pas à installer et est à réserver aux experts).

    Une fois ceci fait, un bouton "Homebrew Channel" apparaît. Dans cette chaîne, le "Homebrew browser" permet d'installer de multiples applications via internet.
    Les jeux libres suivant sont également disponibles : Jump'n Bump, Kobo Deluxe, Zerace, Les 27 petits jeux de Simon Tatham, Supertux, Abuse. On y trouvera aussi les applications libres suivantes : DOSBox, ScummVM, GeexBox, Mplayer...

    Même si ces logiciels sont libres et gratuits, cela ne plait pas à Nitendo que l'on fasse avec sa console, autre chose que ce pour quoi elle est prévue. D'où ces multiples tentatives de changement de version de firmware pour empêcher l'exécution du BannerBomb. Malgré cela, les bidouilleurs du monde entier ont trouvé un hack qui fonctionne pour chaque firmware.

    La Wii ne continuerait-elle pas à prendre la poussière sous la télé, s'il n'y avait pas l'intérêt représenté par ses applications non officielles.

    Lire les commentaires

  • Katello 2.0 (Dépêches LinuxFR)

    Katello est l'amont (upstream) de Red Hat Network Satellite 6. Cela permet de déployer et de faire la gestion des systèmes (mises à jour et configurations centralisées, entre autres). La version 2.0 a été publiée le 12 septembre 2014.

    Katello

    RHN permet de gérer les serveurs et les postes client, en proposant des paquets différents au besoin, assurant les mises à jour de sécurité (à la main de l'administrateur qui peut choisir de les déployer au fur et à mesure). Installer Katello en interne sert comme proxy pour déployer en entreprise, sans avoir à relier les postes à Internet pour assurer les mise à jour du système.

    Katello réunit les capacités de gestion de contenu avec les fonctionnalités de fourniture et configuration de Foreman. Ce dernier est un outil de gestion du cycle de vie des systèmes qui permet la fourniture, la configuration et la supervision de serveurs physiques et virtuels.

    Katello utilise :

    • ​Candlepin - gestion des abonnements
    • Pulp - gestion de dépôts et de contenus
    • ​Foreman - fourniture et configuration de serveurs

    Lire les commentaires

  • PKI open source: retours d'experience ? (Journaux LinuxFR)

    Cher journal,

    il me prend l'envie de monter et tester une PKI open source.
    Après une rapide recherche sur le net, je vois:
    EJBCA:
    http://www.ejbca.org/features.html
    OpenCA:
    http://www.openca.org

    Avez vous déjà testé / installé une de ces PKI ? quelqu'un a t il un retour d'expérience, ou d'autres PKI open source (à peu près matures) à proposer ?

    Lire les commentaires

  • Tutoriel : Comment utiliser la forge GitLab du labo pour gérer un projet ? (Laboratoire Linux SUPINFO)

    Initialiser un nouveau projet :

    1. Créer un compte sur la forge : http://code.labo-linux.org/users/sign_up
    2. Se connecter : http://code.labo-linux.org/users/sign_in
    3. Ajouter votre clé SSH : http://code.labo-linux.org/profile/keys
    4. Créer un nouveau projet : http://code.labo-linux.org/projects/new
    5. Suivre les instructions de lignes de commande GIT à exécuter pour initialiser le dépôt

    Le dossier ainsi créé va suivre les modification de tous vos fichiers. Vous devez maintenant apprendre à utiliser GIT en suivant dans l'ordre cette série de tutoriels : https://www.atlassian.com/fr/git/tutorial

    Si la ligne de commande vous rebute, il y a un client multiplateforme extrèmement complet : http://www.syntevo.com/smartgit/download (veillez à prendre la licence complète gratuite à usage non commercial).

    Pour que le versionnage soit utile, il faut Commit/Push à chaque fois que quelque chose est complété (comme un bug, une fonctionnalité, etc). Cela évite d'avoir des régressions et de pouvoir faire machine arrière le cas échéant.


    Découper son projet en toutes petites étapes :

    Cela permet d'y voir plus clair et de savoir par où commencer. Vous augmenterez votre motivation en évitant la paralysie de la feuille blanche.

    1. Se rendre sur l'interface Issues de votre projet (les liens sont à adapter) : http://code.labo-linux.org/root/demo/issues
    2. Cliquer sur New issue
    3. Décrire une tâche de l'ordre de « faire un hello world avec le framework X », « gérer le login/logout », « envoyer un email sur telle action », « créer une page de statistiques » ...
    4. Optionnellement, vous pouvez rattacher ces issues à des milestones (c'est un jalon, une version)


    Autres fonctionnalités utiles :

    1. Dans les champs texte, GitLab gère des symbols actifs comme le "@" (vous suggèrera les pseudos des membres) et le "#" (vous suggèrera vos issues).
    2. Préciser le numéro d'une issue dans un message de commit créé un référencement du commit dans l'issue. Exemple : le message de commit "Hello World #1" fera apparaitre un nouveau commentaire "mentionned in commit xxxxxx" dans l'issue n°1.
    3. Vous pouvez fermer automatiquement des issues dans vos messages de commit ! À découvrir en lisant ceci : https://about.gitlab.com/2013/09/22/gitlab-community-edition-6-dot-1-released/


    Git est un outil extrèmement puissant que vous découvrirez au fur et à mesure de vos besoins. Travailler en équipe requiers une réelle organisation en dehors de l'outil : répartition de tâches, tests préalables avant toute mise en commun pour limiter l'instabilité du logiciel, découpage en jalons, etc.

    Vous trouverez des réflexions sur les « workflows » (manière de s'organiser) sur cette page : https://www.atlassian.com/fr/git/workflows


    Gestion de projet plus globale

    La gestion d'issues proposée par GitLab ne peut pas se soustraire à une gestion d'équipe plus globale. Les Méthodes Agiles que vous découvrirez pendant votre cursus proposent de grands concepts qui évitent à de votre groupe de s'enrayer :

    1. Une réunion de départ qui dégage les jalons du projet, c'est à dire un premier découpage de ses grandes étapes qui n'entre pas dans le détail mais permet de fixer des échelles de temps
    2. Une revue hebdomadaire obligatoire, qui permet de définir à l'avance un objectif court terme pour l'équipe
    3. Un point journalier rapide, même s'il ne s'est rien passé, où chaque membre de l'équipe doit avouer ses difficultés et exprimer ce qui a été fait. Cela permet d'identifier au plus tôt qui a besoin d'aide.
    4. Une revue de projet (et une seule) toutes les deux semaines / un mois pour statuer sur l'avancée du jalon en cours ainsi que sur la prévision du prochain.

    Cette structuration de l'équipe par des cérémonies ponctuelles dans le temps neutralise l'effet « sous-marin » et permet à chaque membre de l'équipe de savoir où se situent les autres.

    L'objectif n°1 de ces méthodes est de faire passer le client et la qualité du logiciel avant toute chose. En itérant régulièrement, votre travail évoluera sur des bases saines car validerez au fur et à mesure qu'il correspond toujours aux attentes du client. La gestion des bugs devient ainsi prioritaire sur les fonctionnalités, si cela est pertinent. Ce fonctionnement est en totale opposition aux cahiers des charges dont le but est de figer un processus jusqu'à son aboutissement.

    Les Méthodes Agiles sont un genre de framework qui délimite bien d'autres routines d'équipe qui ne sont pas toujours adaptées à la situation : à vous de prendre ce qui vous plait ! C'est l'essence même de ces méthodes.