Table des matières
Nextcloud
Nextcloud est un système de diffusion et de partage de fichiers, et un bon remplaçant opensource de dropbox. C'est un "fork" assez récent de owncloud… par ses propres fondateurs! Il est notamment utilisé par Orange ou Siemens, donc il est plutôt sans risque.
Les principales fonctionalités sont:
- fonctionne sur toutes les plateformes, y compris mobiles!
- un cryptage solide
- une gestion d'utilisateurs et de droits
- une synchronisation en arrière plan avec son poste de travail (pour windows, mac, linux, android…)
- comme dropbox, un accès possible aux documents par URL directe (potentiellement protégée par mot de passe, en lecture/ecriture, périmables…)
- accès aux anciennes versions des fichiers modifiés ou supprimmés (dans une certaine mesure)
- propose de gérer calendriers, taches et contacts (protocoles classiques caldav, carddav)
Quelle installation?
Nextcloud est écrit en PHP et correspond à un simple dossier servi par un serveur web, associé à une base de données. Il est donc facile à utiliser et installer un peu partout, d'autant qu'il n'y a pas moins de quatre façon de faire !
- "à la main", dans un environnement existant (pas besoin de serveur exclusif à ce service): voir la page dédiée. C'est une façon de faire respectable pour éviter d'avoir deux serveurs web sur une même machine (cout en mémoire significatif).
- avec
sudo snap install nextcloud
, trivial à installer, mais qui va "concurrencer" le port HTTP/HTTPS de votre serveur web s'il existe déjà. Voyez alors le proxying web qui vous permettra de faire cohabiter les deux services.
- via un docker pour le cloisonner ("sandboxing"), abordé sur cette page mixte docker/mattermost
- enfin une instant app nextcloud toute faite chez Scaleway, extrèmement facile à déployer, mais sur une instance de serveur dédiée qu'il faudra donc payer. Cette option sera plus difficile à faire cohabiter avec d'autres services hébergés sur le même serveur!
"Instant app" de scaleway
Si vous avez installé votre propre version, alors passez ce chapitre. Mais si vous avez utilisé l'instant app de Nextcloud il y a quelques éléments à régler après le démarrage de l'instance, via
ssh
:
Dans le "config.php":
'trusted_domains' => array ( 0 => 'ubuntu-standard.local', 2 => 'mydomain.com', ),
Usage de la ligne de commande?
La majorité des actions se font par le volet d'administration en ligne, mais il existe aussi un outil occ
(dans le dossier d'installation si on ne le trouve pas dans le chemin système), afin de configurer nextcloud via la ligne de commande (documentation ici).
On peut faire les réglages ci-dessus de la sorte:
sudo nextcloud.occ config:system:get trusted_domains sudo nextcloud.occ config:system:set trusted_domains 1 --value=files.tecrd.com
Réglages post-installation
# Eviter un warning lié à la base de donnée (à faire tôt après l'installation): sudo -u www-data php occ db:convert-filecache-bigint # Et pour permettre une mise à jour via l'interface: chown www-data /var/www/html/nextcloud/.htaccess rm /var/www/html/nextcloud/.rnd
Clients
Client web (sans installation)
A partir du moment où l'on a un compte utilisateur, on utiliser l'interface web (par exemple http://files.tecrd.com/nextcloud).
Elle permet toutes les actions, dont la diffusion triviale de fichiers volumineux via une URL, paramétrable dans l'interface au cas par cas (dont: protection par mot de passe, durée de vie, etc)
Client de synchronisation sur son poste de travail
Comme le fait dropbox, on peut aussi installer des clients "desktop" chargés de synchroniser le contenu de dossier avec son poste client (dans les deux sens et en tache de fond). C'est évidemment très utile pour "partager" un disque entre plusieurs postes, même distants. Attention à la bonne gestion des volumes ceci dit, qui peuvent grossir et remplir un poste distant qui ne s'y attendrait pas (il est utile de se configurer des quota à soi-même aussi!).
Les liens vers les clients à installer sur les postes de travail se trouvent dans la page web client standard, mais sous linux: le démarrage automatique du client ne se fait pas, et il est probablement plus intéressant de passer par la procédure suivante.
client linux "desktop"
Une solution qui semble mieux intégrée, notamment car elle permet des mises à jour standard:
sudo apt-add-repository ppa:nextcloud-devs/client sudo apt update && sudo apt install nextcloud-client
Nb si l'erreur Repository 'http://ppa.launchpad.net/webupd8team/java/ubuntu bionic InRelease' changed its 'Label' value from 'Oracle Java (JDK) 8 Installer PPA' to 'Oracle Java (JDK) 8 Installer PPA (DISCONTINUED)
' apparait:
sudo apt-get --allow-releaseinfo-change update && sudo apt-get update
Ensuite, lancer nextcloud
dans une console, se connecter, puis cocher [x] Launch on System Setup
dans l'interface du client (zone "Général" en haut à droite).
Problème de démarrage automatique: s'il faut néanmoins lancer la commande
nextcloud
après chaque démarrage, vous pouvez créer vous-même un ~/.config/autostart/Nextcloud
avec:
[Desktop Entry] Name=Nextcloud GenericName=File Synchronizer Exec=/usr/bin/nextcloud Terminal=false Icon=nextcloud Categories=Network Type=Application StartupNotify=false X-GNOME-Autostart-enabled=true
Pour la ligne Exec
, on peut vérifier le chemin vers le client nextcloud avec which nextcloud
.
Extensions nextcloud
Il existe beaucoup d'extensions pour nextcloud (cf. liste https://apps.nextcloud.com/?order_by=rating_recent&ordering=desc)
Nextcloud offre un support CalDAV pour synchroniser contacts, calendriers et taches. Sur Android, on pourra utiliser les logiciels opensource DAVdroid ou davx5 ou encore Open Sync et Open Task (installation conjointe proposée).
Par défaut Nextcloud n'offre pas d'interface directe, mais on peut les installer aisément:
Carnet d'adresse "Contacts"
L'extension https://apps.nextcloud.com/apps/contacts permet d'ajouter une interface web afin de gérer les contacts (basée sur le WebDAV sous-jacent, donc synchronisables avec vos appareils tiers)
Calendrier synchronisé "Calendar"
De même, l'extension https://apps.nextcloud.com/apps/calendar vous ajoutera une interface web pour gérer les calendriers (là encore, synchronisables avec vos appareils tiers).
Gestionnaire de tâches synchronisées "Tasks"
L'extension https://apps.nextcloud.com/apps/tasks permet de gérer des taches, et (théoriquement) de les synchroniser avec différents clients via le protocole CalDAV habituel (cf. Android Tasks)
Deck
Un outil de type Kanban.
Mindmap
Un outil de carte mentale
etc!