Planète auto-hébergement

2016-08-24

Mon Fairphone et Fairphone Open Source OS




Déjà deux mois que je traîne mon Fairphone 2 et je n'avais pas encore touché au système d'exploitation qui tourne dedans. J'avais bêtement laissé la version Fairphone d'Android, avec toutes les applications Google et ce qui va avec. On parle quand même de Youtube, Translate, Chrome, Search, Mail, Music, Play-je-sais-pas quoi et j'en passe. J'ai fini par m’énerver en voyant le nombre de mises à jour que ces cochonneries déclenchaient. C'est dingue. Sans parler de leur utilisation de mon réseau qui va envoyer et récupérer je ne sais quoi via ces bestioles.

Bref, je rageais. Après un samedi soir bien reposant et une longue nuit de sommeil (#ironie), j'ai craqué et j'ai flashé mon bébé avec L'Open Source OS. La manipulation n'est pas très compliquée et les néophytes peuvent s'en sortir en suivant ce lien.

Au delà du plaisir d'avoir un téléphone dit équitable dans la poche, j'ai maintenant un téléphone équitable et libre de toutes applications Google. J'avais oublié qu'il était presque possible de tout faire avec des applications libres. Honte sur moi. Voici une rapide liste de ce dont je me sers :
  • Firefox pour la navigation
  • Nextcloud pour la synchronisation des données
  • Telegram pour les discussions avec mes amis hors réseau français
  • EasyRSS pour lire mes flux
  • Wallabag pour ne pas oublier de lire des articles hors RSS
  • OsmAnd~ pour les cartes
  • Diaspora pour diaspora*
  • Twidere pour... bah l'appli est libre
  • K-9 Mail pour les spams
  • Davdroid pour la synchronisation CardDav/CalDav
Le tout se retrouve dans F-Droid, la chouette alternative à Google Play.

Avec ça, je suis comblé à plus de 90%, reste plus qu'à trouver les 10% restant : l'application de la RATP et celle de la SNCF.

Pour celle de la RATP, je pense m'en sortir avec un bon vieux retour aux cartes, ça ne me fera vraiment pas de mal. Pour la SNCF, c'est plus emmerdant. Elle permet de suivre les trains et de commander des billets. C'est la seule vraie application qui va me manquer.
A priori, me direz-vous, on devrait pouvoir les récupérer et les installer à la main sans passer par ce maudit Play Store et vous aurez raison. Sauf qu'il faut les Googles Services pour les faire fonctionner correctement. Ça, c'est une sacrée cochonnerie et un vilain coup dans le dos. On me souffle sur diaspote que c'est une tendances chez Google et ça ne m’entonnerait pas : puisqu'il est quasi impossible d’empêcher les gens de télécharger les applications en dehors du magasin officiel, autant les pourrir de l’intérieur. Malinx le lynx. Ils ont un bon moyen pour éviter le tipiacage, contrairement aux branquignoles des Majors, et ça serait con de ne pas s'en servir. Ça me fait penser à une expression drôle : quand on a trouvé le bon filon, c'est con de creuser à côté. Et y'a ça pour aller plus loin.

Bref, en faisant ça, j'ai déjà l'impression que l'autonomie du téléphone se porte bien mieux. Effet psychologique de type auto-persuasion pour me conforter dans mon choix ? Peut-être, ça doit être potentiellement vrai, mais à un niveau infime.

Hop, un chouette téléphone avec un chouette OS, ça me redonne un peu d'amour propre !


<noscript></noscript>

2016-08-10

Update app de nextcloud ne fonctionne pas

Depuis ma migration sur nextcloud plusieurs mises à jour mineurs ont été publiées. Au niveau de mon instance aucune ne m’a été proposée. Sur ownCloud à chaque nouvelle mise à jour un bandeau apparaissait m’avertissant d’une nouvelle version, majeur ou mineur. J’ai commencé à inverstiguer sur le problème, mais en attendant de le résoudre je préfère réaliser les mises à jour manuellement. Petite particularité de mon installation le dossier data est hébergé sur un disque dur dédié 2to de stockage, ce qui simplifie la procédure, en effet celui-ci ne sera pas à déplacer lors de la mise à jour.

Premièrement je récupère la dernière version stable : https://nextcloud.com/install/#instructions-server

wget https://download.nextcloud.com/server/releases/nextcloud-9.0.53.tar.bz2

Ensuite, je sauvegarde l’ancien répertoire et j’extrais le nouveau.

cd /var/www/
#sauvegarde de l'ancien repertoire avec l'ancien numéro de version
mv nextcloud nextcloud_0.9.50
extraction du nouveau nextcloud
tar xvjf nextcloud-9.0.53.tar.bz2

Il ne reste plus qu’à attribuer les bons droits et migrer ma configuration qui contient le chemin vers le dossier data.

#migration de ma configuration
cp /var/www/nextcloud_0.9.50/config/config.php /var/www/nextcloud/config/config.php
#attribution de droits
chown -R www-data:www-data /var/www/nextcloud

Nous arrivons enfin à la dernière étape, exécuter la mise à jour. Attention celle-ci doit être exécutée avec l’utilisateur web, sous debian il s’agit du compte www-data.

sudo -u www-data -H ./occ upgrade
Nextcloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
Set log level to debug
Turned on maintenance mode
Checking whether the database schema can be updated (this can take a long time depending on the database size)
Checked database schema update
Checking updates of apps
Checked database schema update for apps
Updating database schema
Updated database
Starting code integrity check...
Finished code integrity check
Update successful
Turned off maintenance mode
Reset log level

A noter que cette méthode évite de faire la mise à jour via l’interface web dont j’ai parfois subi les instabilités. Une petite connexion pour vérifier que le plan s’est déroulé sans accros et me voilà à jour. Cela me laisse le temps de résoudre le problème avec Update App.

2016-08-09

Update d’août




Le mois d’août, ses magasins fermés, ses rues désertes et ses rares choses à se mettre sous la dent. Tout un programme !

Même la Capitale se met au ralenti en ce moment, au même rythme que le logiciel libre et ses utilisateurs. Ces 3 dernières semaines, je traîne pas mal dans les rues de Paris en me lamentant de voir mes commerces et bars habituels le rideau baissé. #Tristitude.
Du coup, comme je ne m’éternise pas chez moi mais que je ne pars pas très loin non plus, je n'ai même pas fait le tour de l'OTA 12 de mon Aquaris M10. Pas de vie nomade, pas d’intérêt. Pourtant, il parait qu'ils ont corrigé des bugs sympas. Je vous dirais ça la semaine prochaine après le long week-end du 15 août.
FreshRSS a cependant pris le temps de recevoir une nouvelle version, la 1.4.0 avec la flopée de mises à jour traditionnelles et quelques corrections de bugs. Perso, je trouve l'application largement suffisante. Comme je suis maintenant sous Android avec mon Fairphone 2, je dois dire que je lorgne vers une application mobile supportant mon instance, mais bon, ça serait vraiment un bonus. Mon passage sous FirefoxOS m'a clairement fait comprendre qu'on peut tout faire avec Firefox, le navigateur.

Dans les trucs un peu plus admin, j'ai passé diaspote.org et mon serveur perso sous MariaDB 10, y'a un bout de temps maintenant. La différence n'est pas flagrante pour le pod diaspora*, mais c'est le jour et la nuit au niveau de Sonerezh. Là où MySQL faisait crouler le serveur, MariaDB ne sent absolument rien, mais rien. Merci les dev !

Je dois en oublier, un peu comme les màj de Nextcloud, le fork d'ownCloud qui vous veut du bien. Je viens très honnêtement de les faire, des jours et des jours après leurs sorties. Honte à moi. Si j'avais su plus tôt que ça corrigerait mon problème de la synchro de mes notes dans MyOwnNotes...

Je pourrais parler de Firefox mais le comportement des gens à son sujet me fait devenir Aquoiboniste . Les développeurs/admins/etc ne jurent plus que par Google Chrome pour des raisons qui ne m'en bouge pas une. Rajouter à ça que Firefox passe pour un truc de vieux cons, ou presque. Firefox pourrait clairement avoir sa place dans le Bloqués #108. Genre : tu te rends compte que pour les jeunes, Firefox c'est comme Nescape pour nous. Re #Tristitude.

Bon, je crois que c'est bon. Il parait qu'il reste des blogueurs à lire qui ne font pas que de la philosophie de comptoir, en plein air, le comptoir, parce que c'est l’été. Je retourne vadrouiller entre quelques épisodes du bon vieux Dr House. J'ai d'ailleurs réussi à trouver des superbes scones non loin de chez moi, avec une boulangerie espagnole juste à deux pas pour enchaîner sur des pasteis de nata (photo du billet, crédits Wikipedia). Le rêve, à déguster en bon bobo au bord du Canal Saint Martin libéré de ses tentes.

Bonne tranquillité par chez vous !


<noscript></noscript>

Problème de référencement sur quelques moteurs de recherche web

J’ai remarqué un truc bizarre dans les résultats des moteurs de recherche. Lorsque je cherche « tuxicoman », certains moteurs de recherche ne citent pas l’adresse de mon blog « tuxicoman.jesuislibre.net » mais une adresse qui je n’ai jamais utilisée « www.tuxicoman.jesuislibre.net« . Comment est-ce possible qu’une adresse qui n’est pas utilisée, n’a pas de contenu et aucun lien entrant soit référencée comme premier résultat alors que la bonne adresse de mon blog n’apparait, elle, pas du tout ?

qwant tuxicoman

Mauvais :

Bon :

Est ce que j’ai fait une erreur dans les paramétrages de mon site ? Le blog est auto hébergé sur un serveur pas toujours allumé et avec un IP dynamique. Donc je comprends que je puisse être mal classé mais pas de voir apparaître une autre URL.

Est-ce que Qwant recopie des résultats de Bing ?

 

Related Posts:

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

2016-08-02

Quels services pour les CHATONS ?

Framasoft a récemment lancé l'initiative de créer un collectif d'hébergeurs alternatifs, transparents, ouverts, neutres et solidaires. La charte est en cours d'élaboration et je me suis récemment intéressé à monter un liste de potentiels organisations qui pourraient y adhérer.

Mon premier jet donne, je pense, des informations intéressantes. On y voit que des services comme :

  • des pads (etherpad avec ou sans plugin my pad, pad markdown)
  • des instances owncloud
  • quelques gestionnaires de flux rss
  • du gestionnaire de version, notamment git avec gitlab
  • de l'hébergement d'images, de fichiers et de textes.
  • du courriel, hébergement de site web

Par contre, il y a des services qui manquent, je ne dis pas que c'est toujours simple mais c'est la bonne occasion de lancer des idées :

  • alternative aux CDN pour les fonts et bibliothèques web, et ce n'est peut être pas trivial.
  • peu d'hébergement de vidéo, alors que pour des gens en auto-hébergement, ça serait intéressant.
  • avoir l'équivalent d'un firefox hello (webrtc pour ne rien avoir à installer coté client) qui passe par le serveur de son choix.
  • des instances piwik pour faire des stats de site web
  • des instances de monitoring (ex munin), parce que c'est toujours mieux de découpler le serveur des noeuds et on peut aussi penser à de la domotique

Un rêve ultime serait d'avoir des services décentralisés. Par exemple, pour la vidéo, l'information pourrait être distribuées sur N noeuds d'un réseau de telle manière qu'il soit facile de rejoindre le mouvement, de diminuer le risque de perte d'information et de répartir la charge.

2016-07-13

Il était une fois le web : la guerre


Je vous propose de regarder cette intervention de Daniel Glazman sur l'histoire du web et des navigateurs. C'est passionnant. Il commence aux origines du web et du W3C pour arriver à la situation actuelle, passablement dramatique.
Mention spéciale au commentaire sur Servo de Mozilla qu'il déclare comme étant une vraie évolution importante, si ce n'est révolution.


<iframe allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/ceMLuRBn--M" width="560"></iframe>

En bon gros fan de Mozilla, j'avoue que j'attends Servo avec beaucoup d’intérêt ! Ils viennent d'annoncer que ça sera disponible avec la version 48 de Mozilla, autant dire demain à l'échelle du web.


<noscript></noscript>

2016-07-08

De l'avenir d'Ubuntu Touch


En échangeant avec Bleizh dans les commentaires de mon dernier billet sur l'OS mobile de Canonical, je me rends compte qu'il y a une question que beaucoup de gens doivent se poser : Est-ce qu'investir dans ce genre de chose est viable ?

La communauté du libre est tombée d'assez haut lorsque Mozilla a annoncé l'abandon de Firefox OS pour smartphones. Nous étions nombreux à nous être jetés sur les téléphones de la fondation pour échapper à Google/Apple. On était, en plus, fiers de notre alternative qui même si elle n’était pas parfaite, avait l'avantage d'avoir des arguments solides pour convaincre les libristes conscients des enjeux autour de la vie privée et du respect de l'utilisateur : tout ouvert, une fondation à la tête du projet, une communauté internationale motivée.
Malgré tout ça, le projet s'est fracassé contre la réalité. Les gens s'en foutent et/ou ne sont pas conscients de ce qu'on fait de leurs vies.

Mozilla s'est concentrée sur les smartphones : un outil indispensable qui ne peut pas se permettre de tomber en carafe. A l'annonce de la fin du projet, les utilisateurs actifs de Firefox OS se sont retrouvés avec une brique dans les mains. J’exagère un peu, mais l’idée est là et c'est ce que les gens retiendront : un outil indispensable qui nous a lâché.

Canonical s'attaque à la fois au segment des smartphones mais aussi à celui des tablettes. Je ne prendrais pas un smartphone sous UT. L'affaire Mozilla a laissé des traces, malheureusement. Je continue de suivre d'un œil ce qui reste de cette belle aventure mais il n'est plus envisageable pour moi de me retrouver avec un téléphone mort.
Canonical s'en sortira sans doute mieux, c'est pas bien dur, mais je n'y participerai pas.
Par contre, pour les tablettes UT, c'est une toute autre affaire, et c'est là que les gens devraient un peu croire en ce pari. Une tablette convergente, c'est un outil mobile pour surfer convenablement, utiliser quelques applications mais c'est aussi un outil de travail mobile viable. Pas parfait, qu'on reste d'accord, mais viable. C'est toute la différence avec les smartphones : si le téléphone explose en plein vol, c'est le drame. Si la tablette explose, c'est quelques centaines d'euros de perdu. Notable, certes, mais pas bloquant pour le travail ou la vie sociale.
La tablette que je me traîne, l'Aquaris M10, m'offre une façon d’accéder à mes outils différente d'avec mon PC portable. C'est un bonus, un extra. Elle ne fait pas encore le même travail qu'un PC portable mais c'est déjà bien plus qu'une tablette du commerce, les Surfaces de Microsoft mises à part.

Ce que j'essaye de faire comprendre dans ce billet, c'est que si échec de UT il y a, la tablette restera quoiqu'il arrive un outil fonctionnel. Ce n'est pas un téléphone dont la confiance en un avenir perenne est non négligeable. Il faut des mise à jour, des corrections de bug, le support des nouvelles technologies, des ondes 4G +n, etc. Si Canonical se casse la figure, je pourrais toujours me servir du Firefox qu'il y a dans ma tablette, de LibreOffice et des autres. Il n'est, qui plus est, pas difficile de croire qu'il restera des gens motivés pour maintenir des dépôts à jour, mais là n'est pas la question. Ne parlons pas de malheurs.

Une tablette est un outil bien moins critique qu'un téléphone. Prendre une Aquaris M10, c'est prendre un jouet avec lequel il fait bon rédiger des articles de blog, flâner sur diaspora*, écouter de la musique, montrer ses photos de vacances à ses amis, à sa famille, etc. C'est un extra dont on peut être fier, pas un outil vital, du moins pour le moment.


<noscript></noscript>

2016-06-27

Personnaliser son Ubuntu Touch


Je vous parlais l'autre jour de l'OpenStore d'Ubuntu Touch, un magasin d'applications alternatif et libre qui existe en parallèle du Store classique. Dedans, on peut y trouver un type d'applications que les fans de personnalisation comme moi adorent : pour GNOME, c'est GNOME Tweak, pour Ubuntu, c'est Ubuntu Tweak et dans le cas que nous intéresse maintenant, UT Tweak Tool pour Ubuntu Touch.

On a une interface simple pour configurer sa tablette et son téléphone comme bon nous semble !

On y retrouve les grands classiques :
  • Organiser ses applications favorites
  • Personnaliser l'indicateur (ne permet que d'ajouter le pourcentage de charge de la batterie pour le moment)
  • Modifier le comportement du lanceur (la barre de menu à droite)
  • Ajuster le comportement des mouvements tactiles
