service-documents
branche Master
branche develop
Description
Service de gestion documentaire pour une plateforme ENT. Construire sur la base d'Elfinder. Partie serveur en ruby / grape / Sequel.
Connexion à un ENT
1. Installation :
a. dépendances systèmes
- ImageMagick : installer la librairie
apt-get install imagemagick - Git clone du projet sur le serveur
git clone git@github.com:laclasse-com/service-documents.git bundle install- créer l'environnement
bundle exec rake install - Paramètrer le fichier
config/constants.rb - Paramètrer le fichier
config/cas_server.rb - créer l'accès à la base de données
bundle exec rake db:configure - créer le schéma base de données
bundle exec rake db:migrations
Connexion à l'ENT
Jeton CAS
Gestion des droits
Présentation des droits sur un élément (fichier ou dossier) :
1. locked (verrouillé)
- on ne peut ni le supprimer ni le couper
- dans les espaces de partages (classes et groupes) on ne peut pas modifier les droits sur cet élément
- la valeur peut être égal à 1 (verrouillage) ou 0
2. read (en lecture)
- on peut le lire ou l'ouvrir mais pas le modifier
- la valeur peut être égal à 1 (lecture) ou 0
3. write (en écriture)
- on peut le modifier
- la valeur peut être égal à 1 (écriture) ou 0
Dans mon cartable :
- seul l'utilisateur a accès à son cartable
Dans mon espace de partage :
1. mes établissements
1. Le super administrateur
- a tous les droits sur ses établissements
2. L'administrateur
- voit son ou ses établissement(s) verrouillé(s)
- peut lire dans un établissement
- peut écrire dans un établissement
3. Le principal, l'assistante de vie scolaire, le CPE et le professeur
- voient leur(s) établissement(s) verrouillé(s)
- peuvent lire dans leur(s) établissement(s)
- peuvent écrire dans leur(s) établissement(s)
##### 4. Les parents et l'élève - voit son ou ses établissement(s) verrouillé(s) - peut lire dans un établissement - ne peut écrire dans un établissement
2. répertoires "classes" et "groupes"
1. Le super administrateur
- a tous les droits sur les deux répertoires
2. L'administrateur
- à tous les droits sur les deux répertoires
##### 3. Le principal, l'assistante de vie scolaire, le CPE et le professeur - voient les deux répertoires verrouillés - peuvent lire dans les deux répertoires - peuvent écrire dans les deux répertoires
4. Les parents et l'élève
- voit les deux répertoires verrouillés
- peut lire dans les deux répertoires
- ne peut écrire dans les deux répertoires
3. mes classes et mes groupes
1. Le super administrateur
- a tous les droits sur ses classes et ses groupes
2. L'administrateur
- a tous les droits sur ses classes et ses groupes
3. Le principal, l'assistante de vie scolaire, le CPE, le professeur, les parents et l'élève
- voient leurs classes et leurs groupes verrouillés
- peuvent lire dans leurs classes et leurs groupes
- peuvent écrire dans leurs classes et leurs groupes
Récapitulatif avec un tableau :
(1 locked 1 read 1 write)
| Super Admin | Admin | Principal | Assistante de vie scolaire | CPE | Professeur | Parents | Élève | |
|---|---|---|---|---|---|---|---|---|
| Établissement | (0 1 1) | (1 1 1) | (1 1 1) | (1 1 1) | (1 1 1) | (1 1 1) | (1 1 0) | (1 1 0) |
| Répertoire classes | (0 1 1) | (0 1 1) | (1 1 1) | (1 1 1) | (1 1 1) | (1 1 1) | (1 1 0) | (1 1 0) |
| Répertoire groupes | (0 1 1) | (0 1 1) | (1 1 1) | (1 1 1) | (1 1 1) | (1 1 1) | (1 1 0) | (1 1 0) |
| Les classes | (0 1 1) | (0 1 1) | (1 1 1) | (1 1 1) | (1 1 1) | (1 1 1) | (1 1 1) | (1 1 1) |
| Les groupes | (0 1 1) | (0 1 1) | (1 1 1) | (1 1 1) | (1 1 1) | (1 1 1) | (1 1 1) | (1 1 1) |
###Droit entre utilisateurs par défaut: Lorsqu'un utilisateur créé un élément dans un espace de partage, celui-ci est par défaut en lecture seule.
####Les droits entre utilisateurs respecte la hiérarchie ci dessous
entre utilisateurs cela est très simple:
- si l'utilisateur courant a un coéfficient plus petit que celui du propriétaire de l'élément, alors il respecte les droits définis par celui-ci.
- à l'inverse, si l'utilisateur courant a un coéfficient plus grand que celui du propriétaire de l'élément, alors il a tous les droits sur l'élément.
Récapitulatif avec un tableau :
(1 locked 1 read 1 write)
| Super Admin | Admin | Principal | Assistante de vie scolaire | CPE | Professeur | Parents | Élève | |
|---|---|---|---|---|---|---|---|---|
| Super Admin | (1 0 0) | (0 1 1) | (0 1 1) | (0 1 1) | (0 1 1) | (0 1 1) | (0 1 1) | (0 1 1) |
| Admin | (1 0 0) | (1 0 0) | (0 1 1) | (0 1 1) | (0 1 1) | (0 1 1) | (0 1 1) | (0 1 1) |
| Principal | (1 0 0) | (1 0 0) | (1 0 0) | (0 1 1) | (0 1 1) | (0 1 1) | (0 1 1) | (0 1 1) |
| Assistante de vie scolaire | (1 0 0) | (1 0 0) | (1 0 0) | (1 0 0) | (1 0 0) | (1 0 0) | (0 1 1) | (0 1 1) |
| CPE | (1 0 0) | (1 0 0) | (1 0 0) | (1 0 0) | (1 0 0) | (1 0 0) | (0 1 1) | (0 1 1) |
| Professeur | (1 0 0) | (1 0 0) | (1 0 0) | (1 0 0) | (1 0 0) | (1 0 0) | (0 1 1) | (0 1 1) |
| Parents | (1 0 0) | (1 0 0) | (1 0 0) | (1 0 0) | (1 0 0) | (1 0 0) | (1 0 0) | (1 0 0) |
| Élève | (1 0 0) | (1 0 0) | (1 0 0) | (1 0 0) | (1 0 0) | (1 0 0) | (1 0 0) | (1 0 0) |
Récupération annuaire
sur l'annuaire on récupère :
- l'id ent des établissements
- le code UAI des établissements du role
- les noms des établissements
- l'id ent des classes
- les libellés des classes
- l'id ent des groupes
- les libellés des groupes
- l'id du role
- le login de l'utilisateur
- le nom et prénom de l'utilisateur
exemple de réponse annuaire :
information que l'on utilise
{
"id":245,
"id_sconet":null,
"login":"bwillis",
"nom":"WILLIS",
"prenom":"Bruce",
"sexe":"M",
"id_ent":"VAA69999",
"date_naissance":null,
"adresse":"LA SABOIRE",
"code_postal":"69003",
"ville":"LYON",
"full_name":"Willis Bruce",
"profils":[
{
"profil_id":"ELV",
"etablissement_nom":"CLG-VAL D'ARGENT",
"etablissement_code_uai":"0699999Z",
"profil_nom":"élève",
"profil_code_national":"National_ELV",
"etablissement_id":8978
}
],
"roles":[
{
"role_id":"ELV_ETB",
"etablissement_nom":"CLG-VAL D'ARGENT",
"etablissement_code_uai":"0699999Z",
"etablissement_id":8978
}
],
"telephones":[
{
"json_class":"Telephone",
"id":188,
"numero":"+33499999999",
"user_id":658,
"type_telephone_id":"MAISON"
}
],
"emails":[
],
"classes":[
{
"etablissement_code":"0699999Z",
"classe_id":10,̀
"classe_libelle":"5A",
"etablissement_nom":"CLG-VAL D'ARGENT",
"etablissement_id":8978
},
{
"etablissement_code":"0699999Z",
"classe_id":18,
"classe_libelle":"3D",
"etablissement_nom":"CLG-VAL D'ARGENT",
"etablissement_id":8978
}
],
"groupes_eleve":[
{
"etablissement_code":"0699999Z",
"groupe_id":36,
"groupe_libelle":"5A BIL A",
"etablissement_nom":"CLG-VAL D'ARGENT",
"etablissement_id":8978
},
{
"etablissement_code":"0699999Z",
"groupe_id":37,̀
"groupe_libelle":"5LATINGA",
"etablissement_nom":"CLG-VAL D'ARGENT",
"etablissement_id":8978
}
]
}
Répertoires RENDU
Qu'est ce qu'un répertoire RENDU
C'est un répertoire qui permet aux élèves de rendre leur devoir.
Ce répertoire à plusieurs propriétés:
- il ne peut être créé que dans un espace de partage de type établissement.
- seul un enseignant peut le créer
- seul le droit en écriture est affecté par défaut (seul le créateur peut ouvrir et gérer les droits sur ce répertoire)
- il peut être limiter dans le temps
- le devoir que rend l'élève dans ce répertoire est renommer avec son nom et prénom
- il limite à 1 le nombre de devoir rendu par un élève
Comment créer ce répertoire
il suffit:
- d'être dans un espace de partage de type établissement
- d'être un enseignant
- de créer un nouveau dossier avec '.rendu' comme extension. exemple 'Devoir Maison 5B.rendu'
Répertoires PROFS
Qu'est ce qu'un répertoire PROFS
C'est un répertoire qui peut être considéré comme une salle des profs. Ce répertoire à plusieurs propriétés:
- il ne peut être créé que dans un espace de partage de type établissement
- seul le personnel de l'éducation nationale peut le créer
- tous le personnel de l'éducation ont le droit en lecture et écriture sur le répertoire
- les droits ne sont pas modifiables
Comment créer ce répertoire
il suffit:
- d'être dans un espace de partage de type établissement
- d'être une personne de l'éducation nationale
- de créer un nouveau dossier avec '.profs' comme extension. exemple 'ma salle des.profs'
Document URL
Qu'est ce qu'un document URL
C'est un fichier que l'on créé avec comme extension .url exemple "mon.url". Ce fichier contient une url et à l'ouverture il créé un nouvel onglet avec la page de l'url.
Comment créer ce fichier
Ce fichier peut être créé soit en créant un nouveau fichier avec ".url" à la fin,
soit en dropant un lien vers la gestion de document qui créé un fichier ".url".
Ce fichier est éditable et doit contenir une url complète, exemple "http://www.google.fr".
Intégration des documents d'un cahier de textes
Dans le controleur Grape, il est possible de poster un document (en POST) qui s'ajoute directement au share de la classe ou du groupe dans un dossier "Cahier de textes". Ce dossier es créé à la volée s'il n'existe pas. Le formulaire qui permet de faire cela doit respecter les champs suivants :
<form id="upload" method="post" action="http://www.dev.laclasse.com/docs-beta/api/add/" enctype="multipart/form-data">
<div id="drop">
Glissez-déposez vos fichiers ici.
<a>Parcourir</a>
<input type="file" name="upload[]" multiple />
<input id="cmd" name="cmd" type="hidden" value="upload" />
<input id="current" name="current" type="hidden" value="0" />
<input id="attachment" name="attachment" type="hidden" value="CAHIERTXT" />
<input id="share" name="share" type="hidden" value="[Identifiant unique du regroupement]" />
</div>
<ul>
<!-- The file uploads will be shown here -->
</ul>
</form>Widget venant de http://tutorialzine.com/2013/05/mini-ajax-file-upload-form/
Licence GPL v3
See LICENSE file for more informations.




