Aller au contenu principal
Gaprod

Applications Nextcloud : installer, mettre à jour et désactiver une app

Billy Rousseau— Fondateur de Gaprod10 min read

Une recherche Nextcloud app install mène vite au bouton Activer ou à la commande app:install. Le vrai sujet commence avant : vérifier la compatibilité de l'application, comprendre ce qu'elle ajoute à l'instance et préparer une marche arrière. Une app peut créer des tables, lancer des tâches de fond, ajouter des droits ou dépendre d'un service externe.

Ce guide couvre le cycle de vie des applications Nextcloud classiques : sélection, installation, activation par groupe, mise à jour, désactivation et retrait. Pour découvrir la plateforme avant de l'administrer, commencez par le guide complet de Nextcloud.

Quelles applications ce guide couvre-t-il ?

Nextcloud réunit plusieurs familles qu'il vaut mieux distinguer avant toute commande :

  • les applications livrées avec le serveur, comme Files, Activity ou Photos ;
  • les applications classiques téléchargées depuis l'App Store et exécutées dans l'environnement PHP de Nextcloud ;
  • les applications développées pour une organisation et installées dans un répertoire d'apps personnalisé ;
  • les ExApps, exécutées hors du processus PHP et administrées avec AppAPI et un Deploy Daemon.

Ce tutoriel traite surtout des applications PHP classiques. Une ExApp suit une autre chaîne technique, avec conteneur, réseau, proxy et ressources propres. Le guide Nextcloud AppAPI et Deploy Daemon détaille ce cas séparément.

Dans l'interface d'administration, la page Applications présente les apps activées, désactivées et disponibles. Si l'app n'est pas déjà installée, le bouton d'activation télécharge son paquet, l'installe puis l'active. La commande occ app:install suit le même principe par ligne de commande, avec des options utiles pour séparer installation et activation.

Que vérifier avant d'installer une application Nextcloud ?

La fiche d'une app ne remplace pas une revue de déploiement. Avant de l'ajouter, relevez au minimum son identifiant, sa version, son éditeur, sa documentation, son dépôt de code et les versions de Nextcloud annoncées comme compatibles.

Le fichier appinfo/info.xml d'une application déclare notamment son identifiant, sa version, sa licence et ses dépendances. La plage Nextcloud minimale et maximale y est obligatoire. Des contraintes PHP, base de données, extensions ou commandes système peuvent aussi être déclarées. La documentation de Nextcloud 35 précise que plusieurs de ces dépendances sont contrôlées à l'installation, mais pas nécessairement à chaque mise à jour. Une app déjà présente ne doit donc pas être considérée comme compatible uniquement parce que le bouton Mettre à jour apparaît.

Contrôlez aussi ces points :

  1. Fonction et données : quelles données l'app crée-t-elle et où sont-elles stockées ?
  2. Autorisations : l'app lit-elle des fichiers, des contacts, des calendriers ou des informations d'administration ?
  3. Traitements différés : ajoute-t-elle des tâches de fond qui dépendent de cron ?
  4. Services externes : appelle-t-elle une API, un moteur de recherche, un serveur Office ou un fournisseur d'IA ?
  5. Réversibilité : que faut-il sauvegarder pour revenir à la version précédente ou retirer l'app ?
  6. Support : la documentation, le suivi des problèmes et les versions publiées sont-ils assez récents pour votre usage ?

Les paquets distribués sur apps.nextcloud.com doivent être signés. Cette signature aide à vérifier l'origine du paquet et l'intégrité d'une mise à jour. Elle ne prouve pas que l'app répond à votre besoin, qu'elle est exempte de défaut ni que sa configuration convient à votre infrastructure.

N'utilisez pas --force pour gagner du temps

Les options app:install --force et app:enable --force ignorent l'exigence de version Nextcloud. Réservez-les à un diagnostic maîtrisé sur une copie ou à une procédure explicitement documentée. En production, un refus de compatibilité doit être compris, pas masqué.

