[{"data":1,"prerenderedAt":251},["ShallowReactive",2],{"seo-verification":3,"blog-heberger-nextcloud-ma-fr":6,"promo-bar-likely":250},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-heberger-nextcloud-ma-fr",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"noindex":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":33,"intro":35,"sections":36,"ctaTitle":183,"ctaBody":184,"ctaButton":185,"ctaUrl":186,"relatedPosts":187},71,"heberger-nextcloud",{"fr":10,"en":12,"ar":13,"es":14},"hosting-nextcloud-on-your-own-vps","استضافة-nextcloud-على-خادمك-الـvps-الخاص","alojar-nextcloud-en-su-propio-vps","Héberger Nextcloud sur VPS : guide NC 35, PHP 8.3 et MariaDB 11","Hébergez Nextcloud sur VPS : Docker Compose, Redis, sauvegarde MariaDB, envois de plus de 40 Go derrière Cloudflare et alternative à Office 2021.",20,1,false,"2026-04-10T00:00:00+00:00","2026-11-08T16:32:50+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},7,"Self-hosting","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fheberger-nextcloud-poster.svg",{"categorySlug":25,"appSlug":34},"nextcloud","Nextcloud est l'une des applications les plus déployées en self-hosting — et l'une des plus mal configurées. Entre l'instance qui tourne sans Redis (et qui rame), sans TLS forcé (et qui expose les données), la mise à jour de mai 2026 qui corrige deux vulnérabilités critiques de contournement du 2FA, et désormais les régressions propres à NC 34.0.0 — apps recommandées absentes au premier démarrage, contrainte dupliquée sur PostgreSQL qui peut provoquer une explosion CPU — chaque version apporte ses propres pièges. Nextcloud 35 (Hub 26 Summer, sorti le 15 septembre 2026) ajoute deux contraintes majeures : PHP 8.3 minimum obligatoire et la suppression de mysqldump dans MariaDB 11. Ce guide vous emmène de l'installation complète à la vérification de sécurité, en couvrant les correctifs NC 34.0.2, le chemin NC35 et les 5 erreurs les plus fréquentes.",[37,41,44,47,50,69,72,75,78,82,85,94,115,118,121,124,127,130,162,165,168,171,174,177,180],{"type":38,"title":39,"body":40},"h2","Alerte sécurité — CVE de contournement 2FA de mai 2026","En mai 2026, deux vulnérabilités critiques de contournement de l'authentification à deux facteurs ont été divulguées dans Nextcloud :\n\n**CVE-2026-45690** (score CVSS 5.9, divulguée le 15 mai 2026) : un attaquant disposant de l'identifiant et du mot de passe d'un compte peut contourner la vérification 2FA en utilisant une connexion **HTTP Basic Auth** (authentification basique via l'en-tête `Authorization: Basic base64(user:pass)`). Nextcloud, dans les versions affectées, acceptait HTTP Basic Auth même lorsque le 2FA était activé pour le compte ciblé, sans exiger la vérification du second facteur.\n\n**CVE-2026-45691** (score CVSS 5.9, divulguée le 13 mai 2026) : même classe de vulnérabilité, mais exploitable via un **token Bearer DAV** — le protocole WebDAV, notamment utilisé par les clients de synchronisation de bureau (Nextcloud Desktop, Nautilus, Finder). Un attaquant pouvant intercepter ou deviner un token WebDAV peut accéder à l'instance sans 2FA.\n\nLes deux CVE sont corrigées dans **Nextcloud 32.0.9** (branche 32) et **33.0.3** (branche 33). Les branches 34.x et supérieures ne sont pas affectées. **Vérifier si votre instance est vulnérable** (voir section dédiée plus bas).",{"type":38,"title":42,"body":43},"NC 34.0.0 — apps recommandées absentes au premier démarrage","Nextcloud 34.0.0 introduit une régression dans le wizard d'installation : les applications recommandées (Notes, Calendar, Contacts) ne sont **pas proposées** lors de la configuration initiale. La liste des apps suggérées reste vide, quel que soit le profil d'installation choisi.\n\n**Impact concret :** une instance fraîche en NC 34.0.0 ne dispose pas des applications de base. Les utilisateurs qui espèrent synchroniser leur agenda CalDAV ou leurs contacts CardDAV doivent les installer manuellement depuis l'interface d'administration.\n\n**Sources :** issues GitHub \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnextcloud\u002Fserver\u002Fissues\u002F61313\">#61313\u003C\u002Fa> et \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnextcloud\u002Fserver\u002Fissues\u002F61611\">#61611\u003C\u002Fa> — corrigé dans **34.0.2**.\n\n**Vérifier si vos apps sont présentes :**\n\n```bash\ndocker compose exec -u www-data app php occ app:list | grep -E 'calendar|contacts|notes'\n```\n\nSi la commande ne retourne rien, les apps ne sont pas installées. Pour les ajouter manuellement :\n\n```bash\ndocker compose exec -u www-data app php occ app:install calendar\ndocker compose exec -u www-data app php occ app:install contacts\ndocker compose exec -u www-data app php occ app:install notes\n```\n\n**Recommandation :** démarrer directement en **34.0.2** ou supérieur plutôt qu'en 34.0.0. Si votre instance tourne en 34.0.0, la mise à jour vers 34.0.2 restaure le wizard — mais les apps manquantes sur l'instance existante doivent tout de même être installées manuellement.",{"type":38,"title":45,"body":46},"NC 34.0.0 — contrainte dupliquée sur PostgreSQL et explosion CPU","Sur les instances utilisant **PostgreSQL** (en lieu et place de MariaDB\u002FMySQL), une migration interrompue de Nextcloud 34.0.0 peut laisser une contrainte dupliquée sur la table `oc_filecache_extended`. Ce doublon passe inaperçu au démarrage mais provoque une **explosion de CPU et de RAM** lors du prochain scan de fichiers (`files:scan`) ou d'une maintenance automatique.\n\n**Symptômes :** charge CPU anormalement élevée sur le conteneur Nextcloud, scan de fichiers qui ne se termine pas, erreurs dans les logs du type `duplicate key value violates unique constraint`.\n\n**Source :** issue GitHub \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnextcloud\u002Fserver\u002Fissues\u002F61597\">#61597\u003C\u002Fa>.\n\n**Vérification et correctif :**\n\n```bash\n# 1. Nettoyer les entrées orphelines du cache de fichiers\ndocker compose exec -u www-data app php occ files:cleanup\n\n# 2. Recréer les index de la table problématique\ndocker compose exec -u www-data app php occ db:add-missing-indices\n\n# 3. Vérifier qu'aucun index dupliqué ne subsiste\ndocker compose exec -u www-data app php occ db:add-missing-columns\n```\n\nSi les erreurs persistent, passer directement à **34.0.2** qui contient le correctif de migration.\n\n**Note :** ce problème ne touche **pas** les instances MariaDB\u002FMySQL. Les instances PostgreSQL en production sur NC 34.0.0 doivent appliquer ces commandes avant le prochain scan automatique.",{"type":38,"title":48,"body":49},"Prérequis et dimensionnement","Nextcloud est une application PHP polyvalente qui peut tourner légèrement sur un petit VPS ou devenir gourmande si vous l'utilisez comme stockage principal de fichiers volumineux.\n\n**Configuration minimale recommandée :**\n- VPS avec **2 Go de RAM** (4 Go si vous gérez plus de 5 utilisateurs actifs).\n- **SSD** obligatoire : Nextcloud effectue de nombreuses opérations de fichiers et de miniatures. Un disque HDD rend l'interface très lente.\n- **20 Go d'espace** minimum pour l'installation, plus l'espace pour vos données (prévoyez 2× la taille de vos fichiers pour les vignettes et les versions).\n- Ubuntu 22.04 ou Debian 12.\n- Docker Engine ≥ 24 et Docker Compose V2.\n- Un nom de domaine et un certificat TLS (Let's Encrypt via Certbot).\n- Les ports 80 et 443 ouverts dans votre firewall.",{"type":51,"title":52,"steps":53},"steps","Installation de Nextcloud avec Docker Compose",[54,57,60,63,66],{"title":55,"body":56},"Étape 1 — Créer la structure du projet","```bash\nmkdir -p \u002Fopt\u002Fnextcloud && cd \u002Fopt\u002Fnextcloud\n```\n\nCréez le fichier `docker-compose.yml` :\n\n```yaml\nversion: '3.8'\nservices:\n  db:\n    image: mariadb:10.11\n    restart: unless-stopped\n    environment:\n      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}\n      MYSQL_DATABASE: nextcloud\n      MYSQL_USER: nextcloud\n      MYSQL_PASSWORD: ${MYSQL_PASSWORD}\n    volumes:\n      - db:\u002Fvar\u002Flib\u002Fmysql\n\n  redis:\n    image: redis:7-alpine\n    restart: unless-stopped\n    command: redis-server --requirepass ${REDIS_PASSWORD}\n    volumes:\n      - redis:\u002Fdata\n\n  app:\n    image: nextcloud:34.0.4-apache\n    restart: unless-stopped\n    ports:\n      - '127.0.0.1:8080:80'\n    environment:\n      MYSQL_HOST: db\n      MYSQL_DATABASE: nextcloud\n      MYSQL_USER: nextcloud\n      MYSQL_PASSWORD: ${MYSQL_PASSWORD}\n      NEXTCLOUD_ADMIN_USER: ${NEXTCLOUD_ADMIN_USER}\n      NEXTCLOUD_ADMIN_PASSWORD: ${NEXTCLOUD_ADMIN_PASSWORD}\n      NEXTCLOUD_TRUSTED_DOMAINS: ${NEXTCLOUD_DOMAIN}\n      REDIS_HOST: redis\n      REDIS_HOST_PASSWORD: ${REDIS_PASSWORD}\n    volumes:\n      - nextcloud:\u002Fvar\u002Fwww\u002Fhtml\n    depends_on:\n      - db\n      - redis\n\nvolumes:\n  db:\n  redis:\n  nextcloud:\n```",{"title":58,"body":59},"Étape 2 — Créer le fichier d'environnement","```bash\ncat > \u002Fopt\u002Fnextcloud\u002F.env \u003C\u003C 'EOF'\nMYSQL_ROOT_PASSWORD=root_password_fort\nMYSQL_PASSWORD=nextcloud_password_fort\nREDIS_PASSWORD=redis_password_fort\nNEXTCLOUD_ADMIN_USER=admin\nNEXTCLOUD_ADMIN_PASSWORD=admin_password_fort\nNEXTCLOUD_DOMAIN=cloud.votredomaine.com\nEOF\n```",{"title":61,"body":62},"Étape 3 — Lancer les conteneurs","```bash\ndocker compose up -d\n```\n\nLe premier démarrage prend 2 à 4 minutes : Nextcloud installe et configure l'application, crée les tables de base de données et configure Redis. Suivez la progression avec :\n\n```bash\ndocker compose logs -f app\n```\n\nAttendez le message `Nextcloud was successfully installed` avant de continuer.",{"title":64,"body":65},"Étape 4 — Configurer Nginx avec TLS","```bash\napt install -y nginx certbot python3-certbot-nginx\n\ncat > \u002Fetc\u002Fnginx\u002Fsites-available\u002Fnextcloud \u003C\u003C 'EOF'\nserver {\n    server_name cloud.votredomaine.com;\n    client_max_body_size 10G;\n    location \u002F {\n        proxy_pass http:\u002F\u002F127.0.0.1:8080;\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n        proxy_read_timeout 3600s;\n    }\n}\nEOF\n\nln -s \u002Fetc\u002Fnginx\u002Fsites-available\u002Fnextcloud \u002Fetc\u002Fnginx\u002Fsites-enabled\u002F\ncertbot --nginx -d cloud.votredomaine.com\nnginx -t && systemctl reload nginx\n```",{"title":67,"body":68},"Étape 5 — Configurer l'URL de confiance dans Nextcloud","Après l'installation, Nextcloud doit connaître son domaine public pour générer des liens corrects et accepter les connexions.\n\nÉditez `config.php` dans le conteneur :\n\n```bash\ndocker compose exec -u www-data app php occ config:system:set trusted_domains 0 \\\n  --value=cloud.votredomaine.com\ndocker compose exec -u www-data app php occ config:system:set overwrite.cli.url \\\n  --value=https:\u002F\u002Fcloud.votredomaine.com\ndocker compose exec -u www-data app php occ config:system:set htaccess.RewriteBase --value='\u002F'\ndocker compose exec -u www-data app php occ maintenance:update:htaccess\n```",{"type":38,"title":70,"body":71},"Vérifier si votre instance est vulnérable aux CVE 2FA","Si votre instance Nextcloud tourne sur une version 32.x antérieure à 32.0.9 ou 33.x antérieure à 33.0.3 (et que vous avez le 2FA activé), voici comment vérifier votre exposition et la corriger. Les branches 34.x et supérieures ne sont pas affectées.\n\n**Vérifier la version actuelle :**\n\n```bash\ndocker compose exec -u www-data app php occ status\n# Affiche : Nextcloud version: 32.0.X, 33.0.X ou 34.0.X\n```\n\n**Versions vulnérables :** toutes les versions Nextcloud 32.x \u003C 32.0.9 et 33.x \u003C 33.0.3. Les branches 34.x et supérieures ne sont pas affectées par ces CVE.\n\n**Test de vulnérabilité (sur votre propre instance uniquement) :**\n\n```bash\n# Testez si HTTP Basic Auth contourne le 2FA\ncurl -u utilisateur:motdepasse -X PROPFIND \\\n  https:\u002F\u002Fcloud.votredomaine.com\u002Fremote.php\u002Fdav\u002Ffiles\u002Futilisateur\u002F \\\n  -H \"Depth: 0\" -s -o \u002Fdev\u002Fnull -w \"%{http_code}\"\n```\n\nSi la commande retourne `207 Multi-Status` sans que le code 2FA ne soit demandé, votre instance est vulnérable à CVE-2026-45690.\n\n**Mettre à jour vers la version corrigée :**\n\n```bash\n# Branche 32 → 32.0.9\nsed -i 's|nextcloud:[0-9.]*-apache|nextcloud:32.0.9-apache|g' docker-compose.yml\n# Branche 33 → 33.0.3\n# sed -i 's|nextcloud:[0-9.]*-apache|nextcloud:33.0.3-apache|g' docker-compose.yml\ndocker compose pull app\ndocker compose up -d app\ndocker compose exec -u www-data app php occ upgrade\n```",{"type":38,"title":73,"body":74},"Optimiser les performances avec Redis et OPcache","Nextcloud sans Redis est une Nextcloud lente. Redis joue deux rôles critiques : **cache de sessions** (évite les lectures\u002Fécritures disque à chaque requête authentifiée) et **verrou distribué** (file locking) qui empêche les conflits lors de synchronisations simultanées.\n\nVérifiez que Redis est bien connecté :\n\n```bash\ndocker compose exec -u www-data app php occ config:system:get redis\n# Doit afficher un tableau avec host, port, password\n```\n\nSi rien n'apparaît, ajoutez manuellement dans `config.php` du volume Nextcloud :\n\n```php\n'memcache.distributed' => '\\OC\\Memcache\\Redis',\n'memcache.locking' => '\\OC\\Memcache\\Redis',\n'redis' => [\n    'host' => 'redis',\n    'port' => 6379,\n    'password' => 'VOTRE_REDIS_PASSWORD',\n],\n```\n\n**OPcache PHP.** L'image Docker officielle de Nextcloud inclut OPcache préconfiguré. Vérifiez qu'il est actif :\n\n```bash\ndocker compose exec app php -r \"echo opcache_get_status()['opcache_enabled'] ? 'OPcache actif' : 'OPcache inactif';\"\n```\n\n**Résultat attendu** : l'interface Nextcloud doit être notablement plus réactive avec Redis. La différence est perceptible dès la première navigation : les requêtes qui lisaient le disque à chaque accès s'appuient désormais sur le cache en mémoire.",{"type":38,"title":76,"body":77},"Les 5 erreurs fréquentes sur une instance Nextcloud","**Erreur 1 — Redis non configuré.** L'interface est lente et les synchronisations simultanées créent des conflits. Solution : vérifier et configurer Redis comme décrit ci-dessus.\n\n**Erreur 2 — `overwrite.cli.url` pointant vers `http:\u002F\u002F` au lieu de `https:\u002F\u002F`.** Les liens de partage, les notifications e-mail et les liens OIDC génèrent des URLs HTTP non sécurisées. Solution : `php occ config:system:set overwrite.cli.url --value=https:\u002F\u002Fvotre-domaine.com`.\n\n**Erreur 3 — `trusted_domains` mal configuré.** Accès refusé avec l'erreur « You are accessing the server from an untrusted domain ». Solution : ajouter votre domaine avec `php occ config:system:set trusted_domains 0 --value=votre-domaine.com`.\n\n**Erreur 4 — Taille max des fichiers upload limitée à 2 Mo.** La valeur par défaut de PHP est trop basse pour de vrais fichiers. Solution : dans Nginx, ajouter `client_max_body_size 10G;` et dans le conteneur PHP, configurer `upload_max_filesize=10G` et `post_max_size=10G` dans un fichier `.ini` monté.\n\n**Erreur 5 — Mise à jour manquée et instance vulnérable.** Nextcloud publie des mises à jour de sécurité régulièrement. Sans surveillance des CVE et sans mise à jour automatique, l'instance devient vulnérable. Solution : configurer les notifications de mise à jour dans l'interface admin et planifier des mises à jour régulières.",{"type":79,"title":80,"body":81},"tip","Vérification de l'efficacité de Redis avec occ","Nextcloud fournit un outil de diagnostic intégré pour vérifier que votre cache Redis est effectivement utilisé :\n\n```bash\n# Vérifier l'état général de l'instance\ndocker compose exec -u www-data app php occ status\n\n# Vérifier les avertissements de configuration (memcache, Redis, HTTPS…)\ndocker compose exec -u www-data app php occ check\n\n# Afficher la configuration Redis actuelle\ndocker compose exec -u www-data app php occ config:system:get redis\n```\n\nLa commande `occ check` liste tous les problèmes de configuration détectés : Redis absent, HTTPS non forcé, serveur de mail non configuré, fichiers de données dans le répertoire web (risque de sécurité), etc. C'est le **premier diagnostic** à lancer sur toute instance Nextcloud existante avant de la déclarer propre.",{"type":38,"title":83,"body":84},"Envois de plus de 40 Go derrière Cloudflare : l'assemblage perdu","Nextcloud n'envoie pas un gros fichier d'un bloc : le client le découpe en fragments (chunks), déposés dans un dossier temporaire, puis demande au serveur de les **assembler** par une requête finale `MOVE …\u002F.file`.\n\nL'issue \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fnextcloud\u002Fserver\u002Fissues\u002F65408\">nextcloud\u002Fserver #65408\u003C\u002Fa>, ouverte le 12 octobre 2026 sur Nextcloud 35, montre ce qui casse : un fichier d'environ 43 Go déposé par lien de partage public, tous les fragments acceptés (`201`), puis un assemblage d'environ 17 minutes. Cloudflare coupe une réponse qui dépasse son délai de lecture (125 secondes par défaut selon sa documentation, environ 100 secondes mesurées par le rapporteur via Cloudflare Tunnel) et renvoie une `524`.\n\nLe point d'entrée des partages publics, `publicremote.php`, n'appelle pas `ignore_user_abort(true)`, contrairement à `remote.php` : PHP interrompt l'assemblage à la fermeture de la connexion, puis le navigateur supprime les fragments par une requête `DELETE`. Les fichiers de 4 à 5 Go passent encore. Au 22 octobre 2026, l'issue est ouverte, sans correctif publié.",{"type":86,"title":87,"items":88},"ul","Les limites à aligner, du CDN jusqu'à PHP",[89,90,91,92,93],"**Corps de requête Cloudflare** — 100 Mo par requête en Free et Pro, 200 Mo en Business, jusqu'à 5 Go en Enterprise ; au-delà, réponse `413`. Chaque fragment doit rester en dessous.","**Taille des fragments** — `files.chunked_upload.max_size` vaut 104857600 octets (100 Mio) par défaut, un peu plus que 100 Mo : descendez à 50 Mio en Free ou Pro.","**Délai du CDN** — 125 secondes, relevable jusqu'à 6 000 secondes en Enterprise seulement : c'est la limite que l'assemblage dépasse.","**nginx** — `proxy_request_buffering off` transmet le corps au fil de sa réception au lieu de le lire en entier ; `proxy_read_timeout` vaut 60 secondes par défaut.","**PHP** — la documentation Nextcloud propose `max_execution_time` et `max_input_time` à 3600 ; `ignore_user_abort = On` laisse l'assemblage finir après la coupure du proxy.",{"type":51,"title":95,"steps":96},"Configurer Nextcloud pour les très gros envois",[97,100,103,106,109,112],{"title":98,"body":99},"Sortir les envois lourds du proxy","Cloudflare recommande un sous-domaine non proxifié (DNS uniquement) pour les requêtes de plus de 125 secondes. Créez `upload.votre-domaine.com` en DNS uniquement, ajoutez-le avec `docker compose exec -u www-data app php occ config:system:set trusted_domains 1 --value=upload.votre-domaine.com`, puis `certbot --nginx -d upload.votre-domaine.com`. Ce nom expose l'IP du serveur : réservez-le aux transferts lourds.",{"title":101,"body":102},"Réduire les fragments","`docker compose exec -u www-data app php occ config:system:set files.chunked_upload.max_size --type int --value 52428800` fixe 50 Mio (valeur en octets).",{"title":104,"body":105},"Ajuster nginx","Dans `location \u002F`, ajoutez `proxy_request_buffering off;` et `proxy_send_timeout 3600s;`, gardez `proxy_read_timeout 3600s;`, puis `nginx -t && systemctl reload nginx`.",{"title":107,"body":108},"Ajuster PHP","Créez `\u002Fopt\u002Fnextcloud\u002Fphp-uploads.ini` avec `ignore_user_abort = On`, `max_execution_time = 3600` et `max_input_time = 3600`, montez-le dans le service `app` : `- .\u002Fphp-uploads.ini:\u002Fusr\u002Flocal\u002Fetc\u002Fphp\u002Fconf.d\u002Fzz-uploads.ini:ro`, puis `docker compose up -d app`.",{"title":110,"body":111},"Vérifier et tester","`docker compose exec app php -i | grep ignore_user_abort` doit afficher `ignore_user_abort => On => On`. Envoyez ensuite un fichier de plusieurs gigaoctets par le sous-domaine et suivez `docker compose logs -f app`.",{"title":113,"body":114},"Choisir ce qui passe par Cloudflare","Le domaine principal peut rester proxifié, seul le sous-domaine des transferts lourds passant en DNS uniquement : voyez \u003Ca href=\"\u002Fblog\u002Factiver-desactiver-proxy-cloudflare-enregistrement\">notre guide sur le proxy Cloudflare\u003C\u002Fa>.",{"type":38,"title":116,"body":117},"Dépannage des gros envois : les messages réels","**`Error 524: a timeout occurred`** — la réponse au `MOVE …\u002F.file` final n'est pas arrivée dans le délai de Cloudflare. Remède : le sous-domaine non proxifié.\n\n**`413 Request entity too large`** — un fragment dépasse le plafond du plan Cloudflare ou `client_max_body_size`. Remède : réduire `files.chunked_upload.max_size`.\n\n**`Could not open file: web-file-upload-\u003Cid>\u002F75 … file doesn't seem to exist`** — relevé dans l'issue #65408 : l'assemblage continuait alors que le navigateur avait supprimé les fragments. Le rapporteur bloque la requête `DELETE` sur `\u002Fpublic.php\u002Fdav\u002Fuploads\u002F` ; la tâche `UploadCleanup` purge ensuite les fragments abandonnés après 24 heures. Avec nginx, l'équivalent est un bloc `location ^~ \u002Fpublic.php\u002Fdav\u002Fuploads\u002F` contenant `if ($request_method = DELETE) { return 403; }` et le même `proxy_pass`. Contournement non officiel, à retirer dès un correctif.\n\n**`504 Gateway Time-out` pendant le `MOVE`** — c'est nginx qui abandonne : la documentation Nextcloud cite `fastcgi_read_timeout` en PHP-FPM, ici `proxy_read_timeout`.",{"type":38,"title":119,"body":120},"Sauvegardes Nextcloud — données, base et config","Nextcloud stocke ses données dans trois endroits distincts, et une sauvegarde complète doit couvrir les trois :\n\n1. **La base de données MariaDB** : contient les métadonnées des fichiers, les utilisateurs, les partages, les applications installées et leur configuration.\n2. **Le volume `nextcloud` (données de l'application)** : contient le code PHP de Nextcloud, les applications installées et `config\u002Fconfig.php` — le fichier de configuration principal.\n3. **Les fichiers utilisateurs** : par défaut dans le volume Docker ou dans un chemin external défini par `datadirectory` dans `config.php`.\n\n```bash\n#!\u002Fbin\u002Fbash\nDATE=$(date +%Y%m%d)\nBACKUP_DIR=\u002Fopt\u002Fnextcloud\u002Fbackups\nmkdir -p $BACKUP_DIR\n\n# 1. Activer le mode maintenance pour cohérence\ndocker compose exec -u www-data app php occ maintenance:mode --on\n\n# 2. Sauvegarder la base de données (MariaDB 10.x)\ndocker compose exec -T db \\\n  mysqldump -u nextcloud -p${MYSQL_PASSWORD} nextcloud | gzip > $BACKUP_DIR\u002Fdb-$DATE.sql.gz\n\n# 3. Sauvegarder config.php\ndocker compose cp app:\u002Fvar\u002Fwww\u002Fhtml\u002Fconfig\u002Fconfig.php $BACKUP_DIR\u002Fconfig-$DATE.php\n\n# 4. Désactiver le mode maintenance\ndocker compose exec -u www-data app php occ maintenance:mode --off\n```\n\n**Note MariaDB 11+ :** si vous utilisez `mariadb:11.x`, remplacez `mysqldump` par `mariadb-dump` (voir section dédiée ci-dessous).",{"type":38,"title":122,"body":123},"Sauvegarde avec MariaDB 11 — mariadb-dump remplace mysqldump","À partir de **MariaDB 11.0**, les binaires `mysqldump` et `mysql` ont été retirés de l'image Docker officielle. Seules les commandes `mariadb-dump` et `mariadb` sont désormais disponibles. Si votre `docker-compose.yml` monte une image `mariadb:11.x` ou ultérieure et que vos scripts de sauvegarde utilisent encore `mysqldump`, ils échoueront silencieusement — la commande n'est pas trouvée, le script sort en erreur sans message explicite dans les logs Nextcloud.\n\n**Vérifier votre version MariaDB :**\n\n```bash\ndocker compose exec db mariadb --version\n# ou\ndocker compose exec db mariadb -u nextcloud -p${MYSQL_PASSWORD} -e \"SELECT VERSION();\"\n```\n\n**Script de sauvegarde compatible MariaDB 11+ :**\n\n```bash\n#!\u002Fbin\u002Fbash\nDATE=$(date +%Y%m%d)\nBACKUP_DIR=\u002Fopt\u002Fnextcloud\u002Fbackups\nmkdir -p $BACKUP_DIR\n\n# 1. Mode maintenance\ndocker compose exec -u www-data app php occ maintenance:mode --on\n\n# 2. Dump avec mariadb-dump (MariaDB 11+) — remplace mysqldump\ndocker compose exec -T db \\\n  mariadb-dump -u nextcloud -p${MYSQL_PASSWORD} nextcloud \\\n  | gzip > $BACKUP_DIR\u002Fdb-$DATE.sql.gz\n\n# 3. Vérification de l'archive\nif gzip -t $BACKUP_DIR\u002Fdb-$DATE.sql.gz 2>\u002Fdev\u002Fnull; then\n  echo \"Sauvegarde OK : $BACKUP_DIR\u002Fdb-$DATE.sql.gz\"\nelse\n  echo \"ERREUR : archive corrompue ou vide\"\n  docker compose exec -u www-data app php occ maintenance:mode --off\n  exit 1\nfi\n\n# 4. Sauvegarder config.php\ndocker compose cp app:\u002Fvar\u002Fwww\u002Fhtml\u002Fconfig\u002Fconfig.php $BACKUP_DIR\u002Fconfig-$DATE.php\n\n# 5. Quitter le mode maintenance\ndocker compose exec -u www-data app php occ maintenance:mode --off\n```\n\n**Restauration :**\n\n```bash\n# Restaurer la base de données\ngunzip -c $BACKUP_DIR\u002Fdb-$DATE.sql.gz | \\\n  docker compose exec -T db mariadb -u nextcloud -p${MYSQL_PASSWORD} nextcloud\n```\n\n**Note :** si vous restez sur `mariadb:10.11` (encore supportée, EOL février 2028), `mysqldump` et `mariadb-dump` fonctionnent tous les deux. La suppression du binaire `mysqldump` ne touche que MariaDB 11.0 et supérieur. Cependant, adopter `mariadb-dump` dès maintenant rend vos scripts pérennes pour la migration future.",{"type":38,"title":125,"body":126},"Prochaines étapes — aller plus loin avec votre instance","Une fois Nextcloud installé et sécurisé, vous pouvez aller plus loin :\n\n**Activer Talk (visioconférence) :** installez l'application Nextcloud Talk depuis l'interface d'administration. Pour les réunions de plus de 4–5 participants, un serveur TURN est requis (Coturn sur un VPS dédié).\n\n**Activer OnlyOffice ou Collabora Online (édition de documents en ligne) :** ces applications nécessitent leur propre conteneur Docker et une configuration Nextcloud Office. Elles permettent de créer et modifier des fichiers `.docx`, `.xlsx` et `.pptx` directement dans l'interface web.\n\n**Monitoring de l'instance :** configurez les alertes dans **Administration → Monitoring** pour recevoir des notifications e-mail si Nextcloud détecte des erreurs de configuration, des mises à jour de sécurité ou des problèmes de quota.",{"type":38,"title":128,"body":129},"Office 2021 en fin de vie : activer la co-édition avec Collabora Online ou OnlyOffice","Microsoft Office 2021 a atteint sa **fin de vie le 13 octobre 2026** : plus aucun patch de sécurité ne sera publié. Pour les équipes qui co-éditent des fichiers `.docx`, `.xlsx` et `.pptx` dans Nextcloud, deux suites bureautiques open source couvrent ce besoin directement depuis l'interface web.\n\n**Collabora Online** est la version en ligne de LibreOffice. Elle est distribuée sous licence AGPL et s'intègre dans Nextcloud via l'application *Nextcloud Office* (anciennement Collabora Online App). L'éditeur tourne dans un conteneur séparé basé sur `collabora\u002Fcode:latest` et communique avec Nextcloud par WebSocket.\n\n**OnlyOffice Document Server** offre une interface plus proche de Microsoft Office — menus ruban, présentation des outils familière pour les utilisateurs Windows. Il est lui aussi distribué sous licence AGPL. L'intégration s'effectue via l'application *ONLYOFFICE* disponible dans le Nextcloud App Store.\n\n**Activation via le Nextcloud App Store (méthode intégrée) :**\n\n```bash\n# Collabora Online\ndocker compose exec -u www-data app php occ app:install richdocuments\n\n# OnlyOffice\ndocker compose exec -u www-data app php occ app:install onlyoffice\n```\n\n**Déploiement Docker séparé — exemple pour Collabora Online :**\n\nAjoutez ce service dans votre `docker-compose.yml` :\n\n```yaml\n  collabora:\n    image: collabora\u002Fcode:latest\n    restart: unless-stopped\n    environment:\n      domain: cloud\\.votredomaine\\.com\n      username: admin\n      password: ${COLLABORA_PASSWORD}\n      extra_params: --o:ssl.enable=false --o:ssl.termination=true\n    ports:\n      - '127.0.0.1:9980:9980'\n    cap_add:\n      - MKNOD\n```\n\nConfigure ensuite l'URL du serveur Collabora dans Nextcloud (**Administration → Office → URL du serveur Collabora** : `https:\u002F\u002Foffice.votredomaine.com`).\n\n**Empreinte mémoire :** Collabora Online ajoute environ **+300 Mo de RAM par processus actif** (un processus par document ouvert simultanément). OnlyOffice est légèrement plus gourmand : **+400 Mo par instance active**. Sur un VPS 2 Go, limitez l'usage simultané à 2–3 documents ou passez à 4 Go.\n\n**Formats supportés :** les deux apps lisent et écrivent les formats Microsoft Office (`.docx`, `.xlsx`, `.pptx`) ainsi que les formats OpenDocument (`.odt`, `.ods`, `.odp`).",{"type":131,"title":132,"headers":133,"rows":137},"comparison","Collabora Online ou OnlyOffice : lequel choisir ?",[134,135,136],"Critère","Collabora Online","OnlyOffice Docs",[138,142,146,150,154,158],[139,140,141],"Interface utilisateur","LibreOffice familière — courbe d'adaptation pour les équipes Windows","Ruban identique à Microsoft Office — adoption immédiate",[143,144,145],"Compatibilité .docx\u002F.xlsx\u002F.pptx","Bonne ; .odt\u002F.ods excellents","Très fidèle aux originaux Microsoft",[147,148,149],"RAM estimée","~300 Mo\u002Fprocessus actif","~400 Mo\u002Finstance active",[151,152,153],"SSO\u002FSAML Nextcloud","Intégration native","Configuration supplémentaire requise",[155,156,157],"Connexions simultanées","Selon l'édition (CODE ou entreprise)","Limitées (version communautaire)",[159,160,161],"Communauté","LibreOffice active, MàJ fréquentes","Solide, orientée compat. Microsoft",{"type":79,"title":163,"body":164},"Quel éditeur choisir ?","Pour une équipe mixte Linux\u002FWindows travaillant majoritairement sur des fichiers Microsoft Office, OnlyOffice réduit la friction à l'adoption. Pour une équipe déjà sur LibreOffice ou avec des contraintes mémoire serrées, Collabora Online est le choix naturel. Les deux apps sont compatibles Nextcloud 35.",{"type":38,"title":166,"body":167},"Office 2021 : ce qui s'arrête, et le dépannage de Collabora","Selon la page de cycle de vie de Microsoft, Office 2021 (Famille et Petite Entreprise, Famille et Étudiant, Professionnel, versions Mac comprises) et Office LTSC 2021 pour Windows ne reçoivent plus de correctifs depuis le 13 octobre 2026 ; seul Office LTSC 2021 pour Mac passe en support étendu.\n\nÀ l'activation de Collabora, **« Could not establish connection to the Collabora Online server. »** (**Administration → Office**) signifie que Nextcloud ne joint pas l'URL déclarée. Testez depuis le conteneur : `docker compose exec app curl -sI https:\u002F\u002Foffice.votredomaine.com\u002Fhosting\u002Fdiscovery`. Pour reconfigurer et diagnostiquer : `docker compose exec -u www-data app php occ richdocuments:activate-config --wopi-url=https:\u002F\u002Foffice.votredomaine.com` ; une réponse **`Failed to fetch discovery endpoint from …`** désigne le réseau ou TLS. L'avertissement **« You have not configured the allow-list for WOPI requests »** se lève en déclarant l'IP du serveur Collabora dans la liste d'autorisation WOPI. Comparatif détaillé : \u003Ca href=\"\u002Fblog\u002Fnextcloud-collabora-onlyoffice-office-2021-eol\">Collabora Online ou OnlyOffice\u003C\u002Fa>.",{"type":38,"title":169,"body":170},"Mettre à jour Nextcloud en production","La mise à jour de Nextcloud doit toujours passer par le mode maintenance pour éviter les corruptions de données pendant que des clients synchronisent :\n\n```bash\n# 1. Activer le mode maintenance\ndocker compose exec -u www-data app php occ maintenance:mode --on\n\n# 2. Sauvegarder la base de données (adapter selon votre version MariaDB)\n# MariaDB 10.x :\ndocker compose exec -T db mysqldump -u nextcloud -p${MYSQL_PASSWORD} nextcloud \\\n  | gzip > \u002Fopt\u002Fnextcloud\u002Fbackups\u002Fpre-update-db.sql.gz\n# MariaDB 11+ :\n# docker compose exec -T db mariadb-dump -u nextcloud -p${MYSQL_PASSWORD} nextcloud \\\n#   | gzip > \u002Fopt\u002Fnextcloud\u002Fbackups\u002Fpre-update-db.sql.gz\n\n# 3. Changer la version dans docker-compose.yml (ex: 34.0.4-apache)\nsed -i 's|nextcloud:[0-9.]*-apache|nextcloud:34.0.4-apache|g' docker-compose.yml\n\n# 4. Télécharger la nouvelle image et redémarrer\ndocker compose pull app\ndocker compose up -d app\n\n# 5. Exécuter les migrations\ndocker compose exec -u www-data app php occ upgrade\n\n# 6. Désactiver le mode maintenance\ndocker compose exec -u www-data app php occ maintenance:mode --off\n```\n\nVérifiez les logs après la mise à jour (`docker compose logs app`) et testez un accès utilisateur avant de déclarer la mise à jour réussie.",{"type":38,"title":172,"body":173},"PHP 8.3 : migration et prérequis Nextcloud 35","Nextcloud 35 rend **PHP 8.3 obligatoire** — PHP 8.2 n'est plus supporté. Ce changement est documenté dans les notes de mise à jour officielles et dans la matrice de compatibilité PHP de Nextcloud (GitHub wiki *Releases and PHP versions*). Si vous utilisez une installation native (sans Docker) ou une image Docker verrouillée sur PHP 8.2, vous devez migrer PHP avant de pouvoir passer à NC 35.\n\n**Vérifier la version PHP utilisée par votre instance :**\n\n```bash\n# En Docker (image officielle nextcloud)\ndocker compose exec app php --version\n\n# En natif (Apache\u002FPHP-FPM)\nphp8.2 --version || php8.3 --version\n```\n\n**Chemin de migration recommandé sur Ubuntu 22.04 \u002F Debian 12 (installation native) :**\n\n```bash\n# Ajouter le dépôt Ondřej Surý (PHP multi-version)\napt install -y lsb-release apt-transport-https ca-certificates\ncurl -sSL https:\u002F\u002Fpackages.sury.org\u002Fphp\u002Fapt.gpg | gpg --dearmor -o \u002Fetc\u002Fapt\u002Fkeyrings\u002Fphp.gpg\necho \"deb [signed-by=\u002Fetc\u002Fapt\u002Fkeyrings\u002Fphp.gpg] https:\u002F\u002Fpackages.sury.org\u002Fphp\u002F $(lsb_release -sc) main\" \\\n  > \u002Fetc\u002Fapt\u002Fsources.list.d\u002Fphp.list\napt update\n\n# Installer PHP 8.3 avec les extensions requises par Nextcloud\napt install -y php8.3 php8.3-fpm php8.3-mysql php8.3-redis php8.3-gd \\\n  php8.3-xml php8.3-mbstring php8.3-curl php8.3-zip php8.3-intl \\\n  php8.3-bcmath php8.3-gmp php8.3-imagick php8.3-opcache\n```\n\n**En Docker — l'image `nextcloud:35.x-apache` embarque déjà PHP 8.3+ :** pas de migration PHP manuelle à faire, l'image inclut la version PHP requise. Il suffit de mettre à jour le tag :\n\n```yaml\n# Dans docker-compose.yml\nimage: nextcloud:35.0.0-apache\n```\n\n**Extensions PHP requises par Nextcloud 35 (référence officielle) :**\n\n| Extension | Rôle |\n|-----------|------|\n| `gd` ou `imagick` | Génération de miniatures |\n| `redis` | Cache distribué et file locking |\n| `intl` | Internationalisation |\n| `bcmath`, `gmp` | Cryptographie |\n| `zip` | Gestion des archives |\n| `opcache` | Performances PHP (obligatoire) |\n\n**Vérifier les extensions manquantes :**\n\n```bash\ndocker compose exec -u www-data app php occ check\n```\n\nLa commande `occ check` liste les extensions PHP manquantes ou mal configurées et indique clairement si PHP 8.3 minimum est satisfait.",{"type":38,"title":175,"body":176},"Nextcloud 35 : chemin de mise à jour et versions PHP supportées","Nextcloud 35.0.0 est sorti le **15 septembre 2026** (Hub 26 Summer). Cette version impose un **chemin de mise à jour séquentiel strict**, une version PHP minimale obligatoire (PHP 8.3 — PHP 8.2 abandonné), et entraîne des changements importants pour les environnements MariaDB 11.\n\n**PHP 8.3, 8.4 et 8.5 supportés — PHP 8.2 abandonné**\n\nNextcloud 35 supporte officiellement PHP **8.3** (minimum obligatoire), **8.4** et **8.5** (recommandé). PHP 8.2 n'est plus supporté dans NC 35 — une instance tournant sur PHP 8.2 ne pourra pas démarrer après mise à jour vers NC 35. Épinglez toujours sur un tag Docker explicite pour maîtriser la version PHP :\n\n```yaml\n# À éviter : tag implicite\nimage: nextcloud:latest\n\n# Recommandé : tag précis avec version PHP maîtrisée\nimage: nextcloud:35.0.0-apache\n# ou pour la variante FPM :\nimage: nextcloud:35.0.0-fpm\n```\n\n**Chemin séquentiel obligatoire : v33 → v34 → v35**\n\nNextcloud **ne supporte pas les sauts de version** dans ses migrations de base de données. Passer directement de v32 ou v33 à v35 peut corrompre la base de données silencieusement, sans message d'erreur clair. Le chemin obligatoire est :\n\n```\nv33.x → v34.x (dernière mineure) → v35.0.0\n```\n\nChaque étape exige l'exécution de `occ upgrade` avant de passer à la suivante :\n\n```bash\n# Étape 1 : montée vers NC 34 (dernière version stable)\ndocker compose exec -u www-data app php occ maintenance:mode --on\nsed -i 's|nextcloud:[0-9.]*-apache|nextcloud:34.0.4-apache|g' docker-compose.yml\ndocker compose pull app && docker compose up -d app\ndocker compose exec -u www-data app php occ upgrade\ndocker compose exec -u www-data app php occ maintenance:mode --off\n\n# Étape 2 : montée vers NC 35 (après vérification de NC 34)\ndocker compose exec -u www-data app php occ maintenance:mode --on\nsed -i 's|nextcloud:[0-9.]*-apache|nextcloud:35.0.0-apache|g' docker-compose.yml\ndocker compose pull app && docker compose up -d app\ndocker compose exec -u www-data app php occ upgrade\ndocker compose exec -u www-data app php occ maintenance:mode --off\n```\n\n**Désactiver les apps incompatibles avant chaque montée**\n\nAvant de lancer `occ upgrade`, vérifiez que toutes vos apps tierces sont compatibles avec la version cible. Une app incompatible peut bloquer la migration ou provoquer des erreurs au démarrage :\n\n```bash\n# Lister les apps actives et leur état\ndocker compose exec -u www-data app php occ app:list\n\n# Désactiver une app incompatible (exemple : une app communautaire non encore portée)\ndocker compose exec -u www-data app php occ app:disable nom_de_lapp\n```\n\nConsultez la matrice de compatibilité sur \u003Ca href=\"https:\u002F\u002Fapps.nextcloud.com\">apps.nextcloud.com\u003C\u002Fa> avant chaque montée de version majeure.",{"type":79,"title":178,"body":179},"Vérifier la compatibilité de vos apps avant de passer à Nextcloud 35","Avant d'upgrader vers NC 35, lancez la vérification de compatibilité intégrée :\n\n```bash\ndocker exec -u www-data \u003Cnom_du_conteneur> php occ app:check-platform-compatibility\n```\n\nSi une app retourne une erreur de compatibilité, désactivez-la avant de lancer la mise à jour :\n\n```bash\ndocker exec -u www-data \u003Cnom_du_conteneur> php occ app:disable nom_de_lapp\n```\n\nLes apps les plus souvent bloquantes lors des montées de version majeures : **Talk**, **Calendar**, **Contacts** et les intégrations tierces (OnlyOffice, Collabora). Vérifiez leur compatibilité sur \u003Ca href=\"https:\u002F\u002Fapps.nextcloud.com\">apps.nextcloud.com\u003C\u002Fa> avant chaque upgrade — la page de chaque app indique les versions Nextcloud supportées.\n\n**Rappel :** après l'upgrade, relancez `occ check` pour détecter d'éventuels problèmes de configuration induits par la montée de version :\n\n```bash\ndocker compose exec -u www-data app php occ check\n```",{"type":79,"title":181,"body":182},"Recognize v7 — déboguer l'erreur silencieuse « sh: exec: line 1 »","L'application **Recognize** (reconnaissance d'images et de visages) peut échouer silencieusement sur certaines installations Docker avec une erreur du type :\n\n```\nClassifier process output: sh: exec: line 1: recognize\u002Fbin\u002Fnode: not found\n```\n\nCette erreur n'apparaît pas dans l'interface d'administration — elle se lit uniquement dans les logs du conteneur ou les logs Nextcloud. L'app semble installée et active, mais aucun tag n'est généré.\n\n**Causes principales :**\n- **Incompatibilité d'architecture CPU** : le binaire Node.js embarqué dans Recognize est compilé pour `x86_64`. Sur ARM64 (Raspberry Pi, certains VPS ARM), il n'est pas exécutable.\n- **Binaire manquant ou non exécutable** : permissions incorrectes après un montage de volume.\n\n**Diagnostic :**\n\n```bash\n# 1. Vérifier les logs du processus de classification\ndocker compose logs app | grep -i recognize\n\n# 2. Tester le binaire Node directement dans le conteneur\ndocker compose exec app sh -c \"ls -la \u002Fvar\u002Fwww\u002Fhtml\u002Fapps\u002Frecognize\u002Fbin\u002F\"\ndocker compose exec app sh -c \"\u002Fvar\u002Fwww\u002Fhtml\u002Fapps\u002Frecognize\u002Fbin\u002Fnode --version\"\n\n# 3. Vérifier l'architecture du système\ndocker compose exec app uname -m\n# Résultat attendu pour un fonctionnement normal : x86_64\n```\n\n**Correctif sur x86_64 :**\n\n```bash\n# Forcer le mode WASM (WebAssembly) si le binaire Node natif échoue\ndocker compose exec -u www-data app php occ config:app:set recognize \\\n  tensorflow.gpu_enabled --value=false\ndocker compose exec -u www-data app php occ config:app:set recognize \\\n  node_binary --value=\"\"\n\n# Relancer la classification manuelle\ndocker compose exec -u www-data app php occ recognize:classify\n```\n\n**Sur ARM64 :** activez le mode WASM dans les paramètres de l'app (Administration → Recognize → Use WASM backend). Ce mode est plus lent mais fonctionne sur toutes les architectures.","Un VPS fiable pour votre instance Nextcloud","Nextcloud a besoin d'un VPS SSD avec une bonne bande passante pour que la synchronisation des fichiers soit fluide. Nos offres VPS Cloud démarrent à 4 GB de RAM avec des snapshots à la demande — exactement ce qu'il faut pour une instance Nextcloud sereine.","Voir les offres VPS Cloud","\u002Fvps-cloud",[188,210,226],{"id":189,"slug":190,"slugs":191,"title":195,"excerpt":196,"readTime":197,"views":198,"isPinned":19,"noindex":19,"publishedAt":199,"updatedAt":200,"category":201,"categories":206,"featuredImage":30,"bgImage":31,"posterImage":208,"relatedSolution":209},95,"nextcloud-vs-owncloud",{"fr":190,"en":192,"ar":193,"es":194},"nextcloud-vs-owncloud-which-private-cloud-to-host","nextcloud-مقابل-owncloud-أي-سحابة-خاصة-تستضيف","nextcloud-vs-owncloud-que-nube-privada-alojar","Nextcloud vs ownCloud : quel cloud privé héberger ?","Nextcloud ou ownCloud pour votre cloud privé sur VPS ? Comparatif fonctionnalités, performances, prérequis et guide de déploiement Docker.",4,0,"2026-03-17T00:00:00+00:00","2026-11-08T01:13:13+00:00",{"id":202,"name":203,"slug":204,"color":205,"icon":204},5,"Comparatif","comparatif","bg-info\u002F10 text-info",[207],{"id":202,"name":203,"slug":204,"color":205,"icon":204},"\u002Fblog\u002Fcovers\u002Fnextcloud-vs-owncloud-poster.svg",{"categorySlug":25,"appSlug":34},{"id":211,"slug":212,"slugs":213,"title":217,"excerpt":218,"readTime":219,"views":18,"isPinned":19,"noindex":19,"publishedAt":220,"updatedAt":221,"category":222,"categories":223,"featuredImage":30,"bgImage":31,"posterImage":225,"relatedSolution":30},126,"sauvegardes-serveur-jetbackup",{"fr":212,"en":214,"ar":215,"es":216},"server-backups-jetbackup-explained","نسخ-الخوادم-الاحتياطية-شرح-jetbackup","copias-seguridad-servidor-jetbackup","JetBackup sur cPanel\u002FWHM : installation et restauration","Comment installer JetBackup sur WHM, configurer des destinations S3 ou SFTP, planifier les sauvegardes et restaurer un compte, une base ou un e-mail isolément.",9,"2026-02-18T00:00:00+00:00","2026-10-20T23:18:07+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[224],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fsauvegardes-serveur-jetbackup-poster.svg",{"id":227,"slug":228,"slugs":229,"title":233,"excerpt":234,"readTime":197,"views":235,"isPinned":19,"noindex":19,"publishedAt":236,"updatedAt":237,"category":238,"categories":244,"featuredImage":30,"bgImage":31,"posterImage":246,"relatedSolution":247},108,"securiser-vps-crowdsec",{"fr":228,"en":230,"ar":231,"es":232},"securing-your-vps-with-crowdsec","تأمين-خادمك-الافتراضي-vps-باستخدام-crowdsec","proteger-vps-con-crowdsec","Sécuriser votre VPS avec CrowdSec","Déployez CrowdSec sur votre VPS pour bloquer les attaques grâce à une détection comportementale et une blocklist communautaire mutualisée.",2,"2026-03-04T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":239,"name":240,"slug":241,"color":242,"icon":243},8,"Sécurité & Monitoring","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[245],{"id":239,"name":240,"slug":241,"color":242,"icon":243},"\u002Fblog\u002Fcovers\u002Fsecuriser-vps-crowdsec-poster.svg",{"categorySlug":248,"appSlug":249},"cybersecurity","crowdsec",true,1794270726481]