Blog de dada

DevOps, bidouilleur et routard plein de logiciels libres

Archives 2017

Facette 0.4rc1 disponible

Rédigé par dada / 19 juillet 2017 / Aucun commentaire




Mon bon vieux Facette s'est offert une nouvelle version et je suis complètement passé à côté...! Je me souviens l'avoir abandonné après avoir souffert de pas mal d'instabilité en sa version 0.3. Espérons que cette 0.4 corrigera le tir, et ça semble être le cas quand je parcours les notes de version. Monitorix ne me satisfaisant pas vraiment, je retourne lorgner sur Facette.

Au programme :
  • Réécriture du Front-end
  • Réécriture du Back-end
  • Ajout de stockage en BDD (MySQL, PostgreSQL, SQLite)
  • Configuration gérée par un .yaml
  • Ajout de templates de collection
  • Ajout d'alias de graphiques et de collection
  • Ajout d'une API
  • Disponible en français et en anglais
  • Etc
Bon, si avec tout ça, je ne retrouve pas mon bonheur perdu, je balancerai un paquet de #Tristitude sur Mastodon ! Je sors ce billet alors que je suis déjà en train de m'amuser avec. J'ai un peu souffert pour le faire tourner, rien de méchant mais je sortirai un tuto pour expliquer comment s'en servir assez rapidement.

UBPorts : retrouver les Desktop Apps

Rédigé par dada / 13 juin 2017 / 1 commentaire




Avec mon passage à UBPorts pour mon Aquaris M10 FDH, j'ai rapidement regretté l'absence des Desktop Apps (Firefox, LibreOffice, etc) de la liste des applications disponibles. Une recherche rapide m'a soulagé : il est possible de les retrouver, mais ça demande un peu d'effort. Voici l'astuce.

Installer le Desktop Apps Scope

Pour installer cette dépendance, il faut passer par l'OpenStore pour installer uApp Explorer. Une fois fait, il faut maintenant passer par l'uApp pour installer le scope Desktop Apps Scope. Cette première étape va vous permettre d'avoir accès aux X Apps que nous allons pouvoir bientôt installer.

Préparer l'appareil

- Il faut maintenant passer l'appareil en mode développeur. On l'active en allant dans les paramètres, puis À propos et en cliquant sur le mode développeur. Notez qu'il faut mettre en place un code de sécurité pour pouvoir le faire. Petit piège.
- Connectez-vous à la tablette depuis votre ordinateur en tapant phablet-shell depuis votre terminal. Elle va vous permettre de vous connecter à votre appareil en SSH, mais la manipulation peut se faire directement depuis un terminal lancé depuis l'appareil.
- Une fois connecté, tapez la commande suivante pour mettre en place le conteneur qui accueillera les applications tournant avec X.
libertine-container-manager create --id ubuntu --name 'ubuntu' 
L'opération va bien prendre 10 min. Allez vous en griller une ou c'que vous voulez. 'ubuntu' sera l'identifiant (id) du conteneur, il est à titre indicatif, vous pouvez mettre ce que vous voulez. Faudra penser à reporter la modif' à l'étape suivante.

Une fois que c'est terminé, il faut rendre le conteneur persistant en tapant ce qui suit :
libertine-container-manager exec --command "/bin/bash" --id ubuntu 
Vous vous prendrez un retour avec de simples warnings dans les dents mais tout va bien, vous êtes dans la matrice et vous pouvez maintenant installer vos applications !

Installer vos applications

Tout simple, un exemple pour Firefox :
apt install firefox 
Et voilà ! Bon, LibreOffice semble ne pas tourner, mais j'ai réussi à faire tourner VLC !

Vous pouvez retrouver l'origine de ce billet par ici.

Améliorer la recherche dans Nextcloud avec Nextant

Rédigé par dada / 03 juin 2017 / 3 commentaires