Mais aussi :
  • Installer des .click (les applications UT) sans ligne de commande
  • Rendre l'OS modifiable (au risque de faire sauter l’accès aux OTA)
  • Récupérer des infos sur l'OS
Je termine par le plus chouette : un accès plus direct aux applications, leur comportement et leur occupation mémoire, leur cache... mais pas que ! J'ai trouvé le Graal, comme on dit.
Dans un ancien billet sur les trucs chiants, je disais que mon Sonerezh, en utilisation tablette, une fois passé en arrière plan, ne diffusait plus ma douce musique. Frustrant. Je me disais qu'il devait bien y avoir un moyen de changer ça et je ne pensais pas le trouver par hasard et sans aucune intervention dans du code : UT Tweak s'en charge :



Admirez le bouton au descriptif bien heureux : Éviter la suspension de l'application. Cliquez là-dessus et le tour est joué : Sonerezh continue à diffuser ses mélodies même lorsqu'il est en arrière-plan ! Bon, il faut quand même désactiver la mise en veille de l'appareil qui, elle, continue à tout couper, mais c'est déjà chouette de pouvoir faire deux choses en même temps tout en écoutant de la musique.

Ce billet ne se concentre que sur le mode tablette, on n'a absolument pas ce souci en mode bureau ;-)