Comment installer une app sans l'ouvrir immédiatement à tous ?

Commencez par inventorier l'état actuel :

sudo -E -u www-data php occ app:list
sudo -E -u www-data php occ app:list --shipped false

La seconde commande isole les applications installées qui ne sont pas livrées avec le serveur. Elle fournit un point de comparaison avant et après l'intervention.

Pour télécharger et installer une app sans l'activer :

sudo -E -u www-data php occ app:install --keep-disabled app_id

Remplacez app_id par l'identifiant exact de la fiche App Store, pas par son nom commercial. Vérifiez ensuite sa présence et son chemin :

sudo -E -u www-data php occ app:list --disabled
sudo -E -u www-data php occ app:getpath app_id

Si l'app peut être limitée à un groupe, activez-la d'abord pour un groupe pilote :

sudo -E -u www-data php occ app:enable --groups pilote app_id

La restriction par groupe limite les personnes qui voient et utilisent l'app. Elle ne remplace pas l'examen des tâches de fond, des paramètres d'administration ou des accès externes. Vérifiez ces effets avec la documentation propre à l'application.

Déploiement progressif d'une application Nextcloud depuis un groupe pilote vers la production

Avant ce pilote, préparez une sauvegarde restaurable de la base, de la configuration et des données concernées. Le guide de sauvegarde Nextcloud détaille les composants à protéger et la recette de restauration. Une archive du code de l'app seule ne suffit pas si son installation modifie la base ou écrit des fichiers ailleurs.

Comment valider le pilote avant une activation générale ?

Choisissez un groupe réduit qui utilise réellement la fonction. Un pilote composé uniquement d'administrateurs risque de manquer les problèmes de droits, de partage ou de navigation rencontrés par les utilisateurs ordinaires.

La recette dépend de l'app, mais elle doit au moins couvrir :

  • ouverture de l'interface et chargement de ses ressources ;
  • création, modification et suppression d'un objet de test ;
  • comportement avec un utilisateur autorisé et un utilisateur hors du groupe pilote ;
  • exécution d'une tâche de fond si l'app en déclare une ;
  • journal Nextcloud à l'heure exacte du test ;
  • client mobile, synchronisation ou WebDAV si la fonction les touche ;
  • export ou suppression des données de test ;
  • désactivation puis réactivation de l'app.

Si l'application dépend des tâches de fond, vérifiez que l'instance utilise un planificateur adapté et que la file progresse. Le guide cron Nextcloud explique les modes AJAX, Webcron et cron système ainsi que leur diagnostic.

Consignez la version de l'app, celle de Nextcloud, la date du pilote et les contrôles réalisés. Cette fiche devient le point de départ de la prochaine mise à jour.

Comment mettre à jour une application Nextcloud ?

L'interface permet de mettre à jour une app ou toutes les apps disponibles. En ligne de commande, commencez par afficher les versions proposées sans rien modifier :

sudo -E -u www-data php occ app:update --showonly

Pour afficher aussi la version installée :

sudo -E -u www-data php occ app:update --showcurrent

Lisez ensuite le changelog, les éventuels changements de prérequis et les problèmes connus. Mettez à jour une application à la fois lorsque son rôle est important :

sudo -E -u www-data php occ app:update app_id

La commande suivante existe, mais elle regroupe plusieurs changements dans une seule intervention :

sudo -E -u www-data php occ app:update --all

Sur une instance utilisée par une équipe, une mise à jour ciblée facilite l'attribution d'un défaut à la bonne app et limite le périmètre d'un retour arrière. Ce choix relève d'une procédure d'exploitation, pas d'une obligation imposée par Nextcloud.

Après la mise à jour, relancez la recette fonctionnelle du pilote, vérifiez app:list, les tâches de fond et les journaux. Ne vous contentez pas du message updated : il confirme l'exécution de la commande, pas le fonctionnement métier de l'application.

