Le service https://soute.numenaute.org permet de travailler de façon collaborative en ligne1).
C'est utile pour partager des documents, des agendas, papoter en direct avec les membres de son groupe de travail et de façon générale pour divers usages du travail collaboratif.
Le logiciel est basé sur Nextcloud ; vous trouverez la documentation officielle (en anglais) sur https://docs.nextcloud.com/.
À faire sur ce tuto :
Les inscription sont ouvertes à toutes et tous mais pour un quota limité de 100 Mb.
Si vous êtes membres de Numenaute, vous avez droit par défaut à 5 Go, qui peuvent être modifiés sur demande. Pensez à nous notifier si vous n'avez pas ces 5 Go ; tout est fait à la main, parfois certaines choses sont oubliées dans le lot des “trucs à faire”.
Si vous êtes membres et personne morale (association par exemple), vous pouvez demander certains services en plus, comme l'utilisation de groupes pour le partage des documents, ou la mise en place d'un cloud aux couleurs de votre organisme. Ce genre de chose nous demande un peu plus de travail et de maintenance et est mis en place via la signature de partenariats : il faut prendre le temps de discuter pour savoir ce qu'on met en place, nous n'avons pas une offre “clé en main” afin d'être au plus prêt de vos besoins réels.
Les données ne sont pas chiffrées, mais l'accès est sécurisé aussi bien que possible : vos données ne seront accessibles qu'aux personnes avec qui vous les partagez explicitement. Nous vous déconseillons cependant de stocker des données sensibles, ou alors chiffrez-les soigneusement de votre côté. Nous nous engageons à ne pas regarder le contenu de vos dossiers, sauf avec votre accord express (pour débuguer par exemple) ou sur demande d'une autorité judiciaire.
L'usage du service est évidement formellement interdite pour tout ce qui est illégal. Cela inclut le stockage de documents et media que vous n'avez pas le droit d'avoir, comme par exemple des films récupérés sans l'accord des ayants-droits. Nous n'allons pas fouiller pour vérifier, mais s'il vous plaît, ne mettez pas ce genre de chose sur nos serveurs, cela mettrais toute la structure en péril.
Explication pour les noobs, à compléter, afin que même quelqu'un qui n'est pas doué avec l'informatique puisse s'approprier le service. Si vous avez des liens vers des tutos vidéos, ajoutez-les !
Suivant votre implication sur Numenaute, vous avez droit à des accès différents :
Cette organisation est temporaire. L'idée est la suivante :
Les trucs un peu compliqués que permet le logiciel, ou qui sont accessibles avec des droits précis.
Sur demande à un administrateur, il est possible d'avoir un dossier “de groupe”.
Par exemple, vous gérez l'association Numenaute.
Asso Numenaute/college
mais il faut qu'il soit créé par un administrateur pour que les droits soient bien pris en compte !DAVx, dispo sur Fdroid, permet de récupérer son calendrier, ses contacts, etc. Son ergonomie (et celle de Nextcloud) sont parfois discutables…
Il doit être possible d'ajouter un compte uniquement via la “connexion standard” avec “connexion avec une URL et un nom d'utilisateur”. L'option “Connexion avec un fournisseur spécifique”>“Nextcloud” va ouvrir un navigateur, ce n'est pas forcément hyper pratique (mais ça marche).
Renseignez simplement https://soute.numenaute.org
comme adresse, et mettez votre nom d'utilisatrice et votre mot de passe. Une fois connecté, une subtilité : DAVx complète automatiquement le nom d'utilisatrice avec votre mail, et refuse d'ajouter le compte au prétexte “qu'il existe déjà” (bah oui, sinon comment t'aurais eu ce mail ?). Remplacez simplement le mail par votre nom d'utilisatrice, et c'est bon, vous pourrez ajouter le compte à DavX…
À 100 MB. C'est dans la liste des utilisatrices, partie “Paramètres gestion des comptes” (en bas à gauche). Mais pas de raison d'y changer.
Avec le GUI :
Dans la liste des utilisatrices, le tableau a plus de colonnes que mon écran n'en affiche. L'ascenseur est en principe en bas de la fenêtre… Il faut donc aller vers la droite, cliquer sur le crayon pour modifier, changer le quota, valider.
Et ça doit être possible avec la commande occ mais j'ai pas cherché.
Paramétrer par défaut des quotas pour les groupes, ça sera bien. Mais faut passer par la ligne de commande. Doc ici, c'est via une app. Il y a une autre app au fonctionnement légèrement différent, au besoin. Elle aussi en ligne de commande. J'ai pas géré pour le moment.
Décidez avec les administrateurs du groupe des points suivants :
Créer un dossier par association, au nom de l'association, et donner les droits de lecture à cette association.
Pour les sous-dossiers à accès limités, utilisez simplement des barres obliques pour générer le chemin, par exemple :
Si cette erreur apparaît ET que tout semble aller bien, c'est juste que l'erreur reste dans les logs et que Nextcloud continue de la juger pertinente alors que non. Il faut forcer un rafraîchissement. Pour cela :
Il faut activer ACPCu pour les requêtes CLI, afin que cron.php et occ puissent y faire appel (Source).
echo 'apc.enable_cli=1' >> /etc/php/7.0/mods-available/apcu.ini
Ce qu'on a comme message :
Le tampon mémoire des chaînes internes OPcache est presque plein. Pour vous assurer que les chaînes répétitives peuvent être mise en cache, il est recommandé de définir la variable opcache.interned_strings_buffer de votre fichier de configuration PHP à une valeur supérieure à 10.
Un coup de sudo nano /etc/php/8.2/fpm/php.ini
(modifiez avec votre dernière version de php) et assurez-vous que les paramètres soient comme ça :
; The OPcache shared memory storage size. opcache.memory_consumption=256 ; The amount of memory for interned strings in Mbytes. opcache.interned_strings_buffer=16
Et redémarrer php :
sudo service php8.0-fpm restart
Vu que nextcloud ne supporte pas officiellement le déplacement du dossier data, dans ses liens publics, il garde des références à l'ancien chemin des fichiers : forcément, ça ne marche pas … Pour chaque partage, nextcloud stocke dans quel “storage” ce lien est (un id numérique), et dans une autre table il stocke la correspondance “id numérique de stockage” ⇔ chemin réel sur le disque. Du coup, quand on indique à nextcloud que le dossier de données sera désormais dans /var/stockage/mmf/nextcloud_data au lieu de /var/www/cloudmmf/data, au lieu de modifier le stockage /var/www/cloudmmf/data, il crée un nouveau “storage” qui pointe vers ce dossier (>;<). Les liens de partages pointent donc vers l'ancien “storage”, qui pointe sur un endroit inexistant sur le disque …
Pour voir ça, on trouve le token d'un partage qui est censé marcher, mais ne marche pas, par exemple https://cloud.millionsmissing.fr/s/s46w79Hpag4xGTa. Le token est ce qu'il y a dans l'url après le /s/
, donc ici s46w79Hpag4xGTa
. On va ensuite lancer mysql et farfouiller dans la DB :
sudo mysql -u root
USE mmf_prod; SELECT * FROM oc_share WHERE token='s46w79Hpag4xGTa';
On voit bien que le partage existe, et que le fichier sur lequel il pointe est 71756
:
| 281 | 3 | NULL | NULL | chantal | chantal | NULL | file | 71756 | NULL | 71756 | /Partages/Collège_médecine_interne_4ème_Ed.pdf | 1 | 1644324948 | 0 | NULL | s46w79Hpag4xGTa | 0 | NULL | 0 | NULL | 0 | |
Du coup, on regarde ce fichier 71756
:
SELECT * FROM oc_filecache WHERE fileid='71756';
Et là, on voit qu'il pointe vers le storage 13
:
| 71756 | 13 | __groupfolders/2/RESSOURCES/Ressources_DocTravail/AppellationsEM_SFC/Collège_médecine_interne_4ème_Ed.pdf | 565f2141283f7117bd246d166f7de95e | 72579 | Collège_médecine_interne_4ème_Ed.pdf | 5 | 3 | 8194568 | 1624638322 | 1624638322 | 0 | 0 | b33590d3fe04a1f3e463081ad34d7c89 | 27 | |
Du coup, on regarde dans notre table de storage ce que l'on a :
+------------+-------------------------------------------------------------+-----------+--------------+ | numeric_id | id | available | last_checked | +------------+-------------------------------------------------------------+-----------+--------------+ | 1 | local::/home/millionsmissing/www/html/nc_millionsmiss/data/ | 1 | NULL | | 2 | home::gestionnaire_nc_003 | 1 | NULL | | 6 | home::gestionnaire_mm | 1 | NULL | | 7 | home::chantal | 1 | NULL | | 8 | home::amalia | 1 | NULL | | 11 | home::CarineB | 1 | NULL | | 12 | local::/var/www/clients/client10/web79/web/data/ | 1 | NULL | | 13 | local::/var/www/mmf/data/ | 1 | NULL | | 14 | home::celineg | 1 | NULL | | 15 | local::/var/stockage/mmf/nextcloud_data/ | 1 | NULL | | 16 | home::glorf | 1 | NULL | +------------+-------------------------------------------------------------+-----------+--------------+
On voit bien que le 13 pointe encore vers notre ancien storage !
Librement inspiré d'ici
D'abord, on éteint nginx, sinon nextcloud va mettre le bazar dans nos opérations (en recréant un storage sans notre accord) :
systemctl stop nginx
Puis on revient dans la console SQL, et on commence à supprimer le nouveau storage que nextcloud a créé :
DELETE FROM oc_storage WHERE numeric_id=15;
Puis on modifie l'ancien storage, pour lui donner le nouveau chemin de nos données :
UPDATE oc_storage SET id='local::/var/stockage/mmf/nextcloud_data/' WHERE numeric_id=13;
Et on peut vérifier que nos modifications ont bien été faites :
SELECT * FROM oc_storages;
+------------+-------------------------------------------------------------+-----------+--------------+ | numeric_id | id | available | last_checked | +------------+-------------------------------------------------------------+-----------+--------------+ | 1 | local::/home/millionsmissing/www/html/nc_millionsmiss/data/ | 1 | NULL | | 2 | home::gestionnaire_nc_003 | 1 | NULL | | 6 | home::gestionnaire_mm | 1 | NULL | | 7 | home::chantal | 1 | NULL | | 8 | home::amalia | 1 | NULL | | 11 | home::CarineB | 1 | NULL | | 12 | local::/var/www/clients/client10/web79/web/data/ | 1 | NULL | | 13 | local::/var/stockage/mmf/nextcloud_data/ | 1 | NULL | | 14 | home::celineg | 1 | NULL | | 16 | home::glorf | 1 | NULL | +------------+-------------------------------------------------------------+-----------+--------------+
Et voilà, on peut redémarrer nginx :
systemctl start nginx