<noscript></noscript>

2016-06-21

Nextcloud 9, une migration aux petits oignons

Suite au départ de Frank Karlitschek, je suis l’actualité de NextCloud, fork annoncé de ownCloud, de très près. Utilisateur quotidien de owncloud les turbulences des dernières semaines dans le projet me concernent directement, quid de mon logiciel favori si l’entreprise périclite ? Mais dans mon fort intérieur je n’étais pas décidé à migrer mon installation dans l’immédiat.

Hélas poussé par ma curiosité d’en savoir plus, j’ai commencé à fouiller internet à la recherche d’informations. Mes trouvailles ont fini par me convaincre :

  • arrêt de l’utilisation d’un contributor license agreement (CLA)
  • un développement ouvert à la communauté à la place d’un développement semi-fermé
  • gestion de certaines fonctionnalités aujourd’hui disponibles uniquement dans la version entreprise d’ownCloud
  • l’article de Dada sur sa migration
  • l’actuel client de synchronisation fonctionne aussi avec nextcloud

C’est d’un pas décidé que je me suis dirigé vers nextcloud et me voilà en route vers d’autres nuages. Pour être honnête je ne pensais pas que celle-ci serait aussi facile même si les deux logiciels sont encore très similaires.

Etat des lieux de l’installation existante. Le serveur est hébergé directement sur mon Nas, il me permet ainsi d’avoir accès à mes données depuis n’importe où. Il me sert également de sauvegarde pour mes documents professionnels. Je n’utilise pas d’applications particulières, owncloud me sert uniquement pour du fichier. Mes agendas et mes contacts sont hébergés sur mon instance Sogo.

