Adaptation a Nextcloud pour le GIP RECIA (Projet Neto centre)
Le GIP RECIA à deux déploiements de Nextcloud sur la même architecture. Un pour les ENT dans lycées et collèges (nc-ent) et l'autre pour le GIP lui-même et les collectivités (nc-gip).
Les modifications portent principalement sur :
- La gestion des groupes (LDAP Importer): Données les droits (quota) et créer les groupes Nextcloud à partir des groupes LDAP.
- La recherche de groupe et personne pour le partage (Files Sharing).
- La gestion des buckets : n'avoir qu'un bucket par compte, par avatar et vignette.
- Un plugin de chargement de js et css particulier (CSS JS Loader).
- Les fichiers par défauts (Skeleton) : suppression modification du repertoire skeleton.
Présentation de juin 2023 au ESUP DAYS
Aller sur la branche ENT | GIP
Le plugin LDAP Importer permet l'alimentation des utilisateurs avec filtrage sur leurs groupes LDAP. On en déduit leurs groupes Nextcloud et leurs quota. Les filtres sont paramètrés avec des regexs dans "Paramètres -> sécurité -> Import Users -> Filtre & nomage de groupe".
- Une première serie de regex permet de deduire les noms des établissement (pour Nextcloud) à partir des groupes LDAP.
- La deuxième définit les groupes Nextcloud à partir des groupes LDAP (fixe le quota minimum), sans groupe de cette serie un user LDAP ne sera pas importer dans Nextcloud.
- La troisièmes définit les groupes Nextcloud à partir des groupes pédagogiques de l'utilisateur, ce ne sont pas des groupes fonctionnels, ils ne sont pas dans le isMemberOf du LDAP. Il faut donc définir l'attribut LDAP approprié.
Tester avec le plugin "CAS Authentication backend" version : 1.10
Voir les fichiers branche ENT | branche GIP
Installation
A placer dans le dossier apps/
de Nextcloud
Utilisation
La commande pour importer les utilisateurs du LDAP à la BDD :
sudo -u www-data php occ ldap:import-users-ad
Remplacement du plugin Nextcloud File Sharing
Voir les fichiers branche ENT
Installation
Remplacer TOTALEMENT le dossier files_sharing
dans le dossier apps/
à la racine du projet.
Remplacer ./lib/private/Files/objectStore/Mapper.php
et ./lib/private/Files/Mount/RootMountProvider.php
par nos versions
et ajouter dans ./lib/private/Files/ObjectStore
: ReciaObjectStoreStorage.php
et S3Recia.php
.
Mapper.php
distribut un bucket par user (c'est un hash donc quasiment un bucket par user).
ReciaObjectStoreStorage.php
et S3Recia.php
permetent de na pas stocker tous les avatars et préview dans le même bucket system (bucket 0).
Voir les fichiers branche ENT
Plugin pour Nextcloud CSSJSLoader qui surcharge le css et le js de toutes les pages
Voir les fichiers branche ENT
Installation
A placer dans le dossier apps/
de Nextcloud
Utilisation
- Placer les ficher js dans le dossier
apps/cssjsloader/inputs/js
- Placer les ficher css dans le dossier
apps/cssjsloader/inputs/css
Répertoire contenant le document par défaut à la creation d'un l'utilisateur.
À recopier dans core/skeleton
.
Voir les fichiers branche ENT | branche GIP (même skleton pour les deux branches)
Ensemble des scripts utiles à l'exploitation:
loadEtabs.pl
: creation des comptes et groupes à partir de LDAP.userFile.pl
: donne les fichiers et info d'un compte.groupFinder.pl
: donne les membres d'un groupe.
Voir les fichiers branche ENT | branche GIP