Aller au contenu principal
Gaprod

Nextcloud Activity : suivre les changements de fichiers en 2026

Billy RousseauFondateur de Gaprod10 min read

Un fichier sensible a disparu et trois personnes avaient accès au dossier. Le journal d'activité Nextcloud peut aider à reconstituer les actions, mais il ne faut pas le confondre avec un journal d'audit complet. En 2026, Nextcloud sépare les notifications visibles par les utilisateurs, le journal technique du serveur et l'application optionnelle admin_audit.

Ce guide explique le rôle de chaque source, les réglages utiles, les champs à lire et la conservation à prévoir. Il complète le guide général de Nextcloud avec une méthode centrée sur la traçabilité.

Quels journaux Nextcloud faut-il distinguer ?

Nextcloud fournit plusieurs sources qui répondent à des questions différentes. L'application Activity présente à chaque utilisateur des événements liés à ses fichiers et partages. Elle alimente un flux dans l'interface et peut envoyer des notifications par e-mail ou push. La documentation précise qu'elle est livrée et activée par défaut dans une installation standard.

Le fichier nextcloud.log sert d'abord au fonctionnement et au diagnostic de l'instance. Il contient les avertissements, erreurs et événements retenus par le niveau de journalisation. Avec le backend fichier par défaut, il se trouve dans le répertoire de données. Son emplacement, son format de date et sa destination peuvent être modifiés dans config/config.php.

L'application admin_audit ajoute des événements destinés à l'audit, comme des accès à des fichiers ou des actions sensibles prises en charge par ses écouteurs. Elle est optionnelle. Sans paramètre particulier et avec une sortie vers un fichier, sa documentation indique un fichier audit.log distinct dans le répertoire de données.

SourceQuestion principaleLimite à connaître
ActivityQu'est-il arrivé aux contenus visibles par cet utilisateur ?L'utilisateur peut modifier son suivi, ce n'est pas une piste d'audit fiable
nextcloud.logPourquoi le service ou une requête échoue-t-il ?Le contenu dépend du niveau et du contexte journalisé
admin_auditQuelles actions sensibles ont été enregistrées à l'échelle du serveur ?L'application doit être activée et sa sortie vérifiée
Journal du serveur webQuelle requête HTTP a atteint le frontal ?Il ne connaît pas toute la logique métier Nextcloud

Cette distinction évite deux erreurs. Une ligne absente du flux Activity ne prouve pas que l'action n'a jamais eu lieu. À l'inverse, une ligne technique ne suffit pas toujours à expliquer la décision métier, le droit accordé ou l'identité réelle derrière un compte partagé.

L'application Activity peut-elle servir de preuve d'audit ?

Non, pas comme source unique. Le manuel Nextcloud indique explicitement qu'Activity est conçue pour les notifications, pas pour la conformité ni l'audit. Les utilisateurs peuvent activer ou désactiver le suivi pour leur compte. Le flux aide à comprendre la collaboration quotidienne, mais son périmètre et ses préférences empêchent d'en faire une trace exhaustive garantie.

Les administrateurs peuvent régler les préférences par défaut des nouveaux comptes et autoriser ou couper les e-mails d'activité. Ce changement n'écrase pas les choix des comptes existants. Les messages déjà mis en file d'attente peuvent encore partir après la désactivation globale, car l'option empêche les nouveaux ajouts sans retirer rétroactivement la file.

Réglages officiels de l'application Activity dans l'administration Nextcloud

Le paramètre activity_expire_days contrôle la durée des entrées Activity. La documentation actuelle donne une valeur par défaut de 365 jours. Une tâche quotidienne efface les entrées plus anciennes. La valeur 0 désactive cette expiration automatique, ce qui signifie une conservation indéfinie et demande donc une justification plutôt qu'un choix par facilité.

Les dossiers d'équipe et stockages externes exigent aussi de la prudence. Par défaut, leur logique peut générer les activités uniquement pour l'utilisateur qui agit. Le réglage activity_use_cached_mountpoints élargit le fonctionnement, mais Nextcloud documente des effets de bord sur l'affichage d'événements après un changement d'accès. Testez avec les montages réels avant d'interpréter une absence.