It’s migration time
  1. Récupérer la dernière version :
    cd /var/www/
    wget https://download.nextcloud.com/server/releases/nextcloud-9.0.50.zip
  2. Extraire l’archive :
    unzip nextcloud-9.0.50.zip
  3. Définir les droits pour le serveur web apache (www-data sous debian) :
    chown -R www-data:www-data /var/www/nextcloud/
  4. Copier le config.php de owncloud vers nextcloud :
    cp /var/www/owncloud /var/www/nextcloud
  5. Modification de la configuration de mon Vhost Apache :
    sudo nano /etc/apache2/sites-available/owncloud
    #modification de la directive DocumentRoot et <Directory>
    DocumentRoot "/var/www/nextcloud"
            <Directory "/var/www/nextcloud">
                    Options -Indexes +FollowSymLinks +MultiViews
                    AllowOverride All
                    Order allow,deny
                    Allow from all
            </Directory>
    #redémarrage d'apache
    sudo systemctl restart apache2
  6. Me connecter et attendre la mise à jour de la base données, pour ensuite tomber sur le bel écran d’accueil

migration-to-nexcloud-9

J’ai profité de l’occasion pour supprimer deux messages d’erreurs :

L'en-tête HTTP "X-Content-Type-Options" n'est pas configurée pour être égale à "nosniff" créant potentiellement un risque relié à la sécurité et à la vie privée. Il est donc recommandé d'ajuster ce paramètre.
    L'en-tête HTTP "X-Frame-Options" n'est pas configurée pour être égale à "SAMEORIGIN" créant potentiellement un risque relié à la sécurité et à la vie privée. Il est donc recommandé d'ajuster ce paramètre.

