Configuration
… de phystool et physnoob
Comme présenté précédemment, le fichier de configuration
~/.phystool/phystool.conf charge un exemple de base de donnée gérée par phystool.
Ce fichier contient une section general configurant phystool et au minimum une
section db=... indiquant où trouver la base de donnée. Pour gérer plusieurs bases de
données, il suffit de définir plusieurs sections db=... portant des nom différents.
1 [general]
2 db = tuto
3 editor = rxvt-unicode -e nvim
4 delta = dark
5
6 [db=tuto]
7 path = ~/tuto_db
8 repo = git@bitbucket.org:jdufour/physdb_dev.git
9 editable = true
Réglages de base
La section general a pour but de configurer le comportement de phystool et
physnoob. Il contient trois réglages:
dbLe nom de la base de donnée qui est ouvert au démarrage. Ce nom doit correspondre à une base de donnée existante.
editorLa commande a exécuter pour ouvrir les fichiers
.texdepuis phystool. La commande doit être une commande valide où le nom du fichier vient implicitement en dernière position.Note
Jusqu’à présent seul
rxvt-unicode -e vimetkileont été testé mais il n’existe a priori aucune limitation.deltaLa coloration syntaxique utilisée pour afficher les modifications suivies par
gitdans phystool et physnoob. Les options passées ici doivent être compatibles avec delta. Il existe deux préréglages équivalents à passer les options suivantes:light:--file-added-label '[+]' --file-copied-label '[C]' --file-decoration-style 'darkgoldenrod overline' --file-modified-label '[*]' --file-removed-label '[-]' --file-renamed-label '[→]' --file-style 'darkgoldenrod bold' --hunk-header-decoration-style 'none' --hunk-header-file-style 'darkgoldenrod' --hunk-header-line-number-style 'orange' --hunk-header-style 'file line-number purple' --light --line-numbers --line-numbers-left-format '{nm:>1}┊' --line-numbers-left-style 'darkgrey' --line-numbers-minus-style 'red' --line-numbers-plus-style 'green' --line-numbers-right-format '{np:>1}┊' --line-numbers-right-style 'orange' --line-numbers-zero-style 'darkgray' --minus-emph-style 'black tomato underline' --minus-empty-line-marker-style 'normal orangered' --minus-style 'syntax lightpink' --no-gitconfig --plus-emph-style 'black limegreen underline' --plus-empty-line-marker-style 'normal forestgreen' --plus-style 'syntax lightgreen' --side-by-side --syntax-theme 'Coldark-Cold' --whitespace-error-style 'black white' --width 200 --zero-style 'syntax'
dark:--dark --file-added-label '[+]' --file-copied-label '[C]' --file-decoration-style 'darkgoldenrod overline' --file-modified-label '[*]' --file-removed-label '[-]' --file-renamed-label '[→]' --file-style 'darkgoldenrod bold' --hunk-header-style 'syntax bold italic 237' --line-numbers --line-numbers-left-format '{nm:>1}┊' --line-numbers-left-style 'red' --line-numbers-minus-style 'red bold' --line-numbers-plus-style 'green bold' --line-numbers-right-format '{np:>1}┊' --line-numbers-right-style 'green' --line-numbers-zero-style '\"#545474\" italic' --minus-emph-style 'normal \"#80002a\"' --minus-style 'normal \"#5e0000\"' --no-gitconfig --plus-emph-style 'syntax bold \"#007e5e\"' --plus-style 'syntax \"#003500\"' --side-by-side --syntax-theme 'OneHalfDark' --whitespace-error-style '\"#80002a\" reverse' --width 200 --zero-style 'syntax'
Sélection des bases de données
phystool est capable de gérer plusieurs bases de données indépendantes. Ceci permet
notamment le partage de documents. Pour ajouter une nouvelle base de donnée, il suffit
de crée une nouvelle section dont le titre est db=nom_de_la_base. Ainsi, dans
l’exemple proposé, la base de donnée s’appelle “tuto”. Cette section contient trois
réglages:
pathLe chemin du répertoire contenant la base de donnée. Ce répertoire peut être placé n’importe où sur le disque et son contenu ne devrait en principe pas être modifié sans passer par les outils phystool.
repoLe répertoire distant
gitqui héberge la base de donnée.editable(default=false)Un boolean indiquant si l’utilisateur peut modifier le contenu du répertoire distant
git. Si l’utilisateur n’a pas les droits d’uploader dans le répertoire distantgit, ce champ doit êtrefalse.
… d’une base de donnée
Chaque base de donnée listée dans le fichier de configuration principal possède son
propre fichier de configuration. Ce fichier nommé 0_physdb.conf se situe dans le
répertoire principal de la base de donnée. Il a pour rôle de définir les propriétés de
la base de donnée ainsi que de définir les types de PDBFile qu’elle contient.
1 [general]
2 auto_latex = physauto_dev
3 private = true
4
5 [pdb-type=exercise]
6 pattern = ^\\begin{exercise}{(.*)}
7
8 [pdb-type=theory]
9 pattern = ^\\begin{theory}(?:\[(.*)\])?
10
11 [pdb-type=qcm]
12 pattern = ^\\QCM{[^}]*?}
13
14 [pdb-type=figure]
15 pattern = ^\\documentclass.*{phystikz_dev}
16 standalone = true
Important
Un utilisateur ne possédant pas le droit d’écriture dans le répertoire distant
git, ne doit jamais modifier ce fichier de configuration et cette base
de donnée doit être chargée avec editable=false.
Paramètres de la base de donnée
privateIndique si le répertoire
gitqui héberge la base de donnée est privé ou publique.Note
Ce champ, combiné avec le champ
editabledu fichier de configuration de phystool permet de gérer les permissions d’écriture dans la base de donnée et dans le répertoiregit.Note
Même si cela est techniquement possible, il n’est pas pertinent de combiner
private=trueeteditable=truesi l’on n’a pas les droits d’écrire dans le répertoiregit. En effet, si l’utilisateur n’a pas les droits d’écriture dans répertoiregitmais que ces deux réglages sonttrue, l’utilisateur peut modifier le contenu de la base de donnée mais ne peut pas uploader ses modifications.Cela dit, afin de faciliter la prise en main de phystool par un nouvel utilisateur, la base de donnée
tutoest privée et éditable par défault. L’utilisateur peut ainsi faire des tests et se familiariser avec le programme sans pouvoir modifier le répertoiregitauto_latexCe paramètre définit la classe \(\LaTeX\) à utiliser par phystool pour compiler automatiquement les différents
PDBFile.Important
Le contenu de cette classe \(\LaTeX\) est central au bon fonctionnement de phystool, il est vivement conseillé de prendre le temps de lire la documentation qui s’y rapporte.
Définition des types
patternCette regex permet à phystool de déterminer le type de
PDBFile. Si la regex contient un groupe capturé, alors le contenu de ce groupe déterminera le titre duPDBFile. Sinon, le titre est simplement leuuiddu fichier. Dans l’exemple donné, le titre de l’environnementexerciseest obligatoire alors qu’il est optionnel pourtheory. Les autresPDBFilen’ont pas de titre.standalone(default=false)Les
PDBFilequi n’héritent pas de\documentclass{standalone}et ne sont pas compilables individuellement. Ils doivent avoir être indiquéstandalone=trueafin que phystool les puisse les compiler avec la classe \(\LaTeX\) définie parauto_latex.