Blog de dada

DevOps, bidouilleur et routard plein de logiciels libres

ownCloud

Compiler le client de synchronisation de Nextcloud

Rédigé par dada / 19 février 2017 / 2 commentaires




Voici un billet qui pourra être chouette pour les amateurs de compilation pas trop longue ni très compliquée. Comme contexte, il faut savoir que les développeurs de Nextcloud ne fournissent pas de paquet tout fait pour leur client de synchronisation. La raison ? Le trop grand nombre de distributions, le temps de travail et, sans doute, la compatibilité du client d'ownCloud.
M'enfin, si vous avez envie de profiter de votre instance avec le bon nom et le bon logo, voici les quelques étapes à suivre :

On installe les outils de base :
apt-get install git cmake
 On récupère les sources du client depuis le dépôt officiel :
git clone https://github.com/nextcloud/client_theming.git
On se place dans le répertoire de travail :
cd client_theming
 On met à jour les modules présents dans les sources :
git submodule update --init --recursive
 On récupère les dépendances facilement en s'appuyant sur ce qui est déjà fait avec le client ownCloud. Pourquoi ? Tout simplement parce que les bases sont les mêmes !
apt-get build-dep owncloud-client 
C'est à partir de là qu'on prépare la compilation :
cmake -D OEM_THEME_DIR=`pwd`/../nextcloudtheme ../client 
Voici le retour que vous devriez avoir si la préparation de la compilation se passe bien :
dada@dada-desktop:~/work/nextcloud/client_theming/build-linux$ cmake -D OEM_THEME_DIR=`pwd`/../nextcloudtheme ../client
-- Build of crashreporter disabled.
-- GIT_SHA1 eaeed08544d1d7f4031d28a8e1bd9dd5e08a60fd
-- Could NOT find INOTIFY (missing:  INOTIFY_LIBRARY_DIR)
-- Could NOT find Sphinx (missing:  SPHINX_EXECUTABLE)
-- Could NOT find PdfLatex (missing:  PDFLATEX_EXECUTABLE)
-- Found SQLite3: /usr/lib/x86_64-linux-gnu/libsqlite3.so (Required is at least version "3.8.0")
CMake Warning (dev) at cmake/modules/CheckPrototypeDefinition.cmake:43 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "HAVE_ICONV_CONST" will no longer be dereferenced
  when the policy is set to NEW.  Since the policy is not set the OLD
  behavior will be used.
Call Stack (most recent call first):
  cmake/modules/FindIconv.cmake:55 (check_prototype_definition)
  csync/CMakeLists.txt:22 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found SQLite3: /usr/lib/x86_64-linux-gnu/libsqlite3.so;/usr/lib/x86_64-linux-gnu/libsqlite3.so (Required is at least version "3.8.0")
-- Found Qt5 core, checking for further dependencies...
-- Using Qt 5!
-- Found Qt5Keychain: /usr/lib/x86_64-linux-gnu/libqt5keychain.so  
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
CMake Warning at shell_integration/CMakeLists.txt:11 (find_package):
  By not providing "FindKF5.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "KF5", but
  CMake did not find one.

  Could not find a package configuration file provided by "KF5" (requested
  version 5.16) with any of the following names:

    KF5Config.cmake
    kf5-config.cmake

  Add the installation prefix of "KF5" to CMAKE_PREFIX_PATH or set "KF5_DIR"
  to a directory containing one of the above files.  If "KF5" provides a
  separate development package or SDK, be sure it has been installed.

Dolphin plugin disabled: KDE Frameworks 5.16 not found
-- Could NOT find Doxygen (missing:  DOXYGEN_EXECUTABLE)
-- Configuring done
-- Generating done
-- Build files have been written to: /home/dada/work/nextcloud/client_theming/build-linu

A partir de là, vous avez deux choix : installer le client directement après la compilation ou créer un paquet puis l'installer. Personnellement, je préfère la deuxième.

Installation directe :
make && sudo make install 
Création du paquet :
make && checkinstall 
Une fois avoir répondu aux quelques questions que l'outil vous demande, vous aurez un paquet .deb à installer en un clique !

Je vous laisse parcourir la doc de checkinstall, ce super outil !

Vous pouvez maintenant profiter d'un client de synchronisation avec les bonnes couleurs et le bon logo. Hey oui, il n'y a pas encore beaucoup de nouveautés...

Nextcloud 9 disponible, voyons voir

Rédigé par dada / 16 juin 2016 / 14 commentaires




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

ownCloud Passwords et Firefox : retrouver le copier/coller

Rédigé par dada / 14 avril 2016 / Aucun commentaire




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. :-(

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

Rédigé par dada / 25 mars 2016 / 2 commentaires




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.

ownCloud 9 disponible et fin de vie de ownCloud 7

Rédigé par dada / 09 mars 2016 / 2 commentaires




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.