D’abords sur le serveur apache directement dans le fichier de configuration /etc/apache2.conf

<IfModule mod_headers.c>
  Header always set X-Content-Type-Options: nosniff
  Header always set X-Frame-Options: SAMEORIGIN
</IfModule>

Puis sur le serveur nginx qui fait office de reverse proxy, toujours dans la configuration de nginx /etc/nginx.conf

add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;

Par contre pas de grands changements, c’est du owncloud sans le nom, mais tout fonctionne parfaitement et mon client de synchronisation a redémarré comme si de rien n’était. Je suis impatient de découvrir toutes les nouvelles fonctionnalités que va développer la nouvelle équipe.

Suite au prochain épisode.

2016-06-20

Monitorix, du bon monitoring léger




Toujours à la recherche de solutions simples et légères de monitoring, j'entreprends régulièrement des recherches sur le grand Internet pour trouver mon bonheur. Et je crois que je viens de le trouver : Monitorix !

Facette, le système que j'utilisais avant, avait une fâcheuse tendance à disjoncter pour des raisons inconnues : les graphiques disparaissaient sans que je ne comprenne pourquoi. C'est quand même dommage. Avec Monitorix, j'espère ne plus rencontrer ce genre de problèmes et, en plus, son développement est toujours actif.

L'installation de cette solution est hyper simple : on installe le paquet disponible sur le site officiel et c'est parti. Les graphiques commencent à se remplir tout seuls. Ils demandent quelques dépendances mais rien de bien méchant.