Activity informe, admin_audit trace

Utilisez Activity pour prévenir un utilisateur d'une modification ou d'un partage. Si l'objectif est de reconstituer des actions à l'échelle de l'instance, vérifiez admin_audit et les journaux techniques au lieu d'exporter seulement le flux personnel.

Les droits déterminent toujours ce qu'un compte peut faire. Le guide Nextcloud multi-utilisateurs aide à structurer comptes, groupes et départs avant de chercher leurs conséquences dans les journaux.

Comment configurer nextcloud.log et admin_audit ?

Le niveau global de Nextcloud va de 0 pour DEBUG à 4 pour FATAL. La valeur par défaut documentée est 2, soit WARN. DEBUG enregistre beaucoup d'informations et peut affecter les performances. Activez-le pour un diagnostic limité dans le temps, notez l'heure de début, reproduisez le problème, puis revenez au niveau adapté.

Avec une sortie fichier, cette base explicite le type, le chemin, le niveau et la rotation. Les chemins ne sont que des exemples et doivent correspondre à votre installation :

'log_type' => 'file',
'logfile' => '/var/log/nextcloud/nextcloud.log',
'loglevel' => 2,
'logtimezone' => 'Europe/Paris',
'log_rotate_size' => 100 * 1024 * 1024,

Le paramètre log_rotate_size est exprimé en octets. La documentation actuelle donne 104 857 600 octets, soit 100 MiB, comme valeur par défaut. Lorsqu'un fichier atteint cette taille, Nextcloud crée une rotation et remplace le fichier précédemment tourné s'il existe déjà. Ce mécanisme seul ne répond pas à une politique de conservation sur plusieurs jours.

Après activation de admin_audit, ses messages sont écrits au niveau INFO, soit 1. Le manuel prévient qu'un niveau global WARN peut donc les supprimer. Il recommande une condition ciblée pour les événements de cette application sans placer toute l'instance en DEBUG :

'log.condition' => [
  'apps' => ['admin_audit'],
],
'log_type_audit' => 'file',
'logfile_audit' => '/var/log/nextcloud/audit.log',

Le backend d'audit peut aussi être syslog, systemd ou errorlog. Garder une sortie séparée facilite les droits et la rotation propres à l'audit. Le composant Log Reader de l'interface lit le nextcloud.log basé sur fichier. Le audit.log séparé n'y apparaît pas par défaut, même si l'application enregistre correctement ses événements.

Vérifiez l'écriture avant de compter sur le journal

Activez l'audit dans un environnement de test, connectez un compte pilote, créez un fichier, partagez-le, téléchargez-le et modifiez un groupe. Confirmez chaque événement attendu dans la destination réelle, puis redémarrez ou rechargez les services concernés selon votre mode d'installation.

Sur un service géré, le client n'accède pas forcément à config.php, au répertoire de données ni aux journaux du système. La page de l'hébergement Nextcloud décrit le périmètre du service. Demandez séparément quelles traces sont accessibles, par qui, pendant combien de temps et sous quel format.

Comment lire une ligne de journal Nextcloud ?

Les entrées Nextcloud sont structurées avec des champs qui facilitent la recherche. time date l'événement selon le fuseau configuré. user contient l'identifiant du compte lorsque Nextcloud le connaît. remoteAddr indique l'adresse IP observée, method la méthode HTTP, url le chemin demandé et userAgent le navigateur ou client déclaré.

Le champ reqId est particulièrement utile. Les lignes liées à une même requête partagent cet identifiant, ce qui permet de relier un message fonctionnel à une exception ou à un appel précis. app indique le composant concerné, message décrit l'événement et data peut apporter une structure complémentaire. version conserve la version Nextcloud au moment de la requête.

