[NextCloud](https://docs.nextcloud.com/) est un logiciel libre qui permet de stocker des fichiers sur un serveur distant, communément appelé un « cloud ».
Ses fonctionnalités étendues et les nombreux plugins (nommés « Apps ») disponibles font de NextCloud une plateforme collaborative modulaire et une alternative libre face aux logiciels privateurs comme ~~Google Docs~~, ~~Google Drive~~ ou ~~Dropbox~~.
On y trouve, entre autres, des fonctionnalités comme le partage de fichiers, l'édition collaborative, la gestion de droits, un calendrier, la gestion des contacts...
## Installation
Nous préconisons d'utiliser NextCloud avec [Nginx](HowtoNginx), [MariaDB](HowtoMySQL) et [Redis](HowtoRedis).
On peut ensuite télécharger une archive sur <https://download.nextcloud.com/server/releases/>.
Nous utilisons l'utilitaire en ligne de commande `occ` proposé par NextCloud.
Pour l'utiliser il faut se déplacer dans le bon répertoire puis :
~~~
$ php ./occ -V
Cloud Foo 22.2.3
$ php ./occ status --output json | grep -v 'Nextcloud is not installed'"
$ php ./occ maintenance:install --database mysql ...
$ php ./occ config:system:set trusted_domains ...
~~~
On configure ensuite Nginx, PHP-FPM, MariaDB et Redis.
### Gestion des partages avec "Group folders"
Pour gérer les partages, nous préconisons l'utilisation du plugin [Group folders](https://apps.nextcloud.com/apps/groupfolders).
Le plugin « Group folders » permet de créer des groupes de partage et de configurer les droits d'accès par groupe dans l'interface (bouton « Dossiers du groupe » dans l'Administration de l'interface web).
Sans ce plugin, on peut créer un répertoire et le partager avec certains droits. Cependant, ce n'est pas pratique : les droits sont gérés par une seule personne qui pourrait les retirer par erreur, et l'on sera embêté si l'on doit supprimer cet utilisateur dans le futur.
Dans NextCloud, les mises-à-jour se font de version en version. S'il y a plusieurs versions de retard, il faut le mettre à jour autant de fois qu'il y a de versions de retard.
* Via une application mobile [Android](https://f-droid.org/fr/packages/com.nextcloud.client/) ou [iPhone](https://apps.apple.com/fr/app/nextcloud/id1125420102).
* Si vous utilisez NextCloud pour stocker des données très volumineuses que vous ne voulez pas stocker localement, il est plus intéressant d'utiliser l'interface web et/ou un lecteur réseau WebDAV.
* Si vous utilisez NextCloud comme solution de sauvegarde de vos fichiers locaux, vous aurez besoin de l'application de synchronisation.
* Si vous utilisez beaucoup les Apps NextCloud, comme le calendrier ou l'éditeur collaboratif, vous utiliserez plutôt l'interface web.
Dans la plupart les cas d'usage, sauf stockage volumineux, nous conseillons d'installer l'application de synchronisation et d'utiliser l'interface web pour tout usage autre que du stockage ou du partage (collaboration, calendrier...).
L'application de synchronisation copie et maintient à jour vos fichiers NextCloud sur votre ordinateur dans un dossier local de votre choix, accessible comme d'habitude avec votre gestionnaire de fichiers.
Les fichiers synchronisés seront accessibles sans latence. Cependant, contrairement au lecteur réseau WebDAV, ils prendront de l'espace sur votre disque dur.
L'application s'exécute en tâche de fond et ajoute une icône dans la barre des tâches, à partir de laquelle on peut configurer la synchronisation.
#### Installation de l'application de synchronisation sur Debian
Note : Le nom des paquets peut varier selon votre distribution.
Sur **Debian**, le paquet à installer est [nextcloud-desktop](https://packages.debian.org/stable/nextcloud-desktop).
S'il n'est pas visible dans les icônes de la barre des tâches après l'installation, il faut le lancer manuellement via le menu des programmes et vérifier dans ses paramètres que l'option « Lancer au démarrage du système » est bien cochée.
S'il ne démarre pas automatiquement au prochain redémarrage, vous devez l'ajouter manuellement aux applications démarrées automatiquement par votre environnement de bureau (KDE, Gnome, XFCE, Windows...).
Si votre système d'exploitation ne fournit pas de paquet pour installer l'application de synchronisation (**Windows, MacOS, distributions Linux n'ayant pas de paquet NextCloud**), vous pouvez utiliser :
Cependant, avec ce type d'installation, vous devez effectuer les mises-à-jour de l'application manuellement.
### Lecteur réseau (via le protocole WebDAV)
Cette solution permet de rendre les fichiers accessibles dans votre gestionnaire de fichiers via un lecteur réseau, avec un temps de latence qui dépendra de votre connexion à internet et de la taille des fichiers. Contrairement au client de bureau, ils ne prendront pas de place sur votre disque dur.
L'avantage du protocole WebDAV est d'être indépendant du système d'exploitation que vous utilisez.
En revanche, en cas de coupure d'accès à internet, vous ne pourrez pas accéder à vos fichiers.
Selon votre configuration ou la version de votre gestionnaire de fichiers, il faut parfois cliquer sur la barre de chemins pour pouvoir entrer l'URL (Dolphin), cliquer sur une icône à côté (Nemo, Caja), ou ajouter explicitement un nouveau lecteur réseau (Nautilus).
Sur Nautilus, il n'y a pas de barre de chemin, il faut ajouter un lecteur réseau en cliquant sur `+ Autres emplacements` dans le panneau latéral de gauche, puis renseigner l'URL WebDAV de l'instance NextCloud dans « Connexion à un serveur ».
Ces intégrations ajoutent un lecteur réseau nextcloudavec le protocole WebDAV et permettent de synchroniser votre calendrier et vos contacts avec les applications du bureau.
Ce qui rend attractif Nextcloud est son côté modulaire à pouvoir intégrer des fonctionnalitées supplémentaires au stockage de fichiers grâce aux applications. C'est à dire qu'il est possible d'activer les commentaires, journal des modifications, liens de partages, etc.
Avec le compte d'administrateur de l'instance, la liste est présente à l'adresse `https://nextcloud-demo.evolix.org/settings/apps`
C'est possible de le faire pour les applications calendar et contacts dont l'application DAVx5 est disponible sur [F-droid](<https://f-droid.org/fr/packages/at.bitfire.davdroid/) et après l'avoir lancé en acceptant les autorisations, toucher le bouton rond " + " pour ajouter un compte.
Plusieurs choix sont possibles où seulement le 2ème point "Connexion avec une URL et un nom d'utilisateur" est intéressante
Il y aura besoin de renseigner ces informations dans les champs respectifs :
- URL de base : https://nextcloud-demo.evolix.org/remote.php/dav/
- Nom d'utilisateur : $EVOLIX
- Mot de passe : $MDP
Enfin, acceptez les propositions des pages suivantes.
Par défaut, rien n'est selectionné alors navigeur dans les volets pour choisir ce que l'on souhaite.
Si la synchronisation n'est pas immédiate, soit il y a besoin d'attendre la prochaine heure de synchronisation, soit que des autorisations sont manquantes.