DocScoDoc/docs/GuideConfig.md

351 lines
10 KiB
Markdown
Raw Permalink Normal View History

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
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
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).
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`).
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.*
2022-04-24 23:19:00 +02:00
### Création d'un département
flask create-dept DEPT
`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
Opération très rarement nécessaire, proposée pour corriger une erreur
immédiatement après la création, et pour les tests.
flask delete-dept [-f] [--yes] DEPT
-f, --force: ignore département non existant
--yes : ne demande pas confirmation
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:
flask user-create LOGIN ROLE DEPT
`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
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
`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
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
flask user-password LOGIN
2020-09-21 16:30:27 +02:00
`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`.
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
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
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
Toujours migrer les comptes utilisateurs avant d'importer les
départements.
2020-09-21 16:30:27 +02:00
flask import-scodoc7-users
2020-09-21 16:30:27 +02:00
2022-04-24 23:19:00 +02:00
#### Départements
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
Dans l'encart ci-dessous, `app` désigne `flask`, comme dans les exemple donnés plus haut.
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:
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
dumphelp
2022-07-25 09:13:57 +02:00
list-roles List roles
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...
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) users 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.
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-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 its 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) users password
2021-09-14 12:31:16 +02:00
Options:
--password TEXT
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.
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
Options:
-d, --dept TEXT
-a, --add TEXT
-r, --remove TEXT
--help Show this message and exit.
2021-09-14 12:31:16 +02:00
Usage: app delete-dept [OPTIONS] DEPT
2021-09-14 12:31:16 +02:00
Delete existing departement
Options:
2022-02-13 15:16:39 +01:00
--yes
--help Show this message and exit.
2021-09-14 12:31:16 +02:00
Usage: app create-dept [OPTIONS] DEPT
2021-09-14 12:31:16 +02:00
Create new departement
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
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
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.
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
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
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 dune liste excel et dun zip avec les images.
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
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 daide complète pour la doc.
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
*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).
2022-04-24 23:19:00 +02:00
## Utilisation via le Web
* Connectez-vous au site: `https://votre.site.fr/`
2020-09-21 16:30:27 +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
<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
2022-08-09 20:27:32 +02:00
"chef de département !" dans chaque département, qui à son tour peut déléguer des droits.