Question d'analyseChamps à rapprocherContrôle complémentaire
Quel compte a agi ?user, time, remoteAddrVérifier que les comptes ne sont pas partagés
Quelle requête a échoué ?reqId, method, url, messageRechercher toutes les lignes du même reqId
Quel client s'est connecté ?userAgent, remoteAddr, timeComparer aux sessions et appareils connus
Quelle version fonctionnait ?version, app, timeConsulter le calendrier des mises à jour
Quel fichier est concerné ?message, data, userVérifier partages, versions et propriétaire

Une adresse IP ou un user agent n'identifie pas avec certitude une personne. Un proxy mal déclaré peut masquer l'adresse d'origine, et un client peut envoyer un user agent modifié. La documentation sur les proxys avertit qu'une mauvaise configuration des en-têtes transférés peut même rendre l'adresse visible falsifiable. Traitez ces champs comme des indices techniques à recouper.

Pour un incident, commencez par une fenêtre temporelle précise et conservez une copie en lecture seule des fichiers utiles avant la rotation. Notez le fuseau horaire, la version, le compte, l'objet et l'identifiant de requête. Comparez ensuite admin_audit, nextcloud.log, le frontal web et, si nécessaire, le stockage ou le fournisseur d'identité.

Le guide de sécurité Nextcloud replace cette analyse parmi les mises à jour, sessions, alertes et sauvegardes. Un journal explique certains événements, mais ne restaure pas un document et ne remplace pas une sauvegarde testée.

Quelle conservation et quels accès prévoir ?

Les journaux peuvent contenir des identifiants, adresses IP, chemins, noms de fichiers, URL et informations sur les clients. Nextcloud les classe parmi les données à prendre en compte dans la documentation RGPD. Une conservation indéfinie par défaut augmente le volume de données personnelles et le risque en cas d'accès non autorisé.

La durée d'Activity est distincte de celle d'admin_audit. activity_expire_days agit sur les entrées du flux utilisateur. La durée du journal d'audit dépend de la rotation et du système qui reçoit les fichiers ou événements. Modifier l'un ne supprime pas automatiquement l'autre. Les journaux du serveur web suivent encore leur propre configuration.

Définissez la durée selon la finalité, les obligations applicables et le délai réaliste de détection. La documentation Nextcloud propose un exemple logrotate quotidien avec 90 rotations, mais ce nombre n'est ni une règle universelle ni une durée légale automatique. Faites valider la politique adaptée, informez les personnes concernées et documentez les exceptions.

Limitez la lecture aux personnes chargées de l'exploitation, de la sécurité ou d'une enquête autorisée. Protégez les fichiers contre la modification, surveillez les échecs d'export et chiffrez les transferts vers un outil central. Séparez si possible celui qui administre le stockage de celui qui peut effacer les traces, selon les risques et moyens de l'organisation.

Voici une recette avant mise en production :

  1. lister les événements nécessaires et la source attendue ;
  2. générer chaque événement avec des données factices ;
  3. vérifier l'heure, l'utilisateur, l'objet et le résultat enregistré ;
  4. simuler la rotation sans perdre la période requise ;
  5. tester la recherche par reqId, compte et date ;
  6. vérifier les droits de lecture et de suppression ;
  7. documenter l'export et la conservation en cas d'incident ;
  8. refaire la recette après une mise à niveau majeure.

Le cas des administrations et organismes publics demande un cadrage contractuel et documentaire plus large. Le guide Nextcloud pour les collectivités distingue les traces techniques, le RGPD, les audits et le périmètre d'hébergement.

Conclusion

Le journal d'activité Nextcloud ne forme pas, seul, une piste d'audit. Activity sert aux notifications des utilisateurs, nextcloud.log au fonctionnement du serveur et admin_audit ajoute des événements sensibles à l'échelle de l'instance. Activez chaque source pour une finalité écrite, testez les événements attendus, puis fixez rotation, accès et conservation. Avant de choisir une offre gérée, vérifiez aussi les journaux réellement accessibles et le délai prévu pour obtenir un export lors d'un incident.

Découvrir l'offre Nextcloud GaprodPlateforme managée mutualisée hébergée en France

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