Planète auto-hébergement

2016-05-21

Contributions #2

Voici une brève d'un certain nombre de mes contributions de ces trois derniers mois. Le but est de montrer qu'il y a plein de choses à faire et que chaque petit pas contribue à faire avancer le Libre.

Associations

Je me suis lancé à donner un coup de main à framasoft et la quadrature.

  • Un relecture d'une page web sur les NAS pour le site controle-tes-donnees et j'ai par ailleurs démarré deux autres tickets, un premier pour parler de CHATONS (je propose un texte) et un second pour réfléchir au contenu des pages auto-hébergement. N'hésitez-pas à contribuer.
  • Chez framasoft, j'ai aidé à la révision de la charte et aussi et émis une idée. Cette structure est très intéressante et je vais continuer à m'investir pour favoriser l'émergence.
  • De plus, j'ai démarré une liste de potentiels chatons ce qui permettra de démarcher des structures existantes et aussi d'avoir une idée plus précise de ce à quoi ça peut ressembler.

Archlinux

  • J'ai créé un paquet archlinux pour trimage. Ce serait intéressant de retravailler un peu sur le code et passer à python 3. Les derniers commits datent de trois ans.

Scikit-image

Scikit-image est une bibliothèque Python pour le traitement d'images (scientifique), que j'utilise assez souvent. Il y avait longtemps que je n'avais pas contribué, alors je m'y remets.

  • Suite à une utilisation avec des choses qui ne me plaisaient pas, je me suis lancé dans la relecture du code des fonctions de transformée de Hough pour les lignes. Ca m'a pris pas mal de temps pour me rendre compte qu'une précision manquait dans la doc et qu'il y avait une erreur dans la signature d'une fonction cython. Je tente aussi de mettre en place une détection de pic subpixellaire, mais ce n'est pas gagné.
  • J'ai apporté une correction de bug à cause d'un morceau de code qui n'avait pas été testé dans toutes les combinaisons d'option possible. C'est une fonction portant sur la détection de pics locaux.

Python

  • Suite à une analyse de performance de code de feedparser, j'ai créé un petit patch dont une partie a été fusionné. J'espérais pouvoir gagner plus en me lançant dans cette analyse, mais l'étude fût instructive.
  • Suite à mes activités d'empaqueteur pour archlinux, j'ai ouvert un ticket chez pandas lié à numexpr. Je suis tombé sur un dev assez peu agréable et le ton est un peu monté. Face à ça, j'ai arrêté de commenter et il a corrigé le bug tout seul. Une remarque : ce n'est pas parce que le bug tracker enregistre plusieurs milliers de tickets qu'il faut expédier les nouveaux sans analyser finement ce qui se passe et prendre le temps de poser les questions. Sur le long terme, c'est contre-productif.

Divers

  • J'utilise Jirafeau comme hébergeur de fichier et j'ai créé un petit patch pour que le script bash renvoie tous les liens.
  • Pour bibtexbrowser, j'ai proposé que l'url de jquery soit une variable. Ainsi, on permet au websmaster de respecter la vie privée des utilisateurs en utilisant sa propre installation.
  • Un rapport de bug pour simple-scan dont la fenêtre d'enregistrement n'est pas très intuitive pour les personnes ne comprennant pas le sens d'une extension de fichier. Or, ce logiciel s'adresse à ce type de public.

2016-05-19

Mon Flame s’est éteint




Quel titre de billet foireux pour une situation traumatisante : mon smartphone, un Flame sous Firefox OS vient de s’arrêter pour ne plus redémarrer. J’étais fier, très fier de ce téléphone. Mon équipement dégageait une fierté que je ne rechignais pas à endosser.

En arrivant au boulot, hier matin, j'ai posé mon téléphone sur mon bureau. Quelques minutes plus tard, je le laisse me glisser des doigts alors que je voulais simplement consulter un SMS. La chute est terrible, 2 cm de haut.

Je suis brisé pour le reste de la journée : il s'est coupé, je n'ai pas réussi à le réanimer.

Il faut maintenant que je pense au futur. Je tourne maintenant avec l'Open C que je réservais aux tests de B2G OS. Il ne peut plus remplir ce rôle maintenant qu'il est devenu mon téléphone principal.

Je me penche vers un Fairphone 2, le smartphone équitable. Les caractéristiques ne sont pas incroyables mais largement suffisantes pour mon usage. Il embarque un système de rechange des pièces défectueuses, gage de longévité. Et en plus, la coque bleue mate est superbe.

Bref, si vous avez des idées de téléphones chouettes, je suis preneur parce que le Fairphone 2 caracole à 525 euros, tout de même.


<noscript></noscript>

2016-05-18

Construire notre communication : blogs, planets, journaux...

A l'heure actuelle, j'écris sur ce blog, relayé par ces deux planets et parfois par le journal du hacker (jdh) pour lequel j'ai un peu contribué. Deux article récents, un premier par un contributeur du jdh et un second par un contributeur du planet-libre. pose des analyses quant à l'avenir des planets, ces sites relayant par le biais de flux rss, des articles de blog.

L'un des constats serait une baisse du nombres des blogs et des articles publiés, et donc de l'intérêt des planets. J'ai bien vu ces deux articles, et j'y avais donc réfléchi sans prendre la peine de l'écrire. Je le fais donc maintenant suite à une invitation indirecte.

Les blogs ont-ils un avenir ?