De base, il pond des graphiques sur ce qui est vital : le load de la machine, le réseau, l'utilisation du disque dur mais aussi Apache2, les mails (sendmail/postfix), MySQL etc. Autant dire que je découvre pas mal de choses sur le comportement de mon pod diaspora : diaspote.org.

Si vous voulez avoir une idée de l'utilisation de la mémoire du pod, par exemple :



Et ouais, 2 GB, c'est limite. La bizarrerie du graphique vient du redémarrage journalier du pod, dans la nuit. On évite le crash avec ça ;-)

La configuration de Monitorix est assez simple. Il faut juste créer un utilisateur spécifique pour le monitoring de MySQL et bien faire attention d'avoir les fichiers sm-client.st et sendmail.st pour récupérer les statistiques de Sendmail. Mis à part ça, tout se configure dans le fichier de configuration de l'utilitaire.

Il ne lui manque que la possibilité d'avoir des graphiques un peu plus précis. Contrairement à Facette, il n'est pas possible de zoomer sur une période précise pour analyser l'évolution de la situation seconde par seconde. Après, c'est un peu gadget : les différentes courbes sont suffisamment claires pour tirer les bonnes conclusions.

En bonus, il est possible de configurer des alertes et des scripts à lancer en cas de souci. C'est franchement chouette !


<noscript></noscript>

2016-06-16

Nextcloud 9 disponible, voyons voir




L'un des derniers grand chambardement du monde libre de ces derniers temps est la création de Nextcloud par les fondateurs d'ownCloud. Ce bouleversement n’était attendu par personne, sauf si on s’intéressait aux mouvements des développeurs historiques d'ownCloud qui ont presque décidé de quitter le navire au même moment.

Bref, ownCloud perd ses fondateurs, met en marche une fondation et communique tant bien que mal pendant que ses papas foutent le camp pour pondre Nextcloud. Je ne sais pas pour vous, mais moi, je migre vers Nextcloud.
Les promesses de ce dernier sont plutôt belles : fournir les fonctionnalités de la version professionnelle d'ownCloud nativement, sans devoir souscrire à une quelconque offre de support. Avec ça, comme ils le disent, on devrait avoir un cloud personnel plus efficace et, surtout, dépourvu des magouilles qui servaient à différencier la version communautaire de la version payante d'ownCloud.

Du coup, avec la sortie de leur première version, le moment est venu de passer le cap et d'y aller. Mais d'abord, un peu de méfiance et de bon sens : ce genre de manipulation peut ne pas se passer comme prévu surtout si vous trainez quelques applications farfelues avec vous. Personnellement, j'ai une application qui ne m'a pas permis de faire la migration. Comme je devais faire du ménage et nettoyer mon serveur, j'ai sauté sur l'occasion pour repartir sur une installation de mon cloud personnel bien plus propre que l'ancienne.

