Skip to content

development

Guts edited this page Jul 9, 2019 · 16 revisions

Développement

Environnement

Prérequis

  • Windows 10+ (principalement pour le packaging en exécutable)
  • clés d'API Isogeo (application de groupe) avec des métadonnées partagées
  • Python 3.6+

L'usage de Visual Studio Code facilite la vie : tâches, extensions recommandées, paramètres, etc.

Installation

# create virtual env
py -3 -m venv .venv_tests
# enter into
.\.venv_tests\Scripts\activate
# upgrade install tooling
python -m pip install --upgrade pip
python -m pip install --upgrade setuptools wheel
# install requirements
python -m pip install -U -r .\requirements.txt
python -m pip install -U -r .\requirements_dev.txt

Avec pipenv :

# upgrade install tooling
python -m pip install --upgrade pip pipenv
# create virtual env and install requirements
python -m pipenv install --dev
# enter it
python -m pipenv shell

Interfaces Qt

Lancer la tâche VSC Build and Package.

# check main program is working
python -OO .\IsogeoToOffice.py

Si les commandes PyQt ne fonctionnent pas, ajuster les réglages du projet.


Structure du code

Dossier i18n

Contient les fichiers d'internationalisation de l'application. Ils sont générés à partir du code source (*.py et *.ui), selon le fichier de définition isogeo2office.pro.

Les textes sont en anglais (US) par défaut et à traduire en français a minima.

Générer les fichiers à traduire

pylupdate5 -noobsolete -verbose .\isogeo2office.pro

Si la configuration du projet dans VSC est correcte, un clic-droit suffit :

Générer les traductions

Traduire

Ouvrir le fichier de traduction (*.ts) dans Qt Linguist (ou simplement dans un éditeur de texte). Si la configuration du projet dans VSC est correcte, un clic-droit suffit :

Editer les traductions dans Qt Linguist

Ou en ligne de commande :

linguist .\i18n\IsogeoToOffice_fr.ts

Compiler les traductions

lrelease .\i18n\IsogeoToOffice_fr.ts

Dossier modules

Contient les différents sous-modules utilisés dans le projet :

  • les modules Python
  • les modules de l'interface graphique

Editer l'interface

Ouvrir le fichier d'interface (*.ui) dans Qt Designer. Si la configuration du projet dans VSC est correcte, un clic-droit suffit :

Editer les interfaces dans Qt Designer

Ou en ligne de commande :

designer .\modules\ui\credits\ui_credits.ui

Dossier resources

Contient les éléments graphiques utilisés dans l'interface graphique. Dans ce projet, on peut associer resource = image. Ils sont répertoriés dans le fichier resources.qrc à la racine du dépôt et doivent être compilés pour être correctement affichés.

Gérer les images

Editer le fichier resources.qrc soit dans Qt Designer, soit manuellement dans un éditeur de texte.

Compiler les images

Les images sont compilées dans un fichier Python unique à l'aide de rcc :

pyrcc5 ".\resources.qrc" -o ".\resources_rc.py"

Si la configuration du projet dans VSC est correcte, un clic-droit suffit :

Compiler les ressources (images)


Dossier tests

Contient les tests fonctionnels unitaires, d'intégration et leurs dépendances.

Voir Tests.


Outils

Visual Studio Code

Si le projet peut être développé avec n'importe quel IDE, l'utilisation de Visual Studio Code est recommandée de façon à pouvoir tirer parti de certaines configurations spécifiques incluses dans le dépôt.

Extensions

Les extensions facilitant le développement sont listées dans le fichier .vscode/extensions.json et une invite graphique propose de les installer automatiquement.

Tâches

Le dépôt vient avec des tâches pré-configurées qui permettent d'automatiser les routines :

  • build package
  • compile UI
  • test

Voir la doc officielle sur les tâches dans Visual Studio Code.