La recherche dans Nextcloud est bien foutue mais commence à montrer ses limites quand on s'amuse à stocker une grande quantité de fichiers. En plus, elle ne va pas analyser ce qui se passe au niveau du contenu. C'est là que l'ami Solr débarque via une extension plutôt pratique : Nextant.
J'annonce tout de suite, ce billet va parler d'un outil en Java, et même qu'il va falloir l'installer. Si vous faites partie de ceux qui s'obstinent à dire que Java, c'est de la merde, plutôt que de pester sur des développeurs d'applications, au mieux, maladroits, passez votre chemin.
C'est aussi un peu compliqué, mais bon, je vais tenter de faire de mon mieux pour vous rendre la tâche presque simple !

Installer Java

On attaque fort, j'avais prévenu ! Si vous êtes sous Debian 8, vous aurez besoin de passer par les backports puisque la version présente dans les dépôts classiques est trop ancienne. Il faut les mettre en place et taper la commande suivante :
apt-get -t jessie-backports install openjdk-8-jdk

Vérifier la version utilisée par le système

Les versions de Java cohabitent dans votre système. Si vous aviez déjà du java, il faut faire comprendre à l'OS que c'est la toute dernière qu'il faut  :
root@dadall:/var/www/# java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-1~bpo8+1-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)
Si le résultat retourné n'est pas le même que le mien, corrigez le souci en passant par l'update-alternatives :
root@dadall:/var/www/html/nc#  update-alternatives --config java
Il existe 2 choix pour l'alternative java (qui fournit /usr/bin/java).

  Sélection   Chemin                                          Priorité  État
------------------------------------------------------------
  0            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      mode automatique
  1            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      mode manuel
* 2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1069      mode manuel

Appuyez sur <Entrée> pour conserver la valeur par défaut[*] ou choisissez le numéro sélectionné :
Dans mon cas, tapez 2 et vous en aurez fini avec Java.

Installer Solr

On va passer par l'installeur automatique. C'est bien plus simple et ça permet de ne pas se prendre la tête.
D'abord, prenez le temps de créer un utilisateur solr :
adduser --disabled-login solr
su solr
cd ~
Placez-vous dans sa home et récupérez les sources :
$ wget http://mirrors.ircam.fr/pub/apache/lucene/solr/6.5.1/solr-6.5.1.tgz
$ tar -zxvf solr-6.5.1.tgz
Puis lancez la procédure :
# bash solr-6.5.1/bin/install_solr_service.sh solr-6.5.1.tgz 
Une fois terminée, on va faire un peu de configuration. On va simplement dire à Solr de ne répondre qu'aux sollicitations locales en remplaçant cette ligne :
<Set name="host"><Property name="jetty.host" /></Set>
par :
<Set name="host"><Property name="jetty.host" default="127.0.0.1" /></Set>
dans le fichier présent là-bas : /opt/solr/server/etc/jetty-http.xml. C'est une configuration simple mais importante : elle évite de rendre vos données accessibles à l'extérieur.

Vous pouvez maintenant démarrer la bête :
# /etc/init.d/solr start 
Solr est maintenant démarré mais il lui marque un dernier truc : un core. On va le créer en deux minutes en tapant ça avec le user solr créé pour l'occasion :
/opt/solr/bin/solr create -c nextant 
Et voilà pour Solr ! Place à l'extension !

Installer Nextant

Bon, là, si vous avez réussi toutes les étapes précédentes, c'est que vous pouvez aller cliquer dans la gestion des applications de votre Nextcloud pour activer le bousin. Tout est déjà rempli pour vous. C'est très clair et un bouton «tester» est là pour vous permettre de tout valider !



Solr fonctionne sur le principe des indexations : à un instant T, il va gober tout ce qu'il y a à savoir dans vos fichiers et l'organiser à sa sauce. Pour la première, il est plus que conseillé de la faire à la main en tapant la commande (avec le user de votre Nextcloud, pas le user solr) :
./occ nextant:index 
L'indexation de nouveau contenu ne se fera pas en temps réel mais via un cron Nextcloud. C'est à dire de temps en temps, alors ne vous étonnez pas si le dernier document que vous venez d'ajouter n’apparaît pas immédiatement dans les résultats de recherche.