Sur l'intérêt des blogs, ça me semble essentiel. C'est ce qui fait partie de la culture Hacker, avec les wikis pour documenter ce que l'on fait. En deux mots, le terme Hacker recouvre ici toute personne ayant une activité de détournement d'objet afin de résoudre des problèmes pour lesquels ils ne sont pas destinés ainsi que la construction de l'informatique avec l'esprit du logiciel libre. Sans prétention aucune, c'est pour cela que j'ai les deux formes (blog.sciunto.org et share.sciunto.org). Le blog est en français (pour l'instant), le wiki en anglais. Ces deux formes sont complémentaires, l'un formant un carnet de bord, l'autre une documentation plus pérenne.

 L'intérêt des planets

L'intérêt d'un planet est de mettre en valeur les activités des acteurs d'un domaine. Le fait qu'il y ait plusieurs planets n'est donc que la conséquence de l'existence de divers groupes qui se chevauchent. Il reste selon moi un formidable tremplin pour communiquer. La duplication des articles pour certains lecteurs n'est selon moi pas un problème majeur. Je peux très bien suivre le planet-python mais pas le planet-debian et pour autant être intéressé par un article python appliqué à debian.

 Le relais ou la communication par les réseaux sociaux

Je ne suis pas adepte des réseaux sociaux. Les modèles de type facebook enferment les données et espionnent les activités. Je n'ai aucune idée de ce qui peut se dire sur ces réseaux. Le modèle me semble contraire à mon éthique, je n'y vais donc pas. Les modèles de type twitter sont ouverts, mais ont un ratio signal/bruit très souvent faible. De plus, mon observation me pousse à conclure que cette outil donne une illusion de visibilité : un buzz chez les convaincus, mais invisible au delà..

Le journal du hacker

Le modèle du jdh a des intérêts mais aussi des défauts selon moi. Déjà, je tiens à saluer l'initiative parce que c'est une belle façon de partager de l'information avec un outil intéressant. Par contre, je déplore la ligne éditoriale.

Trop d'articles bas de gamme sont relayés, notamment avec des sites professionnels qui ont pignon sur le web, dont les articles sont en carton : du journalisme classique se contentant de relayer de l'information avec de l'enrobage, des titres accrocheurs et une réflexion au degré zéro de la pensée.

L'autre problème est qu'il n'y a que quelques contributeurs qui publient beaucoup. La diversité n'est pas au rendez-vous et en postant des liens à tour de bras, on n'a pas une sélection d'articles qui ont ce quelque chose qui les rendent uniques. En effet, à chaque lien posté, il n'y a que rarement une justification de l'intérêt du lien. Les discussions sont par ailleurs quasi inexistantes contrairement à hacker news dont le jdh est un clone francophone libre. Donc, le jdh devient un planet bis avec, en plus, des articles moins intéressants à mes yeux. J'en suis venu à filtrer les noms de domaines pour faire une pré-sélection drastique.

Enfin, dernier point, dans jdh (journal du hacker), il y a hacker, et je vois trop peu de choses sur la bidouille d'objets physiques (contrairement à Hackaday), ce qui est bien dommage.

Vers un idéal ?

Hackaday représente selon moi un modèle de ligne éditoriale et s'il y avait quelque chose à reprendre, ce serait bien cette forme là, mais avec une meilleure répartition entre "software" et "hardware". Ils sont d'avantage dans un modèle où ce sont des lecteurs ou des rédacteurs qui viennent proposer leurs articles en plus de la veille de leurs contributeurs. Si une page est intéressante, un petit laïus avec éventuellement une photo ou vidéo est rédigé, avec parfois des liens vers des articles antérieurs publiés sur hackaday. A ma connaissance, ceci n'existe pas en français et il est évident que ça demanderait de l'énergie à construire une solution similaire.

Aquaris M10 Ubuntu Edition : les trucs cools




Après avoir commencé par descendre la tablette dans un billet qui se veut le plus honnête possible, voici la suite de mon test qui s’intéresse maintenant aux trucs vraiment cools. J'annonce déjà que je m'amuserai à rayer les ennuis quand ils seront corrigés, histoire de ne pas maintenir en ligne des critiques devenues obsolètes.

Des mises à jour toutes les 6 semaines

Les mises à jour, c'est important. Le rythme des mises à jour, c'est une marque de dynamisme agréable. Ubuntu et ses développeurs se démènent pour nous pondre des OTA (Over The Air) toutes les 6 semaines, sans hésiter à nous annoncer que la prochaine sera à l'heure, ou pas. La prochaine, c'est la 11. Elle devrait arriver officiellement vers le 24 mai mais on sait déjà qu'elle sera en retard d'une semaine, pour le moment. Ils communiquent ! On pourrait dire que c’était un problème chez Mozilla et que ça ne le sera pas pour Canonical. Youpi !

Les WebApps

Ça, c'est super, vraiment. C'est déjà ce que j'aimais avec Firefox OS et que j'entends voir perdurer avec B2G OS. Les WebApps, même si je ne suis pas certain que ce soit le nom qu'Ubuntu Touch utilise, sont des pages web utilisables comme des applications classiques. Une sorte de lien qui vient se glisser dans la liste des applications et qu'on peut mettre en favoris. J'adore. Mon lecteur de flux RSS, mon ownCloud, Mediapart, etc sont déjà en mode WebApps dans ma tablette. Le bonus, c'est qu'on évite le navigateur classique et qu'on profite du contenu en plein écran, tout en gardant le cookie d'authentification. Rien que pour ça, cet appareil vaut le coup, clairement.

La gestuelle

J'ai déjà posté des captures d’écran qui les montrent sur diaspora* , les mouvements de doigts permettent de se balader tranquillement en laissant des traces de gras de droite à gauche et de haut en bas intuitivement. On peut même afficher deux applications côte à côte, un point fort quand on ne veut pas forcement passer en mode bureau pour vérifier la charge d'un serveur depuis un terminal, glissé sur le coté, quand on affiche son contenu.

L’équipement de bureau

C'est de la convergence que je parle ici : une souris branchée via un adaptateur micro USB et un clavier bluetooth transforment votre tablette en outil de travail convenable. J'ai déjà profité d'un mal de dos pour écrire quelques conneries dans mon lit. Bon, je dois m’habituer à un nouveau clavier, soit, mais l'effort en vaudra la chandelle, j'en suis persuadé.

L’accès au terminal

En bon geek/admin/DevOps/WebOps/*, j'ai toujours besoin de pouvoir démarrer un terminal. C'est une utilité de niche, mais c'est ultra important pour le public que cette Aquaris M10 doit séduire pour le moment : les techniciens.
Ouvrir un terminal pour se connecter à un serveur distant via SSH : impeccable. Ouvrir un terminal pour bidouiller la tablette et modifier la gestion de l'agenda pour y greffer ses calendriers partagés ownCloud : fait. Installer un paquet pour la tablette : fait. Bidouiller la tablette depuis une connexion directe via le terminal de mon fixe : fait aussi.
L’accès au terminal n'offre pas toute la puissance de celui qu'on peut trouver dans Ubuntu Desktop, de part la gestion des applications, mais c'est bien assez puissant pour rendre de fiers services.

L’écran

C'est un truc bateau, mais je remarque tout de suite la différence entre l’écran de mon Flame et celui de mon Aquaris. Soit, ce n'est ni le même matériel ni la même gamme de produits, mais il faut quand même souligner la propreté de l'affichage et la bonne définition de l’écran. Pour certain, cette remarque passera pour un truc de l'ordre de l’anecdotique, mais pas pour moi.


Ça sera tout pour ce billet. Je pourrais parler d'autres éléments mais ça ne consisterait qu'à confirmer que c'est un outil portable qu'on peut trimballer partout et utiliser en quelques mouvements de doigts alors autant ne rien dire. J'en profite dans le train, dans le canapé du salon, dans le salons de mes amis, et plus généralement partout où je n'ai absolument pas envie de me trimballer un PC portable ni me concentrer sur le petit écran de mon téléphone.

Mon sac à dos me remercie, tout comme mon dos et mes épaules.


<noscript></noscript>

2016-05-17

L'extension Grammalecte enfin disponible pour Firefox




Oh joie, oh bonheur ! Grammalecte est enfin disponible en tant qu'extension pour Firefox ! L'annonce officielle est disponible ici et l'extension est téléchargeable ici.

Avec cette extension, vous n'avez plus d'excuse si vous laissez passer des fautes dans vos billets, et moi le premier. J'ai l'habitude de laisser les commentaires qui me signalent des coquilles et d'attendre les messages privés de Phipe via diaspora* pour corriger mes billets.

Bon, après, je dis ça alors que je découvre tristement que la fenêtre de saisie du texte d'un billet de PluXml n'est pas prise en compte par Grammalecte alors que la zone de saisie du titre du billet l'est. #Tristitude

Nul doute que ça sera corrigé dans une future version de l'extension ou dans la prochaine version du CMS. Ça se trouve, ce n'est qu'une histoire de balise HTML mal placée.

j'en profite pour fanfaronner : cette extension n'est disponible que sous Firefox. Si ça, ce n'est pas une bonne raison pour bon nombre d'entre nous qui aurait lâché le butineur de Mozilla au profit de celui de Google pour revenir dans le droit chemin, j'sais pas ce qu'il faut pour vous convaincre ! ;-)


<noscript></noscript>

2016-05-11

La brique internet : contourner son FAI par un VPN ou tor

Je viens de lire le billet de aeris concernant la fabrication d'une torbox. Il me semble que la brique internet conçue par des contributeurs de FFDN et yunohost est trop méconnue. Courte présentation.

La brique internet consiste en un ordinateur à faible consommation possédant une carte ethernet et une antenne wifi. Le principe est de connecter cette brique au modem-routeur et d'émettre un wifi qui redirige la communication sur un VPN. Ainsi, le FAI ne voit que des communications chiffrées avec un VPN.

Quelques cas d'utilisations :

  • Chez soi, on a un réseau wifi propre sans configuration VPN des clients.
  • Cette brique peut être intéressante pour l'autohébergement car elle permet de disposer d'une IP fixe du VPN et de ne pas avoir à se préoccuper d'un FAI ne fournissant pas d'IP fixe ou bloquant des ports.
  • En déplacement chez des amis, on a son propre accès internet.
  • Avoir un accès tor en plus de l'accès VPN sur un réseau wifi séparé
  • Mettre en place un espace de partage (piratebox)
  • Faire tourner quelques services (mais pas trop gourmand en ressources) comme du RSS, filtrage email, petit site web.

Le coût total est de 80€, mais on peut l'obtenir pour env. 60€ si on passe par FFDN. Pour l'installation, il suffit de suivi cette documentation Yunohost très didactique. Pour une présentation plus exhaustive (au moment où la réalisation était encore en cours), voici une conférence à PSES2015.

2016-05-10

Aquaris M10 Ubuntu Edition : les trucs qui m’énervent




Maintenant que j'ai posé les bases de mon test de la tablette Ubuntu, je peux commencer par les trucs qui m’énervent. Ça me permet d’évacuer rapidement mes frustrations et de pouvoir par la suite parler des choses bien plus intéressantes.

Pas de tri, pas de classement par importance, je vais juste lister ce qui m'emmerde ou simplement m’agace. La forme n'a pas non plus de signification particulière si ce n'est celle de râler proprement, si c'est possible.

Chrome, le navigateur par défaut

Oui, vous lisez bien, Chrome est le navigateur par défaut de la tablette. Pour un fan de Mozilla Firefox comme moi, c'est une grosse claque. Je sais qu'il y a des débats réguliers sur quel devrait être le navigateur par défaut des distributions GNU/Linux mais Firefox est toujours resté la base, le symbole du beau et du bon navigateur libre. Sur la tablette Ubuntu, ils n'ont pas fait ce choix.
Firefox est tout de même présent et utilisable mais en version bureau principalement. On voit très vite que l’intégration mobile n'est pas faite, d’où le choix de Chrome.

L’intégration mobile, un gros work in progress

La convergence voulue par Ubuntu avec sa tablette est une idée très chouette : basculer d'une interface tablette à une interface de bureau classique, j'aime vraiment. Par contre, on se rend vite compte que le travail va être long et qu'il va falloir adapter un nombre incalculable d'applications à ce double choix. Pour le moment, quand on traîne sur Firefox ou The GIMP, le curseur de la souris ne change pas au survole d'un lien alors que c'est quelque chose qu'on n'imagine plus. C'est perturbant et un peu gênant de par la taille de l'affichage de la tablette.
De plus, en mode tablette, je pensais pouvoir lancer de la musique via Sonerezh tout en naviguant sur le net. Mais non, les applications en tache de fond s’arrêtent, la musique se coupe. Arg. Autre chose dans le même genre : les onglets du navigateur se rafraîchissent quand on passe de l'un à l'autre et bordel que c'est chiant quand on bascule de diaspora* à FreshRSS. Surtout quand les flux lus réapparaissent comme ne l’étant plus. Pourquoi ?!

Branchez votre clé USB, ou pas

C'est un truc simple que je voulais faire rapidement : faire comme tout le monde et regarder des vidéos sur ma tablette, surtout qu'avec l'Aquaris, on ne passe pas par Google Play ou iThunes pour payer de la cochonnerie pleine de DRM. Bref, faire une action simple qu'une tablette sait faire de base, d’après moi. Eh ben, ça ne marche pas encore. J'ai testé plusieurs clés USB, pas mal de formats (Ext3, Ext4, NTFS, FAT) et rien n'y fait. Pas moyen de lire le contenu d'une clé USB. #Tristitude temporaire et je suis persuadé que ça sera vite corrigé.

Ubuntu 16.04 ? Non.

C'est bien la version 15.04 qui fait tourner l'Aquaris M10. Alors ça, c'est autant un truc rageant que source d'une joie future. Pour le moment, on se coltine une version qui vient de fêter ses 1 ans d’existence alors qu'on s'est tous procuré cette tablette fin mars pour une livraison fin avril et la sortie en grande pompe de la nouvelle LTS, la 16.04. J’espère donc pouvoir vite passer en 16.04 et profiter des optimisations et mises à jour des paquets qui font tourner le bousin.

Non mais franchement, c'est quoi ce débit ?

Je ne sais pas si c'est la faute de la tablette ou la faute de l'application que j'utilise mais c'est quoi ce débit quand on fait un copier/coller ? C'est terriblement lent ! Copier la dernière émission d'@SI de 450 Mo prend un temps scandaleusement long du disque dur de ma Freebox au disque de ma tablette. Mon petit doigt me dit que c'est souci au niveau de l'application et pas de l'OS puisque passer par le navigateur pour télécharger le même fichier via mon instance ownCloud est bien plus rapide.
Enfin, j'vous laisse imaginer le bordel : pas de clé USB, un copier/coller lent depuis le réseau local et un passage obligé par le cloud pour ramener de la donnée à bon port...

Il est pourave le doublage

Que ce soit avec Youtube, avec une vidéo sur la carte de la tablette ou un fichier lu depuis une clé USB..., le son est complètement décalé. Il parait que certains s'en sortent en tapant une ligne de commande magique mais j'avoue ne pas avoir du tout envie d'aller jusque-là pour voir le dernier e-penser.

Han, l'autonomie

Alors ça, comme je ne connais pas du tout les autres tablettes du commerce, je ne soupirerai qu'à moitié : l'autonomie me semble franchement bonne. Deux heures en jouant à un super TD ne met pas la batterie à plat. J'peux encore lire des trucs et revenir au petit déjeuner, elle tient la route. Par contre, pour la recharger, c'est d'une lenteur. Je n'ai pas calculé, mais c'est lent, trop lent. Après, j'sais pas si c'est le type d’appareil qui veut ça ou si c'est le choix des composants.

Synchronisation des comptes, ou pas

Comme à l’époque avec FirefoxOS : pas de support de CardDav ou de CalDav. Le premier permet de synchroniser ses contacts et le deuxième permet de gérer ses agendas. En bon utilisateur de ownCloud, c'est frustrant de ne pas pouvoir synchroniser ma tablette avec mes outils de tous les jours.
Ah, si, quand même : on peut récupérer les infos de ses comptes.. Google et Evernote.
Je reviendrai sur ce point dans un autre billet parce qu'en fait, si, on peut s'en sortir avec quelques lignes de commandes. C'est tout sauf pour les Michus mais c'est faisable quand on n'a pas peur de sortir le terminal.

J'vais m’arrêter là, c'est déjà pas mal. On a une petite idée du boulot qu'il reste à faire, et qui est en cours.
Maintenant, les prochains billets pourront se concentrer sur les trucs vraiment cools. Bah oui, vous avez la liste des trucs chiants, ça veut donc dire que tout le reste est bien !


<noscript></noscript>

2016-05-05

Faille critique dans ImageMagick

logo-mediumUne faille critique dans ImageMagick permet de lancer facilement des commandes sur votre serveur par un simple upload d’image.

C’est à la portée de toute personne sachant lancer une commande dans un terminal.

En attendant le patch, pour s’en prémunir il faut modifier le fichier policy.xml (/etc/Imagemagick/policy.xml et /etc/Imagemagick-6/policy.xml sur Debian) afin d’y contenir ces règles :

<policymap>
  <policy domain="coder" rights="none" pattern="EPHEMERAL" />
  <policy domain="coder" rights="none" pattern="URL" />
  <policy domain="coder" rights="none" pattern="HTTPS" />
  <policy domain="coder" rights="none" pattern="MVG" />
  <policy domain="coder" rights="none" pattern="MSL" />
  <policy domain="coder" rights="none" pattern="TEXT" />
  <policy domain="coder" rights="none" pattern="SHOW" />
  <policy domain="coder" rights="none" pattern="WIN" />
  <policy domain="coder" rights="none" pattern="PLT" />
</policymap>

Related Posts:

J'aime !(2)Je n'aime pas !(0)

Internet vraiment illimité chez Belgacom/Proximus

Chez Belgacom/Proximus, le plus gros FAI belge, l’abonnement internet avec volume illimité est en fait limité. Dès que vous atteignez 300 GB (download+upload) dans le mois , vous recevrez ce mail :

belgacom limitéPour info, 3Mbps c’est 0.375 Mo/seconde. Donc invivable depuis que les pages web font plusieurs Mo à cause de la pub vidéo et des dizaines de scripts de tracking.

Si on va sur leur site web, on galère comme un fou pour trouver la seule icône qui permet d’accéder à la seule page qui permet d’accéder à l’option et après 7 clics sur différentes pages web on peut enfin activer ces 20Gb gratuits de plus. Je vous conseille de le faire depuis une autre ligne car avec 3Mbps, vous allez y passer 20 minutes.

20GB, ça dépanne un moment mais pas longtemps. Pour rajouter encore 20 GB gratuits, il faut refaire la procédure des 7 clics sur différentes pages web à cliquer. Donc la galère.

Et tous les mois, le forfait retombe à 300GB….

C’est expressément fait pour faire chier le client. Est ce que je leur demande une facture manuscrite par paquet de 10 euros?

Donc j’ai pondu un script Python+Selenium qui automatise l’ajout de volume à son forfait Internet : belgacom_add_volume_pack.py

Ça se lance ainsi:

$ python belgacom_add_volume_pack.py toto@email.com motdepasse 10

Le dernier nombre indique la quantité de volume (de 20GB chacun) à ajouter. Avant ce sont bien sûr vos identifiants Belgacom.

Voila, je me sens plus à l’aise.
Pour le fun, on peut même demander quelques Térabits :-)

Capture d'écran de 2016-04-27 00:13:53

Related Posts:

J'aime !(4)Je n'aime pas !(0)

2016-05-04

Une Aquaris M10 Ubuntu Edition, ça donne quoi ?




Vous n’êtes pas sans savoir que je me suis jeté sur la première tablette sponsorisée par Ubuntu. C'est une Aquaris M10 aux spécifications classiques , je crois.

Je vais commencer une série de billet sur cette nouvelle bête qui vient s'ajouter entre mon PC de bureau, mes PC portables et mon smartphone sous Firefox OS. Cela fait presque deux semaines que je la trimballe dans ma sacoche, je commence un peu à m'y faire.
Avant d'y aller franco, j'ai envie de revenir sur les tablettes parce que c'est important de comprendre de quel genre d'outil on parle.

Une tablette, c'est un outil sacrément passif. Ce que je veux dire par passif, c'est qu'on ne fait que consulter des informations disponibles sur le réseau. Quand j'ai reçu mon jouet, à part lire mon flux RSS dans le train avec un certain confort, je ne savais pas trop quoi faire d'autre. J'ai aussi écouté ma musique disponible via mon instance Sonerezh et parcouru les dernières publications sur diaspote.org, mon pod diaspora*. Tout ça, c'est très passif. On ne fait rien, on consulte.
En disant ça, je me place en mauvais utilisateur de ces outils : je ne suis pas un mec passif. J'adore bidouiller, tester, détourner. Une tablette, ce n'est pas fait pour ça et cette Aquaris M10 n’échappe pas complètement à la règle.

Ceci dit, j'ai quand même des grands espoirs : le but principal de cet achat n’est pas uniquement d'encourager l'initiative mais d'ajouter un outil à ma vie de baroudeur. Souvent dans les transports, routard quand je le peux, partant toujours à droite ou à gauche, je mérite un peu mon nouveau surnom : le SDF. Avec une tablette et quelques accessoires sur lesquels je me suis jeté : un clavier bluetooth et un adaptateur pour pouvoir y brancher une souris, cette tablette sous Ubuntu se transforme en station de travail bien plus agréable à trimbaler que mes vieux et gros ordinateurs portables. Elle n'a pas leurs fluidités, certes, mais ça ne me dérange pas. J'ai très souvent besoin d'un navigateur, d'un terminal, de modifier une photo avec The GIMP et d’écrire des broutilles et l'Aquaris fait le taff.

Bref, c'est un nouveau mode d'utilisation de l'outil informatique auquel il faut se plier aux nouveaux codes. Ce n'est pas aussi simple qu'il y parait. Heureusement, le mode bureau fait, je trouve, des merveilles même si le matériel, ou l'OS, ou les deux souffrent non pas du changement d'interface qui est d'une fluidité parfaite, mais du déplacement des fenêtres des applications qu'on sent poussif. Franchement, c'est un détail et l'utilisateur de Firefox OS que je suis vous affirme et vous confirme que le temps et des développeurs peuvent faire du très très bon travail sur du matériel qui ne change pas !

On se retrouve dans quelques jours pour les premiers billets sur l'utilisation et la bidouillabilité de mon jouet. En attendant, je continue à découvrir de quoi m'extasier devant. J'avais beaucoup de méfiance, je suis passé par plusieurs déceptions, mais comme c'est de l'Ubuntu et que ses premiers utilisateurs sont des bidouilleurs, chaque jour apporte des nouveautés et des manipulations à faire pour en profiter de plus en plus !



<noscript></noscript>

2016-05-03

Comment débloquer un PC dont on aurait perdu le mot de passe administrateur?

Parfois on tombe sur une machine dont on a perdu le mot de passe administrateur. Faut-il tout réinstaller? Heureusement non. Voici 2 techniques pour reprendre la main sur l’ordinateur :

Linux

Au bootloader, appuyer sur « e » pour entrer dans le mode édition.

debian grub

Cherchez la ligne qui contient « linux vmlinuz-« . Dans cette ligne remplacez « ro » par « rw » et ajouter « init=/bin/bash » à la fin de la ligne.

Appuyez sur F10 pour démarrer avec ces modifications (temporaires). Vous arriverez sur un terminal en root. De là vous pouvez :

  • changer le mot de passe d’un utilisateur existant :
    passwd TOTO
  • créer un nouvel utilisateur :
    adduser TOTO
  • supprimer un nouvel utilisateur :
    deluser TOTO

Windows

Accédez à la partition Windows depuis un autre système (Live CD/USB linux, Windows Install disk rescue mode).
Remplacez le fichier C:\windows\system32\utilman.exe par une copie de C:\windows\system32\cmd.exe

Lorsque vous redémarrerez Windows et arriverez devant l’écran de login, pressez la combinaisons de touches Windows +U sur le clavier.

Command-prompt-on-the-Windows-10-login-screen

Plutôt que de lancer l’outil d’aide pour malvoyants (utilman.exe) c’est une console (cmd.exe) avec les droits root qui s’affichera. De là vous pouvez :

  • connaitre la liste des utilisateurs:
    net user
  • changer le mot de passe d’un utilisateur existant :
    net user TOTO MOTDEPASSE
  • créer un nouvel utilisateur :
    net user TOTO MOTDEPASSE /add
  • donner les droits root à un utilisateur :
    net localgroup Administrators TOTO /add
  • Supprimer un utilisateur :
    net user NewGuy /delete

A noter que vous ne pouvez pas utiliser cette technique pour modifier le mot de passe d’un compte en ligne Microsoft (nécessaire pour utiliser le Microsoft Store sur Windows 10). En effet, dans ce cas, c’est Microsoft l’administrateur du compte… Mais on peut heureusement créer un autre compte administrateur en local pour accéder à sa machine quand même !

Protection

Comme vous le voyez, c’est assez facile pour quelqu’un avec un accès physique à la machine de prendre le contrôle de la machine. Pour vous en protéger, il y a plusieurs solutions :

  • Verrouiller la séquence de démarrage ( mettre un mot de passe à GRUB si vous utilisez linux, verrouiller le disque utilisé pour le démarrage le BIOS, mettre un mot de passe au BIOS, verrouiller l’accès à la carte mère par un locker : sinon, on peut remettre les réglages du BIOS par défaut en bougeant un jumper sur la carte mère)
  • Chiffrer le contenu du disque. Pas de redémarrage possible sans votre accord. Empêche à priori tout vol de vos données. Mais on peut toujours mettre un keylogger pour récupérer votre mot de passe de chiffrement.

Related Posts:

J'aime !(10)Je n'aime pas !(1)

2016-04-29

Faille de sécurité pour gitlab. Correction le 2 mai

Gitlab a annoncé l'existence d'une faille de sécurité CVE-2016-4340. On ne connait pas encore les détails de cette dernière. D'après hacker news, de nombreuses versions sont affectées :

  • 8.7.0
  • 8.6.0 à 8.6.7
  • 8.5.0 à 8.5.11
  • 8.4.0 à 8.4.9
  • 8.3.0 à 8.3.8
  • 8.2.0 à 8.2.4

Gitlab annonce un correctif le 2 mai, publié à 23:59 GMT.

L'annonce à l'avance de la faille fait craindre une monté en privilège assez facile de la part d'un attaquant. Sur les commentaires de hacker news, il est indiqué qu'une analyse post-mortem sera effectuée.

En attendant, j'ai choisi de stopper mon instance gitlab avant la publication du correctif, afin d'avoir le temps de l'appliquer sereinement.

Adapter les commentaires de PluXml 5.5 à son thème




Avec la sortie de la version 5.5 de PluXml est arrivée une nouvelle gestion des commentaires. C'est principalement la gestion de la réponse à un commentaire existant qui est mieux mise en avant. Je vous laisse traîner dans les commentaires des derniers billets de ce blog pour voir le changement simple mais bienvenu.

Quand on utilise un thème perso, comme celui de ce blog, cette nouveauté n'est pas effective. Pluxopolis nous a sorti un billet expliquant comment faire pour en profiter : c'est par ici. La manipulation est simple, foncez vous mettre à jour.

Je profite de cette mise à jour du thème pour pousser ces modifications sur son dépôt Github. Ce n'est pas grand chose, mais ça me permet de vous rappeler que ce thème n'est pas seulement le mien, c'est aussi le votre si vous le voulez.


<noscript></noscript>

2016-04-27

Senya répond à mes questions après le succès de sa campagne de financement participatif





J'ai honte. Cela fait un mois que Senya m'a fait le plaisir de répondre à mes questions et c'est seulement maintenant que j'en sors la traduction. J’espère que vous apprécierez autant que moi les réponses à ces quelques bafouilles. Le texte orignal en anglais est disponible par ici (en).
La campagne ayant commencé, vous pouvez suivre son aventure via ce tag.

Commençons par une présentation classique. Est-ce que tu peux nous en dire un peu plus sur toi ?

Je m'appelle Senya et je suis un développeur de logiciels russe. Je fais aussi de l’activisme en aidant les utilisateurs de logiciels libres autour de moi tout en en faisant la promotion. J’ai 25 ans. J’ai commencé à coder à 14 ans et j’ai dégoté mon premier travail en tant que développeur junior à 17 ans. Il y a un an, j’ai quitté le développement commercial pour me dédier, ou du moins essayer de me dédier, au logiciel libre.

Comment as-tu entendu parler du projet diaspora* ?

Si je ne me trompe pas, j’ai tout d’abord entendu parler du projet dans un magazine en ligne dont je ne me souviens plus du nom. C’était un test d’alternatives open sources de réseaux sociaux. Plus tard, j’ai commencé par réfléchir aux moyens de diminuer ma dépendance à vk.com, le réseau social « national » russe qui s’impose dans l’ancien bloc soviétique. Je voulais pouvoir partager et m’informer sans ce vk.com, à l’aide d’une plate-forme libre.
Je me suis alors souvenu du projet diaspora* que j’ai réessayé. Il comble mes besoins : il m’apporte un flux de nouvelles exportable en ATOM.

Es-tu un utilisateur actif de diaspora* utilisant le pod d’un podmin ou es-tu un poweruser gérant toi même ton propre pod ?

Non, je n’ai pas mon propre pod. J’utilise socializer.cc (Merci Nico Suhl !). J’étais d’abord un utilisateur et c’est plus tard que je suis devenu un contributeur. Je continue encore à me servir du même compte. Je n’envisage pas de mettre en place un pod à moi pour le moment.

Diaspora* est assez connu en Allemagne et en France. Le projet a commencé aux USA. Quel est son état en Russie ?

En fait, il n’est pas très connu. La communauté russe de diaspora* est plutôt petite. Malgré ça, il existe tout de même le pod russiandiaspora.org et quelques autres. A vue de nez, il n’y a pas plus 200 utilisateurs actifs par mois. De temps en temps, je rencontre des gens qui connaissent le projet parce qu’il est connu (mais pas populaire). Ceci-dit, je ne connais physiquement quasi personne de mon flux.

Tu t’es lancé dans une campagne de crowdfunding pour bosser à temps plein sur ce projet. Comment t’es venue cette idée ?

D’une certaine façon, c’est pour moi une preuve de concept pour voir si je peux travailler en tant que développeur payé sur un projet qui n’est pas d’essence commercial. Depuis mes débuts, je suis un défenseur des logiciels libres. Aujourd’hui, les logiciels libres sont largement utilisés par des entreprises commerciales pour différents buts. Mais, au final, ça aide les patrons à gagner de l’argent. Aujourd’hui, nous avons des systèmes d’exploitation libres bien foutus mais ils sortent la tête de l’eau principalement via l’intérêt qu’a le secteur commercial dans son développement. J’aime l’idée d’une communauté d’utilisateurs qui embauche un développeur pour améliorer les outils dont elle a besoin. Ainsi, c’est un mouvement qui vient de la base et c’est super ! La technologie s’améliore sans les fonds ni l’intermédiaire de quelqu’un de riche qui influerait sur son développement à son profit, bien plus que pour l’intérêt général, la justice sociale et un monde en paix.

Quels sont tes objectifs ? Tu penses que ce projet aura un bel avenir ou va-t-il rester un réseau social de geeks ?

Tout de suite, mon principal objectif est de faire mon travail le plus rapidement et le mieux possible. J’ai reçu un soutien financier, la communauté m’a supporté et a confiance en moi : c’est à mon tour de faire de mon mieux.
Je crois que diaspora* et le principe de la fédération ont un grand futur. Depuis des dizaines d’années, Linux et l’Open Source ont été en quelque sorte marginaux mais maintenant, Microsoft s’y met. L’astuce pourrait marcher une fois de plus. L’Open Source donne les moyens d’adapter le logiciel à ses propres besoins. J’ai contacté un groupe de personnes qui ont travaillé en tant qu’aide technique pendant la manifestation des conducteurs de camions en Russie. On m’avait dit qu’ils avaient à l’esprit de faire un réseau social pour les conducteurs dans lequel ils pourraient avoir confiance. Ils sont prêts à se baser sur de l’existant plutôt que de tout refaire depuis le début.
Aussi, diaspora* apparaît dans quelques niches : le réseau social pour geek/nerds, comme tu dis. Il comble les besoins en matière de respect de la vie privée, d’informations technologiques et de discussions. C'est aussi une zone de partage pour gauchistes. Diaspora* attire les gens à l’état d’esprit idéaliste. En partant de ces niches, la fédération pourrait atteindre le moment où elle commencerait à atteindre un public plus large mais ça n’arrivera pas sans amélioration du logiciel et c’est là que je veux aider.

Je pense aussi que le futur d’un web fédéré doit reposer sur une diversité de logiciels. C’est aussi pourquoi nous devrions nous orienter vers la standardisation des protocoles propulsés par l’open source. Les outils de médias/réseaux sociaux peuvent bien être implémentés d’une douzaine de façons différentes mais s’ils se servent du même protocole, leurs utilisateurs pourront communiquer les uns avec les autres malgré leurs désaccords « idéologiques ».

Un exemple, pour le moment théorique, serait l’implémentation du logiciel des pods qui n’utiliserait pas du tout de JavaScript, ce qui est logique puisqu’il est difficile de contrôler ce qui est exécuté sur son ordinateur quand le JS est activé. A cause de lui, actuellement, nos ordinateurs dépensent une quantité considérable de ressources pour nous afficher de la publicité. La fédération pourrait aider un groupe de personnes avec ce genre de point de vue à rester en contact avec ceux qui ne le partagent pas. Plus globalement, la fédération pourrait délier le contenu des échanges via réseaux sociaux des outils qu’il faut utiliser. Et c’est franchement génial.

Tu commences une période de trois mois de travail à temps plein. A la fin, tu envisages de recommencer à travailler pour le projet ?

On verra bien. Ça dépend du résultat de ce projet. Le retour de la communauté et de l’équipe de développeurs est important pour moi.


Merci encore pour tes réponses Senya !

<style type="text/css">p { margin-bottom: 0.25cm; line-height: 120%; }</style>
<noscript></noscript>

Senya answers my questions about the successful diaspora*'s crowdfunding campaign




Everything is already said in my post's title. Senya pleased me answering my questions about him. He luckily has won the right to be paid to work on our lovely social network's improvements thanks to his crowdfunding campaign. Enjoy reading ! Interview available in French here.

Let start with a classic presentation. Can you tell us about who you are ?

My name is Senya and I'm a software developer from Russia. I also do some free software activism supporting free software users locally and spreading the word. I'm 25 now. I started programming at 14 and by 17 I got my first job as a junior developer. A year ago I quit the commercial development to dedicate or at least try to dedicate myself to free software participation.

How did you hear about the diaspora* project ?

If I'm not mistaken, the first time I read about diaspora* project in an online magazine which name I can't remember anymore. It was a review of alternative open source social media project. After a while I started to think about the ways to lower my dependency on vk.com which is Russian "national" social network which predominates in the ex-USSR space. I wanted to have a possibility to share and follow news without the vk.com, but rather with using some free software platform. And I remembered about the diaspora project and tryed it and it fit my purposes: it provided the news stream exportable to ATOM.

Are you an active diaspora* user using a podmin's pod or are you a "poweruser" handling your own pod ?

No, I don't handle my pod. I'm using socializer.cc (thanks, Nico Suhl!). I first became a user and only after a while a contributor, and therefore I just continue to use an account I'm used to and I don't think about my own production pod yet.

diaspora* is well known in Germany and in France. The project has started in the USA. What about in your country, Russia ?

Well, it's not well known. Russian community on diaspora* is rather small. However there is even a pod russiandiaspora.org and a couple of others in Russia. By subjective feeling it's no more than a couple of hundreds active Russian users per month. From time to time I meet people, who know about the project, because it is quite famous (but not popular). But there are almost no one on my stream who I know personally offline.

You started a crowdfunding to work fulltime on this project. How does this idea came out ?

To some extent it is a proof-of-concept for me, that I can work as a paid developer on a project which is inherently non-commercial. Since my early years I was a free software advocate. Today, the free software is widely used at commercial companies for different purposes. But finally it helps to earn money for bosses. Today we have well-developed free operating systems, but it happened mostly because of the commercial sector interest in that development. I like the idea of a community of users which hires a developer to improve the tool they need. Thus, it is entirely grassroots communication and it's awesome! The technology develops without anyone's rich and powerful funding or mediation, so there is no their influence which is usually has a purpose of profiting even more rather than social development, social justice or world peace.

What's your objectives ? Do you feel like this project has a great futur or is it going to remain a geek/nerd social network ?

Now my main objective is to finish the project as soon as possible and as well as possible. I was funded, the community gave me their support and trust, now it's my turn to do my best.

I beleive that the diaspora and the federation at whole may have a great future. For decades Linux and Open Source was thought by many as something margnial, and now Microsoft turns towards it. The trick might work once again. Open source code gives a possibility to adapt the software for your own purposes. I contacted a group of people who worked as a technical support for the truck drivers strike in Russia and I was told that they have an idea of making a social network media for truck drivers which they may trust and they are interested in basing it on some existing code base rather than making it from scratch. Also diaspora now has some well-known niches - as you said "geek/nerd social network" - it supplying users with privacy/technology news and discussions and also as a platform for some sort of leftist news sharing. Diaspora is attractive to people of the idealistic mindset. And starting with niches the federation may reach the point where it has content interesting enough to attract the general public. But that can't happen without well implemented software. And that's where I want to help.

Also, I think the future of the federated web must lay in the diversity of the software. That's what we may also reach with the standardization of protocols powered by open source - software platforms for social media may be implemented in a dozens of ways and if they all support the same exchange protocol their users will communicate with each other in spite of "ideological" disagreement. One, yet theoretical at least for now example may be the implementation of the pod software which doesn't use any JavaScript at all but still works with the federation. There are some people who don't like JavaScript, and it's fair enough because it's hard to control what is being executed on your computer when you have JavaScript enabled. Because of this, today our computers spent considerable amount of resources to show advertisement to us. The federation may help the group of people with such point of view to build a tool of their preference and stay in contact with people who don't agree with them. Generally speaking, the federation will untie the content exchange in social media of the tools we use for that. And that's also awesome.

You're starting a 3 months full-time job on diaspora* thanks to your campaign. At its end, will you try another crowdfunding to keep working on the project ?

We'll see. It depends on the results of this project. The feedback of the community and the core team is important for me.



@Seny, thanks again for your time and your answers. I can't wait to see the result of your work and to meet you at the FOSDEM 2017, who knows ?


<noscript></noscript>

2016-04-25

Anticiper les ennuis en auto-hébergement

Introduction

L'auto-hébergement permet de retrouver un certain contrôle sur ses données et c'est le gros intérêt de la démarche. Mais, l'auto-hébergement implique, et c'est le revers de la médaille, d'assumer seul plusieurs risques supplémentaires. Il est donc utile de se poser quelques questions à un moment.

Précisions

Précision importante, l'auto-hébergement dont je parle ici est typiquement celui mis en œuvre par un particulier dans un cadre privé par exemple. C'est la forme qui m'intéresse là.

Venons en à mon cas

Google, Yahoo!, ou n'importe quel autre fournisseur habituel de mail n'est pas responsable si mon serveur de mail n'est plus accessible ou si mes données sont perdues par exemple. Les ressources physiques sous mon contrôle sont sous ma responsabilité. Cela couvre à la fois les problèmes logiciels et les problèmes matériels qui pourraient intervenir.

Méthode d'analyse

Je ne passe pas vraiment par une méthode particulière mais par simplement un peu de bon sens. L'idée, c'est d'anticiper ce que je peux et d'avoir déjà des réponses à apporter lorsque je me trouverai réellement en situation. Avant de proposer des réponses, il faut se poser les bonnes questions et pour se poser les bonnes questions. Je vais donc procéder comme suit :

  • Identifier le système sur lequel je veux agir.
  • Estimer les impacts des défaillances sur ce système complet.
  • Indiquer ce qui est déjà prévu en cas de défaillance.
  • Identifier les "trous dans la raquette".
  • Identifier les actions à mener afin de combler ces faiblesses.

Vue assez fidèle de mon réseau :

note : pour ce schéma, j'ai utilisé dia et les icônes de Jean Cartier.

Estimation de l'impact des défaillances :

Chaque élément sur ce réseau peut tomber en panne. Que le problème soit d'origine logiciel ou matériel importe peu, la seule chose importante est que l'élément considéré peut ne plus fonctionner à un moment donné. Élément par élément, quels sont donc les impacts d'une panne sur le système entier ? C'est aussi l'occasion d'estimer le niveau de gravité des impacts causés par chaque panne. J'en profite donc pour classifier chaque impact avec un niveau allant de 1 (impact mineur) à 3 (impact majeur). J'ai estimé qu'il était possible de fonctionner avec un effet de niveau 1. Pour les effets de niveau 2, j'ai considéré qu'une gène était visible que ce soit à l'intérieur ou à l'extérieur de mon réseau et qu'il n'était de fait pas possible de fonctionner en l'état. Enfin, les effets de niveau 3 traduisent un risque irréversible de perte de donnée. Voyons voir :

Modem ADSL HS :
  • (2) Plus de connexion à internet possible depuis mon réseau.
  • (2) Serveur auto-hébergé n'est plus visible de l'extérieur.
  • (3) Si la situation se prolonge, risque de perte des nouveaux mails entrant.
  • (1) Téléphonie fixe non fonctionnelle.
Parefeu HS :
  • (2) Plus de connexion à internet possible depuis mon réseau.
  • (2) Serveur auto-hébergé n'est plus du tout accessible, y compris depuis le réseau local.
  • (3) Si la situation se prolonge, risque de perte des nouveaux mails entrant.
  • (2) Serveur NAS inaccessible en local.
  • (1) Téléphonie fixe non fonctionnelle.
Switch 16 ports HS :
  • (2) Plus de connexion à internet possible pour le serveur auto-hébergé, le serveur NAS et les autres postes sur mon réseau.
  • (2) Serveur auto-hébergé n'est plus du tout accessible, y compris depuis le réseau local.
  • (3) Si la situation se prolonge, risque de perte des nouveaux mails entrant.
  • (2) Serveur NAS inaccessible en local.
  • (1) Téléphonie fixe non fonctionnelle.
Switch 8 ports HS :
  • (2) Plus de connexion à internet possible les postes bureautique sur mon réseau.
  • (2) Serveur auto-hébergé n'est plus du tout accessible en local.
  • (2) Serveur NAS inaccessible en local.
  • (1) Téléphonie fixe non fonctionnelle.
  • (1) Impression sur l'imprimante réseau locale impossible.
Serveur public HS :
  • (2) Services auto-hébergé non fonctionnels.
  • (3) Si la situation se prolonge, risque de perte des nouveaux mails entrant.
  • (3) Selon la panne du serveur, risque possible de perte des données stockées dessus.
Serveur NAS HS :
  • (2) Serveur NAS inaccessible en local.
  • (3) Selon la panne du NAS, risque possible de perte des données stockées dessus.
Ensemble des équipements réseau, serveur, bureautique HS :
  • Reprendre l'ensemble des points listés précédemment.

Je ne traite pas le cas d'une panne sur la box OVH car la maintenance de cet appareil n'est pas à ma charge. En cas de défaillance, le problème est à traiter par OVH.

On peut déjà voir que certains éléments sont plus critiques que d'autres mais ils ont tous ou presque la possibilité d'entrainer des pertes de données. Si je n'en avais pas conscience avant, au moins là, c'est clairement établi. A y regarder de plus près, je vois deux types de problèmes sur les données. La non récupération de données externe et la perte de données préalablement récupérées. Dans le premier cas, c'est la conséquence d'une défaillance réseau et dans le second cas, il s'agit de la défaillance du système de stockage.

Ce qui est prévu en cas de défaillance :

S'il me faut maintenant assumer la défaillance d'un équipement, comment est-ce que j'ai prévu de réagir ? Voici ma réponse élément par élément :

Modem ADSL :
  • J'ai un modem équivalent de rechange.
Parefeu :
  • Aie ! Pas de machine de remplacement.
  • Configuration sauvegardée.
Switch 16 ports :
  • Aie ! Pas de switch manageable de remplacement.
  • Configuration sauvegardée.
Switch 8 ports :
  • Aie ! Pas de switch manageable de remplacement.
  • Configuration sauvegardée.
Serveur public :
  • Aie ! Pas de machine identique de remplacement.
  • Sauvegarde journalière des données importantes sur DD USB externe
  • Sauvegarde journalière des données importantes sur le NAS
Serveur NAS :
  • Aie ! Pas de machine identique de remplacement.
  • NAS deux baies en RAID 1. Réduction du risque de perte des données.
  • Les données les plus importantes stockées sur le NAS sont aussi sauvegardées sur une machine bureautique.
Ensemble des équipements réseau, serveur, bureautique HS :
  • Aie ! Pas de solution de remplacent de matériel.
  • Perte de toutes mes données.

Comme on peut le voir, je ne dispose pratiquement pas d'équipements "sur étagère" afin d'intervenir immédiatement en cas de défaillance, ceci afin de repartir sur une configuration strictement identique. Ça ne veut pas dire que je suis bloqué mais ça demande quelques aménagements.

Mon réseau actuel n'est que l'évolution d'un réseau à plat. Si mon parefeu ou l'un de mes switchs manageable venait à dysfonctionner, j'ai la possibilité de basculer rapidement vers une architecture réseau plus simple. Je dispose d'un switch de secours et mon modem ADSL étant un modem/routeur en mode bridge, je n'ai qu'à en modifier la configuration si besoin pour le repasser en routeur. Reste ensuite simplement à revoir l'adressage IP. Ces manipulations ne sont pas longues à réaliser et me permettent de passer facilement dans un mode dégradé.

Les données importantes sur le NAS ou le serveur public sont aussi stockées ailleurs.

Globalement donc, je sais quoi faire si un élément de mon réseau tombe et mes données sont protégées contre une défaillance isolée de matériel.

Les trous dans la raquette :

Bien que le NAS soit en mesure d'assurer mon hébergement web et mail, tout comme il est possible au serveur public d'assurer le stockage des données actuellement sur le NAS, je préfère si possible éviter de rassembler l'ensemble de ces usages sur une même machine. Une défaillance du NAS n'est pas dramatique mais une défaillance du serveur public l'est plus dans la mesure où je ne peux m'en passer et parce que je ne dispose pas de solution à déployer rapidement s'il venait à me lâcher.

Le problème le plus important pourrait se produire en cas d'incendie ou de vol de matériel. Je ne dispose pas aujourd'hui de moyen de repartir même en mode fortement dégradé après ce type de problème. Pire, je perds toutes mes données puisque je ne dispose que de sauvegardes locales.

Actions à mener afin de combler ces faiblesses :

Je vais prévoir assez rapidement une machine supplémentaire que je serai en mesure de configurer rapidement en cas de défaillance de mon serveur public ou de mon parefeu.

Je vais prévoir de placer une sauvegarde récente de mes données sur un autre lieu, de sorte que les pertes de données soient minimes même en cas de problème grave.

Dernier point, je vais aussi réfléchir à une solution permettant de poursuivre mon activité ailleurs en cas de problème grave chez moi.

Conclusion

Tant que ça marche, on ne se pose pas de question mais dès que ça ne marche plus, il peut être trop tard pour chercher des réponses. Cette petite analyse me montre quels sont les points à travailler sur mon installation. Chaque installation auto-hébergée est différente mais je pense qu'elles méritent toutes une petite réflexion de ce type.

2016-04-24

Chiffrement du filesystem en auto-hébergement

J’ai investigué quelques solutions pour chiffrer le filesystem de mes serveurs auto-hébergés. En prenant notamment en compte leurs contraintes particulières : pas d’accès « console » simple, faible puissance et filesystem sur carte SD.

Première solution : chiffrer entièrement le filesystem

Avec dm-crypt / cryptsetup + LUKS, comme proposé par Debian (ou Ubuntu) lors de l’installation.

Cela chiffre également la partition système. C’est clairement le plus sûr, car tout est chiffré.

Saisie de la phrase de passe à distance

Mais cela pose la contrainte de saisir la phrase de passe au démarrage. Or je peux avoir besoin de le faire à distance (après une coupure de courant par exemple). Et il s’agit de machines physiques, pour lesquelles l’accès console requiert une branchement physique dessus…

Dropbear

Heureusement, il est possible de le faire à distance, via un serveur SSH simple (Dropbear), qui se lance suffisamment tôt dans la séquence de démarrage pour être accessible lors de la demande de saisie de phrase de passe.

Source : zcat /usr/share/doc/cryptsetup/README.remote.gz

En résumé, il s’agit de :

  • installer les paquets dropbear et busybox
  • copier les clés SSH publiques des machines qui pourront s’y connecter dans /etc/initramfs-tools/root/.ssh/authorized_keys
  • puis mettre à jour le initramfs avec sudo update-initramfs -u

Ensuite on peut s’y connecter depuis l’extérieur avec un script du type :

#!/bin/bash
echo -n "Quel serveur? "
read serveur
echo -n "Quelle phrase de passe? "
read -s passphrase
ssh -o "UserKnownHostsFile=~/.ssh/known_hosts.initramfs" root@$serveur "echo -ne \"$passphrase\" >/lib/cryptsetup/passfifo"

(NB : noter l’utilisation d’un fichier known_hosts à part, pour éviter que le client SSH ne soit perturbé par le fait qu’un même serveur puisse avoir 2 clés publiques SSH différentes : une avec OpenSSH, l’autre avec Dropbear)

Petit risque de sécurité : la clé privée du serveur Dropbear est (forcément) stockée en clair sur la machine. Quelqu’un qui aurait eu accès au filesystem pourrait ainsi se faire passer pour le serveur qui aurait redémarré, et intercepter la phrase de passe.

Déchiffrement de plusieurs partitions d’un coup

La procédure décrite ci-dessus fonctionne bien s’il n’y a que la partition système à déchiffrer.

Mais, sur mes machines auto-hébergées, j’utilise fréquemment plusieurs partitions sur des devices différents (cartes SD ou microSD, clé USB, voire disque dur). Si je les chiffre et qu’elles sont montées au démarrage, le serveur demande la phrase de passe sur la console, après avoir demandé celle du filesystem principal. Donc il faut ruser un peu pour pouvoir les déchiffrer toutes d’un coup, et à distance.

Normalement, il y a un script decrypt_derived qui fait ça très bien : http://unix.stackexchange.com/questions/110081/decrypt-second-encrypted-lvm-during-headless-server-boot

… sauf qu’il ne fonctionne pas sur Debian Jessie (à cause de systemd d’après ce que j’ai compris) : https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=618862)

Bref, il y a une autre solution (clairement moins sécurisée), qui consiste à mettre dans la partition système (chiffrée) un fichier de clé qui permet de déverrouiller les autres. Évidemment, il faut protéger l’accès à ce fichier.

Création du fichier de clé (avec un contenu aléatoire) :

sudo dd if=/dev/urandom of=/etc/keyfile bs=1024 count=4
sudo chmod 0400 /etc/keyfile

Ajout de ce fichier de clé dans les clés acceptées par la partition chiffrée :

sudo cryptsetup luksAddKey /dev/mmcblk1p1 /etc/keyfile

Ajout de la partition dans /etc/crypttab avec une ligne du type :

nom_2eme_partition_chiffree UUID=uuid_de_la_partition /etc/keyfile luks

(et il faut classiquement rajouter la partition dans /etc/fstab)

Pour plus de détail : http://ubuntuforums.org/showthread.php?t=837416

Autres difficultés

Certains appareils fournissent une image Debian toute prête (et customisée) de l’OS, et on ne peut pas toujours utiliser son installeur. Notamment si l’appareil n’est pas encore complètement supporté par le noyau linux. Il est alors plus compliqué de chiffrer le filesystem root après coup. Heureusement, ce n’est pas les cas de mes machines.

Mais, dans mon cas personnel, il y a un autre petit soucis : je n’ai pas toujours accès à un client SSH :

  • soit parce que je suis derrière un proxy HTTP d’entreprise qui ne laisse pas passer le SSH (à l’occasion j’investiguerai SSLH, merci à Genma pour l’idée : http://genma.free.fr/?SSH-derriere-un-proxy-Sslh)
  • soit parce que mon téléphone (sous Firefox OS) n’a pas de client SSH

Pour toutes ces raisons, on peut avoir besoin d’une autre solution :

Deuxième solution : chiffrer uniquement une partition de données

C’est clairement moins sûr, mais peut fonctionner sur n’importe quel Linux déjà installé. Et surtout, après un redémarrage, on peut directement avoir accès aux services qui n’utilisent pas la partition chiffrée (AJaxterm, par exemple, patché comme dans un précédent article).

Si les données chiffrées sont accédées par un service lancé au démarrage (ex : MySQL), il échouera avec des messages d’erreur au démarrage. Il faut donc ensuite se connecter en SSH, monter manuellement la partition chiffrée (en saisissant sa phrase de passe), puis redémarrer les services qui ont besoin de l’être. Exemple :

sudo cryptsetup luksOpen /dev/nom_device_partition partition_chiffree
sudo mount /dev/mapper/partition_chiffree /mnt/partition_chiffree
sudo systemctl restart mysql

Sauvegardes

Faire des sauvegardes régulières est toujours indispensable, quel que soit le contexte.

Mais, en l’occurrence, quand on utilise des partitions chiffrées, il y a une sauvegarde supplémentaire à faire : les entêtes LUKS de la partition, qui peuvent être extrêmement précieuses. Si ces quelques octets sont corrompus sur le filesystem, il serait complètement impossible d’accéder aux données.

Pour sauvegarder :

sudo cryptsetup luksHeaderBackup --header-backup-file luksHeaderBackup-nom_device_partition /dev/nom_device_partition

Performances

Les machines qui hébergent mes services sont des petites machines à très faible consommation. Donc la puissance CPU a besoin d’être économisée.

L’impact du chiffrement sur les performances mérite donc d’être surveillé. Pour cela, l’accélération matérielle du chiffrement peut rendre service.

Accélération matérielle du chiffrement

  • La Sheevaplug est le matériel le plus ancien et le moins puissant. Par contre, l’accélération matérielle du chiffrement est bien supportée par le noyau linux (depuis la version 2.6.32 a priori)
  • L’Olinuxino A20 est plus puissant, mais la prise en charge du chiffrement matériel dans le noyau linux est plus récente : il faut au minimum un noyau 4.3. Cf http://sunxi.montjoie.ovh/

Mes serveurs tournent sur Debian Jessie (noyau Linux 3.16 par défaut) donc pas de problèmes pour la Sheevaplug, mais il faudrait mettre à jour le noyau sur Olinuxino A20 pour avoir l’accélération matérielle. Je préférerais éviter car ça obligerait ensuite à le mettre à jour manuellement quand il y a des failles de sécurité.

Quoi qu’il en soit, pour que l’accélération matérielle du chiffrement fonctionne, il faut à la fois que le logiciel utilisé sache l’exploiter, et qu’il utilise un algorithme supporté par le matériel. D’où l’importance de vérifier :

Performances brutes du chiffrement

Sur Sheevaplug

Avec une installation par défaut

cryptsetup benchmark sur Sheevaplug (Debian Jessie, noyau 3.16.0-4-kirkwood) :

PBKDF2-sha1        64503 iterations per second
 PBKDF2-sha256      48188 iterations per second
 PBKDF2-sha512       5665 iterations per second
 PBKDF2-ripemd160   56109 iterations per second
 PBKDF2-whirlpool    4768 iterations per second
 #  Algorithm | Key |  Encryption |  Decryption
     aes-cbc   128b    20.4 MiB/s    20.9 MiB/s
 serpent-cbc   128b    10.8 MiB/s    11.8 MiB/s
 twofish-cbc   128b    12.4 MiB/s    13.3 MiB/s
     aes-cbc   256b    19.6 MiB/s    19.9 MiB/s
 serpent-cbc   256b    11.4 MiB/s    11.8 MiB/s
 twofish-cbc   256b    12.9 MiB/s    13.3 MiB/s
     aes-xts   256b    13.9 MiB/s    13.9 MiB/s
 serpent-xts   256b    11.7 MiB/s    11.8 MiB/s
 twofish-xts   256b    13.1 MiB/s    13.3 MiB/s
     aes-xts   512b    11.0 MiB/s    10.9 MiB/s
 serpent-xts   512b    11.9 MiB/s    11.8 MiB/s
 twofish-xts   512b    13.4 MiB/s    13.3 MiB/s

L’algorithme CBC est bien plus rapide que les autres sur cette machine. Certainement parce que c’est le seul de la liste qui est accéléré matériellement, ce qui semble confirmé par un cat /proc/crypto : certains algorithmes sont implémentés par un driver mv-* (mv comme Marvell, je suppose : le fabricant du microprocesseur) :

$ cat /proc/crypto | grep mv-
driver : mv-cbc-aes
driver : mv-cbc-aes
driver : mv-ecb-aes

Pas de bol : par défaut, cryptsetup utilise l’algorithme aes-xts. Donc si on installe Debian avec chiffrement, il n’est (par défaut) pas accéléré matériellement sur cet appareil…

En spécifiant l’algorithme AES-CBC

Heureusement, on peut choisir l’algorithme de chiffrement (cipher) lors de l’installation. Sauf qu’il faut pour cela faire un partitionnement complètement manuel : créer la partition chiffrée, le LVM dedans, et les deux partitions root et swap à l’intérieur. On ne peut hélas pas demander à l’installeur un partitionnement automatique, puis revenir le modifier (pour être précis : si, on peut. Mais il refuse de modifier la partition chiffrée, donc ça ne nous sert à rien en l’occurrence).

Bref, en partitionnant manuellement, on peut utiliser l’un des algorithmes aes-cbc-essiv:sha256 ou aes-cbc-plain.

Sauf qu’une faiblesse a été trouvée dans cet algorithme CBC : voir paragraphe 5.14 de https://gitlab.com/cryptsetup/cryptsetup/wikis/FrequentlyAskedQuestions.

Sur Olinuxino A20

cryptsetup benchmark avec l’image Debian Jessie fournie par le fabricant (3.4.103-00033-g9a1cd03-dirty) :

PBKDF2-sha1        86231 iterations per second for 256-bit key
PBKDF2-sha256      60681 iterations per second for 256-bit key
PBKDF2-sha512      28006 iterations per second for 256-bit key
PBKDF2-ripemd160   80908 iterations per second for 256-bit key
PBKDF2-whirlpool    6869 iterations per second for 256-bit key
#  Algorithm | Key |  Encryption |  Decryption
     aes-cbc   128b    14.9 MiB/s    16.4 MiB/s
 serpent-cbc   128b    11.3 MiB/s    12.9 MiB/s
 twofish-cbc   128b    17.5 MiB/s    19.5 MiB/s
     aes-cbc   256b    12.3 MiB/s    12.8 MiB/s
 serpent-cbc   256b    11.7 MiB/s    13.0 MiB/s
 twofish-cbc   256b    17.8 MiB/s    19.5 MiB/s
     aes-xts   256b    16.1 MiB/s    16.3 MiB/s
 serpent-xts   256b    11.9 MiB/s    12.7 MiB/s
 twofish-xts   256b    18.0 MiB/s    18.5 MiB/s
     aes-xts   512b    12.3 MiB/s    11.9 MiB/s
 serpent-xts   512b    11.8 MiB/s    12.3 MiB/s
 twofish-xts   512b    18.1 MiB/s    18.6 MiB/s

/proc/crypto ne semble indiquer aucun driver matériel.

Avec le noyau de l’installeur de Jessie (3.16.0-4-armmp-lpae), les résultats sont similaires.

Avec un noyau 4.4.1 patché (cf mon autre article), on peut exploiter l’accélération matérielle :

PBKDF2-sha1        80908 iterations per second for 256-bit key
PBKDF2-sha256      57487 iterations per second for 256-bit key
PBKDF2-sha512      26425 iterations per second for 256-bit key
PBKDF2-ripemd160   76204 iterations per second for 256-bit key
PBKDF2-whirlpool    6527 iterations per second for 256-bit key
#  Algorithm | Key |  Encryption |  Decryption
     aes-cbc   128b    25.5 MiB/s    25.5 MiB/s
 serpent-cbc   128b           N/A           N/A
 twofish-cbc   128b           N/A           N/A
     aes-cbc   256b    25.4 MiB/s    25.4 MiB/s
 serpent-cbc   256b           N/A           N/A
 twofish-cbc   256b           N/A           N/A
     aes-xts   256b           N/A           N/A
 serpent-xts   256b           N/A           N/A
 twofish-xts   256b           N/A           N/A
     aes-xts   512b           N/A           N/A
 serpent-xts   512b           N/A           N/A
 twofish-xts   512b           N/A           N/A

et /proc/crypto indique bien des drivers adaptés au matériel :

$ cat /proc/crypto | grep sun4i
driver : ecb-des3-sun4i-ss
driver : cbc-des3-sun4i-ss
driver : ecb-des-sun4i-ss
driver : cbc-des-sun4i-ss
driver : ecb-aes-sun4i-ss
driver : cbc-aes-sun4i-ss
driver : sha1-sun4i-ss
driver : md5-sun4i-ss

Comme sur Sheevaplug, on peut utiliser le CBC, mais pas le XTS. Par contre, le CBC accéléré apporte sur le papier un gain de performance notable.

Hélas, je n’ai pas eu le temps d’aller au bout de la mise en œuvre de cette accélération matérielle sur Olinuxino A20 (il doit me manquer des options de compilation du noyau qui permettent l’utilisation réelle par dm-crypt). Tant pis, sur les Olinuxino A20, j’en bénéficierai avec la prochaine version de Debian.

Performances réelles

Les services que je fais tourner sur mes machines ne font que très peu d’I/O disques. Donc je n’ai pas vu de différence par rapport au filesystem non chiffré. Il est probable qu’il y ait une différence sur le temps de démarrage, mais ça n’a pas grande importance dans mon contexte (machines allumées 24h/24).

J’ai commencé quelques mesures en AES-CBC : sur Sheevaplug, j’atteins autour de 10Mo/s en écriture (mais le chiffrement consomme 80 % de CPU malgré l’accélération matérielle). Sur Olinuxino A20, 18Mo/s (sans accélération matérielle, mais il utilise 100 % des 2 coeurs du CPU).

Alors que, sans chiffrement, j’atteins 30Mo/s (en USB2, avec 30 à 40 % d’utilisation du CPU) sur les 2 appareils.

Si je trouve un peu de temps, je ferai des mesures plus complètes dans un autre article.

Conclusion dans mon cas particulier

On voit bien qu’il n’y a pas de solution universelle. Tout est affaire de compromis entre les contraintes qu’on veut accepter (dépannage à distance, complexité d’installation/administration), l’exigence de sécurité (chiffrement ou pas de tout le filesystem, avec quel algorithme), et les performances (vitesse des I/Os disque, consommation de CPU). Et cela peut dépendre de l’appareil au niveau de l’accélération matérielle du chiffrement.

Dans mon cas de figure, il me paraissait crucial de pouvoir dépanner mes serveurs à distance (après une coupure de courant, par exemple), et sans devoir passer par un client SSH. Quitte à faire des (petits) compromis sur la sécurité.

Donc j’ai chiffré tout les filesystems de mes serveurs sauf un, sur lequel tourne un nginx + ajaxterm (patché comme dans un précédent article), pour permettre de m’y logger en HTTPS (après saisie d’un login/mot de passe). Sur ce serveur, il y a plein d’autres services (Apache, notamment) dont la configuration et les données sont sur une partition chiffrée (non montée au démarrage). Donc, au démarrage, leur démarrage échoue. Ce n’est qu’après m’être loggé (via SSH ou Ajaxterm) que je déverrouille le filesystem, arrête nginx, et les relance. Et ensuite je peux déverrouiller tous les autres serveurs à travers lui, en SSH.

2016-04-22

diaspote.org passe à Tor



C'est un truc que je voulais faire depuis la lecture de cet article, publié le 4 avril dernier : permettre l’accès au pod diaspora* que j'administre avec Augier via le réseau Tor, The Onion Routeur.

Rappel rapide sur Tor, tiré de Wikipedia :

Tor est un réseau informatique superposé mondial et décentralisé. Il se compose d'un certain nombre de serveurs, dont la liste est publique, appelés nœuds du réseau, et permet d'anonymiser l'origine de connexions TCP ; entre autres, cela peut servir à anonymiser la source d'une session de navigation Web ou un utilisateur de messagerie instantanée.

Un peu de travail, mais pas trop, quelques modifications dans la configuration du serveur du pod et voilà, on peut donc maintenant profiter du réseau social diaspora* via Tor ! Pour celles et ceux qui voudraient tester, l'adresse est ici et la version de Firefox qui permet d'y aller est à télécharger ici.

En clair, une adresse Tor, c'est ça :  https://cw3ibtoml2xnwphi.onion. C'est pas super sexy, mais ce n'est pas vraiment fait pour. Vous aurez un avertissement à cause du certificat SSL : c'est normal, pas de panique.

Si on y réfléchit bien, cette situation fait rêver : se connecter à un réseau social décentralisé via mon pod, son nœud d’entrée, en passant par un système qui vous fait traverser tout un tas de nœuds Tor pour scrupuleusement respecter votre vie privée. C'est beau, vraiment.

Je ne reviens pas sur la méthode qui permet cette merveille puisque tout est très bien expliqué dans le billet que je cite plus haut. Ceci-dit, si vous avez des questions, les commentaires/messages privées sur diaspora* sont là.

Note : pas de panique, le pod est toujours joignable par son adresse classique. L’accès via tor est un plus, pas une obligation.

Je dis plus haut que ce système permet de scrupuleusement respecter votre vie privée, tout comme diaspora*. Notez quand même que c'est un réseau social et que tout ce que vous y publierez sera rattaché à votre pseudo et que votre pseudo pourrait peut-être être rattaché à votre identité IRL si vous n’êtes pas assez vigilants.

Pour terminer, n'oubliez qu'Augier et moi restons les patrons de ce point d’accès et que, même si vous êtes anonymes et que nous sommes très très tolérants, nous feront ce qu'il faut pour vous obliger à aller foutre le bordel ailleurs. On n'a pas encore eu besoin de s'exciter. Tenir ce pod est une aventure parfaite jusque là, faisons en sorte que ça continue ;-)


<noscript></noscript>

2016-04-20

Nouvelle interface web pour Proxmox 4

Une petite mise à jour mineure, pas si anodine que ça !

La dernière update du 15/04 (la 4.1.30), propose entre autre :

  • un kernel 4.4
  • et une nouvelle interface en Sencha Ext JS 6

On passe donc de ça :

Capture d’écran_2016-04-20_09-18-40

à ça :

Capture d’écran_2016-04-20_09-26-23

Une nouvelle interface playskool =)
Dans l’ensemble pas de grands changements, mais de petites améliorations qui sont parfois bien pensées.

La partie Firewall est plus claire :

Capture d’écran_2016-04-20_09-29-40

Les icones sont plus lisibles :

Capture d’écran_2016-04-20_09-30-32

Les graphs également :

Capture d’écran_2016-04-20_09-34-45

Capture d’écran_2016-04-20_09-39-46

 

Bref, dans l’ensemble c’est pas trop mal, et ça donne un coup de jeune à Proxmox.
Kernel 4.4, lxc, kvm, interface récente … Proxmox n’est pas encore mort !

Manque encore la gestion complète du Lxd 😉

Première version de B2G OS pré-alpha (ex Firefox OS pour smartphone)


Oh, une nouvelle de Firefox OS, ça faisait longtemps ! On parle ici d'une première version compilable de la version communautaire de Firefox OS dont le nouveau nom est B2G OS. On est d'accord, ce n'est pas sexy comme nom, mais absolument pas choquant si on revient au début de l'aventure chez les OS mobiles de la Fondation Mozilla. Eh oui, B2G était le nom de code de Firefox OS.

Bref, une version communautaire pour le Z3C donc, les derniers téléphones que Mozilla s’était amusée à distribuer gratuitement au contributeurs quelques semaines avant d'annoncer la mort du support pour smartphones. Joie.

Les images sont récupérables par ici ou .

Attention, ce n'est pas une version utilisable en l’état. Ce n'est que la preuve que la communauté est en marche et qu'elle s'en sort pas trop mal.

Pour les courageux qui voudraient la compiler maison, ça vous prendra quand même plusieurs heures si votre machine approche la configuration du développeur à l'origine de ce billet : un core i7 de chez Intel et 8 Go de RAM.

Sinon, moi ça va. J'attends ma tablette sous Ubuntu. Je viens de recevoir le mail annonçant que j'allais être livré, pas encore que le livreur était en route. Trois semaines que j'attends, j'avais presque oublié avec ces événements qui me font traîner dehors pour parler avec des gens IRL du monde qu'on aimerait bien un jour.

Petit rappel pour ceux qui se demanderait si je suis encore en activité ou pas : abonnez au flux Atom de mon compte diaspora*, ça vous rassurera !


<noscript></noscript>

2016-04-15

Samba serveur dans une mise à jour sécurité de Debian?

La dernière mise à jour de sécurité dans Debian 8 a eu un petit raté.

Le serveur SAMBA s’est invité comme paquet à installer alors que vous n’aviez probablement pas envie d’avoir ce serveur tourner chez vous.

Bilan, après la mise à jour, le serveur SAMBA était actif (on peut le désactiver avec la commande # systemctl stop smbd) et on ne pouvait le désinstaller sans désinstaller Gnome également…

Le problème est heureusement corrigé depuis hier (version du paquet 2:4.2.10+dfsg-0+deb8u2)

Vous pouvez réparer la bourde ainsi :

# apt-get update
# apt-get upgrade -f
# apt-get remove samba
# apt-get autoremove

Voila, je vous conseille de jeter un oeil sur vos machines Debian pour vérifier que SAMBA serveur n’est pas en train de tourner ;-)

Related Posts:

J'aime !(5)Je n'aime pas !(0)

2016-04-14

ownCloud Passwords et Firefox : retrouver le copier/coller




Avant, je me servais de Passman pour gérer mes mots de passe via ownCloud, mais ça, c’était avant, comme dirait la pub. Aujourd'hui, c'est Passwords. Il a tout un tas d'avantages que je vous laisse découvrir sur sa page. Ses deux principaux sont qu'il est encore maintenu, contrairement à l'autre, et qu'il est bien plus "visuel". Si votre mot de passe est lamentable au niveau sécurité, il vous tartinera l'écran de rouge. Agréable.

Cette application ownCloud a un comportement futé : elle permet de copier/coller le mot de passe que vous souhaitez récupérer sans pour autant l'afficher clairement. Passman le faisait aussi, normal, c'est la moindre des choses. Sauf que ce truc là ne marchait pas avec mon fantastique Firefox.
J'ai cherché, fouillé les logs, surveillé ma console pendant l’exécution du script... rien.

En fait, la solution est simple, elle réside dans une sécurité mise en place dans Firefox : la protection contre les popups, des fenêtres trop souvent remplies de conneries qui s'affichent devant nos yeux.

Du coup, pour récupérer la copier/coller de Passwords, il suffit d'ajouter l'adresse de votre instance ownCloud dans la liste blanche ! Pour ce faire, passez par le menu contenu, dans les préférences, pour débloquer la situation :



Ouais, je sais. C'est une astuce basique, mais j'ai vraiment passé beaucoup trop de temps sur ce faux bug...! Bon, il faut aussi Flash sinon ça marche pas. :-(


<noscript></noscript>

2016-04-11

Installer Gitlab CI en moins de 5 minutes avec Docker

Si comme moi vous avez une instance Gitlab qui tourne avec Docker, vous serez heureux d’apprendre, si vous ne le saviez pas que Gitlab fourni un outil de CI et que l’installation de Gitlab CI ne prend pas plus de 5 minutes, si vous utilisez des containers Docker

Bien sûr, pour installer Gitlab CI via Docker, il vous faudra une instance Gitlab (si possible à jour) et avoir Docker installé sur votre machine.

1ère minute : Installation du container

Tout d’abord, il faut créer un répertoire ou l’on va stocker la configuration des runners que l’on voudra utiliser. Ce répertoire sera monté en tant que Volume :

$> mkdir -p /data/gitlab/runner

Ensuite, on initialise le container gitlab-runner qui va s’occuper de créer les containers Docker pour le build :

$> docker run -d 
   --name gitlab-runner \
   --restart always \
   -v /var/run/docker.sock:/var/run/docker.sock \
   -v /data/gitlab-runner:/etc/gitlab-runner \
   gitlab/gitlab-runner:latest

Vous devriez avoir un nouveau container qui tourne nommé gitlab-runner en plus du container de gitlab-ce:

$> docker ps -a 
CONTAINER ID       IMAGE                         COMMAND                  CREATED             STATUS                      PORTS                                      NAMES
502c4768d70d       gitlab/gitlab-runner:latest   "/entrypoint run --us"   34 hours ago        Up 26 hours                                                            gitlab-runner
30b0ce74588f       gitlab/gitlab-ce:latest       "/assets/wrapper"        34 hours ago        Up 26 hours                 80/tcp, 443/tcp, 0.0.0.0:2777->22/tcp      gitlab

Voilà, l’installation à proprement parlé est terminée, maintenant il y juste un peu de configuration à faire pour définir un runner et configurer le projets.

2e minute : Création d’un runner

Maintenant que le container gitlab-runner est lancé, il faut créer un runner qui pourra être utilisé par les builds. Mais avant cela, il faut se rendre dans l’admin de votre installation Gitlab et récupérer un token d’enregistrement.
Ce token permettra la communication entre le runner et l’instance Giltab.

Le token s’obtient en allant dans l’administration de Gitlab puis dans la page «Runners» :

Page d'administration des runners vide

Une fois que vous avez récupérer votre token, vous pouvez créer un runner. Comme on utilise Docker, on va utiliser une commande docker pour exécuter une commande sur le container «gitlab-runner».

$> docker exec -it gitlab-runner gitlab-runner register
Running in system-mode.

Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/ci):
https://votre.domain.gitlab/ci
Please enter the gitlab-ci token for this runner:
pokPOKzceiDDaddadZvNLbzjL
Please enter the gitlab-ci description for this runner:
[f5bb1e7dbd6c]: Ruby builder
Please enter the gitlab-ci tags for this runner (comma separated):

Registering runner... succeeded                     runner=WdVv9BYz
Please enter the executor: shell, ssh, virtualbox, docker+machine, docker-ssh+machine, docker, docker-ssh, parallels:
docker
Please enter the default Docker image (eg. ruby:2.1):
ruby:2.1
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!

Il y a deux étapes importantes avec la précédente commande :

  • un «executor» est simplement ce qui va exécuter vos builds. Comme nous sommes dans un environnement Docker, je ne vois pas pourquoi ne pas utiliser des containers. Ainsi pour chaque build, un nouveau container sera créé et sera supprimé ensuite,
  • la «default Docker image» est l’image qui sera utilisée par les executors. Choisissez votre images en fonctione de votre environnement.

Si tout c’est bien déroulé et que vous retournez dans l’admin de Gitlab dans le menu «Runners», vous devriez voir une nouvelle ligne dans la tableau des runners :

Page d'administration des runners avec notre nouveau runner

Si vous retournez au répertoire que l’on a créé au début de l’article, vous verrez qu’un nouveau fichier a été créé et qu’il contient la configuration de notre runner. Ainsi il sera possible de modifier rapidement des runners à la main en éditant le fichier config.toml :

concurrent = 1

[[runners]]
  name = "Ruby builder"
  url = "https://votre.domain.gitlab/ci"
  token = "4d5478b71ffcb094d8b2d34c244a4b"
  executor = "docker"
  [runners.docker]
    tls_verify = false
    image = "ruby:2.1"
    privileged = false
    disable_cache = false
    volumes = ["/cache"]
  [runners.cache]
    Insecure = false

Place maintenant à la configuration du build de votre projet.

3e minute : Configuration du projet et du build

A la racine de votre dépôt git créer un fichier gitlab-ci.yml. C’est ce fichier qui contiendra les instructions de build.

Vous avez une minute pour la lire la documentation de Gitlab CI et linter votre fichier gitlab-ci.yml dans le linter disponible dans votre instance Gitlab.

Ok, ça va être difficile d’écrire la configuration du build en une minute. Mais cette étape n’est pas essentiellement lié à l’installation de Gitlab CI, mais c’est ici que le fun commence !

4e minute : Enjoy !

J’avais dit moins de 5 minutes et le pari me semble rempli. Grâce au travail des équipes de Gitlab, l’installation de Gitlab CI s’est considérablement simplifié et avec Docker on a une fléxibilité de build remarquable…

Petite précision, si vous ne voyez pas le menu «Build» dans le menu de gauche dans votre projet, vérifiez que la feature «Builds» est activée dans les options de votre projet.

Voilà, happy building !

Installer Gitlab CI en moins de 5 minutes avec Docker

Si comme moi vous avez une instance Gitlab qui tourne avec Docker, vous serez heureux d’apprendre, si vous ne le saviez pas que Gitlab fourni un outil de CI et que l’installation de Gitlab CI ne prend pas plus de 5 minutes, si vous utilisez des containers Docker

Bien sûr, pour installer Gitlab CI via Docker, il vous faudra une instance Gitlab (si possible à jour) et avoir Docker installé sur votre machine.

1ère minute : Installation du container

Tout d’abord, il faut créer un répertoire ou l’on va stocker la configuration des runners que l’on voudra utiliser. Ce répertoire sera monté en tant que Volume :

$> mkdir -p /data/gitlab/runner

Ensuite, on initialise le container gitlab-runner qui va s’occuper de créer les containers Docker pour le build :

$> docker run -d 
   --name gitlab-runner \
   --restart always \
   -v /var/run/docker.sock:/var/run/docker.sock \
   -v /data/gitlab-runner:/etc/gitlab-runner \
   gitlab/gitlab-runner:latest

Vous devriez avoir un nouveau container qui tourne nommé gitlab-runner en plus du container de gitlab-ce:

$> docker ps -a 
CONTAINER ID       IMAGE                         COMMAND                  CREATED             STATUS                      PORTS                                      NAMES
502c4768d70d       gitlab/gitlab-runner:latest   "/entrypoint run --us"   34 hours ago        Up 26 hours                                                            gitlab-runner
30b0ce74588f       gitlab/gitlab-ce:latest       "/assets/wrapper"        34 hours ago        Up 26 hours                 80/tcp, 443/tcp, 0.0.0.0:2777->22/tcp      gitlab

Voilà, l’installation à proprement parlé est terminée, maintenant il y juste un peu de configuration à faire pour définir un runner et configurer le projets.

2e minute : Création d’un runner

Maintenant que le container gitlab-runner est lancé, il faut créer un runner qui pourra être utilisé par les builds. Mais avant cela, il faut se rendre dans l’admin de votre installation Gitlab et récupérer un token d’enregistrement.
Ce token permettra la communication entre le runner et l’instance Giltab.

Le token s’obtient en allant dans l’administration de Gitlab puis dans la page «Runners» :

Page d'administration des runners vide

Une fois que vous avez récupérer votre token, vous pouvez créer un runner. Comme on utilise Docker, on va utiliser une commande docker pour exécuter une commande sur le container «gitlab-runner».

$> docker exec -it gitlab-runner gitlab-runner register
Running in system-mode.

Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/ci):
https://votre.domain.gitlab/ci
Please enter the gitlab-ci token for this runner:
pokPOKzceiDDaddadZvNLbzjL
Please enter the gitlab-ci description for this runner:
[f5bb1e7dbd6c]: Ruby builder
Please enter the gitlab-ci tags for this runner (comma separated):

Registering runner... succeeded                     runner=WdVv9BYz
Please enter the executor: shell, ssh, virtualbox, docker+machine, docker-ssh+machine, docker, docker-ssh, parallels:
docker
Please enter the default Docker image (eg. ruby:2.1):
ruby:2.1
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!

Il y a deux étapes importantes avec la précédente commande :

  • un «executor» est simplement ce qui va exécuter vos builds. Comme nous sommes dans un environnement Docker, je ne vois pas pourquoi ne pas utiliser des containers. Ainsi pour chaque build, un nouveau container sera créé et sera supprimé ensuite,
  • la «default Docker image» est l’image qui sera utilisée par les executors. Choisissez votre images en fonctione de votre environnement.

Si tout c’est bien déroulé et que vous retournez dans l’admin de Gitlab dans le menu «Runners», vous devriez voir une nouvelle ligne dans la tableau des runners :

Page d'administration des runners avec notre nouveau runner

Si vous retournez au répertoire que l’on a créé au début de l’article, vous verrez qu’un nouveau fichier a été créé et qu’il contient la configuration de notre runner. Ainsi il sera possible de modifier rapidement des runners à la main en éditant le fichier config.toml :

concurrent = 1

[[runners]]
  name = "Ruby builder"
  url = "https://votre.domain.gitlab/ci"
  token = "4d5478b71ffcb094d8b2d34c244a4b"
  executor = "docker"
  [runners.docker]
    tls_verify = false
    image = "ruby:2.1"
    privileged = false
    disable_cache = false
    volumes = ["/cache"]
  [runners.cache]
    Insecure = false

Place maintenant à la configuration du build de votre projet.

3e minute : Configuration du projet et du build

A la racine de votre dépôt git créer un fichier gitlab-ci.yml. C’est ce fichier qui contiendra les instructions de build.

Vous avez une minute pour la lire la documentation de Gitlab CI et linter votre fichier gitlab-ci.yml dans le linter disponible dans votre instance Gitlab.

Ok, ça va être difficile d’écrire la configuration du build en une minute. Mais cette étape n’est pas essentiellement lié à l’installation de Gitlab CI, mais c’est ici que le fun commence !

4e minute : Enjoy !

J’avais dit moins de 5 minutes et le pari me semble rempli. Grâce au travail des équipes de Gitlab, l’installation de Gitlab CI s’est considérablement simplifié et avec Docker on a une fléxibilité de build remarquable…

Petite précision, si vous ne voyez pas le menu «Build» dans le menu de gauche dans votre projet, vérifiez que la feature «Builds» est activée dans les options de votre projet.

Voilà, happy building !

Debian 8.4 + ATI + GNOME Shell = freeze ?





Vous savez assez que je suis un utilisateur assidu de Debian, que ce soit sur mes PC portables ou mes serveurs. En fait, il n'y a que mon PC fixe qui tourne sous Ubuntu 14.04. Vous assez aussi sans doute remarqué que je ne publie plus grand chose autour de l’utilisation de GNU/Linux : la raison est simple, je n'ai plus que des distributions dites stables. Je n'ai plus le temps de m'amuser à bidouiller mon outil de travail entre #NuitDebout, #OnVautMieuxQueCa, le pod diaspote.org, le serveur du blog et les autres. Bref, du stable pour la tranquillité, pour pouvoir me concentrer ailleurs. En plus, en 10 ans, j'ai quand même fait le tour de ce qu'il me fallait. On pourrait dire que je suis comblé.

Sauf que depuis la sortie de Debian 8.4 (Jessie), mes portables gèlent complètement. C'est le genre de truc qui n'arrivait jamais, mais au grand jamais. Mes deux PC potables freezent lamentablement sans action étrange de ma part. Vendredi, alors que je bossais chez un client, c'est fièrement que j'utilisais mon laptop sous Debian dans un environnement noyé par des Windows.
En fait, ma fierté n'a pas duré longtemps : j'ai redémarré 4 fois mon PC en moins de 3h. Pour un gars qui redémarre son PC une fois par jour, ça m'a bouleversé. #Tristitude.
Ajoutez à ça mon autre ordinateur portable qui se met lui aussi à freezer alors que je ne faisais que trainer sur le web.

Les raisons du freeze sont encore floues, mais je connais mon matos : deux vieux ordinateurs portables sous Debian, équipés de vieilles cartes ATI n’exploitant pas les drivers propriétaires, GNOME Shell et la mise à jour vers Debian 8.4. Je sais aussi qu'un écran figé, c'est une histoire de drivers et que les drivers, ça touche au kernel.
Pour ma première tentative de sauvetage-de-face-de-libriste-ridicule, j'ai forcé la réinstallation des drivers libres ATI/Radeon : rien, ou plutôt re-freeze.
En deuxième action, je suis passé par les dépôts backports pour installer une version du kernel plus récente : bingo ! Les freezes ont disparu !
Du coup, si vous avez vous aussi ce problème gênant, voici la démarche à suivre (disclaimer traditionnel : chez moi ça marche. C'est pas dit que ça marchera partout) :

Vérifiez que vous avez bien ces dépôts dans votre sources.list

Ils devraient apparaitre dans le fichier /etc/apt/sources.list.

deb http://ftp.fr.debian.org/debian/ jessie-backports main 
deb-src http://ftp.fr.debian.org/debian/ jessie-backports main

Installez le kernel qui va bien 

Pour du 64 bits :

apt-get update && apt-get install linux-image-4.4.0-0.bpo.1-amd64
Pour du 32 bits:
apt-get update && apt-get install linux-headers-4.4.0-0.bpo.1-686

Et voilà, fin de la manipulation, vous pouvez redémarrer votre ordinateur et reprendre votre travail comme si de rien n'était. Si vous avez des infos sur l'origine du souci, je suis preneur.


<noscript></noscript>

2016-04-07

WebTorrent Desktop, un nouveau Popcorn Time-like



Oserai-je parler d'un nouveau Popcorn Time ? Non, pas vraiment, mais le fonctionnement est quasi le même : du streaming via torrent. Ça peut être un détail technique mais c'est extrêmement important pour moi. Je rêve de voir la mort des sites de streaming direct qui balancent à tout va des vidéos en flash à des gens qui pompent le réseau sans savoir les dégâts qui ça peut entraîner. Le réseau est pour tout le monde, ça serait bien qu'il le reste et pour ça il faut se servir du torrent, des réseaux pairs à pairs, décentralisés et puissants.
Autre point commun, tout comme PCT, c'est un logiciel libre dont le dépôt, même si il est hébergé sur Github, est ouvert à cette adresse.

Maintenant que ça c'est dit, passons à WebTorrent Desktop : il s'agit d'un outil vous permettant de regarder des vidéos en direct, comme Netflix, sauf que là, c'est un lien torrent ou un magnet qui en est la source. Impeccable. Chopez le .torrent ou le lien magnet de votre choix, faites-le avaler par WTD et c'est parti.
L'interface est pour le moment très sobre : on y trouve la liste des fichiers que vous pouvez regarder, trois boutons pour lancer la lecture, arrêter de seeder (de partager) et supprimer les fichiers. Je parle de fichiers parce que WTD  peut aussi bien lire des fichiers audios que vidéos.



Sinon, vous avez bien lu : WebTorrent Desktop se comporte comme un logiciel P2P classique : il télécharge ET partage. Pour parler plus clairement, vous ne serez pas un simple leecher, un mec qui se sert sans redonner à son tour, mais bien un membre du réseau avec la possibilité d’arrêter quand vous le voulez, of course.

Pour tester la bête, c'est assez simple : dirigez-vous vers le site officiel pour télécharger la version Windows, GNU/Linux ou MacOS. Les linuxiens devront installer Node.js, pour les autres, j'en sais rien, je ne connais pas leurs plateformes.

Un détail à remarquer est visible dans la barre de chargement, celle qui s'affiche en rouge en bas de la vidéo. Si vous regardez bien ma capture d’écran, vous pouvez voir que le chargement n'est pas uniforme, qu'il manque des bouts.



Le torrent est décentralisé, il se sert de plusieurs sources différentes. Pour optimiser le chargement, cette technologie va chercher des morceaux chez plusieurs serveurs et reconstitue le fichier par la suite. Il y encore quelques années, personne ne pouvait dire qu'on arriverait à organiser la reconstruction de cette multitude de petits bouts avant d'avoir tout téléchargé sur son ordinateur... C'est beau l’évolution !

Ah, les films libres de droit ne manquent pas, c'est plus compliqué pour les séries. Si jamais l'envie vous prenait de faire du tipiakage avec cet outil, pensez à sortir couvert avec un VPN. C'est toujours une bonne idée.


<noscript></noscript>

2016-04-06

Mise à jour blog vers PluXml 5.5

Le blog évolue et passe de PluXml 5.4 à PluXml 5.5 . La mise à jour s'est effectuée sans incident. Une fois les nouveaux fichiers copiés (tous sauf les répertoires /data, /plugins et /themes, ainsi que le fichier config.php) et leurs droits vérifiés, il suffit de se rendre sur le blog et d'exécuter la mise à jour proposée afin de finaliser la migration. C'est tout.

J'apprécie toujours autant la simplicité d'utilisation de ce CMS. Merci donc aux contributeurs.

Page officielle du projet : www.pluxml.org

2016-04-03

Passer à PluXml 5.5




PluXml, c'est ce qui propulse ce blog depuis quelques temps maintenant. Presque deux ans en fait.

Ce premier avril, en plus de voir apparaitre la drôle entreprise Diaspote Inc (ahah) est sortie la version 5.5 de ce moteur de blog.

Au programme, une interface d'administration retravaillée. Ce ravalement est bien agréable sachant que l'ancienne commencait sérieusement à se faire vieille. Un truc agréable fait son apparition : la possibilité, en plus de la date de publication, de préciser la date de la dernière modification. En gros, maintenant, vous aurez la date précise à laquelle j'ai corrigé les dernières fautes d’inattention.
Si vous voulez parcourir la liste complète des changements, c'est par ici. L'annonce officielle est par là.

Si vous ne connaissez pas du tout PluXml, sachez que ce CMS ne s’embête pas avec une base de données. C'est fondamental quand on n'a pas envie de dépenser une fortune dans un serveur bien trop puissant : c'est donc fondamental pour moi.

Pour les utilisateurs actifs de PluXml, la mise à jour est fichtrement triviale. Tout doit être remplacé par les nouveaux fichiers à l’exception du répertoire de votre thème, de vos plugins, de votre config.php et du /data. C'est tout. C'est quand même bien plus simple que de lutter avec owCloud !



<noscript></noscript>

2016-04-01

[1 avril] Bienvenue Diaspote Inc




C'est une grande nouvelle. Le pod diaspora* diaspote.org a tapé dans l'oeil de la French Tech. Pour celles et ceux qui ne connaissent pas la French Tech, c'est une sorte de label qui reconnait le travail des startups innovantes dans le domaine du digital.

Cela fait des semaines que les #podmins de diaspote sont en négociation avec les porte-paroles de la FT pour organiser une startup bien de chez nous qui s’appuierait sur le logiciel libre diaspora* pour propulser un réseau social bénéficiant des lois françaises.

Nous sommes fiers de pouvoir apporter un soutien financier de près de 50 000 euros pour lancer un nouveau pod, dont le nom reste encore à définir, et embaucher 5 développeurs ruby à temps plein. De quoi faire passer le succès de la campagne de Senya pour un léger amuse-bouche ! ;-)

Le tout sera géré par une nouvelle entité créée pour l'occasion : Diaspote Inc, dont la gestion sera partagée entre les podmins et la CNIL.
Je pense qu'il n'est pas nécessaire de préciser que, contrairement à diaspote, le pod se servira de la branche stable de diaspora* et qu'il sera configuré pour vous permettre de partager vos publications sur Facebook et Twitter.

On espère pouvoir rapidement vous montrer le résultat de notre travail. Restez branchés et n'hésitez pas à passer par les commentaires pour nous proposer vos idées de nom !


<noscript></noscript>

2016-03-25

[Wiki]Utilisation d’Nginx comme reverse proxy avec un certificat auto-signé, Let’s Encrypt et un chiffrement fort

Cette fois pas d’annonce d’une nouvel article, mais celle de la refonte complète de la gestion d’NginX en tant que reverse proxy pour gérer le SSL (https):

Le SSL est de plus en plus utilisé par les services auto-hébergés. En général ce protocole est géré par le serveur web qui reçoit les requêtes directement. Par contre si vous avez mis en place un reverse proxy, la chaîne de chiffrement se fera entre le navigateur, et ce fameux reverse proxy.

Utilisant NginX, je l’ai donc configuré pour qu’il fonctionne correctement avec ce type de requête en lui laissant gérer les certificats. Ceux-ci pourront être auto-signés grâce à openssl, ou délivrés par une autorité de certification. L’arrivée de Let’s Encrypt permet à chacun d’avoir son propre certificat délivré par une autorité reconnue par tous les navigateurs. Nous verrons comment gérer ce type de certificats avec un reverse proxy, ainsi que la mise en place d’un système de chiffrement digne de se nom. Il faut d’abord avoir mis en place NginX en tant que cache et reverse proxy comme décrit ce tuto Installation et configuration d’un reverse proxy avec NginX.

Ca se passe par là sur le wiki: Utilisation d’Nginx comme reverse proxy avec un certificat auto-signé, Let’s Encrypt et un chiffrement fort

Récupérer l'application Tasks avec ownCloud 9




J'ai fait la mise à niveau hier soir et tout s'est très bien passé. Je n'ai rencontré aucune erreur pendant le passage de 8.2.2 à 9.0. J'ai récupéré les mises à jour des applications Galerie, Passwords, Contact, Mail, Documents, Agenda, même Tasks est bien passée. Sauf qu'elle s'appuie sur une version d'Agenda qui n'est plus du tout maintenue depuis cette neuvième évolution majeure d'ownCloud. La preuve, quand on clique dessus, on se retrouve avec une page blanche aussi fraîche qu'inattendue.

En clair, vous avez bien les dernières versions des applications Tasks et Agenda qui sont correctement installées mais qui, du coup, deviennent incompatibles entre-elles. #Tristitude, comme j'ai trop souvent l'habitude de dire.

Bref, c'est chiant si comme moi vous en êtes un peu accro. Du coup, je vous propose la solution pour récupérer Tasks et respirer tranquillement à nouveau.

Étape 1 - Désactivez l'application

Commençons doucement par désactiver l'application depuis le gestionnaire d'application.

Étape 2 - Supprimez les sources de la version de Tasks défectueuse

Allez dans le répertoire apps de votre installation et supprimez le répertoire tasks. En ligne de commande, ça donnerait quelque chose comme ça :
cd /var/www/html/owncloud/apps && rm -rf tasks

Étape 3 - Récupérez les sources de la branche DAVclient de tasks

Vous allez maintenant choper les sources de tasks depuis le dépôt Github et vous placer sur la branche DAVClient :
git clone https://github.com/owncloud/tasks.git && cd tasks && git checkout DAVclient

Étape 4 - Vérifiez les droits

N'oubliez pas de bien vérifier que votre serveur web peut librement manipuler les fichiers
chown -R www-data: /var/www/html/owncloud/apps/tasks

Étape 5 - Réactivez l'application et mettez encore à jour la base de données

Une fois l'application réactivée depuis le gestionnaire d'application, OC va vous demander de mettre à jour la base de données. Là, c'est comme vous le sentez puisque vous venez de jouer avec ce processus pour passer de 8.x à 9.x ! :)


Et voilà, Tasks revient à la vie, vous pouvez aller dépiler vos trucs à faire. Pour finir, notez que cette version est plus lente que l'ancienne puisqu'elle charge l’intégralité des tâches en cours et terminées d'une seule traite.


<noscript></noscript>

2016-03-24

Ressources sur le libre

Voici une liste de ressources pour se tenir informer, se sensibiliser ou encore agir sur les thématiques du logiciel libre et de la neutralité de l'internet.

Actualités

 Conférences

 Sites de sensibilisation

Sites d'activité citoyenne

Miscellanées

Autres ?

Si vous avez des suggestions, ne pas hésiter à me les envoyer par courriel.

Devoir installer un Wiko Rainlow Lite, loin de FirefoxOS


Soyons direct : c'est un téléphone sous Android, la version 5.1.1 pour être précis, Lollilop d’après Wikipedia.
Pourquoi un utilisateur de Firefox OS aurait besoin d'un autre jouet sous Android ? Simple, les mois de mai et d'avril sont ceux des anniversaires chez moi. La grande initiative de l’année, c'est de refourguer un nouveau téléphone à ma tendre mère, une femme impressionnante de 66 ans.

C'est une vieille, quoi.

Non, ce n'est pas grossier. Elle est bien plus à l'aise avec des plantes, un marteau, du tissu, un tournevis, de la peinture, des dossiers de droit tordus, et j'en passe, qu'avec un smartphone. C'est la reine du jardin familiale et l’égale de son mari dans le travail. Cela fait deux ans environ qu'elle se traîne un smartphone de récupération qui m'a suivi en Inde, en Syrie ou encore au Monténégro. Il a prit le vent, la flotte, la canicule et ma transpiration pendant des années avant de finir dans ses mains. Autant dire que je suis franchement étonné qu'il ait tenu jusque là !

J'ai essayé de lui donner mon Open C. Vraiment. Ses besoins sont simples : flooder ses enfants et secouer son mari, principalement. Pas de jeux vidéos, pas d'applications tordues ni de client diaspora* pour suivre mes aventures sur diaspote.org : seulement des appels, des textos, des photos et un peu de navigation. Quand on pose le cadre, mon Open C remplit parfaitement ses besoins, sauf qu'elle ne veut pas se sentir perdue, incapable de s'en sortir sans demander de l'aide. Elle n'est pas très à l'aise avec un smartphone mais elle a trouvé le courage de se servir d'un PC portable sous Ubuntu pour me skyper quand j’étais à l'autre bout du monde. L'informatique fait partie des quelques éléments qui ne font pas partie de son univers même s'il y traîne de temps en temps par la force des choses.
Pour remplir cette dernière condition, il lui faut impérativement un bouton retour, cette flèche en bas à gauche du téléphone qui vous fait revenir sur l’écran précédent. L'Open C n'en a pas, la panique prend le pas, l'impression de ne pas pouvoir réussir à être indépendante est là, c'est trop tard : ce téléphone n'est pas pour elle. Il est bien trop différent de ce qu'elle maîtrise.

C'est triste, mais c'est ainsi. J'ai du accepter de participer à l'achat de ce machin, peu couteux certes, mais sous Android. Comme je n'ai pas le temps et plus les compétences pour lui installer une autre ROM plus libre, je fais ce que je fais de mieux : je préconfigure à ma sauce, F-Droid en tête.
J'avoue être passé par un moteur de recherche pour retrouver le nom de ce marketplace alternatif ! Je suis vraiment largué avec des trucs là. #Tristitude.
Je récupère donc ce truc pour pouvoir, en plus d'enfin voir que ça marche pour de vrai, installer Firefox et K9 Mail. En clair, je fais ce que je préconise dans mon vieux billet : Conseils à un libriste pour faire passer au libre. Quand on a la main, nous, libristes, nous nous devons d'en profiter. Il ne faut pas tomber dans la barbarie en installant des trucs trop pointus, genre un machin qui chiffre les textos, sans le consentement du futur utilisateur et qui ne sera qu'une surcouche compliquée, mais on peut déjà balancer Firefox comme navigateur par défaut, c'est la base.

Je n'ai pas d'autres idées d'applications alternatives qui pourrait l’intéresser ou remplacer de l'existant trop bavard, j'attends vos idées pour, éventuellement, transformer son futur smartphone en un outil tolérable de mon point de vue et utilisable du sien.


<noscript></noscript>

2016-03-21

Où sont stockées vos données sur iCloud?

Saviez vous que les données du cloud d’Apple (iCloud) sont hébergées en partie sur les serveurs d’Amazon, de Microsoft et de Google?

Ça me fait marrer cette sous traitance. In fine, l’utilisateur ne sait rien d’où sont stockées ses données privées et qui y a accès.

Pourtant les intermédiaires des cette chaîne ont en pratique accès à vos données. De même que les autorités des pays qui les accueillent. (Safe harbour haha)

J’aimerai bien savoir combien de NDA intermédiaires il y a entre vous et le propriétaire du disque dur qui stocke vos données privées (non chiffrées bien sûr pour pouvoir les traiter facilement).

Si vous voulez rire, allez regarder du coté des CDN de Facebook. Vos photos privées sont copiées sur de multiples serveurs dans le monde et un simple lien permet à tout le mode d’y accéder.

Heureusement, Apple a l’air de vouloir moins dépendre de ses compétiteurs pour opérer son service de cloud et a investi 4 milliards de $ pour construire ses propres serveurs de stockage en Arizona, Irlande et au Danemark.

Bref, stocker ses données chez soi, c’est pas une mauvaise idée si on veut les garder privées :p

Edit suite au commentaire de barmic :

D’après ce document sur la sécurité d’Apple de septembre 2015, on trouve le passage suivant sur les données d’iCloud (page 41):
« Each file is broken into chunks and encrypted by iCloud using AES-128 and a key derived from each chunk’s contents that utilizes SHA-256. The keys, and the file’s
metadata, are stored by Apple in the user’s iCloud account. The encrypted chunks of the file are stored, without any user-identifying information, using third-party storage
services, such as Amazon S3 and Windows Azure. »

En clair, les prestataires (Amazon et Microsoft) ne peuvent déchiffrer seuls les données. Le chiffrement se fait par Apple sur ses machines, puis le fichier chiffré est envoyé à ses prestataires pour y être stocké. La clé de chiffrement restant sur les machines Apple (donc toujours à la portée des autorités américaines).

Related Posts:

J'aime !(2)Je n'aime pas !(1)

2016-03-16

FreshRSS 1.3-1 beta et Wallabag 2 beta 2


Des nouveautés de nos applications adorées !



FreshRSS d'abord, parce que c'est mon bébé. C'est un lecteur de flux RSS, autrement dit : il s'occupe pour nous de récupérer chaque article d'un site d'info, d'un blog ou de tout ce qui propose son contenu via RSS et vous le propose via une belle interface web. Le must de la veille technologique, comme on dit.
Si vous êtes déjà utilisateurs des versions de développement, foncez faire la mise à jour automatique via l'interface de mise à jour, ça passe tout seul. Pour la télécharger et l'installer à la main, c'est par ici.

Au programme :

Wallabag



Wallabag, c'est un outil que je n'utilisais plus depuis la frustration de ne pas pouvoir profiter de la v2 sur mon serveur. C'est chose faite maintenant, j'ai remonté mes manches pour l'installer en bonne et due forme. Wallabag, c'est un read-it-later. Il permet d'enregistrer le contenu d'une page web dans sa belle interface pour pouvoir le lire plus tard, au calme.
Exemple simple : je passe pas mal de temps à rechercher tout et n'importe quoi sur le net pendant mes heures de travail. Il m'arrive de trouver des articles franchement intéressants que je ne peux pas me permettre de lire pendant mes heures de service, alors, hop, dans Wallabag ! Je le lirai le soir, au calme, chez moi.  C'est un peu une façon particulièrement classe de mettre du contenu en favori.

Pas de liste de nouveautés pour cette beta2, l'annonce officielle s'en charge très bien. Pour l'installer, c'est par là.

Ces deux services libres complètent ma panoplie de geek accro à l'information. FreshRSS récupère le contenu des sites que je suis consciencieusement et Wallabag récupère le contenu aléatoire.
Une astuce perso : mon flux RSS craque régulièrement. Je ne peux pas tout lire et je ne lirai jamais tout ce qu'il peut récupérer. Du coup, je parcours rapidement mes flux, sauvegarde les quelques articles pertinents dans Wallabag et marque la sélection comme lue. Avec cette magouille, je n'atteins plus les 1000 articles non lus avec 150 articles mis en favoris. C'est psychologiquement déstressant !

Si vous voulez en profiter, il serait plus sage de vous servir des versions stables plutôt que des betas, mais après, c'est à vous de voir.


<noscript></noscript>

2016-03-11

J'ai mis à jour mon Flame


On dirait une phrase sortie d'une réunion de groupe de gens qui ont des problèmes :

- Bonjour, je m'appelle dada et j'ai mis à jour mon Flame.
- Bonjour dada !

C'est un peu ça, quand même. Avec l'annonce de Mozilla d’arrêter les frais sur le portage de Firefox OS pour smartphone, on se sent quand même un peu seul. Il y a encore de l'espoir, ceci-dit : des développeurs se sont réunis hier soir pour proposer un avenir de Firefox OS. On n'a pas encore beaucoup d'information sur le sujet mais la Fondation est prête à bosser sur la transition pendant plusieurs mois. C'est court mais ça peut permettre l’émergence d'un futur qui s’appellerait B2G OS, l'ancien nom de code du système d'exploitation. Pour l'histoire, le changement de nom doit intervenir puisque Firefox OS est maintenant réservé aux objets connectés, comme la télévision que j'ai pu prendre en photo chez Harrods à Londres.

Donc, une mise à jour de mon Flame, via OTA. Je ne m'y attendais pas du tout, et pourtant c'est sans doute l'une ou la dernière sous le contrôle de Mozilla. L'avenir s'annonce plus laborieux, avec du flashage à la main et tout le bordel que ça peut entraîner. Au programme, on reste en 2.6 mais sur les bases de Firefox 46. Les nouveautés ne semblent pas se bousculer au portillon mais je n'en attends pas vraiment : un téléphone stable, qui passe des appels, envoi des textos, affiche un GPS correct et qui prend des photos à-la-con, c'est tout ce dont j'ai besoin. En gros, RAS.

Cette mise à jour et le billet de Genma me rappellent que les modules complémentaires sont là et qu'on peut s'en servir ! Personnellement, je me sers de Quick Settings Enhancement et de Kill All : la première permet d'ajouter tout un tas d'options en affichant le menu déroulant du téléphone et l'autre... de massacrer d'un coup toutes les applications que j'oublie régulièrement de fermer. Ces deux modules sont un must ! Je profite de ce billet pour encore parler de TFE Drive qui permet de se servir de son ownCloud avec Firefox OS !

Bon, la prochaine étape sera peut-être aussi agréable pendant deux ans, puis une galère comme ça l'est maintenant avec Firefox OS, mais tant pis : je prendrai une tablette sous Ubuntu ! Peut-être que mon frangin aussi d'ailleurs : mon jumeau commence à se laisse tenter par toutes les conneries que je peux lui raconter et il serait temps !


<noscript></noscript>

2016-03-10

NAS : choix des composants

Dans ce billet, j'établis mon choix pour le montage d'un NAS.

Mon état des lieux est le suivant. J'ai plus de 8To de données personnelles et professionnelles qui sont actuellement sur des disques durs usb. Il devient compliqué de brancher et débrancher, de manipuler sans laisser tomber, de savoir quoi est sur qui.

La sauvegarde est un enfer : sauvegarde de machines sur des disques, de machines sur des machines, de disques sur des disques, etc. J'ai toutes les chances de rater un étape. L'idée est donc de rationnaliser tout ça :

  • Une machine qui héberge données et sauvegarde des desktops/serveurs.
  • Une autre machine qui sauvegarde les données critiques du NAS.

Avantages/inconvénients d'un NAS

Avantages

  • Espace de stockage continu plutôt que N disques distincts
  • Espace disponible sur le réseau (communication avec plusieurs machines, montage NFS...)
  • Facilite grandement la sauvegarde régulière
  • Résilient à des pannes disques (ça dépend du RAID choisi, mais je m'intéresse à un système résilient)

Inconvénients

  • Si un nombre critique de disques flanche ou un autre problème apparait (erreur de manipulation, matériel défaillant causant une perte majeure des disques), on perd tout.
  • Machine supplémentaire donc coût supplémentaire comparé à un boitier de disque externe.
  • Les disques de parité sont de la mémoire morte, c'est-à-dire de l'espace non visible par l'utilisateur.
  • Un système RAID n'est pas une sauvegarde, il faudra donc sauvegarder.

Choix technologiques

  • De la redondance de données pour être résilient aux pannes disques.
  • Système de fichiers ZFS qui est éprouvé pour ce genre d'usage (en attendant que btrfs soit mature).

Par conséquent, on s'oriente vers un RAIDz1, 2 ou 3, c'est-à-dire 1, 2 ou 3 disques de redondance. A l'heure actuelle, il semble que RAIDZ1 soit déconseillé. L'argument est le suivant. Les disques sont de plus en plus gros. Par conséquent, si un disque est en panne, il est nécessaire de le remplacer pour reconstruire le pool. La charge appliquées sur les disques est d'autant plus grande que chaque disque est volumineux. Il y a donc un risque (non négligeable ?) qu'un second disque casse à ce moment là. RAIDZ3 demande beaucoup d'investissement. J'opte donc pour RAIDZ2. Le nombre minimal de disques est de 4 et il est conseillé d'avoir un nombre pair.

Les NAS commerciaux

On va voir que notre machine sans disque présentée ci-dessous peut recevoir jusqu'à 12 disques. Bien plus qu'il nous en faut. Les NAS commerciaux de 2 ou 4 disques sont courants. Si on se base sur des marques bien connues comme synology, il faut compter

  • 2 baies 300-350€
  • 4 baies 450€
  • 5 baies 600-700€
  • 6 baies 700-800€
  • 12 baies à 1300€.

C'est un prix typique plutôt minimaliste, on peut sans problème trouver bien plus cher. Je n'ai pas vu de synology à 6 baies.

D'un point de vue rentabilité, un 4 baies est juste pour un RAID6 (=RAIDZ2 pour ZFS), car seule la moitié de l'espace acheté sera disponible. Le 5 baies étant le plus proche, je vais comparer avec le DS1515 :

  • quad core 1.4 GHz
  • 2 Go RAM
  • disques EXT4 hot swappable
  • Extension possible à 15 disques, mais avec un module coutant 450€ / 5 disques supplémentaires
  • Ajout d'un disque SSD possible (Les tests de performance présentés sur le site utilisent un SSD)

L'avantage d'un tel NAS est le coté clef en main du produit (d'après ce que je lis). Par contre, les inconvénients que je vois :

  • peu d'évolutivité en nombre de disques ou chère
  • logiciel propriétaire
  • pour un RAID6, je n'ai que 5-2 = 3 fois la taille d'un disque disponible. La sacrifice est important.
  • le 8 baies est bien plus cher

Pour un prix légèrement inférieur, ma proposition ci-dessous me donne

  • quad core 2.4 GHz
  • 16Go RAM ECC
  • disques en ZFS (ou autre chose)
  • Avec le boitier, on peut y mettre jusqu'à 8 disques facilement, 10 sans trop de difficulté.

Pour l'évolutivité :

  • Possibilité d'ajouter deux disques SSD pour améliorer les performances si le besoin sans fait sentir (pour NFS ?).
  • Possibilité de monter jusqu'à 64 Go de RAM (je reviendrai là dessus).
  • Possibilité d'ajouter de la ventilation.
  • Possibilité d'en faire autre chose qu'un NAS si les besoins devaient évoluer brutalement.

Le choix

Pour le matériel, et notamment la partie critique (carte mère, mémoire, etc), je conseille LDLC car ils ont un excellent support téléphonique (déjà testé), une bonne politique de retour, un site bien fait et une livraison gratuite dans des points relais. Les choix ne sont pas neufs en soi. Je me suis largement inspiré des conseils donnés sur le forum de freenas et quelques blogs.

Le système d'exploitation

BSD gère nativement ZFS, mais ça reste possible avec debian. Néanmoins, j'ai une confiance plus grande sur un support natif, je m'oriente donc vers FreeNAS pour la distribution. La documentation de FreeNAS est exhaustive, le forum est très actif et possède beaucoup de contenu.

UPS

Le nombre de disques durs peut être important. Je veux que ça tienne un minimum et avoir le temps d'éteindre proprement. De plus, les capacités des batteries peuvent diminuer au cours du temps, il faut prendre ce paramètre en compte.

Carte mère

Les critères que j'ai retenu :

  • le nombre de port SATA
  • la capacité en mémoire vive (FreeNAS en consomme beaucoup et de manière générale, c'est plutôt bien de ne pas en manquer)
  • le réveil par réseau (Wake On LAN)
  • la consommation énergétique (inférieure à 50W)

ASRock fabrique de très belles cartes mères pour les serveurs. Mon choix s'est porté sur une version 4 coeurs. En 8 coeurs, la différence de prix est selon moi trop importante pour une utilité relative sur un NAS. Le petit plus que j'apprécie : le CPU est livré avec la carte mère, pas besoin d'aller jouer avec la pâte thermique.

Version Quad core

Caractéristiques :

  • mini itx
  • Intel Avoton C2550 Quad Core 2.4GHZ featuring 14W TDP
  • 16 Go par slot, 64 max, 4 slots
  • 12 SATA (4 SATA2, 8 SATA3)
  • Support de l'IPMI
  • 3 ports USB (dont un pour l'UPS, et un pour l'OS)

Version Octa core

Les autres caractéristiques sont identiques à ci-dessus.

RAM ECC

Il est important d'utiliser des mémoires ECC. C'est recommander par freenas pour éviter les corruptions de données.

8Go est le minimum pour FreeNAS, 16Go devrait être à peu près confortable avec la possibilité de passer à 32Go. Les mémoires de 16Go sont un peu trop couteuses ici. Notre système se limitera donc à 32Go pour des raisons de coûts.

Chassis

Critères :

  • de l'espace, pour faire circuler l'air et pour faciliter l'installation.
  • un grand nombre d'emplacements pour disques 3.5"
  • de la ventillation et des filtres pour la poussière
  • des cables bien rangés
  • compatible carte mini itx

Mon choix :

Caractéristiques :

  • alim ATX/EPS
  • 2 SSD (à placer sur le coté)
  • 8 disques 3.5" ou 2.5"
  • 2 espaces pour lecteurs optiques dans lesquels il serait possible de mettre deux racks pour disques durs 3.5" ou 2.5"
  • 2 ventilateurs 140mm fournis
  • un grand nombre de réceptacles pour des ventilateurs supplémentaires

 Alim

Il faut donc choisir une alimentation ATX/EPS. Toujours prendre de la qualité pour éviter de sentir un jour le plastique brûlé.

  • FSP AURUM S400 400W 80PLUS Gold 60€ (LDLC)
  • Enermax Revolution XT ERX430AWT 80PLUS Gold 75€ (LDLC)

USB

  • SanDisk Cruzer Fit 16 Go 6€

Avantages :

  • petit prix
  • deux fois l'espace nécessaire à freenas
  • 5 mm de longueur. Elle s'oublira à l'arrière de la machine.

Disques

Je privilégie :

  • des disques de récupération (en bon état tout de même)
  • des disques à faible vitesse (5400 tours/min) car ils chauffent moins
  • des disques WD red, j'en ai une très bonne expérience

A noter que la taille totale disponible dépend de la taille du plus petit disque. Il faut aussi réfléchir aux besoins futurs avec les remarques suivantes :

  • On ne pourra pas ajouter de disques. Il n'est pas raisonnable de mettre deux vdev, et il est impossible d'étendre un vdev.
  • Quel coût existera-t-il si on veut augmenter la taille de chaque disque ? Quel gain ? Faut-il le faire maintenant ou plus tard (évolution des prix, existant).

Ces choix sont à faire au cas par cas. A noter aussi qu'il est déconseillé d'acheter tous les disques de même modèle, en même temps, chez le même fournisseur. La probabilité qu'ils tombent en panne simultanément est plus grande.

Connectique

  • La carte mère est venue avec 6 cables SATA. A compléter si on veut passer à 8.
  • L'alimentation possède un nombre limité de connecteur d'alim SATA (5). Il faut donc soit mettre des dédoubleurs sur des fiches molex (que l'on utilise pas), soit des extensions de fiche SATA.

SSD

Il n'est pas encore clair qu'un disque SSD apporte des améliorations pour mon utilisation (cf reddit ou Introduction to vdev, zpool, ZIL, L2ARC). Le point sensible est ici la partie NFS qui peut avoir besoin d'un cache pour être plus rapide. De même que pour les NAS assemblés, c'est optionnel et souvent laissé au regard de l'utilisateur. La documentation de freenas indique qu'il faut privilégier la RAM en premier.

Liens intéressants

2016-03-09

ownCloud 9 disponible et fin de vie de ownCloud 7




Trois mois environ après la dernière salve de mises à jours, ownCloud enchaîne avec une version 9 (y'a des images derrière ce lien, pas dans ce billet). Pour une logiciel qui a soufflé ses 6 ans le 1 janvier 2016, c'est franchement pas mal. Un petit tour de la liste des nouveautés est de rigueur !

Une fédération améliorée

Quand je parle de fédération, j'ai l'habitude d’enchaîner sur diaspora* alors qu'ownCloud le fait tout aussi bien. On pouvait déjà incorporer l'installation d'un ami ou d'une entité quelconque à sa propre instance pour pouvoir accéder, en quelques cliques, à ses fichiers partagés. Maintenant, on peut interagir avec ses propres utilisateurs. Du coup, on pourra facilement partager son cloud avec le cloud du voisin et de ses amis.

Une installation certifiée

Là, c'est le truc assez cool de cette version 9 : la mise à jour ou l'installation de son instance va déclencher le contrôle des fichiers utilisés. Pour ceux qui ne savent pas trop comment fonctionne une installation d'ownCloud sur un serveur, c'est assez simple : on copie/colle un paquet de fichiers dans le répertoire qui va bien et, avec un peu de magie, ça roule tout seul. Ce procéder est efficace, mais pas mal de monde, moi le premier, ne pensent pas à vérifier si ce qu'on dépose sur son serveur est bien le résultat du travail des développeurs. L'histoire de Linux Mint rappelle que ce genre de négligence peut entraîner un drame. Avec cette version 9, la vérification de l’authenticité des sources est automatique. Si ça vous intéresse, vous pouvez aller plus loin par ici (en anglais).

Un système de tags, de commentaires et des mises à jours d'application enfin visible

Dans les dernières nouveautés notables, on peut parler de l'ajout d'un système de commentaire. Vous allez pouvoir commenter vos répertoires et vos fichiers. Dans mon cas, l’intérêt est limite puisque je suis le seul à me servir de mon instance mais je me vois déjà hacker le système pour ajouter des notes par-ci, par-là pour ne pas oublier de modifier un répertoire ou de faire un truc important. Pour les tags, c'est à peu prêt la même conclusion personnelle, mais nul doute que des plus gros utilisateurs seront les apprécier.
Un dernier truc important, c'est l'ajout, enfin, de notifications lorsqu'une mise à jour d'une application est disponible. Avant ça, j'allais un peu au petit bonheur la chance, et pas très souvent, regarder si des màj étaient à faire. Les notifi', c'est toujours cool !


Pour finir, et je l'ai mis dans le titre parce que c'est important et parce que personne ne pensera à regarder : avec la sortie de ownCloud 9, c'est la version 7 qui est poussée vers la sortie. Ce 8 mars 2016 est sortie la dernière mise à jour de la branche 7 d'ownCloud et il est maintenant conseillé de passer à la version 8, ou 9 !

Si vous vous servez déjà d'ownCloud, n'attendez pas tout de suite la notification de mise à jour de l'Update Center. Comme d'habitude, il faudra encore attendre quelques jours avant de profiter de cette nouvelle version.


<noscript></noscript>

2016-03-05

Webmasters, installez vos libs pour respecter vos utilisateurs

C'est un fait désormais bien établi, les services pour webmasters permettent de suivre le déplacement des utilisateurs sur le web. A titre d'exemple, on trouve google analytics ou les bibliothèques (javascripts, fonts) hébergées notamment par google. A titre d'exemple, une liste est disponible sur developers.google.com.

Installer ces libraries sur son serveur est en réalité très simple. Prenons l'exemple de jquery et mathjax sur apache. Pour ceux qui ne sont pas familier, mathjax permet d'afficher des équations sur son site web ou dans Jupyter. Dans le cas de l'hébergement de fichiers privés, l'intérêt apparaît clairement. Les équations étant envoyées vers le service de mathjax (si vous l'utilisez directement), celui-ci connait l'intégralité des équations de votre document.

On commence par installer jquery et mathjax

sudo apt install libjs-jquery
sudo apt install libjs-mathjax fonts-mathjax-extras

On crée un virtual host pour apache dans sites-available

<VirtualHost *:80>

ServerName mylibs.mydomain.tld
ServerAdmin webmaster@sciunto.org
ServerAlias mylibs.mydomain.tld
Alias /mathjax/ /usr/share/javascript/mathjax/
Alias /jquery/ /usr/share/javascript/jquery/

ErrorLog ${APACHE_LOG_DIR}/mylibs.mydomain.tld-error.log
CustomLog ${APACHE_LOG_DIR}/mylibs.mydomain.tld-access.log combined

</VirtualHost>

Il est ensuite souhaitable de dupliquer cette configuration en https, ou de n'utiliser que https. letsencrypt permettra d'avoir un certificat pour ça.

Maintenant, dans le code du site web, on peut remplacer l'appel de mathjax (par exemple)

  src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML"

par

  src="//mylibs.mydomain.tld/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"

pour le cas d'un appel http ou https ou

  src="https://mylibs.mydomain.tld/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"

pour un appel en https seulement.

En rédigeant ce billet, je me dis que des hébergeurs comme les CHATONS pourrait aussi proposer ce type de services pour les personnes n'ayant pas la possibilité d'héberger ces bibliothèques.

2016-02-29

Surveiller la qualité de l’air avec du open hardware et du logiciel libre

J’ai commencé un petit projet de mesure de la qualité de l’air intérieur, le tout en utilisant un maximum de open hardware et de logiciel libre. Pas de préoccupation particulière par rapport à la qualité de l’air chez moi, mais une curiosité qui peut déboucher sur des comportements utiles (l’aération du logement notamment).

Inspiré par les projets :

Me suis donc procuré quelques capteurs pour commencer à jouer avec arduino, micropython ou ESP8266:

J’ai branché l’ensemble sur une Arduino UNO (toujours la même qui me permet de prototyper en réutilisant essentiellement du code d’autres personnes).

1er montage avec le DHT11 (température et humidité) et le MQ135 (CO2)

1er montage avec le DHT11 (température et humidité) et le MQ135 (CO2)

2ème montage en ayant ajouté le détecteur de particules fines (avec les pinces crocodile et les allumettes pour tester!)

2ème montage en ayant ajouté le détecteur de particules fines Sharp GP2Y1010AU0F Optical Dust Sensor (avec les pinces crocodile et les allumettes pour tester!)

J’ai alors écrit (principalement copier/coller/modifié à la marge) un bout de code C++ pour arduino (merci git.framasoft.org pour l’hébergement du code) pour sortir du CSV sur le port série. Ce port série est ensuite lu par node-red qui permet de travailler les valeurs (pour l’instant juste débugger de temps en temps et limiter à 2 messages par minute), et on balance ensuite direct dans le nœud emoncms (qui génère un POST HTTP). Le tour est joué.

Screenshot from 2016-02-29 17-15-25

La sortie CSV ressemble à clef:valeur,clef2:valeur2,etc…  ce qui donne : humidity_percent:27.00,temperature_C:22.00,temperature_F:71.60,heat_index_C:20.96,heat_index_F:69.73,dust_raw_signal:152.00,dust_voltage:0.74,dust_density_ug_m3:26.17

Une fois arrivé dans emoncms (auto-hébergé chez moi, bien évidemment), je configure ces input pour qu’ils soient loggués. On peut ensuite construire des tableaux de bord à partir de ces enregistrements, un exemple ci-dessous :

Dashboard construit sur emoncms

Tableau de bord construit avec emoncms

Un peu insatisfait des manipulations et du graphisme dans emoncms, je me suis tourné vers graphite+grafana (que j’utilise au boulot). J’ai fait un petit script (très imparfait) qui reprend les données de emoncms et qui les injecte dans carbon+graphite (si vous le voulez, mettez moi un commentaire, je le mettrais au propre pour le publier). Je peux ensuite utiliser grafana pour faire de beau tableau de bords et post-traiter les données (par exemple lisage en utilisant des moyennes sur 5 minutes, dérivées, etc.). Notez que j’utilise aussi les valeurs collecté par la téléinfo et la mesure de la chaudière (cf précedent blog).

 

Dashboard construit sur Grafana

Tableau de bord construit avec Grafana

Reste encore beaucoup de boulot pour que ce soit utilisable, mais j’apprends plein de trucs et j’y vais progressivement.

Je doit avouer que le montage est toujours sur la breadboard (platine d’experimentation) depuis 2 mois, donc il va falloir que je mette le tout dans un boîtier (avec éventuellement un ventilo pour la détection de poussière).

Comme d’habitude, une petite liste de choses à faire par la suite :

  • effectuer le calibrage de CO2 et de poussière,
  • envoyer en simultané vers carbon pour ne pas avoir à jouer le script d’import,
  • construire des écrans de consultation utilisables,
  • trouver un moyen d’afficher ces données sur mes bureaux d’ordinateur (un widget gnome qui récupère une valeur en HTTP ?),
  • mettre l’électronique dans une boite,
  • brancher l’ESP8266 dessus pour la liaison wifi et rendre autonome le trucs (remplacer l’arduino?),
  • avoir des LED de feedback où je décide de mon propre algorithme (combinaison des mesure pour déterminer la qualité de l’air), suggérant ainsi qu’il faut aérer,
  • harmoniser les capteurs en utilisant partout du  node-red,
  • etc.

À suivre.

2016-02-25

Présentation de l'Aquaris M10 sous Ubuntu


En ce moment, le World Mobile Congress bat son plein en Espagne. Les grandes nouveautés de ce salon touchent particulièrement les téléphones portables, mais pas que ! On, surtout moi, attendait tous la présentation et les premiers testes de la tablette tournant avec Ubuntu Touch, la version de la distribution dédiée à ces appareils. C'est maintenant chose faite !



D’après mes flux RSS, les premiers furent les gars de chez Numerama avec leur article : Prise en main de la tablette BQ Aquaris M10 sous Ubuntu.

On y trouve un long blabla et des photos, pas mal de photos. Pour une vidéo rapide, vous pouvez passer par Clubic. Au final, on se rend plutôt bien compte qu'il s'agit d'une tablette tactile ordinaire. Ouf, on est sauvé. Les caractéristiques étaient elles aussi attendues :
  • CPU : Un Quadcore à 1.5 Ghz ( ARM - MediaTek MT8163)
  • GPU : Mali-T720 MP2
  • 2GB de mémoire vive
  • Un appareil photo de 8 Mpix
  • Une webcam de 5 Mpix
  • 16 Go de mémoire interne
  • Un port MicroSD supportant jusqu'à 200 Go.
Autant dire que ce n'est pas du gros haut de gamme, comme l'auteur ne manque pas de le souligner, même si c'est loin d’être au niveau d'un ZTE OpenC. Oui, je commence les hostilités puisqu'il semblerait que tout le monde soit d'accord pour affirmer que seul le haut de gamme peut permettre à un nouveau venu d’espérer une petite place dans le monde déjà très occupé des tablettes tactiles. Dans ces commentaires, on retrouve le brave Alterlibriste qui ne baisse plus sa garde depuis que Cyrille BORNE s'est occupé de gentiment lui tailler les croupières à propos de FirefoxOS.

Il doit y avoir un fond de vérité, puisque les gens semblent d'accord. Pourtant, avec mon esprit de bidouilleur libriste et d'hacktiviste, je ne peux pas m’empêcher d’être heureux. Ce produit présente des limites techniques, certes, mais c'est aussi une alternative. Rien que ça, c'est beau. Ce n'est pas l'alternative parfaite : Ubuntu pourrait se servir de Wayland et pas de Mir, par exemple, ou tourner avec 4Gb de mémoire vive serait pas mal non plus. Mais ça reste une alternative.

Je me demandais si j'allais m'en offrir une, ou pas. Tout comme j'ai acheté un Flame sous FirefoxOS le jour exact de sa sortie, je ferai pareil avec cette tablette. Je suis un mec simple : j'ai envie de faire le malin avec un appareil sous Ubuntu tout comme j'avais envie de faire le malin avec un téléphone sous FirefoxOS. En plus d'une indépendance royale vis-à-vis des services de Google & co, j'adore voir les gens dévisager mon téléphone et je veux qu'ils dévisagent cette tablette. J'annonce donc ici que j’achèterai cette Aquaris, que je ferai exactement le même pari qu'avec le système d'exploitation de Mozilla : celui d'une alternative.

Marchera, marchera pas ? Tant pis. Critiquer, c'est bien, c'est même important. J'entends les critiques mais je reste borné. Je veux supporter cette tablette et je le ferai. Pour être honnête, la convergence, qui est mis en avant par Canonical, ne sera qu'un bonus pour moi. Tout comme je ne suis pas un utilisateur extrême de mon Flame, je ne le serai sans doute pas avec cette Aquaris : poster des trucs et d'autres sur diaspote, lire mon flux RSS, regarder des vidéos et des séries dans le train, voici à quoi ressemblera l'utilisation que j'en aurai. Après, je m'imagine volontiers faire des présentations et des démos avec ce jouet pour ne plus traîner le vieil ultra portable que je ne supporte plus.

Bref, tête baissée, j'y vais. Firefox OS n'a pas tenu mais mon Flame tiendra jusqu'à sa mort. Cette tablette ne tiendra peut-être pas plus longtemps mais je m'en servirai jusqu'à ce qu'elle flanche.


<noscript></noscript>

2016-02-24

Chiffrement matériel sur Olinuxino A20

Le processeur Allwinner A20 est capable d’accélérer matériellement un certain nombre d’algorithmes de cryptographie. J’ai voulu tester s’il était possible d’en tirer parti sur Olinuxino A20, avec Debian Jessie.

Etat des lieux

D’après les spécifications du matériel (voir page 9), il supporte notamment l’AES-CBC en 128 à 256 bits.

Cette accélération matérielle n’est pas disponible dans le kernel 3.4.x fourni par Olimex, mais l’est depuis peu dans un noyau linux récent (à partir de la version 4.3) : http://sunxi.montjoie.ovh/

Après avoir contacté l’auteur de ce patch (il y a plusieurs mois déjà), j’ai eu confirmation que son code ne peut pas s’appliquer facilement sur la branche 3.4 du noyau.

Mise à jour du noyau Linux

Je n’ai pas trouvé de meilleur moyen que de compiler moi-même le noyau.

En soi, ce n’est pas très compliqué, mais il faut avoir la possibilité de se brancher en mode « console » sur la machine pour comprendre ce qu’il se passe s’il y a un problème au démarrage (chargement du noyau linux par u-boot, avant que le serveur SSH soit démarré).

Mode console sur Olinuxino A20

Il faut brancher physiquement son ordinateur sur l’appareil, avec un câble USB.

Sur l’ordinateur, on peut y accéder ensuite avec Putty. Il faut lui demander de se connecter en mode série sur /dev/ttyUSB0, à 115200 bps (vous pouvez enregistrer ces paramètres de session pour les retrouver plus tard). Mais, sur Ubuntu en tous cas, un user standard n’a pas le droit d’accéder à /dev/ttyUSB0 : il faut donc soit lancer putty en tant que root (via sudo), soit donner au user courant le groupe « dialout ».

PuTTY configuration Olinuxino A20

Compilation du noyau Linux

Pour compiler le noyau pour cette machine, tout est expliqué sur le site linux-sunxi.org : http://linux-sunxi.org/Mainline_Kernel_Howto.

J’ai pris la version 4.4.1 depuis https://www.kernel.org/

Sur Ubuntu, il faut installer quelques paquets pour la compilation :

apt-get install gcc-arm-linux-gnueabihf ncurses-dev u-boot-tools build-essential

A noter que, sur Ubuntu 14.04, j’ai eu un message d’erreur « error Your compiler is too buggy ; it is known to miscompile kernels ». J’ai donc fait la compilation avec une version plus récente (la 15.04 : probablement que d’autres conviennent aussi)

make ARCH=arm sunxi_defconfig

make ARCH=arm menuconfig

Dans les menus, il faut activer « User-space interface for symmetric key cipher algorithms » dans la section « Cryptographic API » (cocher plutôt avec une étoile, pour qu’il soit intégré dans le noyau au lieu d’être un module à part)

Option kernel chiffrement matériel A20

Ensuite on est prêt à lancer la compilation :

make -j4 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage dtbs

Une fois la compilation terminée :

  • Copier les fichiers arch/arm/boot/zImage et arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dtb dans la partition de boot
  • Créer un fichier boot.cmd dans la partition de boot, avec le contenu suivant :
    fatload mmc 0 0x46000000 zImage || ext2load mmc 0 0x46000000 zImage
    fatload mmc 0 0x49000000 sun7i-a20-olinuxino-micro.dtb || ext2load mmc 0 0x49000000 sun7i-a20-olinuxino-micro.dtb 
    setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait panic=10
    bootm 0x46000000 - 0x49000000
  • Créer le fichier boot.scr à partir de ce fichier :
  • mkimage -C none -A arm -T script -d boot.cmd boot.scr

Au départ, j’avais également compilé et upgradé u-boot sur une nouvelle carte SD, mais ce n’est finalement pas nécessaire. Le u-boot livré par Olimex suffit (U-Boot 2014.04 ou 2015.10)

Il faut donc dans la partition de boot les fichiers suivants :

  • zImage
  • sun7i-a20-olinuxino-micro.dtb
  • boot.scr
  • boot.cmd (facultatif : c’est la source qui a permis de générer boot.scr)
  • uEnv.txt (facultatif : pour passer des paramètres au noyau)

Attention, si vous utilisez l’image actuellement fournie par Olimex (A20-OLinuXino-MICRO Debian Jessie with kernel 3.4.103+ release 11), il y a un petit piège : sur une machine allumée, la partition de boot n’est pas montée sur /boot (qui contient pourtant des données de démarrage), mais dans /media/olimex/6B4C-FFFD : c’est bien là qu’il faut déposer le nouveau noyau. Autre solution : déposer les fichiers directement dans la partition de boot de la carte SD, en la mettant dans un ordinateur.

NB : je n’ai pas encore testé de faire ces mêmes manipulations en partant d’un filesystem installé avec l’installeur de Debian Jessie (et non issu de l’image fournie par Olimex). A priori ça devrait être la même chose.

En cas de noyau qui ne démarre pas

Pour comprendre pourquoi, il est possible de compiler le noyau en ajoutant des options de debug : https://linux-sunxi.org/Mainline_Kernel_Howto#Early_printk

Nécessité d’un patch sur les versions 4.3.x et 4.4.x

En l’état, il y a hélas un bug qu’il faut patcher manuellement : https://lkml.org/lkml/2015/11/16/46

Deux lignes de code à ajouter manuellement. Merci à plaes, apritzel et montjoie pour leur aide au diagnostic sur IRC (#linux-sunxi).

Ce correctif devrait être intégré dans la version 4.5 du noyau Linux.

Comment vérifier si l’accélération matérielle est disponible ?

cat /proc/crypto | grep sun4i devrait renvoyer :

driver : ecb-des3-sun4i-ss
 driver : cbc-des3-sun4i-ss
 driver : ecb-des-sun4i-ss
 driver : cbc-des-sun4i-ss
 driver : ecb-aes-sun4i-ss
 driver : cbc-aes-sun4i-ss
 driver : sha1-sun4i-ss
 driver : md5-sun4i-ss

Parmi les applications qui savent en tirer parti, il y a dm-crypt :

cryptsetup benchmark –cipher aes-cbc devrait donner des valeurs de plus de 25 Mo/s (au lieu de 12 à 15Mo/s avec le noyau 3.4 fourni par Olimex, qui ne supporte pas d’accélération matérielle) :

# Algorithm | Key | Encryption | Decryption
    aes-cbc   256b  25.4 MiB/s   25.5 MiB/s

Si cette commande vous renvoie une erreur « Required kernel crypto interface not available. Ensure you have algif_skcipher kernel module loaded. », c’est que vous n’avez pas activé l’option « User-space interface for symmetric key cipher algorithms » mentionnée plus haut dans la configuration du noyau linux.

Édité le 09/03/2016 : si le cryptsetup benchmark fonctionne bien et donne effectivement de bons résultats, je n’ai pas encore réussi à utiliser dm-crypt sur une partition chiffrée. Probablement parce qu’il me manque d’autres options à la compilation du kernel ?

2016-02-23

JAH-12 – Du contournement d'un serveur mandataire HTTP

Journal de bord du capitaine :
Date : 04 avril 2012
Lieu : Perdu dans le cyber espace

Il arrive que l'on se retrouve en "milieu hostile" avec un accès restreint vers l'extérieur et une surveillance de tout ce qui circule sur le réseau local auquel on est rattaché. Or on peut parfois avoir le besoin, ou tout simplement l'envie, de faire tomber ces barrières. Attention ! Il convient d'être prudent, si ces mesures de protection ont été mises en place par les administrateurs du réseau que vous utilisez c'est probablement pour de bonnes raisons. Les contourner se fera à vos risques et périls et représentera le plus souvent une rupture de la charte que vous vous êtes engagé à respecter lorsqu'on vous a donné vos accès au réseau.

Mes besoins étaient les suivants :

  • Utiliser des applications nécessitant l'accès à d'autres ports distants que les classiques 80 et 443.
  • Utiliser d'autres protocoles que HTTP et HTTPS.
  • Naviguer sur le web sans restriction.
  • Naviguer sur le web en toute confidentialité.

Mon but était donc d'utiliser un tunnel HTTP pour faire passer une connexion SSH vers mon serveur personnel et utiliser cette connexion SSH pour faire transiter toutes mes requêtes vers l'extérieur via mon serveur. Ainsi la connexion entre mon bureau et mon serveur serait chiffrée ce qui empêcherait l'espionnage et les restrictions. Le principe d'un tunnel HTTP est d'encapsuler des paquets d'un protocole différent dans des paquets HTTP. Dans la pratique, j'allais devoir me connecter au serveur mandataire de mon entreprise en lui envoyant des paquets de type HTTP, à destination d'une adresse et d'un port qu'il autorisait, dont le contenu contiendrait de quoi ouvrir une connexion SSH.

La première chose à faire était de récupérer des informations sur mon "ennemi" ("Know your foe" comme disent ces chers anglophones), pour cela j'ai simplement regardé la configuration de mon navigateur internet. J'ai alors pu constater que la configuration du navigateur pour accéder à internet via le serveur mandataire utilisait un fichier d'auto-configuration (extension "pac"). Ayant l'adresse de ce fichier je l'ai simplement récupéré via mon navigateur. Il contenait tout un tas de règles pour utiliser tel ou tel serveur mandataire selon le domaine auquel on souhaitait accéder (pour tout les services intranet) et, à la fin, l'adresse (et le port) du serveur servant à toutes les requêtes vers l'extérieur.

En l'occurrence l'adresse désignait un ensemble de machine sur lesquelles étaient reparties l'ensemble des requêtes, ce qui signifie que ma connexion sortante n'avait pas la même adresse à chacune de mes requêtes. Cela a son importance, car de ce fait je ne pouvais pas programmer une règle sur mon serveur du type : "rediriger toutes les connexions venant de cette adresse IP vers tel port".

Sur mon serveur personnel, il me fallait mettre en place un serveur SSH qui écoute sur un des ports autorisés par le mandataire. En général, on utilise le port 443 car c'est celui du protocole HTTPS. Le problème est qu'il n'est, en principe, pas possible que deux applications distinctes écoutent sur le même port de la même interface réseau. Donc si SSH écoutait sur le port 443, apache ne pouvait pas et donc mon site web n'aurait plus été accessible sur ce port. La solution est venue sous la forme du logiciel sslh conçu spécifiquement pour faire cohabiter sur le même port les services SSL et SSH. Techniquement, la seule application qui écoute sur l'interface réseau externe sur le port 443 est sslh qui va avoir pour rôle de détecter la nature de la connexion (SSL ou SSH) et de la transférer sur un autre port et/ou une autre interface réseau.

Une fois sslh installé, il ne se lance pas automatiquement ; il faut modifier le fichier de configuration afin de décider ce qui sera transféré et où. J'ai choisi de ne pas modifier la configuration de mon serveur SSH (en écoute sur toutes les interfaces réseaux sur le port 22) mais d'adapter celle de mon serveur HTTP pour qu'il n'écoute plus que sur l'interface réseau interne (mais toujours sur le même port). Ainsi lorsqu'une connexion extérieure arrive sur le port 443, sslh va la rediriger vers l'interface interne sur le port 22 dans le cas d'une connexion SSH et vers le port 443 dans le cas d'une connexion SSL. L'aide de sslh, ainsi que les nombreux exemples disponibles sur internet m'ont permis de configurer correctement, dès la première tentative, sslh et apache [1] .

Une fois mon serveur prêt et les informations essentielles sur le mandataire récupérées, il n'y avait plus qu'à tester. Travaillant sous Microsoft Windows XP, j'ai dû commencer par installer un client SSH (et oui malgré la taille gargantuesque de leurs systèmes d'exploitation, Microsoft n'inclut toujours pas de client SSH); j'ai donc opté pour le célèbre PuTTY.

Pour se connecter, rien de plus simple: je rentre le nom de mon serveur et le port cible (en l'occurrence 443) puis je vais dans la section Connexion->Proxy, sélectionne HTTP, et rentre le nom du mandataire et le port cible. PuTTY va empaqueter les informations pour la connexion SSH dans des paquets HTTP, le mandataire, n'y voyant pas d'objection, va laisser passer le paquet vers sa destination finale. Là, sslh détecte qu'il s'agit d'une demande de connexion SSH et va transférer le paquet sur le port d'écoute du serveur SSH. PuTTY ouvre alors un terminal demandant le login puis le mot de passe, une fois les identifiants acceptés la connexion SSH est établie. J'ai ainsi accès, via mon serveur, au monde extérieur sans surveillance, ni restriction d'aucune sorte. Les paquets transitant par le mandataire ne contenant que du contenu chiffré, l'ingérence est donc impossible.

À cet instant, je n'avais accès qu'à un terminal sur mon serveur, or ce dont j'avais besoin c'est que des applications puissent utiliser ce tunnel pour se connecter à des serveurs distants. La solution la plus simple : utiliser un serveur mandataire SOCKS. Le principe était de créer un mandataire qui écoutait sur un port local et faisait transiter les paquets qui lui étaient envoyés, via ma connexion SSH, vers l'extérieur. Bien sûr, la connexion était bidirectionnelle, les réponses des serveurs contactés par mes applications utilisant le tunnel étaient envoyées à mon serveur qui via le mandataire SOCKS les renvoyait aux applications demanderesses.

PuTTY sait très bien gérer la création de mandataire SOCKS, pour cela il suffit, au moment d'entrer les informations de connexion, d'ajouter dans la section Connexion->SSH->Tunnel le numéro du port d'écoute sur la machine locale et cocher Dynamic. Une fois la connexion ouverte, j'ai modifié les paramètres de connexion de mon navigateur en lui indiquant d'utiliser le mandataire de type SOCKS se trouvant sur le port que j'avais défini. Un rapide test, en tentant une connexion à un site normalement bloqué par le mandataire de mon entreprise, m'a montré que mon tunnel fonctionnait bien.

J'ai pu utiliser ce tunnel pour mon navigateur web (Firefox), un logiciel de messagerie instantanée (Pidgin), un logiciel de messagerie (Thunderbird) et un logiciel de musique en streaming (Spotify). Pidgin permettant de configurer chaque compte avec des paramètres réseau distincts cela m'a permis d'utiliser un seul et même client pour ma messagerie instantanée professionnelle et personnelle. En théorie, toutes les applications nécessitant un accès à internet et pouvant se configurer pour utiliser un mandataire SOCKS peuvent être utilisée via ce tunnel, et pour les applications ne gérant pas "nativement" le protocole SOCKS, il existe des programmes permettant de SOCKSifier une application [2]. Dernier point bien pratique, une option permettant d'autoriser les connexions venant de l'extérieur sur mon mandataire m'a permis de dépanner des collègues qui avaient besoin d'accéder à certains serveurs extérieurs normalement bloqués.

Sous GNU/Linux, créer un tel tunnel avec proxy SOCKS n'est pas plus compliqué. Openssh gérant très bien la redirection de port (locaux, distants ou dynamique) il suffit d'utiliser une petite application complémentaire qui va se charger d'encapsuler cette connexion pour le mandataire HTTP. J'ai choisi d'utiliser corkscrew qui se configure en quelques lignes et fait parfaitement son travail. Une fois le tunnel établi, comme sous Windows, il suffit de configurer les applications pour utiliser le mandataire SOCKS précédemment créé.

Un des principaux problèmes de cette solution est la limitation du débit. En effet, dans le cas où le serveur servant à établir le tunnel est relié à internet par une connexion ADSL domestique, le débit montant sera le plus souvent de l'ordre d'une centaine de kibioctet tout au plus. Pour de la navigation web, du streaming musical (en faible qualité) et de la messagerie instantanée cela suffit amplement ; mais pour tout autre type d'application, tel que le téléchargement de fichiers volumineux, cela peut vite devenir extrêmement long.

Autre point à bien comprendre : les connexions ne sont chiffrées qu'entre le client et le serveur de destination du tunnel. Une fois sorties de ce relais, les informations ne seront pas systématiquement chiffrées. Tout se passera exactement comme si les applications tournaient nativement sur le serveur relais; d'un point de vue extérieur c'est donc l'adresse IP du serveur relais qui sera vue.

Conclusions :

  • Mettre en place un tunnel est somme toute assez simple une fois que l'on a identifié les outils nécessaires pour répondre à nos besoins.
  • Il faut être bien conscient de ses responsabilités lorsque l'on contourne de tels systèmes de protection, on créé une brèche dans la sécurité qui, si elle était exploitée à des fins malhonnêtes, pourrait s'avérer catastrophique.
  • Toute prison à ses tunnels vers l'extérieur. :-)

Prochaine entrée dans le journal : De la gestion des certificats SSL

Notes

[1] J'ai depuis modifié ma configuration suite à des conflits et des instabilités dans cette configuration. Apache écoute maintenant sur le port 444 en local et tout va bien.

[2] Toutes les tentatives de connexions sortantes d'une application sont interceptées par un programme tiers qui se charge de les rediriger vers le mandataire SOCKS.

Sonerezh 1.0.0 et Nativefier


Je vous parlais déjà avec grand bien de Sonerezh en mars dernier. Depuis, plus grand chose. Pourtant, la version 1.0.0 de cette application est sortie ce 16 janvier. Avec les copains de diaspora*, on préparait notre balade en Belgique pour le FOSDEM 2016, d’où l'absence de billet sur cette release : j'me rattrape !

Au programme de cette première vraie version stable, peu de nouveautés. Il faut dire qu'elle était déjà bien fichue. Personnellement, je trouvais l'interface déjà impeccable. Les développeurs ont quand même trouvé la bonne idée d'afficher la liste des 6 derniers albums ajoutés à la collection. C'est un détail, mais un détail agréable. Pour le reste, c'est de la stabilisation à gogo.



Pour certains, il manque toujours la possibilité de téléverser directement sa musique via l'application. C'est pas faux, m'enfin, je transfère mes albums à travers un point de montage SSH directement depuis Nautilus (ou Fichier). Y'a toujours moyen de se débrouiller.

Sonerezh, c'est donc bien. Je ne me sers plus que de lui pour écouter ma musique et pouvoir l’écouter absolument partout, y compris depuis mon Flame, même si l'interface mobile pourrait être un peu améliorée.

En bon fanboy, j'ai décidé de proposer à mon frère de s'en servir. Lui, le windowsien classique, cherchait un bon moyen d’écouter du bon son sans trop se prendre la tête. On n'a pas vraiment les mêmes goûts musicaux, mais ça passe, comme on dit.
Pour lui faire passer la pilule extrêmement facilement, je suis passé par Nativefier. Voici le résultat :



Ce logiciel permet d'encapsuler un site web et de le transformer en application. Je schématise beaucoup en disant ça, mais l’idée est là.
Ci-dessus, c'est mon instance Sonerezh, un site web donc, qui est affiché comme si c’était un logiciel de bureau classique. Chouette, non ? Peu importe le système d'exploitation que vous utilisez, Nativefier permet de pondre une application pour GNU/Linux, Windows et MacOS.
J'ai donc exécuté la commande qui va bien et j'ai envoyé le .exe (via un partage ownCloud) à mon frangin. Mis à par le fait que je passe encore plus pour une sorte de magicien à ses yeux, j'ai offert à mon double une belle façon d’écouter de la musique sans s'emmerder à utiliser des trucs pleins de pubs, chers et qui n'ont pas forcément les albums qu'on aime.

Le seul gros truc qui coince, c'est que la couche technique qui permet ça est basée sur Chrome. Grosse tristitude. Si vous avez des infos sur un système équivalent mais basé sur Firefox, faites tourner !


<noscript></noscript>

2016-02-21

[Documentaire] Les gardiens du nouveau monde


Voici un documentaire incroyable qui n'est pas tout jeune mais que je vous propose de regarder. Il est réalisé par Flo Laval et on y retrouve Jean-Marc Manach, Jérémie Zimmermann et des gars de chez Telecomix.
Quand je dis que je vous le propose, c'est faux : profitez de votre dimanche au calme pour foncer le regarder si vous ne l'avez pas vu ! ;-)

<iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/t5tBsVX5g0g" width="640"></iframe>


Bon visionnage et bon dimanche !


<noscript></noscript>

2016-02-19

Contributions #1

Voici une brève d'un certain nombre de mes contributions (les plus abouties) de ces deux derniers mois.

Archlinux

J'ai amélioré l'empaquetage de Dask avec l'ajout de la suite de tests, ce qui m'a demandé d'empaqueter plusieurs autres modules. J'ai dialogué avec le développeur de dask afin d'améliorer la documentation pour les empaqueteurs. Ce module python sera utilisé comme dépendance par défaut de scikit-image. Il est fort à parier que pour la prochaine sortie de scikit-image, le paquet dask passera dans community. Mon travail devrait donc permettre un transfert plus rapide.

J'ai aussi mis à jour pims avec aussi un retour vers le projet ici ou encore à cause d'échecs de tests unitaires.

D'autres paquets ont été mis à jour comme Joblib ou mat.

Jirafeau

Jirafeau est un projet permettant d'héberger des fichiers. J'en héberge une instance sur mon serveur. J'ai contribué à deux petits patchs pour mieux documenter l'API et l'usage du script bash et faciliter la compréhension d'erreurs lors de l'utilisation du script d'envoie. J'ai passé pas mal de temps à résoudre des problèmes sur mon installation et j'espère que cela facilitera l'appropriation de ce code à l'avenir.

Scikit-image

Peu de temps pour contribuer à scikit-image ces temps-ci. Néanmoins, j'ai notamment trouvé une erreur dans la doc que j'ai patché, et ceci avant la sortie d'une version stable. Ca devrait permettre d'éviter de perdre quelques débutants.

Scipy

J'ai rapporté un bug que plusieurs personnes avaient rencontré mais pas remonté. Avec Ralf, on a compris que le bug était déjà réparé dans master (la prochaine fois, je commencerai pas ça) mais ça a au moins eu le mérite de remonter un rapport à pip qui n'affiche plus les informations de compilation depuis 0.8.x, c'est-à-dire l'instauration du spinner. Ce qui est très gênant.

Ikiwiki-pandoc

C'est un projet dont j'assure la maintenance, plus que l'écriture.J'ai eu la chance de pouvoir fusionner les contributions de Baldur qui ont permis de porter le code aux dernières évolutions de pandoc. Je n'ai presque rien fait et je suis heureux de voir qu'avoir regrouper un certain nombre de contributions sur un dépôt mort donne vie au code et que des gens l'utilise.

Gitbackup

Suite au billet de Carl Chenet sur les dangers de github, j'ai décidé de mettre du propre un script que je possédais et qui permet de gérer des miroirs de dépôts git.

Python-bibtexparser

Du travail est en cours sur bibtexparser, grâce à de très belles contributions d'Olivier Mangin pour utiliser pyparsing. Il reste cependant encore du travail pour arriver à la prochaine sortie. Les utilisateurs sont de plus en plus nombreux, ce qui obligent à gérer finement les changements d'API.

share.sciunto.org

Pour la bidouille, j'ai créé une page sur le remplacement d'un couvercle cassé de chambre à vide en verre pour avoir, au final, une étuve à vide fonctionnant à 130°C.

Publication aussi du montage d'un interféromètre de Mach-Zehnder.

Quartzy : fermeture d'un service SaaS

Notre labo utilisait quartzy, un service en ligne permettant de gérer du matériel de laboratoire. Quartzy a décidé de fermer une partie de ses services, dont ceux que nous utilisions. Déjà discuté sur ce blog, la solution que je propose est d'héberger ses services car le SaaS n'assure aucune pérennité, et ceci est un exemple supplémentaire. Un thésard du labo était preneur d'apprendre l'administration système et le webmastering. J'ai donc fait du mentoring pour installer une machine hébergée par l'université et installer un service sur ce serveur. Le choix s'est porté vers un logiciel sous licence GPL. Au passage, ce thésard passe à l'auto-hébergement pour son site web. Une personne sensibilisée et un service libéré.

2016-02-17

Entretien avec Adrienne Charmet-Alix de la Quadrature du Net


Entendre Adrienne Charmet-Alix parler d'Internet, c'est rassurant et encourageant. Prenez donc le temps de regarder cette courte vidéo de 12 minutes !

<iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/9ve-BC2MAjw" width="640"></iframe>

En plus, ça sort tout droit d'Arte : de quoi passer pour une sorte d'intellectuel ;-)


<noscript></noscript>

2016-02-13

JAH-11 – Du partage des données par BitTorrent

Journal de bord du capitaine :
Date : 20 mars 2012
Lieu : Perdu dans le cyber espace

Ellipse de temps, partie 2, le retour. Voilà près d'un an que je n'avais pas consigné mes tribulations dans ce journal. Les jours, semaines, mois, années passent, j'ai le temps ponctuellement de dépiler certaines tâches de ma liste de choses à faire mais cela n'avance pas aussi vite que je le voudrais et je préfère parfois prendre du temps pour faire avancer les choses que de les consigner par écrit. Bref, le temps nous file entre les doigts, c'est pas nouveau, tout le monde le sait et tout le monde s'en fout.

J'ai décidé de consacrer cette entrée de journal au partage de données par BitTorrent. Le problème s'est présenté à moi en ces termes : j'avais une grande quantité de vidéos (une douzaine de Gio [1]) à partager avec des personnes distantes, comment m'y prendre ?

J'envisageai quatre possibilités :

  • Graver le tout sur des DVDs et utiliser le bon vieux système postal pour envoyer tout ça.
    • Avantage : pas de problème de bande passante.
    • Inconvénients : coût (DVDs vierges, envois recommandés etc), flexibilité (les gens ne pouvaient pas choisir les vidéos) et surtout cette méthode était "Soooooooooo XXème siècle !"
  • Mettre à disposition mes vidéos sur un serveur tiers :
    • Avantage : téléversement une unique fois des vidéos (donc économie de bande passante pour moi).
    • Inconvénients : centralisation (les données ne sont disponible qu'à un seul endroit) et données personnelles sur un serveur que je ne contrôle pas.
  • Mettre à disposition les vidéos sur mon serveur pour un téléchargement direct.
    • Avantage : les données restent sur mon serveur.
    • Inconvénients : centralisation et téléversement des mêmes données multipliées par le nombre d'utilisateurs or la bande passante montante étant très limitée en ADSL, cette solution augmentait énormément le temps d'obtention des données.
  • Mettre en place un système de partage des données pair à pair en utilisant le protocole BitTorrent.
    • Avantages : données sur mon serveur, décentralisation des données au fur et à mesure et donc téléversement des données inférieur ou égal à la solution de téléchargement direct.
    • Inconvénients : Temps d'obtention des données assez long mais néanmoins inférieur à la solution précédente (ou au pire égal).

La solution me semblant la plus adaptée était la quatrième, je me suis donc mis à chercher de la documentation sur le protocole BitTorrent. Petit rappel pour les nouveaux : l'utilisateur télécharge un fichier .torrent qui contient des informations sur les données à échanger et l'adresse du tracker (le tracker est en fait un serveur qui recense tout les pairs partageant ces données qu'elles soient en cours de téléchargement ou complète), le client va alors se connecter au tracker pour connaître les pairs avec qui il va ensuite pouvoir communiquer directement pour échanger des parties de données qui leur manquent. L'avantage de ce protocole apparaît dès qu'il y a plus de deux pairs : le transfert devient plus efficace que du téléchargement direct car une fois qu'un pair a récupéré un morceau de fichier, il peut à son tour le partager avec ceux qui ne l'ont pas encore, évitant ainsi à la source originelle de retransmettre à tout le monde cette partie de donnée [2]. Dernier point de vocabulaire : celui qui envoie est un seeder et celui qui reçoit un leecher. Lorsqu'on télécharge un fichier via le protocole BitTorrent on est donc en général les deux à la fois.

Pour partager mes données il fallait donc :

  • Mette en place un tracker sur mon serveur.
  • Créer le fichier de métadonnées .torrent.
  • Utiliser n'importe quel client pour commencer le partage.
Mais là, surprise ! Les logiciels concernant la partie client sont légion, alors que les serveurs ne sont qu'une poignée. Les deux principaux qui étaient disponibles dans les dépôts Debian étant : BitTorrent (le serveur originel développé et maintenu par un des auteurs du protocole) et BitTornado (un fork du précédent). Les deux logiciels étant relativement semblable, notamment en terme de configuration, j'ai décidé d'utiliser BitTorrent. Il est intéressant de noter que la documentation upstream de ce logiciel est quasi inexistante et que la man page fournie dans Debian est l'œuvre du l'empaqueteur.

Ce faible nombre de serveurs BitTorrent se répercute de manière très visible sur la quantité de documentation disponible sur le web. En effet, les tutoriels ou autre exemples de configuration se comptent presque sur les doigts de la main. Au final, la configuration n'est pas très compliquée et j'ai pu obtenir rapidement un serveur fonctionnel. La génération du fichier de métadonnées est on ne peut plus simple et une fois cette étape faite il n'y a plus qu'à lancer le partage depuis n'importe quel client.

Recherchant un client utilisable en console, je me suis tourné vers rTorrent. Là encore, il n'y a que quelques paramètres à ajuster afin de personnaliser sa configuration et rTorrent est prêt à échanger avec d'autres pairs. À noter que rTorrent dispose d'une option intéressante lors du démarrage d'un partage : superseed. Elle permet entre autre d'optimiser la bande passante de la source originelle en choisissant les morceaux de fichiers à partager, afin que les autres pairs puissent le plus rapidement possible échanger entre eux sans se reposer uniquement sur la source. À noter également, j'ai lancé rTorrent dans le multiplexeur de terminal : screen, cela permet de le garder actif même lorsque la session qui a servi à le lancer est fermée.

Lors de ce premier essai, j'ai rencontré plusieurs fois des problèmes de stabilité : au bout d'un certain temps le serveur s'arrêtait. En cherchant la cause du problème dans les logs, j'ai pu me rendre compte de leur inutilité ! En effet, ils sont gérés de telle manière que lors d'un plantage, l'écriture dans les logs est interrompue avant que les dernières données aient pu être inscrites, ce qui rend l'investigation d'éventuels problèmes assez complexe. Je soupçonne malgré tout un problème lié aux connexions en IPv6.

Devant ces problèmes de stabilité et manquant de temps pour investiguer, j'ai changé de serveur pour utiliser BitTornado et j'ai par la même occasion désactivé l'IPv6. Une fois ce serveur lancé, je n'ai plus eu de soucis de plantage, par ailleurs BitTornado semble mieux maintenu que BitTorrent, je recommanderai donc plutôt l'utilisation de BitTornado.

En approfondissant mes recherches sur BitTorrent, j'ai appris qu'aujourd'hui un tracker n'était plus nécessaire, il suffit d'utiliser la Distributed Hash Table (DHT). En pratique lorsqu'on utilise la DHT n'importe quel pair peut servir de tracker, il n'y a donc plus besoin d'un tracker central, cela simplifie grandement le processus de partage. Néanmoins, pour l'instant, elle est surtout vue comme un complément des trackers classiques. En effet, les outils fournis avec BitTorrent ou BitTornado ne permettent pas de créer un fichier de métadonnées sans préciser de tracker, bien que cela soit parfaitement possible [3].

Conclusions :

  • L'échange d'importantes quantités de données est tout à fait possible de manière optimisée sans utiliser de service tiers et centralisé.
  • Les outils existent mais nécessitent un minimum de temps et d'investissement pour bien les utiliser, la documentation n'étant pas abondante.
  • L'utilisation de la DHT permet de faciliter le partage et rend le processus accessible au plus grand nombre si la génération d'un fichier de métadonnées est par exemple incluse dans le client BitTorrent.
Prochaine entrée dans le journal : Du contournement d'un serveur mandataire HTTP .

Notes

[1] Non le « i » n'est pas une faute de frappe, il s'agit de Gibioctets (230 octets) et non de Gigaoctets (109 octets). Plus de précisions sur les préfixes binaires ici .

[2] L'article Wikipédia sur le protocole BitTorrent contient une animation expliquant très bien ce principe. Vous pouvez la voir ici .

[3] On peut néanmoins trouver des scripts permettant de le faire comme par exemple celui-ci.

2016-02-11

Erreur curl: (60) SSL certificate avec FreshRSS




Je vous propose une magouille, un hack, pour contourner ce genre d'erreur rencontré avec mon instance FreshRSS. J'adore ce lecteur de flux RSS, j'y suis accro, au point que je deviens tremblant quand un de mes abonnements déconne. Pour le coup, j'avais de quoi trembler : c'est mon Mediapart qui refusait de convenablement se faire relever. Je ne suis abonné qu'à trois journaux numériques : Mediapart, Next Inpact et Arrêt sur Images. Si vous ne savez pas quoi suivre sur l'Internet mondial, vous pouvez commencer par ces trois là.

Donc, plus d'articles du quotidien numérique le plus chouette du moment. Une sombre histoire de certificat SSL qui ne passe plus et qui retourne une erreur. Curl refuse de le gober. Tristitude.

Pour contourner ce problème, le hack consiste à faire sauter la vérification de ce certificat via ces quelques lignes à ajouter dans le fichier de configuration :

[...]
'curl_options' =>
array (
        CURLOPT_SSL_VERIFYHOST => 0,
        CURLOPT_SSL_VERIFYPEER => false,
 )
[...]

C'est un hack, je me répète. Il n'est pas très grave, mais il fait sauter une vérification ayant pour but de certifier l'origine de l'information délivrée via HTTPS. Si vous avez d'autres idées, les commentaires sont ouverts. Je ne suis pas très à l'aise avec cette magouille mais je n'ai pas (encore) trouvé d'autres solutions.


<noscript></noscript>

2016-02-09

Mozilla dépecée



Je parle ici de la communauté Mozilla, pas seulement de la Fondation ou de la MoCo.

Il y a des rumeurs qui courent. Les gens savent assez peu l'histoire de la vie interne de la Fondation, mais certaines personnes racontent des choses de-ci, de-là. Loin de moi l'envie de colporter des rumeurs infondées mais j'ai comme une envie de raconter ce que je sais, ce qu'on m'a dit.

Lorsque le web était étouffé par Internet Explorer de Microsoft, Mozilla est née des cendres de Netscape pour proposer un nouveau navigateur. On connaît tous l'histoire et nous sommes heureux d'en profiter.
Ce que les gens savent moins, c'est que Google était partie prenante via son financement. C’était dans l’intérêt de tout le monde. Google arrosait Mozilla pour pousser les nouveaux standards du web dans les ordinateurs du tout à chacun. Mais, un jour, Google s'est lancé dans l'aventure avec Chrome. Les technologies étaient là et la notoriété de l'entreprise de Mountain View n’était plus à faire. Dans les jours qui ont suivi l'annonce officielle de Chrome, certaines rumeurs parlent même du lendemain, la Fondation Mozilla a vu ses développeurs foutre le camp pour se poser dans les bureaux de Google. On ne parle pas de nombre, mais nul doute que c’était suffisant pour faire serrer des dents. Chrome venait de siffler une bonne partie des effectifs chargés de développer Firefox.

Il y a quelques jours, on apprenait l'abandon de FirefoxOS. Tristement. On se sent encore frustré, touché par une trahison. On touchait du doigt un début d'alternative aux OS emmerdants que nous refusons d'utiliser. On était fier de pouvoir se servir d'autre chose, loin de iOS et d'Android, même s'il restait du travail à faire. Quand on aime, qu'on est enthousiaste, on passe sur les petits bogues et les finitions douteuses.
Ce qu'on sait moins, c'est qu'une quarantaine, 40, de développeurs de FirefoxOS avait quitté le navire pour rejoindre une startup et développer un fork au doux nom de H50S. Là, je peux vous sortir des sources. Une histoire de gros sous et de gros morceaux de Mozilla : des développeurs et des gros patrons.

Ce sont deux histoires différentes, à des époques bien différentes, mais elles ont en commun une chose : dépecer Mozilla et le travail de sa communauté pour le bénéfice d'autrui. Je m'avance peut-être, mais ces deux anecdotes laissent un goût amer. Au choix, on se dira que l'ambiance de travail était à chier, ou que les idées étaient à choper, quitte à ébranler sérieusement et froidement le processus déjà fragile qui nous offre des alternatives. Je ne blâme personne, tout le monde fait ses propres choix. Je constate juste que la vie de la Fondation ne doit pas toujours être une partie de plaisir et que les jugements, les commentaires et les articles qui paraissent depuis quelques jours n'aident pas à trouver une solution à un problème classique : garder les idées et les cerveaux.


<noscript></noscript>

2016-02-03

JAH-10 – Des petits réglages pas indispensables mais bien pratiques

Journal de bord du capitaine :
Date : 21 avril 2011
Lieu : Perdu dans le cyber espace

Pendant les longues heures que j'ai passé à jouer avec mon serveur auto-hébergé, je me suis parfois détourné de mes grands objectifs initiaux pour m'occuper de petits détails à la fois divertissants et instructifs.

Lorsque l'on se connecte à l'aide d'un terminal sur une machine distante sans aucun serveur graphique, les réglages de résolutions d'affichage du serveur sont inintéressant car sans conséquence pour le client. Néanmoins, après mon déménagement, j'ai eu l'occasion de travailler directement sur mon serveur en y connectant un écran et en travaillant dans des TTYs or dans ce cas la résolution du TTY redevient un sujet d'actualité.

Sur le web on trouve beaucoup du tutoriels sur ce réglage pour grub 1 or dans debian squeeze, grub est par défaut dans sa version 2. Avec un peu de patience, j'ai pu trouver le nom du paramètre qui m'intéressait : GRUB_LINUX_GFX_MODE. En cherchant ce paramètre dans le man et le info de grub, j'ai pu avoir les informations nécessaires sur les valeurs qu'il pouvait accepter (déterminée à l'aide de vbeinfo) et son paramètre complémentaire : GRUB_LINUX_GFX_PAYLOAD. Auparavant la configuration de grub se faisait principalement en éditant le fichier menu.lst, dorénavant la configuration de grub est "éclatée" en plusieurs fichiers et scripts qui créent le fichier de configuration final avec la commande update-grub. Il convient donc de définir ces deux paramètres au bon endroit en l'occurrence dans /etc/default/grub. Une fois ce réglage fait et grub mis à jour, j'avais, au redémarrage suivant, le menu de sélection de grub ainsi que mes TTYs en 1280 x 1024 x 32 (le dernier paramètre étant lié à la profondeur des couleurs).

De même, lorsque l'on passe de nombreuses heures à lire des fichiers de configuration dans un terminal, il est très appréciable de pouvoir bénéficier de la coloration syntaxique. Cela permet de colorer certaines parties de texte selon leur fonction, par exemple : mettre les commentaires d'un fichier de configuration dans une couleur différente du corps du fichier. J'utilise comme éditeur de texte : nano, qui est installé par défaut avec des exemples de configurations de coloration syntaxique qui ne sont néanmoins pas activées. Selon l'emplacement du fichier de configuration de nano qui est modifié pour activer cette option, la coloration syntaxique sera disponible pour tout les utilisateurs ou seulement pour un utilisateur en particulier. Étant administrateur sur ma machine, j'ai fais le choix de l'activer pour tout les utilisateurs. Il peut être bon de noter qu'une des raisons pour lesquelles la coloration syntaxique est désactivée par défaut est certainement le surcoût en ressources processeur que cela induit, en effet, des règles de coloration parfois complexes appliquées à un gros fichier peuvent occasionnellement provoquer un ralentissement [1].

Chaque fichier de configuration de coloration syntaxique regroupe un certain nombre de règles qui s'appliquent à tout les fichiers dont l'extension correspond à ce qui est inscrit dans l'en-tête du fichier. Concrètement, cela signifie par exemple que les règles de coloration pour les fichiers écrit en langage C seront regroupées dans un seul fichier prenant en charge les fichiers d'extension "c" et "h". Bien que nombreux, les types de fichiers pris en charge pour la coloration syntaxique ne sont pas exhaustif, heureusement on trouve facilement sur le web des fichiers pour compléter ceux déjà présent. Dans mon cas, j'ai trouvé un exemple de fichier gérant les .conf et .cnf auquel je n'ai eu qu'à apporter de petites modifications pour colorer les fichiers de configurations d'ejabberd.

Dans un autre domaine, par soucis d'économie d'électricité et de bruit (bien que globalement très faible), je me suis intéressé aux utilitaires de gestion de vitesse du ventilateur de ma carte mère. Pour que fancontrol puisse fonctionner, il doit récupèrer les informations de la carte mère grâce aux sensors dont j'ai brièvement parlé dans une précédente entrée de ce journal. Ces sensors permettent de connaître, par exemple, la température du contrôleur de la carte mère ainsi que celle du processeur ou encore la vitesse de rotation des ventilateurs. Lors de mon installation sous lenny cela fonctionnait parfaitement mais j'ai dû faire face à une difficulté imprévue lors de la mise à jour de mon noyau : les données de vitesse des ventilateurs et de températures ne pouvaient plus être lues. Une recherche sur le site de lm-sensors m'apprit que cela était dû à un mauvais fonctionnement de l'ACPI et que pour contourner ce problème, il fallait lancer le noyau avec une option particulière [2]. Bien que déconseillé, j'ai activé cette option en modifiant la configuration de grub. Après un redémarrage, les données étaient de nouveau accessibles et j'ai pu procéder à la configuration de fancontrol.

Les paramètres nécessaires à la configuration de fancontrol ne sont pas nombreux mais néanmoins pas forcement triviaux. La création du fichier de configuration est assistée par un programme interactif faisant par exemple varier l'intensité du courant dans un bus de la carte mère et il faut surveiller à quel moment le ventilateur s'arrête, redémarre etc. En soit cela n'est pas compliqué mais les vérifications demandées à l'utilisateur ne sont pas forcément claires. Malgré tout, j'ai fini par obtenir un fichier conforme à mes attentes.

Comme la plupart des logiciels de mon serveur fancontrol est configuré à l'aide d'un fichier texte placé dans le répertoire /etc [3]. Lorsqu'un logiciel est complexe et qu'il nécessite plusieurs fichiers de configurations, ils sont en général regroupés dans un sous répertoire de /etc tel apache2, dans le cas contraire le fichier est à la racine du répertoire. Étant débutant dans l'administration avancée d'un système, il pouvait être intéressant de garder une trace des évolutions de mes fichiers de configurations afin de pouvoir revenir en arrière à une configuration fonctionnelle en cas d'erreur de ma part. En discutant sur le salon debian-fr@chat.jabberfr.org, j'ai découvert etckeeper qui est en réalité une surcouche au gestionnaire de version git. Il permet tout simplement d'automatiser le versionnage du répertoire /etc en effectuant, par exemple, des commits automatiques après chaque installation d'un paquet. Son installation et sa configuration sont enfantin, je n'ai même pas eu à modifier les paramètres par défaut.

Dans la catégorie des petits utilitaires bien pratique, le salon debian-fr m'a également permis de découvrir ncdu qui ajoute une navigation graphique à l'aide d'une interface ncurses au programme du permettant de connaître le Disk Usage.

Conclusions :

  • Augmenter la résolution et ajouter un peu de couleurs dans un terminal est très simple et permet de rendre les heures passées sur un serveur beaucoup plus agréable.
  • De nombreux utilitaires simple à installer et à configurer existent afin de mieux contrôler son PC, il ne faut pas hésiter à s'en servir.
  • Les utilisateurs d'expérience sont une des meilleures sources pour découvrir de nouveaux logiciels bien pratiques. De plus, ils peuvent donner des retours sur leurs utilisations qui permettent de connaître les qualités et les défauts d'un logiciel

Prochaine entrée dans le journal : Du partage des données par BitTorrent.

Notes

[1] Précisons tout de même que je n'ai pu observer ce type de ralentissement que sur de très gros fichiers de logs, de plusieurs dizaines de mébioctets, et jamais sur de simples fichiers de configuration.

[2] Heureusement, rien ne disparaît jamais vraiment d'internet. Malgré la disparition du site officiel de lm-sensors, grâce à web.archive.org j'ai pu retrouver l'information qui m'avait aidée à l'époque, donc pour les curieux elle est ici .

[3] Il est amusant de noter la controverse quand à la signification du nom de ce répertoire : dans d'anciennes documentation UNIX il était appelé le répertoire etcetera car il contenait tout ce qui n'allait nulle part ailleurs, par la suite le nom fût réinterprété comme l'acronyme de Editable Text Configuration ou Extended Tool Chest.

2016-02-02

Réparer un NUC qui ne démarre plus

J’ai récemment eu un soucis avec un Intel NUC. Il ne voulait plus démarrer. Pas de lumière blanche indiquant qu’il est actif, pas de signal vidéo, pas d’activité disque. Nada. Juste une petite lueur verte constante sous le voyant disque et le bouton d’allumage.

La solution fut de réinitialiser la mémoire CMOS. Les carte mères Intel ont un cavalier (jumper) pour effectuer cela.

Sur le NUC, il ressemble à ça :

jumpers nuc1Il suffit de le brancher sur les pins 2/3 au lieu de 1/2 et de redémarrer. Vous verrez alors le NUC démarrer. Joie !

Il ne vous reste plus qu’à remettre le cavalier comme avant si vous voulez pouvoir sauver à nouveau les réglages du BIOS ;-)

Related Posts:

J'aime !(0)Je n'aime pas !(0)

Le retour du FOSDEM 2016



Franchement, quelle aventure ce FOSDEM. C’était déjà pas mal l’année dernière mais ce fut encore mieux cette année !

Comme on était là-bas pour présenter le dynamisme de diaspora*, je vous laisse traîner par ici et par là pour que vous vous en rendiez compte par vous même. Ici, je vais vous donner les retours des différentes personnes avec qui j'ai parlé pendant ce FOSDEM.

Toujours en vie ?

Alors, celle-là, elle revient tout le temps : Oui ! Le projet diaspora* est toujours en vie et continue son bonhomme de chemin. Nous voir au FOSDEM étonnait, dans le bon sens du terme. Les gens sont heureux de voir que ce projet tient toujours la route. Je ne pourrais pas vous dire combien de personnes m'ont dit qu'elles avaient créé un compte aux premières heures mais qu'elles avaient oublié leurs identifiants depuis, en pensant le projet mort. Eh non. Comme l’année dernière, la bienveillance des visiteurs s'est révélée chaleureuse : ils ont tous un a priori positif, même s'ils ne savent plus vraiment comment ça marche, diaspora*.

Comment ça marche ce truc ?

Après avoir montré que le projet est bien vivant, il faut montrer qu'il est fonctionnel. Rappeler que c'est un réseau décentralisé, ça fait mouche chez les geeks, mais les gens ne comprennent pas vraiment comment. C'est là qu'on a créé le compte FOSDEM2016 en ajoutant les gars du stand et d'autres comme contacts. Avec ça, je pouvais rapidement montrer aux gens que Fla, Framasoft, Jason et FOSDEM2016 sont tous sur des serveurs différents, avec une mention spéciale pour le pod de Jason dont le nom a fait mouche à chaque fois. I Like Toast, c'est quand même pas mal !

Y'a des gens dessus ?

Quelle question... C'est tentant de dire que oui, mais je ne voulais pas vendre du rêve. C'est clair qu'il n'y a pas le quart de l’humanité sur notre réseau social. On est loin des Facebook et Twitter. Ceci-dit, en expliquant avec le sourire qu'on y retrouve des photos de chats et des photos de bouffe, on rassure le badaud. On peut ensuite enchaîner sur ce qui est vrai : moi, par exemple, je ne peux pas lire tout ce qui passe par mon flux ! Avant d'arriver à mon niveau, ça demande un peu d'effort parce que diaspora* ne va pas demander vos goûts en matière de films et de musiques puis vos contacts Gmail pour vous assurer une timeline déjà bien fournie à la première connexion. Il faut un peu travailler ! Et hop, un tacle qui passait bien. Je terminais sur le fait que les posts des utilisateurs sont souvent très engagés et argumentés, ce qui en rend la lecture très instructive.
Après, je restais honnête et les FOSDEMeurs et FOSDEMeuses le savaient déjà : diaspora* ne peut pas faire venir tout le monde et tout le monde ne viendra que si tout le monde est déjà là. Un cercle vicieux, mais bon, on ne peut pas accueillir toute la planète pour le moment.

Comment tester diaspora* ?

Les gens ne savent pas comment tester diaspora*. La notion de pod est étrange, quand on y regarde de plus près. Il a fallu que j'explique que les comptes sont tributaires d'un pod, d'un serveur et qu'il n'est pas encore possible de les déplacer. C'est d'ailleurs le "reproche" le plus dur que j'ai entendu. Du coup, pour tester diaspora*, il faut connaître un pod ou monter le sien sur son serveur. Pour les moins courageux et francophone, je redirigeais vers Framasphere, pour les plus courageux, je leur expliquais que monter son propre pod n’était pas d'une difficulté terrifiante. Je répète, pour les plus courageux. Sinon, je montrais le site de Jason : The Federation. A partir de là, ils voyaient que les pods sont repartis dans plusieurs pays et qu'ils peuvent choisir. En passant par The Federation, j’enchaînais sur l'initiative de Jason, qui voudrait que les réseaux sociaux libres puissent discuter entre eux. Ça marche déjà un peu avec Hubzilla, Friendica et Redmatrix pour le moment, mais il reste Movim, Salut à Toi et d'autres.

Et voilà pour ce billet d’après FOSDEM. J'ai vraiment adoré et j'y retournerai l’année prochaine. Par contre, ce coup-ci, je prendrai le train et consommerai les bières belges avec plus de modération, histoire d’être en état le dimanche et de ne pas me taper 5h de transport au retour !

Merci à Augier et Greenman pour m'avoir supporté !

Je vous propose de finir ce billet sur un truc plutôt chouette : nous avions un stand, contrairement à Movim, Cozy Cloud et Framasoft, alors, vous savez quoi ? On a fait ce qu'on fait de mieux : fédérer ! ;-)




<noscript></noscript>

2016-02-01

L’Université Libre de Bruxelles choisit Owncloud

Pour permettre à ses étudiants d’avoir un espace de stockage en ligne, l’Université Libre de Bruxelles (ULB), la principale université francophone de Belgique, a choisi le logiciel libre OwnCloud depuis février 2015.

L’ULB résume ainsi ce qui a dicté son choix :

Pourquoi confier ses données à n’importe qui dans le monde avec tous les problèmes de confidentialité que cela entraîne et aussi de saturation de notre liaison internet alors que nous disposons en interne d’une solution de stockage cloud ?

Un étudiant de l’ULB, PostBlue décrit en détail les services disponibles sur le OwnCloud de l’ULB (stockage de fichiers, calendrier, éditeur de documents…)

Related Posts:

J'aime !(3)Je n'aime pas !(0)

2016-01-30

Les joies de l’auto-hébergement

Tranche de vie d’un admin reseau at home

Vous l’avez peut-être remarqué que le blog et mes autres services web ont connus une grosse interruption de service une bonne partie de mercredi dernier. La faute à une méchante coupure de courant.

9h30 l’heure du crime en ce début de mercredi matin, je reçois un sms de mon épouse « y a plus de courant à la maison » Après avoir dépatouillé le problème au téléphone, le courant est revenu. Je lui fais redémarrer un par un les serveurs, tout à l’air correct. Cinq minutes plus tard un autre sms « pas d’internet », étant au boulot je ne peux passer ma matinée au téléphone pour un problème perso, cela tombe je ne travaille pas cet après-midi je verrai le problème en rentrant. Une fois à la maison je fais le tour des ordis de la maison et j’identifie rapidement le problème, le réseau n’es plus brassé entre le pare-feu et mon réseau local. Et effectivement je découvre mon swicth Netgear, véritable colonne vertébrale de mon infrastructure ne répond plus. Je débranche-rebranche toujours aucune réaction. Je décide de déclarer la mort du switch à 13h15.

La cause du problème étant trouvé, je fonce chez mon assembleur de quartier pour voir les switch qu’il a en stock. Il ne lui reste que des switch 10/100/1000 que du D-link 8 ports. Comparé à Netgear 10/100/1000 16 ports c’est très petit mais c’est juste ce qu’il me faut pour rétablir la connexion internet sur mon infrastructure. Cela me laissera du temps soit pour réparer le Netgear, soit pour en acheter un autre tout en gardant le D-link en secours pour anticiper ce genre de situation.

Cela fait partie des aléas de l’auto-hébergement, une petite panne par-ci, un petit débuggage par là, tout ce qui donne vie à notre infra. Cela permet de voir les choses aux-quelles je n’est pas pensé à l’époque, d’améliorer ce qui peut l’être. En tout cas aujourd’hui mon réseau est reparti, il fonctionne parfaitement.

J’ai profité de l’occasion pour mettre à jour la Debian de mon Nas encore en version Wheezy. Mise à jour sans encombre, comme toujours avec Debian. Un seul petit souci avec apache2 qui sert mon instance ownCloud.

Première erreur au lancement du service apache2 :

Invalid command 'LockFile', perhaps misspelled or defined by a module not included in the server configuration

Après une recherche succincte j’ai trouvé la solution remplacer dans le fichier /etc/apache2/apache2.conf la ligne

LockFile ${APACHE_LOCK_DIR}/accept.lock

par

Mutex file:${APACHE_LOCK_DIR} default

Ensuite lorsque j’ai voulu à nouveau lancer apache :

AH00526: Syntax error on line 13 of /etc/apache2/sites-enabled/owncloud:
Either all Options must start with + or -, or no Option may.

J’ai donc modifié le virtualhost de owncloud comme indiqué dans le message d’erreur en ajoutant un « + » devant les options FollowSymlinks et MultiViews.

DocumentRoot "/var/www/owncloud"
        <Directory "/var/www/owncloud">
                Options -Indexes +FollowSymLinks +MultiViews
                AllowOverride All
                Order allow,deny
                Allow from all
        </Directory>

Par la suite tout est rentré dans l’ordre et le Nas a été validé d’un « tout marche bien navette ».

<iframe allowfullscreen="allowfullscreen" frameborder="0" height="394" src="https://www.youtube.com/embed/trvqZZrKQqQ?feature=oembed" width="700"></iframe>

 

2016-01-28

gitbackup : maintenir une copie conforme (miroir) d'un dépôt git

Problématique

J'ai déjà argumenté à plusieurs reprises du risque que l'on prend à utiliser des systèmes que nous ne gérons pas nous même, comme github (ref). Cette problématique fonctionne aussi pour des dépôts maintenus par des personnes qui peuvent avoir envie de supprimer les données, bien que vous les trouviez intéressantes. Mêmes arguments pour des organisations comme framasoft ou FFDN. Ainsi, je ne peux qu'encourager à avoir son propre serveur git, pour les dépôts privés, mais aussi pour les miroirs. Le Logiciel Libre a la copie dans son génome, utilisons-le.

Principe

J'ai appris comment faire proprement un miroir d'un dépôt sur la doc de github.

# On clone le depot sur github
git clone --mirror https://github.com/exampleuser/repository-to-mirror.git

cd repository-to-mirror.git
# On ajoute comme destination chezmoi.org
git remote set-url --push origin https://git.chezmoi.org/exampleuser/mirrored

# On pousse
git push --mirror

A intervalle régulier, on peut faire

git fetch -p origin
git push --mirror

L'avantage est qu'on synchronise toutes les branches et les tags, mais on ne synchronise pas les tickets.

gitbackup

Pour tout dire, ce billet trainait dans mon dossier en préparation. J'utilisais un petit script et suite à l'article de Carl Chenet et repris sur framablog, je me suis convaincu qu'un code propre pouvait être utile à d'autre. Comme le dit Benjamin Bayart, il faut faire !. En quelques bouts de soirées, j'ai tenté de mettre les choses au propre.

Le but est d'avoir un outil proche de git d'un point de vue syntaxique pour automatiser les commandes ci-dessus. J'ai aussi gardé le même format (configparse) pour le fichier de configuration.

# On se crée un chez soi
mkdir backup_github && cd backup_github

# On initialise
gitbackup init

# On clone deux dépôts dont on veut un miroir
gitbackup clone sametmax_0bin https://github.com/sametmax/0bin.git

gitbackup clone carl_backupchecker https://github.com/backupchecker/backupchecker.git

# Quand les développeurs auront fait évolué le projet,
# on pourra synchroniser les changements
# sur un dépôt spécifique
gitbackup pull sametmax_0bin

# ou sur tous les dépôts
gitbackup pull

Le code est sur github (sinon, ce ne serait pas drôle) en GPLv3.

Sous peu, je vais ajouter une fonctionnalité pour ajouter un remote afin de pousser le miroir sur un autre site. Je vais pousser le code sur pipy, et faire un paquet pour archlinux.

C'est libre, ce code est aussi le votre. Commentaires et surtout pull requests sont les bienvenus.

2016-01-27

JAH-9 – De l'avancement des choses dans une faille temporelle

Journal de bord du capitaine :
Date : 23 mars 2011
Lieu : Perdu dans le cyber espace

Comme dirait Cartman : Goddammit ! Cela fait une éternité que je n'ai pas écrit dans ce journal et pourtant que de choses ce sont passées, autant au niveau personnel qu'au niveau de mon auto-hébergement. En vrac : déménagement, mise à jour de distribution, configuration du serveur ejabberd pour gérer les salons, installation d'un web-client pour pouvoir procrastiner en paix au boulot et début de configuration d'un serveur de courrier. Pour faire un court résumé tout s'est étonnamment bien passé !

Concernant mon déménagement, je pense que tout le monde s'en bat les gonades de comment il s'est passé et au niveau des conséquences pour l'auto-hébergement une simple mise à jour du fichier de zone du DNS à suffit à remettre tout en l'état. Une fois mon serveur remis en route et de nouveau connecté au réseau des réseaux, j'ai décidé avant toutes modifications de mettre à jour ma distribution.

J'entends par mise à jour une augmentation de mon numéro de version (passage de lenny à squeeze) et non pas mises à jour de sécurité et autres correctifs de bugs. Mon système était bien sûr maintenu à jour tout en restant dans le cadre d'une version debian stable (avec les backports activés) mais lors du passage en freeze de la future version stable de debian, je me suis décidé à faire la migration pour anticiper la mise à niveau sur un système plus complexe. En effet, ma crainte, sans justification à posteriori, était que la migration me fasse perdre mes fichiers de configuration déjà personnalisés (ou tout du moins que les merges soient complexes).

Suivant à la lettre les consignes de migration décrites dans les release notes [1] de debian squeeze (sautant quelques passages superflus dans mon cas) j'ai pu effectuer une migration sans problème. Je retiendrai de cette migration une installation massive de paquets qui ne se justifiait que partiellement. Pour faire simple, plusieurs paquets liés à ejabberd ont été installés alors que je n'en voyais pas forcément l'utilité et étrangement ces paquets ont été désinstallés lors de la première mise à jour des paquets via aptitude …

Pressé par la fermeture du salon IRC sur lequel mes amis avaient l'habitude de se retrouver, je me suis motivé pour mettre en place la gestion de salons de discussion sur mon serveur jabber. La configuration fut assez simple, la plupart des options par défaut me convenant tout à fait. Je n'ai eu qu'à jeter un rapide coup d'œil à la documentation officielle pour savoir comment désactiver toutes formes de log (y compris le rappel des X dernières phrases lors de l'entrée d'un nouvel utilisateur dans le salon) et j'ai pu ouvrir officiellement mon serveur à l'hébergement de salon.

Restait néanmoins un problème majeur : le serveur mandataire de mon entreprise bloquait toutes communications extérieures en dehors des protocoles HTTP et HTTPS sur leur ports habituels donc pas question de messagerie instantanée. Pour IRC, j'utilisais des web-clients tout à fait correct qui ne demandait aucune information confidentielle, or pour rejoindre les salons XMPP je devais utiliser un compte et je n'avais aucune envie de confier mes données confidentielles à un site dont je ne connaissais rien. Je me suis donc mis en quête d'un web-client XMPP que je pourrais installer chez moi et je suis tombé sur jappix. Ce projet, mené par un jeune français qui plus est, me semblait pas mal du tout. L'installation fut un jeu d'enfant [2] à part un problème d'ouverture de port sur ma freebox. J'ai pu en quelques lignes de commandes avoir ma propre instance de jappix fonctionnel.

Pour que la communication soit possible entre un web-client et un serveur XMPP, il faut passer par un serveur BOSH. Dans un premier temps, j'ai laissé la configuration par défaut de jappix et utilisé le serveur BOSH de jappix.com, mais ejabberd proposant cette fonctionnalité, il était logique que je configure jappix pour utiliser mon propre serveur. Les modifications à effectuer dans ejabberd et dans jappix étant détaillées dans leurs documentations respectives cela ne présenta pas de difficultés majeures. Mon instance de jappix ainsi configurée fonctionnait parfaitement ... sauf sur mon lieu de travail. En effet, le serveur mandataire refusant toutes connexions en dehors des ports 80 et 443, jappix ne pouvait joindre le serveur BOSH d'ejabberd sur le port 5280. La solution, là encore tirée de la documentation de jappix, fut de configurer apache sur mon serveur en tant que serveur mandataire afin de rediriger toutes les requêtes pour une adresse précise vers le port d'écoute du serveur BOSH et pour que les réponses à ces requêtes suivent le même chemin. Dès le lendemain, j'avais un web-client de messagerie instantanée parfaitement fonctionnel et ne dépendant que de services fournis par mon serveur personnel.

Une fois la messagerie instantanée configurée sur mon serveur, j'allais maintenant devoir m'attaquer à la part du lion : le courrier électronique. Avoir mon propre serveur de courriel était l'une de mes motivations premières lorsque je me suis lancé dans l'auto-hébergement mais ceci étant un service des plus critiques, je voulais me faire les dents sur d'autres services avant. Ici, j'entends par "critique" que la non disponibilité de ce service peut s'avérer très handicapante, voir catastrophique, en cas de perte de courriel, et non que c'est un service beaucoup plus dur que les précédents à mettre en place; bien que le nombre d'options de configuration des serveurs de courriels puisse faire peur. Il convient donc de prendre toutes les précautions nécessaires et de tester suffisamment longtemps sa configuration avant de l'ouvrir au monde et de se reposer exclusivement dessus. Il ne faut bien sûr pas négliger l'aspect sécurité de l'installation, être responsable d'un serveur de courriel signifie qu'en cas d'erreur on peut rejoindre en quelques minutes la grande famille des ordinateurs zombies pourvoyeur de pourriels !

Jusqu'à présent, les conseils et exemples de configuration trouvés sur le wiki dédié à l'auto-hébergement s'étant avéré judicieux, je me suis, une fois de plus, basé dessus pour la mise en place de mon serveur. Après m'être documenté sur le fonctionnement d'un serveur de courrier et familiarisé, autant que faire se peut, avec le vocabulaire spécialisé : MTA, MUA, serveur de boîte aux lettres, etc ; je me suis lancé. J'ai donc installé postfix et l'ai configuré très simplement dans un premier temps, ajustant juste quelques paramètres et dès le premier test cela s'avéra fonctionnel ! En utilisant, pour le moment, uniquement des outils en ligne de commande, je pouvais envoyer, recevoir et lire des courriels. Il ne me restait plus qu'à configurer mon serveur pour avoir accès à mes courriels depuis une autre machine : à l'aide d'un logiciel de messagerie, bien sûr, mais également grâce à un web-mail afin de pouvoir les consulter partout, notamment depuis mon lieu de travail.

Conclusions :

  • Déménager un serveur n'est pas compliqué.
  • Migrer vers une version plus récente de sa distribution est un processus sans risque, documenté et relativement rapide.
  • Configurer un serveur jabber pour gérer des salons de discussion se fait en quelques lignes.
  • Les web-clients jabber ne sont pas nombreux mais certains sont suffisamment avancé pour être pleinement utilisable.
  • Un serveur de courriels n'est pas plus compliqué à installer et configurer qu'un autre service (la documentation est foisonnante).
  • Le caractère critique d'un serveur de courriels oblige à une plus grande attention dans les tests et dans sa configuration.

Doucement mais sûrement, je commençais à être de plus en plus indépendant, gérant moi-même la plupart des services dont j'ai besoin sur internet. Bientôt, je l'espère, je pourrais commencer à m'intéresser aux services dont je me refusais l'usage car je ne les contrôlais pas, tels que : les galeries photos et/ou vidéos ou encore l'ouverture d'un blog, d'un wiki ... Les possibilités ne manquent pas et sont toutes plus intéressantes les unes que les autres.

Prochaine entrée dans le journal : Des petits réglages pas indispensables mais bien pratique

Notes

[1] Il faut savoir que les instructions de migration d'une version debian ne font pas partie du manuel d'installation mais bien des notes de publication. Par exemple, celles de squeeze se trouvent ici

[2] J'ai longtemps hésité avant d'installer jappix car il n'était pas dans les dépôts officiels. Pour des raisons de stabilité et de sécurité, je souhaitais maintenir un système le plus intègre possible et donc sans logiciel externe. Jappix est encore à ce jour mon seul coup de canif dans le contrat.

diaspote in backstage





Le FOSDEM, c'est à la fin de la semaine, déjà ! C'est pour moi l'occasion de vous partager le fonctionnement de diaspote.org, notre pod diaspora avec Augier. Parce que oui, même si les utilisateurs s'en cognent royalement la plupart du temps, j'ose espérer que ceux de diaspora* seront un peu plus curieux. Les autres, vous pouvez venir flooder avec nous, c'est open bar !

Ce billet est un peu technique mais je vais essayer de faire simple, promis.

Debian powered

Diaspote.org tourne sur une Debian Jessie 8.3. Ceux qui me lisent depuis un moment savent que c'est mon système d'exploitation libre de prédilection, c'est donc un choix classique.
Ce serveur est automatiquement mis à jour via ce qu'on appelle les unattended-upgrades. C'est une configuration que je croyais classique mais je peux vous certifier que ce n'est pas toujours le cas dans le milieu professionnel.
Ça permet de ne plus se soucier des mises à jour de sécurité, les plus critiques : elles se font toutes seules la nuit, quand les utilisateurs dorment, et moi aussi. Un mail me prévient quand c'est fait, histoire de me rassurer, mais je n’hésite jamais à accélérer le processus quand c'est une faille sévère, autant dire rarement.

Scaleway to heaven

Déjà dit mais voici la configuration matériel du serveur :
  • 2 Go de RAM
  • 60 Go d'espace disque
  • ARMv7 4 cores
C'est peu mais ça passe ! On ne fait tourner, nativement, qu'un serveur MySQL (pas de MariaDB encore) et un serveur Apache. Le reste, c'est pour diaspote.

À votre service

C'est un truc assez récent, il date de cette semaine. Avant, nous avions un screen dans lequel le processus diaspora tournait, mais ça, c’était avant. Maintenant, nous avons un script qui nous simplifie la vie. Plus besoin de lutter avec un screen encombrant : nous voici capables de faire un start et stop proprement, en passant par systemd.
Juste après cette configuration, pour des raisons de gestion des faibles ressources dont nous disposons et à cause de la consommation mémoire de diaspora*, nous avons une tache planifiée, un cron dans le jargon, qui relance diaspote toutes les nuits à 4h20 du matin. Ça vide la mémoire, ça soulage et ça n'affecte en rien l'utilisation du pod.
Pour les curieux, il existe un système d'auto-protection dans les OS libres : l'OOMKiller. Ce petit nom est plus clair quand on dit Out Of Memory Killer, je ne sais pas trop comment le traduire en français, mais c'est assez clair, non ? Quand un processus, genre diaspora, se met à consommer assez de mémoire vive pour mettre en danger le fonctionnement du serveur en entier, l'OOMK dézingue ce qu'il peut autour pour essayer de sauver la situation. En général, ça finit mal.

Statistiques à Facette

C'est toujours chouette de voir, réellement, ce qu'il se passe sur son serveur avec des graphiques. Un mail de temps en temps, c'est mignon mais loin d’être sexy. Facette s'occupe de ça pour nous. Il s'occupe d'organiser toutes les informations sur l’état du réseau, de la charge serveur, du CPU et de la RAM en superbes graphiques. C'est beau, c'est efficace et ça permet de connaître exactement l'heure d'un incident et de donner les premières indications, comme un souci de mémoire. Au hasard.

En parlant d'incidents, je suis en train de mettre en place un Cachet. C'est un outil de suivi. Il va nous permettre d'annoncer les futures opérations et de garder une trace de tout ce qui a pu se passer. Une mémoire des crashs, en gros. Il sera rapidement disponible à l'adresse suivante : status.diaspote.org.


Le reste des opérations consiste à mettre à jour le pod avec les dernières améliorations tirées du dépôt Github. Avec ce que nous avons là, l'installation est bien stable et ne plante plus. Ça reste à confirmer, on n'est jamais 100% couvert et il suffit d'en parler pour se prendre une mauvaise blague en pleine figure.

En quelques chiffres

C'est dans cette partie du billet qu'on redescend sur Terre. J'en parle souvent ici, diaspora* n'est pas un outil inconnu, mais il souffre d'un manque cruel : des utilisateurs. Si on se penche sur les statistiques de diaspote, on parle de 39 utilisateurs inscrits pour 22 actifs. C'est pas mal, on dépasse les 55% d'utilisateurs actifs, qui se sont connectés ces 4 dernières semaines. Sauf que ce ne sont que des statistiques et que 90% de ces comptes ne sont pas du tout actifs. Tant pis. On ne se compare pas vraiment aux autres réseaux, mais c'est dommage. D'ailleurs, on a déjà assez de photos de chats comme ça ;-)


<noscript></noscript>

2016-01-23

Don du mois : debian

Ce post s'inscrit dans la série des dons pour vous donner envie de contribuer même très modestement à des logiciels libres. Les petites pierres font les grands édifices.

Le don de ce mois est pour debian. J'utilise cet OS pour mes serveurs. J'ai bien essayé pour les stations de travail, mais la lenteur de l'évolution de debian m'a fait reculer pour préférer archlinux auquel j'ai déjà consacré un don. Néanmoins, debian est une distribution de choix pour les serveurs. C'est stable, c'est documenté, la communauté est active et les mises à jours sont de qualité. Donc 15$ pour debian.

Pour faire un don à debian

2016-01-22

La touche finale à mon équipement de rêve : la tablette Ubuntu


Vous avez sans doute tous vu passer la nouvelle, c'est Phoronix qui m'a mis ça sous les yeux. Première digression : si seulement le système d'abonnement du site était moins foireux, je serais déjà abonné. Ubuntu va enfin proposer sa tablette tactile.




On s'avance en disant que c'est pour 2016, mais les indices sont là : Ubuntu 16.04 comme base, présentée pendant le Mobile World Congress de fin février. Ça ne dit pas tout, mais quand même.

Actuellement, j'ai un smartphone sous FirefoxOS, qui reprend des couleurs, et des ordinateurs sous Debian/Ubuntu et... pas de tablette. Je n'en voulais pas par manque d’intérêt. C'est quand même con de payer un truc une fortune quand on habite dans 20m2 et qu'on préfère lire dans le train. Mais bon, avec le temps, je me dis que ça pourrait être un chouette outil de démonstration, comme au FOSDEM pour présenter diaspora*, ou un bon appareil pour faire défiler mes photos que je conserve dans ownCloud.

Ce cheminement allant du "ça ne sert à rien" à "pourquoi pas?" a pris plusieurs années et avec le temps, seul le fait que c’était de l'Android m'a refroidi. Je me souviens quand même avoir testé une tablette Intel sur laquelle j'avais installé Debian avec GNOME Shell. C'est à ce moment là que je me suis dit qu'il ne manquait qu'un bon OS à ces petites bêtes pour devenir vraiment attirante. Avec l’arrivée des Ubuntu Tablets, on touche du doigt une solution.

Sans doute pas la meilleure, mais c'est un bon début. Il est presque certain que si elles font tourner Ubuntu, elles pourront faire tourner d'autres distributions, comme Debian tout simplement. C'est même presque une évidence quand on sait qu'Ubuntu est une Debian modifiée à la sauce Canonical. A partir de là, d'autres suivront, même celles basées sur cette maudite CentOS. Du coup, on se retrouverait avec une tablette tournant sur autant d'Ubuntu que les autres, mais là je rêve.

Je sens qu'on me fusille du regard parce que je ne parle pas de Jolla et des SailfishOS, mais un OS qui fait tourner des applications Android, ça me refroidi. J'aime souffrir en ne pouvant pas me servir de ce qui traîne sur les stores de Google et des autres. Ça doit être mon esprit routard.

Enfin, ici, je rêve à clavier haut (qui repèrera la tentative de blague foireuse ?) d'un environnement informatique parfaitement maîtrisé par mes soins avec tout un tas d'OS alternatifs. L’opposé des envies de convergence de Canonical, d'Apple ou de Microsoft, mais que du libre, rien que du libre, je le jure.


<noscript></noscript>
Généré le 2016-06-01 06:26 UTC avec Planet Venus