7.8 KiB
Prise en main et paramétrage de ScoDoc 9
Cette page concerne la version ScoDoc 9, distribuée à partir de septembre 2021. Pour l'ancienne version, voir cette page.
Ce document suppose que le logiciel a été installé suivant la procédure décrite dans GuideInstallDebian11.
Administration en ligne de commande
Les opérations d'administration se résument à la création de départements, et l'installation des logos, 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
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
Après quoi, vous pouvez utiliser les commandes décrites ci-dessous. Attention: le lancement de chaque commande est assez long (quelques secondes) car toute l'application scodoc est initialisée à chaque fois.
Création d'un département
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.
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.
flask delete-dept DEPT
Création d'un utilisateur
Cette opération s'effectue en général depuis le logiciel, via un formulaire ou un import excel. Pour créer un utilisateur depuis le terminal, lancer:
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
.
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
où admin2
est ici le pseudo du nouvel admin.
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:
flask user-password LOGIN
où LOGIN
est le pseudo de l'utilisateur. Le mot de passe est demandé
sur la ligne de commande.
Création d'un nouveau rôle
flask create-role role_name [permissions...]
Exemple: création d'une rôle "Observateur" ayant juste la persmision de "voir":
flask create-role Observateur ScoView
Édition d'un rôle (ajout/retrait permissions)
flask edit-role [-a permission] [-r permission] role_name
Ajoute ou retire une permission.
Ajout/retrait d'un rôle à un utilisateur
flask user-role username [-d departement] [-a RoleAAjouter] [-r RoleARetirer]
Exemple:
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.
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.
Se reporter à MigrationScoDoc7a9
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.
Comptes utilisateurs
Toujours migrer les comptes utilisateurs avant d'importer les départements.
flask import-scodoc7-users
Départements
Pour migrer un seul département:
flask import-scodoc7-dept DEPT DBNAME
Exemple:
flask import-scodoc7-dept InfoComm DBINFOCOMM
Liste des commandes Flask/ScoDoc
Commands:
clear-cache Clear ScoDoc cache (currently Redis)
create-dept Create new departement
delete-dept Delete existing departement
edit-role Add [-a] and/or remove [-r] a permission to/from a role
import-scodoc7-dept Import département ScoDoc 7
import-scodoc7-users Import users defined in ScoDoc7 postgresql
sco-db-init Initialize the database.
user-create Create a new user
user-db-clear Erase all users and roles from the database !
user-password Set (or change) user's password
Usage: app sco-db-init [OPTIONS]
Initialize the database. Starts from an existing database and create all the
necessary SQL tables and functions.
Usage: app user-db-clear [OPTIONS]
Erase all users and roles from the database !
Usage: app user-create [OPTIONS] USERNAME ROLE DEPT
Create a new user
Options:
-n, --nom TEXT
-p, --prenom TEXT
Usage: app user-password [OPTIONS] USERNAME
Set (or change) user's password
Options:
--password TEXT
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
Usage: app delete-dept DEPT
Delete existing departement
Usage: app create-dept DEPT
Create new departement
Usage: app import-scodoc7-users
Import used defined in ScoDoc7 postgresql database into ScoDoc 9 The old
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 DEPT DEPT_DB_NAME
Import département ScoDoc 7: dept: InfoComm, dept_db_name: SCOINFOCOMM
Usage: app clear-cache
Clear ScoDoc cache This cache (currently Redis) is persistent between
invocation and it may be necessary to clear it during development or tests.
Options:
--help Show this message and exit.
Changement des logos apparaissant sur les documents
Note: après migration, vos logos de ScoDoc 7 sont installés dans ScoDoc 9.
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, placer vos logos (fichiers images JPEG ou PNG) dans le répertoire
/opt/scodoc-data/config/logos
avec les noms logo_header.jpg
(habituellement le logo de votre composante)
et logo_footer.jpg
(habituellement le logo de votre université ou école).
On peut fournir des logos par département en créant des sous-répertoires
/opt/scodoc-data/config/logos/logo_<dept>/
pour y placer les fichiers images logo_header.jpg
et logo_footer.jpg
.
Enfin, redémarrez ScoDoc après avoir vidé les caches:
flask clear-cache
sudo systemctl restart scodoc9
Utilisation via le Web
- Connectez-vous au site:
https://votre.site.fr/
Vous allez voir la page d'accueil de ScoDoc, vous permettant de choisir le département où travailler.
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.