--- categories: web webapp saas title: Howto Nextcloud ... * Documentation : [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). ~~~ # apt install bzip2 php-gd php-json php-xml php-mbstring php-zip php-curl php-bz2 php-intl php-gmp php-apcu php-redis php-bcmath ~~~ On peut ensuite télécharger une archive sur . 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. Pour [Apache-ITK](HowtoApache) on désactive la gestion des droits désactivés pour faciliter les mises à jour : ~~~ AssignUserID example example ~~~ ### 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. ## Mise-à-jour 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. Les mises-à-jour peuvent être faites via l'interface web. Pour cela : cliquez sur le bouton rond en haut à droite > Paramètres > Vue d'ensemble > Ouvrir le système de mise-à-jour. Puis suivez les instructions. Attention, il ne faut pas fermer la page pendant la mise-à-jour, sinon vous resterez bloqué.e en mode maintenance. A la fin des opérations de mise-à-jour, l'interface propose de quitter le mode maintenance. En cas d'oubli, votre interface web sera [bloquée en mode maintenance](HowtoNextcloud#interface-web-bloquee-en-mode-maintenance). ## Utilisation Les fichiers stockés sont accessibles : * Via une interface web accessible à partir de n'importe quel navigateur (depuis un PC ou un smartphone) ; * Dans un dossier local, grâce à l'application de synchronisation Nextcloud (disponible sur Linux, Mac et Windows) ; * Sur un lecteur réseau avec le [protocole WebDAV](https://fr.wikipedia.org/wiki/WebDAV) (disponibles sur Linux, Mac et Windows) ; * Via une application mobile [Android](https://f-droid.org/fr/packages/com.nextcloud.client/) ou [iPhone](https://apps.apple.com/fr/app/nextcloud/id1125420102). Le choix des modes d'accès dépend de vos cas d'usage : * 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...). ### Synchronisation automatique 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. Par exemple, pour le lancer sur XFCE : `Menu > Accessoires > Client de synchronisation Nextcloud`. 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...). Par exemple, pour XFCE : * `Menu > Paramètres > Session et démarrage > Démarrage automatique d'application > +` * Commande à exécuter : `/usr/bin/nextcloud --background` #### Installation de l'application de synchronisation sur d'autres systèmes 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 : * Les binaires pré-compilés sur le [GitHub de Nextcloud](https://github.com/nextcloud/desktop). * Le fichier d'installation ou le binaire sur le [site de Nextcloud](https://nextcloud.com/install/#install-clients). 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. L'url à renseignée est `https://nextcloud-demo.evolix.org/remote.php/dav/files/$login`. #### Ajout du lecteur réseau WebDAV à votre gestionnaire de fichiers Linux La plupart des gestionnaires de fichiers prennent en charge le protocole WebDAV nativement. Cette solution a l'avantage de ne pas nécessiter l'installation de paquets supplémentaires. En général, il suffit d'entrer l'URL suivante dans la barre de chemin de votre gestionnaire de fichiers, en adaptant `$login` : * Thunar, Nautilus, Caja, Nemo : `davs://nextcloud-demo.evolix.org/remote.php/dav/files/$login` * Dolphin : `webdavs://nextcloud-demo.evolix.org/remote.php/dav/files/$login` 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 ». #### Intégration dans votre environnement de bureau Linux Certains environnements de bureau proposent une intégration native de Nextcloud : * Gnome (Nautilus) : [nautilus-nextcloud](https://packages.debian.org/stable/nautilus-nextcloud), (documentation)[https://docs.nextcloud.com/server/19/user_manual/pim/sync_gnome.html] * KDE (Dolphin) : [dolphin-nextcloud](https://packages.debian.org/stable/dolphin-nextcloud) * Cinnamon, Unity (Nemo) : [nemo-nextcloud](https://packages.debian.org/stable/nemo-nextcloud) * Mate (Caja) : [caja-nextcloud](https://packages.debian.org/stable/caja-nextcloud) Généralement, vous pouvez ensuite configurer votre compte Nextcloud dans les paramètres de votre bureau. Par exemple, pour Gnome, cela se passe dans `Settings > Online accounts > Nextcloud`. 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. #### Ajout du lecteur réseau WebDAV sur Windows Dans l'explorateur de fichiers : `Clic droit sur PC > Connecter un lecteur réseau`. Dans `Dossier`, indiquez `A COMPLETER`. ## Applications 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` Il est également possible de les manipuler via des commandes en CLI grâce à `php occ [options] [arguments]` Par exemple : - Voir les applications installées : `php occ app:list` - Désactiver une application : `php occ app:disable monitoring` - Supprimer une applicatino : `php occ app:remove serverinfo` ### Agenda Utilisant le procotole CalDAV, ses principales fonctionnalités sont : - Invitation par mail aux évènements (fonctionne avec l'application contacts) - Indiquer ses disponibilités - Planifier des rappels - Gestion de plusieurs calendrier - Partages de calendrier via compte Nextcloud et mails - Rechercher un évènement via la barre de recherche Son installation en mode CLI : ~~~ php occ app:enable calendar ~~~ ### Contacts Utilisant le protocole CardDAV avec un seul carnet d'adresse, ses principales fonctionnalités sont : - Partage d'un contact au format vCard - Synchronisation possible avec DavX - Intégration avec d'autres applications issue de nextcloud : mail, calendrier, ... - Intégration avec d'autres applications tierces : rainloop - Créer des groupes de contacts - Importer des contacts au format vCard - Rappel des dates d'anniversaires - Pleins d'informations de contacts disponible (nom, prénom, adresse mail, téléphone, adresse postale, photo, métier, type de travail, etc) - Ajout d'informations personnalisées (étiquettes, année, ...) Son installation en mode CLI : ~~~ php occ app:enable contacts ~~~ ## FAQ ### Interface web bloquée en mode maintenance C'est une erreur courante lorsque l'on oublie ou que l'on se trompe lors de la dernière étape de la mise-à-jour via l'interface web. Pour être sûr que la mise-à-jour s'est bien déroulée, on peut la relancer : ~~~ $ php occ upgrade ~~~ Puis, on sort du mode maintenance : ~~~ $ php occ maintenance:mode --off ~~~ ### connecteur ONLYOFFICE On utilisera un serveur ONLYOFFICE DOC, si besoin de support voir ### Synchronisation automatique pour smartphone C'est possible de le faire pour les applications calendar et contacts dont l'application [DAVx5](https://www.davx5.com/faq/what-does-davx5-stand-for) 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 sélectionné alors choisissez ce que vous souhaitez autoriser. Pensez aussi à sélectionner les agendas ou calendriers à synchroniser. 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.