Pour celles et ceux qui voudraient se lancer dans la bascule, voici les manipulations à faire pour migrer d'OC à NC :
  • Faire des sauvegardes des fichiers (/data) et du config.php
  • Désactiver les applications tierces
  • Remplacer la totalité des fichiers d'ownCloud par ceux de Nextcloud
  • Mettre en place le config.php et le /data d'ownCloud dans Nextcloud
  • Lancer la procédure de mise à jour automatique
Et si tout va bien, après quelques minutes d'attente, le temps que la base de données soit mise à jour, Nextcloud apparait sous vos yeux. C'est bleu clair, un peu vif, mais on s'y fait.

Comme c'est encore une copie presque conforme, on ne s'y perd pas. J'y retrouve mes applications indispensables, c'est tout bon. Il ne reste plus qu'à rebalancer mes fichiers et tout sera de nouveau fonctionnel comme si de rien n’était.

Actuellement, seule l'application Android existe au nom de Nextcloud, pour le reste, comme le client de synchronisation du bureau, celui d'ownCloud est parfaitement fonctionnel.

Ce changement n'est pas encore très important d'un point de vue technique. C'est surtout un choix : celui de suivre les créateurs qui n'assument plus de passer par une division entre les utilisateurs commerciaux et les autres pour vivre de leur travail. Perso, j'y crois, j'aime ce genre d’idées.

Bon, maintenant, il faut que je dégage quelques stickers... /me soupire


<noscript></noscript>

2016-06-13

OpenStore : Ubuntu Touch a son magasin alternatif


Par défaut, l'Ubuntu Store est le magasin d'applications des Ubuntu Touch, tablettes et smartphones. On y retrouve tout ce dont on a besoin. Tout ? Pas encore pour le moment, mais si on se contente de peu, ça passe. Il va falloir attendre encore un peu pour que ça s'étoffe.

J'ai découvert la semaine dernière qu'il existait un autre Store : l'OpenStore. Si je comprends bien, c'est un store alternatif qui propose des applications qui seront peut-être disponibles plus tard sur le store classique. Les bidouilleurs et les utilisateurs qui n'ont pas peur d'installer des applis qui pourraient maltraiter leur appareil peuvent s'y retrouver.

Il n'y a pas beaucoup d'applications intéressantes pour le moment, mais c'est comme tout, c'est important d'y jeter un coup d’œil de temps en temps, des fois qu'un truc cool débarque !

Voici les manipulations à faire pour s'en servir. Je prends comme postulat de base que vous êtes sur votre Aquaris en mode bureau, parce que c'est ce que je fais et parce que c'est cool.

Récupérer le .click du store 

Ouvrez votre terminal et tapez la commande suivante :
wget https://open.uappexplorer.com/api/download/openstore.openstore-team/openstore.openstore-team_0.98_armhf.click

Installez le .click

pkcon install-local --allow-untrusted openstore.openstore-team_0.98_armhf.click
Maintenant, le store apparait dans la liste des applications disponibles !



Il se cache en bas, à droite, avec son logo noir.

Je répète : c'est un store pour bidouilleurs : il n'est pas impossible de casser son appareil en passant par là. Son utilisation est à nos risques et périls. M'enfin, je dis ça comme si les courageux qui se servent déjà d'une Aquaris ou d'un smartphone sous Ubuntu Touch n’étaient pas de base des bidouilleurs un peu téméraires ;)

Comme pour le dernier article au sujet de l'Aquaris, ce billet et la capture d’écran ont été entièrement produits en mode bureau sur mon Aquaris M10, mais ce coup-ci sur une terrasse avec vue sur jardin. Un truc cool que je peux ajouter au sujet de mon jouet : la gestion de la luminosité fait qu'on peut s'en servir dehors, ce qui n'est pas le cas avec mes vieux ordinateurs portables et leurs écrans trop sombres !


<noscript></noscript>

2016-06-08

Installer Heroes of the Storm sur Ubuntu 16.04




Hop, encore un jeu non-libre, je sais.

Il y a des soirs comme ça : un ami me propose de faire une partie de HotS. De quoi ? Ça me disait vaguement un truc. Il me confirme que c'est un jeu Blizzard, que c'est un gratuit et qu'il aimerait bien qu'on se fasse une partie de temps en temps. Faut dire qu'on cherche désespérément un jeu pour passer quelques bons moments ensemble depuis que je suis à Paris et qu'il est resté à Nancy.