Désactiver ou retirer une app : quelle différence ?

Ces actions n'ont pas le même objectif :

ActionCommandeEffet à vérifier
Désactiverocc app:disable app_idL'app n'est plus active, mais son code reste installé
Réactiverocc app:enable app_idL'app est chargée à nouveau avec sa configuration existante
Retirer en conservant les donnéesocc app:remove --keep-data app_idLes fichiers de l'app sont retirés sans exécuter ses étapes de désinstallation
Retirer avec désinstallationocc app:remove app_idLes étapes de désinstallation sont exécutées et peuvent supprimer des données, puis les fichiers sont retirés

Le comportement exact d'une désinstallation dépend de l'app. Dans la branche stable35, l'aide de app:remove prévient que les étapes de désinstallation peuvent effacer des tables, de la configuration ou des fichiers. L'option --keep-data les saute pour préserver ces éléments, mais elle ne constitue pas une sauvegarde et peut laisser des données qu'il faudra gérer plus tard.

Les applications livrées avec le cœur ne peuvent pas être retirées par app:remove. Certaines peuvent être désactivées, tandis que les apps indispensables au fonctionnement de l'instance restent protégées.

Avant un retrait définitif :

  1. exportez les données utiles avec la fonction prévue par l'app ;
  2. sauvegardez la base, la configuration et les fichiers concernés ;
  3. désactivez l'app et observez l'instance pendant la période décidée ;
  4. vérifiez les dépendances d'autres apps, automatisations ou clients ;
  5. testez la réactivation tant que le code est encore présent ;
  6. choisissez ensuite entre retrait avec conservation des données et désinstallation complète.

Pourquoi une installation ou une mise à jour échoue-t-elle ?

Commencez par le message exact et l'identifiant de l'app. Les causes courantes se classent en quelques familles :

  • version de Nextcloud hors de la plage déclarée ;
  • version PHP, extension ou commande système manquante ;
  • App Store inaccessible depuis le serveur ;
  • répertoire d'apps non inscriptible ;
  • signature ou paquet invalide ;
  • app déjà installée sous un autre état ;
  • erreur pendant l'installation ou la mise à jour de l'app.

Vérifiez d'abord l'état et l'aide locale :

sudo -E -u www-data php occ status
sudo -E -u www-data php occ app:list
sudo -E -u www-data php occ help app:install
sudo -E -u www-data php occ help app:update

La commande occ doit être exécutée avec l'utilisateur HTTP et avec la même version de PHP que le serveur web. Sur Debian et Ubuntu, cet utilisateur est généralement www-data, mais les conteneurs, Snap, All-in-One et d'autres distributions utilisent des chemins ou des wrappers différents. L'aide de l'instance installée reste prioritaire sur un exemple générique.

Évitez d'activer le mode maintenance par réflexe. Le manuel Nextcloud précise que les apps ne sont pas chargées dans ce mode et déconseille son usage sauf si la commande ou sa documentation le demande. Une app indisponible pendant le diagnostic peut aussi empêcher ses événements ou commandes propres de s'exécuter.

Conclusion

Une application Nextcloud doit suivre un cycle contrôlé : vérifier sa provenance et sa compatibilité, l'installer désactivée, l'ouvrir à un groupe pilote, tester ses données et ses tâches, puis seulement l'étendre. Pour les mises à jour, affichez d'abord les versions disponibles et traitez les apps importantes une par une. Pour le retrait, distinguez désactivation, conservation des données et désinstallation complète.

Découvrir l'hébergement Nextcloud GaprodApplications et compatibilité à valider selon votre usage

Sources officielles

Articles similaires

Prêt à démarrer avec Gaprod ?

Hébergement web, VPS et solutions cloud 100% français, avec support expert inclus.

30j rembourséMigration gratuiteSupport 7j/7