Une section «Pour aller plus loin» est disponible dans la doc de Nextant. Elle indique, entre autre, comment exclure des répertoires de l'indexation. C'est pas mal si vous ne voulez pas voir certaines infos apparaître maladroitement.

Vous pouvez maintenant faire vos recherches dans vos fichiers !

UBports prend le relai d'Ubuntu Touch

Rédigé par dada / 28 mai 2017 / 3 commentaires




Ubuntu Touch. On va encore raconter que c'est un terrible échec et que blablabla.
Soit, ça n'a pas donné ce qu'espérait un grand nombre de libristes. On pourrait même dire qu'Ubuntu nous a fait le même coup que Firefox OS : on se lance, on fait de la communication dans tous les sens et on finit par laisser tomber le projet, faute de moyen et de croissance.

C'était prévisible. Je me souviens avoir écrit un billet racontant que j'allais supporter l'initiative en choisissant une tablette et non un smartphone. Jouer avec une tablette qui peut se retrouver seule au monde du jour au lendemain, c'est peu gênant. Jouer avec un smartphone, outil du quotidien, qui peut se retrouver loin de mises à jour de sécurité et de stabilité : non.
Enfin, je n'ai pas spécialement suivi les commentaires / articles / billets de blog qui se sont, peut-être, déchaînés après l'annonce de l'abandon par Canonical par simple manque d'intérêt : faut pas jouer, les amis, quand on sait qu'on va perdre.

Ce qui change par rapport à l'aventure Firefox OS, semble-t-il, c'est la force de la communauté d'Ubuntu. Clairement, on dirait qu'elle donne une leçon à celle de Mozilla. Même si les situations sont différentes, certes, les ubunteros semblent avoir réussi à pondre une alternative à UT : UBports. C'est d'ailleurs depuis ma M10 FHD tournant avec l'OS communautaire, que je vous écris ces quelques lignes.

Je vais prendre quelques jours pour faire le tour du propriétaire et je reviendrai pondre un billet sur ce qu'il y a de bien et de moins bien entre la version obsolète d'UT et la nouvelle chose communautaire qu'on appelle maintenant UBports.

Pour celles et ceux qui voudraient déjà se lancer dans l'aventure, la liste des appareils supportés est disponible par ici.

Mastodon : Oops! An unexpected error occured

Rédigé par dada / 14 avril 2017 / 3 commentaires




Si, par curiosité, vous avez monté votre instance Mastodon pour vérifier l'intérêt du nouveau réseau social libre du moment, vous êtes peut-être tombés sur cette erreur à la relance des services. Tout semble bien se passer mais votre timeline publique et vos notifications ne marchent plus. Enfin, elles ne contiennent que les événements en cours, pas les passés.

Oops! An unexpected error occured

Comme contexte, j'ai rencontré ce souci lors du passage à la 1.1.2. N'ayant pas fait le passage à la 1.1.1, vous aurez peut-être déjà fait une partie de ce que je vais raconter ci-dessous.

Mettre à jour Ruby et réinstaller ses dépendances

Ces opérations se font avec l'utilisateur dédié à Mastodon, pas en root.

Pour ruby :
rbenv install 2.4.1 
Pour ses dépendances :
gem install bundler 
bundle install --deployment --without development test 
yarn install && yarn upgrade 
Si vous avez le regard perçant, vous avez remarqué la présence du yarn upgrade qui va vous éviter l'erreur à l'origine de l'écriture de ce billet.

Nettoyer et recompiler les assets

Le nettoyage :
RAILS_ENV=production bundle exec rails assets:clean 
La recompilation :
RAILS_ENV=production bundle exec rails assets:precompile 
Une fois tout ça fait, vous pouvez relancer votre instance Mastodon et revenir tooter parmi nous !