C'est parti pour.. Oh ? Pas disponible sous GNU/Linux. Tant pis, sauf si ça passe avec Wine et PlayOnLinux. J'avais déjà fait tourner Hearthstone avec PoL, pourquoi pas HotS ? Il est tard, pas grave, je tente l'aventure.

Pas mal de temps plus tard, j'arrive enfin à lancer la bête. Voici la configuration qui marche en captures d’écran parce que les longs discours, c'est chiant.
  • Configuration de PlayOnLinux. Lancez bien l'installation du jeux via son propre script, pas via celui de Battle.net


  • La configuration des libs de Wine (en version Windows 7)

  • Et la configuration de l'affichage pour lutter contre l'erreur du périphérique graphique non disponible bien frustrante


Et voilà ! Si vous faites pareil et que vous utilisez le pilote non-libre Nvidia, vous devriez pouvoir faire tourner l'un des petits derniers de Blizzard.

Cette configuration fonctionne, je le certifie. J'ai testé pas mal d'options pour réussir à lancer le jeu avant celle que je vous présente, elles n'ont rien donné... jusqu'à maintenant. En refaisant quelques bidouilles, je me rends compte que le jeu se lance tout aussi bien. Bref, les aléas de Wine, je suppose : si rien ne fonctionne chez vous, essayez celle-là.

Perso, il y a des chances que je retourne rapidement vers Dota 2, parce que quand même, HotS est comme LoL, un truc de casu ;-)


<noscript></noscript>

2016-06-03

Créer des applications Ubuntu Touch à partir d'un site web


Avec la sortie de l'OTA 11 et un peu de temps libre cette semaine, je reviens vous parler de mon Aquaris M10 Ubuntu Edition. Vous savez, la tablette sous Ubuntu dont peu de monde parle, peut-être parce que peu de monde l'a acheté.
Avec l'OTA 11, la tablette vient de faire un bond colossal en matière de réactivité en mode bureau. Avant, on voyait bien quelle se traînait un peu, le déplacement des fenêtres souffrait d'une latence. Hop, depuis hier, plus rien. Du coup, c'est l’occasion de ressortir mon clavier et ma souris, de les brancher et de rédiger ce billet avec.

Je dis donc qu'on peut créer une application à partir d'un site web. C'est dit de façon maladroite : en fait, ce n'est pas vraiment une application, c'est plus une encapsulation, à la Electron. Bref.



Je précise que cette capture d’écran vient de la tablette et que je l'ai rapidement retravaillée avec le The GIMP de la tablette. J'ai fait ça vite, ce qui fait que je n'ai surligné que 3 des 4 sites webs qui se cachent parmi les applications actuellement installées sur mon jouet. Serez-vous capable de trouver celle qui manque ? Petit indice : je m'en sers toute la journée, tout le temps, sans elle, je meurs.

La manipulation est terrible : il vous faudra votre compte Ubuntu One pour vous connecter sur le WebApp Generator, et c'est tout.
Une fois sur la page du formulaire, munissez-vous du nom que vous voulez donner à la WebApp, son logo, son URL et c'est presque tout ce qu'il vous faudra. Remplissez les cases dans l'ordre et tout se passera comme sur des roulettes. A la validation, téléchargez votre création et passez à l'étape installation.

Là, c'est un peu plus compliqué : il faut envoyer le fichier dans le tablette et l'installer à la main. Un peu comme si vous installiez un paquet via le terminal.
Activez le mode développeur de votre Aquaris et enchaînez les commandes suivantes :
adb push /chemin/vers/votre/application.click /tmp
adb shell pkcon install-local --allow-untrusted /tmp/application.click

Fin de l'aventure : le site web que vous utilisez tout le temps est maintenant disponible en deux cliques, en plein écran et sans fioriture. C'est parfait tout ça ! Je retrouve vraiment ce que j'aimais bien avec Firefox OS et que j'essaye de retrouver avec la version Fairphone d'Android et les raccourcis qu'on peut placer sur le bureau avec Firefox, mais c'est moins concluant.


<noscript></noscript>

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




03/06/2016 : MàJ sur la lecture des moyens de stockage externes.
27/06/206 : MàJ au sujet des applications en tâche de fond.

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

En fait, il faut passer par le menu en haut à droite du navigateur de fichiers pour profiter d'une clé USB ou d'un disque dur externe.

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 !(13)Je n'aime pas !(3)

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 !(6)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 !(3)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é.

Généré le 2016-08-25 14:26 UTC avec Planet Venus