Configuration
Note
Lors du premier démarrage de physnoob, le programme ouvre une fenêtre de
configuration et propose des réglages de base. Si rien n’est modifié, le
programme va tenter de cloner le répertoire
bitbucket.org:jdufour/physdb_dev.git dans ~/physdb_dev. Cette base de donnée
est celle utilisée pour le développement du code et permet de se faire une
petite idée des fonctionnalités de physnoob.
La configuration de phystool se fait en deux étapes distinctes. La première
consiste à configurer le programme lui-même et à lui indiquer où trouver les
différentes bases de données. La deuxième étape est la configuration
individuelle de chaque base de donnée. En effet, chaque base de donnée possède
ses propres paramètres. Il doit ainsi exister un fichier de configuration
général et autant de fichiers spécifiques qu’il existe de base de donnée. Ces
fichiers sont au format INI.
… du programme
La configuration principale est placée dans ~/.phystool/phystool.conf. Lors
du démarrage, si phystool ne trouve pas ce fichier, une fenêtre de
configuration s’ouvre et propose des réglages par défaut. Cette fenêtre est
accessible en tout temps depuis physnoob mais il est aussi possible
d’éditer manuellement les fichiers de configuration.
1 [general]
2 db = physdb_dev
3 editor = kile
4 delta = dark
5 icon = True
6 desktop = True
7
8 [db=physdb_dev]
9 path = ~/physdb_dev
10 repo = git@bitbucket.org:jdufour/physdb_dev.git
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 noms différents.
Réglages généraux
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 à 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 seuls urxvt -e vim, foot nvim, gedit et kile ont é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'
iconSi coché, place l’icône de phystool dans le répertoire
~/.local/share/icons/hicolor/scalable/desktopSi coché, place un fichier
Physnoob.desktopdans le répertoire~/.local/share/applications
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éer une nouvelle section dont le titre est
db=nom_de_la_base. Ainsi, dans l’exemple proposé, la base de donnée s’appelle
physdb_dev. Cette section contient deux 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. Si le répertoire référencé ci-dessus n’existe pas où qu’il est vide, phystool tente de cloner le répertoire viagit clone. Si cette opération automatique ne fonctionne pas, il faut initialiser manuellement ce répertoire.
… des bases de données
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 [phystool]
2 auto_latex = physauto_dev
3
4 [pdb-type=exercise]
5 pattern = ^\\begin{exercise}{(.*)}
6
7 [pdb-type=theory]
8 pattern = ^\\begin{theory}(?:\[(.*)\])?
9
10 [pdb-type=qcm]
11 pattern = ^\\QCM{[^}]*?}
12
13 [pdb-type=figure]
14 pattern = ^\\documentclass.*{phystikz_dev}
15 standalone = true
Paramètres de la base de donnée
auto_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 puisse les compiler avec la classe \(\LaTeX\) définie parauto_latex.