
#  Rôles définis dans l'installation standard 

🚧 *cette page est ancienne et à revoir*.

Voir aussi sur les rôles et leur utilisation la page [ConfigPermissionsDept](ConfigPermissionsDept.md)

Les informations ci-dessous ne sont utiles que pour les développeurs ou pour des usages avancés de ScoDoc.

##  Principales permissions et fonctions associées

###  Liste des permissions Zope 

Les permissions utilisées par ScoDoc ont des noms qui commencent par "Sco", de façon à les grouper dans l'interface de Zope (ZMI), qui est peu pratique.

Pour changer ces permissions (plus précisément pour associer les permissions à des rôles), aller dans l'onglet "Security" du dossier "Dept" (celui qui *contient* l'instance de ScoDoc, habituellement nommée "Scolarite").

Voici les permissions utilisées:

 * **Sco View** : voir les pages de ScoDoc (à réserver aux enseignants et administratifs)

 * **Sco View Ens** : voir les parties réservées aux enseignants (à l'exclusion des secrétariats)

 * **Sco Modifier toutes notes** : modifier toutes les notes (dans tous les semestres)

 * **Sco Modifier toutes les evaluations** : créer/modifier/supprimer des évaluations dans tous les semestres (mais pas saisir des notes)

 * **Sco Change Formation** : créer/modifier/supprimer des formations (programmes pédagogiques)

 * **Sco Implement Formation** : mettre en place des semestres (sessions) de formation

 * **Sco Change Absences** : saisir des absences

 * **Sco Change Etud Address** : changer les adresses des étudiants

 * **Sco Change Etud Groups** : changer les groupes des étudiants

 * **Sco Inscrire Etud** : inscrire des étudiants

 * **Sco Etud Add Annotations** : ajouter des annotations sur les étudiants

 * **Sco View Entreprises** : accéder au fichier d'entreprises

 * **Sco Change Entreprises** : modifier le fichier d'entreprises

 * **Sco Users Admin** : voir et modifier les utilisateurs ScoDoc

 * **Sco Users View** : voir les utilisateurs ScoDoc

 * **Sco Change Preferences** : modifier les préférences du département

 * **Sco Super Admin** : réservé à l'administrateur (création de départements)

Pour la liste à jour des permissions et leur nom complet, et les associations initiales rôles/permissions, voir le fichier `sco_permissions.py` dans les sources.


###  Rôles associés à chaque permission dans chaque département 
Les rôles listés ici sont ceux définis dans chaque département (`Admin` réfère donc à l'`AdminXXX` du département `XXX`, à ne pas confondre avec l'utilisateur `admin`).

Permission                   |  Rôles... |        | &nbsp;  |
-----------------------------|--------------|--------|---------|
 **`ScoView`**               | `Ens`        | `Secr` | `Admin` |
 **`ScoEnsView`**            | `Ens`        |        | `Admin` |  
 **`ScoUsersView`**          | `Ens`        | `Secr` | `Admin` |
 **`ScoEtudAddAnnotations`** | `Ens`        | `Secr` | `Admin` |
 **`ScoAbsChange`**          | `Ens`        | `Secr` | `Admin` |
 **`ScoEntrepriseView`**     | `Ens`        | `Secr` | `Admin` |
 **`ScoEntrepriseChange`**   |              | `Secr` | `Admin` |
 **`ScoEtudChangeAdr`**      |              | `Secr` | `Admin` |
 **`ScoChangeFormation`**    |              |        | `Admin` |
 **`ScoEditAllNotes`**       |              |        | `Admin` | 
 **`ScoEditAllEvals`**       |              |        | `Admin` | 
 **`ScoImplement`**          |              |        | `Admin` | 
 **`ScoEtudChangeGroups`**   |              |        | `Admin` |
 **`ScoEtudInscrit`**        |              |        | `Admin` |
 **`ScoUsersAdmin`**         |              |        | `Admin` |
 **`ScoChangePreferences`**  |              |        | `Admin` |


##  Gestion des utilisateurs 
Les utilisateurs sont associés à un département principal et à des rôles.

Le fait d'être, ou non, associé à un département est important:
* pour tous les utilisateurs: hormis le SuperAdmin, seuls les administrateurs du département d'appartenance sont habilités à modifier les caractéristiques principales (nom, prenom, email, mot de passe) de cet utilsateur 
* pour les responsables (rôle `AdminXXX`. En effet, si le responsable est associé à un département, *il ne pourra créer des utilisateurs que dans ce département* 
(c'est en général ce qu'on veut pour un chef de département, qui "recrute" des enseignant uniquement dans son département).

Pour la gestion des rôles, l'administrateur d'un département peut ajouter ou supprimer les rôles *de ce département* à n'importe quel utilisateur, y compris à ceux qui ne sont pas du même département

Exemple: si PAUL est du département GEII et a les rôles AdminGEII et AdminCJ
* Il pourra créer des utilisateurs uniquement dans le département GEII
* il pourra ajouter ou retirer les rôles EnsGEII, SecrGEII, AdminGEII à tout utilisateur de scodoc
* il pourra ajouter ou retirer les rôles EnsCJ, SecrCJ, AdminCJ à tout utilisateur de scodoc

Plus d'informations techniques sur la page [AdminUsers](AdminUsers.md).

