2020-09-21 16:30:27 +02:00
|
|
|
|
|
2022-04-24 23:19:00 +02:00
|
|
|
|
## Prise en main et paramétrage de ScoDoc 9
|
2020-09-21 16:30:27 +02:00
|
|
|
|
|
2021-08-25 18:12:05 +02:00
|
|
|
|
Ce document suppose que le logiciel a été installé suivant la procédure décrite dans
|
|
|
|
|
[GuideInstallDebian11](GuideInstallDebian11.md).
|
2020-09-21 16:30:27 +02:00
|
|
|
|
|
|
|
|
|
|
2022-04-24 23:19:00 +02:00
|
|
|
|
## Administration en ligne de commande
|
2021-08-25 18:12:05 +02:00
|
|
|
|
|
2022-08-04 19:02:20 +02:00
|
|
|
|
Les opérations d'administration se résument à la création de départements, et la
|
|
|
|
|
création d'utilisateurs "super admin", c'est à dire admin pour tous les
|
|
|
|
|
départements. Le reste des paramétrages (création de comptes, de formations,
|
|
|
|
|
import d'étudiants, etc) se fait à partir du logiciel (web).
|
2021-08-25 18:12:05 +02:00
|
|
|
|
|
|
|
|
|
L'administration se fait dans un terminal connecté au serveur (en général via
|
2021-09-14 12:31:16 +02:00
|
|
|
|
ssh), en tant qu'utilisateur `scodoc` (*et non* `root`).
|
2021-08-25 18:12:05 +02:00
|
|
|
|
|
|
|
|
|
Se connecter et initialiser la session ainsi:
|
|
|
|
|
|
|
|
|
|
ssh votre.serveur # si nécessaire
|
|
|
|
|
su scodoc # idem,
|
|
|
|
|
# ou tout autre moyen d'ouvrir un shell comme scodoc
|
|
|
|
|
|
|
|
|
|
cd /opt/scodoc
|
|
|
|
|
source venv/bin/activate
|
|
|
|
|
|
2022-08-04 19:02:20 +02:00
|
|
|
|
Après quoi, vous pouvez utiliser les commandes décrites ci-dessous. *Attention:
|
|
|
|
|
le lancement de chaque commande peut être assez long (quelques secondes) car
|
|
|
|
|
toute l'application scodoc est initialisée à chaque fois.*
|
2021-08-25 18:12:05 +02:00
|
|
|
|
|
2022-04-24 23:19:00 +02:00
|
|
|
|
### Création d'un département
|
2021-08-25 18:12:05 +02:00
|
|
|
|
|
|
|
|
|
flask create-dept DEPT
|
|
|
|
|
|
|
|
|
|
où `DEPT` est l'acronyme du département, par exemple "RT". Ce département
|
|
|
|
|
apparait immédiatement sur la page d'accueil.
|
|
|
|
|
|
2022-04-24 23:19:00 +02:00
|
|
|
|
### Suppression d'un département
|
2021-08-25 18:12:05 +02:00
|
|
|
|
|
|
|
|
|
Opération très rarement nécessaire, proposée pour corriger une erreur
|
|
|
|
|
immédiatement après la création.
|
|
|
|
|
|
|
|
|
|
flask delete-dept DEPT
|
|
|
|
|
|
2022-04-24 23:19:00 +02:00
|
|
|
|
### Création d'un utilisateur
|
2021-09-14 12:31:16 +02:00
|
|
|
|
Cette opération s'effectue en général depuis le logiciel, via un formulaire
|
2022-02-27 09:19:20 +01:00
|
|
|
|
ou un import Excel. Pour créer un utilisateur depuis le terminal, lancer:
|
2021-08-25 18:12:05 +02:00
|
|
|
|
|
|
|
|
|
flask user-create LOGIN ROLE DEPT
|
|
|
|
|
|
|
|
|
|
où `LOGIN` sera le pseudo de l'utilisateur (utilisé pour se connecter),
|
|
|
|
|
et `ROLE` le rôle (`Ens`, `Secr`, `Admin`) dans le département `DEPT`.
|
|
|
|
|
|
2022-04-24 23:19:00 +02:00
|
|
|
|
### Création d'un super-administrateur
|
2021-08-25 18:12:05 +02:00
|
|
|
|
|
|
|
|
|
Il s'agit d'un utilisateur ayant tous les droits, comme s'il était
|
|
|
|
|
`Admin` dans tous les départements.
|
|
|
|
|
|
|
|
|
|
flask user-create admin2 SuperAdmin @all
|
2020-09-21 16:30:27 +02:00
|
|
|
|
|
2021-08-25 18:12:05 +02:00
|
|
|
|
où `admin2` est ici le pseudo du nouvel admin.
|
2020-09-21 16:30:27 +02:00
|
|
|
|
|
2022-04-24 23:19:00 +02:00
|
|
|
|
### Changement du mot de passe d'un utilisateur
|
2021-08-25 18:12:05 +02:00
|
|
|
|
Cette opération peut s'effectuer via la page de gestion web des
|
|
|
|
|
utilisateurs, mais il est parfois commode de le faire depuis la
|
|
|
|
|
console:
|
2020-09-21 16:30:27 +02:00
|
|
|
|
|
2021-08-25 18:12:05 +02:00
|
|
|
|
flask user-password LOGIN
|
2020-09-21 16:30:27 +02:00
|
|
|
|
|
2021-08-25 18:12:05 +02:00
|
|
|
|
où `LOGIN` est le pseudo de l'utilisateur. Le mot de passe est demandé
|
|
|
|
|
sur la ligne de commande.
|
2020-09-21 16:30:27 +02:00
|
|
|
|
|
2022-04-24 23:19:00 +02:00
|
|
|
|
### Création d'un nouveau rôle
|
2021-09-14 12:31:16 +02:00
|
|
|
|
|
|
|
|
|
flask create-role role_name [permissions...]
|
|
|
|
|
|
2022-02-27 09:19:20 +01:00
|
|
|
|
Exemple: création d'une rôle "Observateur" ayant juste la permission de "voir":
|
2021-09-14 12:31:16 +02:00
|
|
|
|
|
|
|
|
|
flask create-role Observateur ScoView
|
|
|
|
|
|
2022-07-24 09:24:04 +02:00
|
|
|
|
### Liste des rôles
|
|
|
|
|
|
|
|
|
|
flask list-roles
|
|
|
|
|
|
2022-04-24 23:19:00 +02:00
|
|
|
|
### Édition d'un rôle (ajout/retrait permissions)
|
2021-09-14 12:31:16 +02:00
|
|
|
|
|
|
|
|
|
flask edit-role [-a permission] [-r permission] role_name
|
|
|
|
|
|
|
|
|
|
Ajoute ou retire une permission.
|
|
|
|
|
|
2022-04-24 23:19:00 +02:00
|
|
|
|
### Ajout/retrait d'un rôle à un utilisateur
|
2021-12-21 00:03:35 +01:00
|
|
|
|
|
|
|
|
|
flask user-role username [-d departement] [-a RoleAAjouter] [-r RoleARetirer]
|
|
|
|
|
|
2022-07-25 09:13:57 +02:00
|
|
|
|
Exemples:
|
|
|
|
|
|
|
|
|
|
flask user-role dupont
|
|
|
|
|
|
|
|
|
|
affiche les rôles de l'utilisateur `dupont`.
|
2021-12-21 00:03:35 +01:00
|
|
|
|
|
|
|
|
|
flask user-role dupont -d MMI -a Observateur
|
|
|
|
|
|
|
|
|
|
donne le rôle `Observateur` (qui doit déjà exister) à l'utilisateur `dupont` dans
|
|
|
|
|
le département `MMI`.
|
|
|
|
|
|
2021-12-21 17:12:58 +01:00
|
|
|
|
Si le département n'est pas spécifié, le rôle est donné dans *tous* les
|
|
|
|
|
départements (utile pour certains compte administrateurs ou utilisés en lecture
|
|
|
|
|
par des clients de l'API).
|
2021-09-14 12:31:16 +02:00
|
|
|
|
|
2022-04-24 23:19:00 +02:00
|
|
|
|
### Migration des données de ScoDoc 7
|
2021-08-25 18:12:05 +02:00
|
|
|
|
Les données dans ScoDoc 9 ayant un format et une organisation très différents
|
|
|
|
|
de ScoDoc 7, une étape de conversion (migration) est nécessaire. Elle est automatique
|
2021-10-24 19:18:57 +02:00
|
|
|
|
mais prend du temps.
|
2020-09-21 16:30:27 +02:00
|
|
|
|
|
2021-09-06 12:35:49 +02:00
|
|
|
|
Se reporter à [MigrationScoDoc7a9](MigrationScoDoc7a9.md)
|
2020-09-21 16:30:27 +02:00
|
|
|
|
|
2021-09-14 12:31:16 +02:00
|
|
|
|
Ces commandes sont utilisées par le script de migration de ScoDoc 7 à ScoDoc 9.
|
|
|
|
|
*Ne pas utiliser sauf si vous savez vraiment ce que vous faites.*
|
|
|
|
|
|
2022-04-24 23:19:00 +02:00
|
|
|
|
#### Comptes utilisateurs
|
2020-09-21 16:30:27 +02:00
|
|
|
|
|
2021-08-25 18:12:05 +02:00
|
|
|
|
Toujours migrer les comptes utilisateurs avant d'importer les
|
|
|
|
|
départements.
|
2020-09-21 16:30:27 +02:00
|
|
|
|
|
2021-08-25 18:12:05 +02:00
|
|
|
|
flask import-scodoc7-users
|
2020-09-21 16:30:27 +02:00
|
|
|
|
|
2022-04-24 23:19:00 +02:00
|
|
|
|
#### Départements
|
2021-08-25 18:12:05 +02:00
|
|
|
|
Pour migrer un seul département:
|
|
|
|
|
|
|
|
|
|
flask import-scodoc7-dept DEPT DBNAME
|
|
|
|
|
|
|
|
|
|
Exemple:
|
|
|
|
|
|
|
|
|
|
flask import-scodoc7-dept InfoComm DBINFOCOMM
|
2020-09-21 16:30:27 +02:00
|
|
|
|
|
2022-04-24 23:19:00 +02:00
|
|
|
|
### Liste des commandes Flask/ScoDoc
|
2021-09-14 12:31:16 +02:00
|
|
|
|
```
|
2022-02-13 15:16:39 +01:00
|
|
|
|
Usage: app [OPTIONS] COMMAND [ARGS]...
|
|
|
|
|
|
|
|
|
|
Options:
|
|
|
|
|
--help Show this message and exit.
|
|
|
|
|
|
2021-09-14 12:31:16 +02:00
|
|
|
|
Commands:
|
2021-12-21 17:12:58 +01:00
|
|
|
|
clear-cache Clear ScoDoc cache This cache (currently...
|
|
|
|
|
create-dept Create new departement
|
|
|
|
|
create-role Create a new role
|
|
|
|
|
delete-dept Delete existing departement
|
2022-02-13 15:16:39 +01:00
|
|
|
|
delete-role Delete a role
|
2021-12-21 17:12:58 +01:00
|
|
|
|
dumphelp
|
2022-07-25 09:13:57 +02:00
|
|
|
|
list-roles List roles
|
2021-12-21 17:12:58 +01:00
|
|
|
|
edit-role Add [-a] and/or remove [-r] a permission...
|
|
|
|
|
import-scodoc7-dept Import département ScoDoc 7: dept:...
|
|
|
|
|
import-scodoc7-users Import users defined in ScoDoc7...
|
|
|
|
|
list-depts If dept exists, print it, else nothing.
|
|
|
|
|
localize-logo Make local to a dept a global logo (both...
|
|
|
|
|
migrate-scodoc7-dept-archives Post-migration: renomme les archives en...
|
|
|
|
|
migrate-scodoc7-dept-logos Post-migration: renomme les logos en...
|
|
|
|
|
photos-import-files
|
2022-08-04 19:02:20 +02:00
|
|
|
|
profile Start the application under the profiler...
|
2021-12-21 17:12:58 +01:00
|
|
|
|
sco-db-init Initialize the database.
|
|
|
|
|
scodoc-database print the database connexion string
|
|
|
|
|
user-create Create a new user
|
|
|
|
|
user-db-clear Erase all users and roles from the...
|
2022-02-13 15:16:39 +01:00
|
|
|
|
user-delete Try to delete this user.
|
|
|
|
|
user-password Set (or change) user’s password
|
2022-07-25 09:13:57 +02:00
|
|
|
|
user-role Display roles, or add or remove a role to the given user...
|
2021-09-14 12:31:16 +02:00
|
|
|
|
|
|
|
|
|
Usage: app sco-db-init [OPTIONS]
|
|
|
|
|
|
|
|
|
|
Initialize the database. Starts from an existing database and create all the
|
|
|
|
|
necessary SQL tables and functions.
|
|
|
|
|
|
2021-12-21 17:12:58 +01:00
|
|
|
|
Options:
|
|
|
|
|
--erase / --no-erase
|
|
|
|
|
|
2021-09-14 12:31:16 +02:00
|
|
|
|
Usage: app user-db-clear [OPTIONS]
|
|
|
|
|
|
|
|
|
|
Erase all users and roles from the database !
|
|
|
|
|
|
2022-02-13 15:16:39 +01:00
|
|
|
|
|
2021-12-21 17:12:58 +01:00
|
|
|
|
|
2021-09-14 12:31:16 +02:00
|
|
|
|
Usage: app user-create [OPTIONS] USERNAME ROLE DEPT
|
|
|
|
|
|
|
|
|
|
Create a new user
|
|
|
|
|
|
|
|
|
|
Options:
|
|
|
|
|
-n, --nom TEXT
|
|
|
|
|
-p, --prenom TEXT
|
2022-02-13 15:16:39 +01:00
|
|
|
|
|
|
|
|
|
Usage: app user-delete [OPTIONS] USERNAME
|
|
|
|
|
|
|
|
|
|
Try to delete this user. Fails if it’s associated to some scodoc objects.
|
|
|
|
|
|
2021-09-14 12:31:16 +02:00
|
|
|
|
|
|
|
|
|
Usage: app user-password [OPTIONS] USERNAME
|
|
|
|
|
|
2022-02-13 15:16:39 +01:00
|
|
|
|
Set (or change) user’s password
|
2021-09-14 12:31:16 +02:00
|
|
|
|
|
|
|
|
|
Options:
|
|
|
|
|
--password TEXT
|
|
|
|
|
|
2021-12-21 17:12:58 +01:00
|
|
|
|
Usage: app create-role [OPTIONS] ROLENAME [PERMISSIONS]...
|
|
|
|
|
|
|
|
|
|
Create a new role
|
|
|
|
|
|
2021-09-14 12:31:16 +02:00
|
|
|
|
|
|
|
|
|
Usage: app edit-role [OPTIONS] ROLENAME
|
|
|
|
|
|
|
|
|
|
Add [-a] and/or remove [-r] a permission to/from a role. In ScoDoc,
|
|
|
|
|
permissions are not associated to users but to roles. Each user has a set of
|
|
|
|
|
roles in each departement.
|
|
|
|
|
|
|
|
|
|
Example: `flask edit-role -a ScoEditApo Ens`
|
|
|
|
|
|
|
|
|
|
Options:
|
|
|
|
|
-a, --add TEXT
|
|
|
|
|
-r, --remove TEXT
|
2022-02-13 15:16:39 +01:00
|
|
|
|
|
|
|
|
|
Usage: app delete-role [OPTIONS] ROLENAME
|
|
|
|
|
|
|
|
|
|
Delete a role
|
|
|
|
|
|
|
|
|
|
Options:
|
|
|
|
|
--help Show this message and exit.
|
2021-12-21 17:12:58 +01:00
|
|
|
|
|
|
|
|
|
Usage: app user-role [OPTIONS] USERNAME
|
|
|
|
|
|
|
|
|
|
Add or remove a role to the given user in the given dept
|
2021-09-14 12:31:16 +02:00
|
|
|
|
|
2021-12-21 17:12:58 +01:00
|
|
|
|
Options:
|
|
|
|
|
-d, --dept TEXT
|
|
|
|
|
-a, --add TEXT
|
|
|
|
|
-r, --remove TEXT
|
|
|
|
|
--help Show this message and exit.
|
2021-09-14 12:31:16 +02:00
|
|
|
|
|
2021-12-21 17:12:58 +01:00
|
|
|
|
Usage: app delete-dept [OPTIONS] DEPT
|
2021-09-14 12:31:16 +02:00
|
|
|
|
|
|
|
|
|
Delete existing departement
|
|
|
|
|
|
2021-12-21 17:12:58 +01:00
|
|
|
|
Options:
|
2022-02-13 15:16:39 +01:00
|
|
|
|
--yes
|
2021-12-21 17:12:58 +01:00
|
|
|
|
--help Show this message and exit.
|
2021-09-14 12:31:16 +02:00
|
|
|
|
|
2021-12-21 17:12:58 +01:00
|
|
|
|
Usage: app create-dept [OPTIONS] DEPT
|
2021-09-14 12:31:16 +02:00
|
|
|
|
|
|
|
|
|
Create new departement
|
|
|
|
|
|
2021-12-21 17:12:58 +01:00
|
|
|
|
|
|
|
|
|
Usage: app list-depts [OPTIONS] [DEPTS]...
|
|
|
|
|
|
|
|
|
|
If dept exists, print it, else nothing. Called without arguments, list all
|
|
|
|
|
depts along with their ids.
|
2021-09-14 12:31:16 +02:00
|
|
|
|
|
2022-02-13 15:16:39 +01:00
|
|
|
|
|
2021-09-14 12:31:16 +02:00
|
|
|
|
|
2021-12-21 17:12:58 +01:00
|
|
|
|
Usage: app scodoc-database [OPTIONS]
|
|
|
|
|
|
|
|
|
|
print the database connexion string
|
|
|
|
|
|
|
|
|
|
Options:
|
|
|
|
|
-n, --name show database name instead of connexion string (required for
|
|
|
|
|
dropdb/createdb commands)
|
2022-02-13 15:16:39 +01:00
|
|
|
|
|
2021-12-21 17:12:58 +01:00
|
|
|
|
|
|
|
|
|
Usage: app import-scodoc7-users [OPTIONS]
|
|
|
|
|
|
|
|
|
|
Import users defined in ScoDoc7 postgresql database into ScoDoc 9 The old
|
2021-09-14 12:31:16 +02:00
|
|
|
|
database SCOUSERS must be alive and readable by the current user. This
|
|
|
|
|
script is typically run as unix user "scodoc". The original SCOUSERS
|
|
|
|
|
database is left unmodified.
|
|
|
|
|
|
|
|
|
|
|
2021-12-21 17:12:58 +01:00
|
|
|
|
Usage: app import-scodoc7-dept [OPTIONS] DEPT DEPT_DB_NAME
|
2021-09-14 12:31:16 +02:00
|
|
|
|
|
|
|
|
|
Import département ScoDoc 7: dept: InfoComm, dept_db_name: SCOINFOCOMM
|
|
|
|
|
|
2021-12-21 17:12:58 +01:00
|
|
|
|
|
|
|
|
|
Usage: app migrate-scodoc7-dept-archives [OPTIONS] [DEPT]
|
|
|
|
|
|
|
|
|
|
Post-migration: renomme les archives en fonction des id de ScoDoc 9
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Usage: app migrate-scodoc7-dept-logos [OPTIONS] [DEPT]
|
2021-09-14 12:31:16 +02:00
|
|
|
|
|
2021-12-21 17:12:58 +01:00
|
|
|
|
Post-migration: renomme les logos en fonction des id / dept de ScoDoc 9
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Usage: app localize-logo [OPTIONS] LOGO DEPT
|
|
|
|
|
|
|
|
|
|
Make local to a dept a global logo (both logo and dept names are mandatory)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Usage: app photos-import-files [OPTIONS] FORMSEMESTRE_ID XLSFILE ZIPFILE
|
|
|
|
|
|
2022-02-13 15:16:39 +01:00
|
|
|
|
Import des photos d’étudiants à partir d’une liste excel et d’un zip avec les images.
|
2021-12-21 17:12:58 +01:00
|
|
|
|
|
|
|
|
|
Usage: app clear-cache [OPTIONS]
|
2021-09-14 12:31:16 +02:00
|
|
|
|
|
|
|
|
|
Clear ScoDoc cache This cache (currently Redis) is persistent between
|
2022-02-13 15:16:39 +01:00
|
|
|
|
invocation and it may be necessary to clear it during upgrades, development
|
|
|
|
|
or tests.
|
2021-09-14 12:31:16 +02:00
|
|
|
|
|
|
|
|
|
Options:
|
2022-02-13 15:16:39 +01:00
|
|
|
|
--sanitize / --no-sanitize
|
2021-09-14 12:31:16 +02:00
|
|
|
|
|
2021-12-21 17:12:58 +01:00
|
|
|
|
Usage: app dumphelp [OPTIONS]
|
2021-09-14 12:31:16 +02:00
|
|
|
|
|
2022-02-13 15:16:39 +01:00
|
|
|
|
Génère la page d’aide complète pour la doc.
|
2021-12-21 17:12:58 +01:00
|
|
|
|
|
|
|
|
|
Usage: app profile [OPTIONS]
|
|
|
|
|
|
|
|
|
|
Start the application under the code profiler.
|
|
|
|
|
|
|
|
|
|
Options:
|
|
|
|
|
-h, --host TEXT The interface to bind to.
|
|
|
|
|
-p, --port INTEGER The port to bind to.
|
|
|
|
|
--length INTEGER Number of functions to include in the profiler report.
|
|
|
|
|
--profile-dir TEXT Directory where profiler data files are saved.
|
|
|
|
|
--help Show this message and exit.
|
|
|
|
|
```
|
2020-09-21 16:30:27 +02:00
|
|
|
|
|
2022-02-13 15:16:39 +01:00
|
|
|
|
(*la liste ci-dessus est générée à l'aide de la commande* `flask dumphelp`).
|
|
|
|
|
|
2022-04-24 23:19:00 +02:00
|
|
|
|
### Changement des logos apparaissant sur les documents
|
2021-08-25 18:12:05 +02:00
|
|
|
|
|
|
|
|
|
*Note: après migration, vos logos de ScoDoc 7 sont installés dans ScoDoc 9*.
|
|
|
|
|
|
2022-08-04 19:02:20 +02:00
|
|
|
|
Les documents PDF (PV de jurys...) incluent les logos de l'établissement. Par
|
|
|
|
|
défaut, ceux de l'IUT de Villetaneuse et de l'Université Paris 13 sont
|
|
|
|
|
distribués. Pour les changer, passer par la page d'administration (lien
|
|
|
|
|
**Configuration** sur la page d'accueil, en tant que super-admin),
|
|
|
|
|
[voir la FAQ](/FAQ/#comment-changer-les-logos-sur-les-documents-pdf-pv).
|
2021-08-25 18:12:05 +02:00
|
|
|
|
|
2022-04-24 23:19:00 +02:00
|
|
|
|
## Utilisation via le Web
|
2021-08-25 18:12:05 +02:00
|
|
|
|
|
|
|
|
|
* Connectez-vous au site: `https://votre.site.fr/`
|
2020-09-21 16:30:27 +02:00
|
|
|
|
|
|
|
|
|
|
2021-08-25 18:12:05 +02:00
|
|
|
|
Vous allez voir la page d'accueil de ScoDoc, vous permettant de choisir le département
|
|
|
|
|
où travailler.
|
2020-09-21 16:30:27 +02:00
|
|
|
|
|
2021-08-25 18:12:05 +02:00
|
|
|
|
<img src="/img/alert.png" style="vertical-align: bottom; margin:0 0 0 0;" alt="/!\" /> Surtout,
|
|
|
|
|
évitez de travailler comme "admin" (super admin): prenez le temps de créer un utilisateur
|
|
|
|
|
"chef de département !" dans chaque département, qui à son tour pour déléguer des droits.
|