Aller au contenu

Tutoriel 1 - Votre première application

Nous sommes prêts à créer notre première application.

Installer les outils BeeWare

Tout d'abord, nous devons installer Briefcase. Briefcase est un outil BeeWare qui peut être utilisé pour empaqueter votre application afin de la distribuer aux utilisateurs finaux – mais il peut également être utilisé pour démarrer un nouveau projet. Assurez-vous d'être dans le répertoire beeware-tutorial que vous avez créé lors du Tutorial 0, avec l'environnement virtuel beeware-venv activé, et exécutez :

(beeware-venv) $ python -m pip install briefcase
(beeware-venv) $ python -m pip install briefcase

Erreurs possibles lors de l'installation

Si vous rencontrez des erreurs lors de l'installation, c'est très certainement parce que certaines des exigences du système n'ont pas été installées. Assurez-vous d'avoir installé tous les prérequis de la plate-forme.

(beeware-venv) C:\...>python -m pip install briefcase

Erreurs possibles lors de l'installation

Il est important que vous utilisiez python -m pip, plutôt qu'un simple pip. Briefcase doit s'assurer qu'il a une version à jour de pip et de setuptools, et une simple utilisation de pip ne peut pas se mettre à jour d'elle-même. Si vous voulez en savoir plus, Brett Cannon a publié un billet de blog détaillé sur ce sujet.

Créer un nouveau projet

Commençons notre premier projet BeeWare ! Nous allons utiliser la commande new du Briefcase pour créer une application appelée Hello World. Exécutez la commande suivante à partir de votre invite de commande :

(beeware-venv) $ briefcase new
(beeware-venv) $ briefcase new
(beeware-venv) C:\...>briefcase new

Briefcase nous demandera quelques détails sur notre nouvelle application. Pour les besoins de ce tutoriel, nous utiliserons les éléments suivants :

  • Formal Name (Nom formel) – Acceptez la valeur par défaut : Hello World.
  • App Name (Nom de l'application) - Acceptez la valeur par défaut : helloworld.
  • Bundle - Si vous possédez votre propre domaine, entrez ce domaine en ordre inverse. (Par exemple, si vous possédez le domaine "cupcakes.com", entrez com.cupcakes comme bundle). Si vous ne possédez pas votre propre domaine, acceptez le bundle par défaut (com.example).
  • Project Name (Nom du projet) - Acceptez la valeur par défaut : Hello World.
  • Description - Acceptez la valeur par défaut (ou, si vous voulez être vraiment créatif, trouvez votre propre description !)
  • ** Author** (Auteur) - Entrez votre propre nom ici.
  • Author's email (adresse email) - Entrez votre propre adresse email. Elle sera utilisée dans le fichier de configuration, dans le texte d'aide, et partout où un email est requis lors de la soumission de l'application à un app store (magasin d'applications).
  • URL - L'URL de la page d'accueil de votre application. Encore une fois, si vous possédez votre propre domaine, entrez une URL sur ce domaine (y compris le https://). Sinon, acceptez l'URL par défaut (https://example.com/helloworld). Cette URL n'a pas besoin d'exister (pour l'instant) ; elle ne sera utilisée que si vous publiez votre application dans un magasin d'applications.
  • License (Licence) - Acceptez la licence par défaut (BSD). Cela n'affecte en rien le fonctionnement du tutoriel, donc si vous avez des opinions fortes à ce sujet, n'hésitez pas à en choisir une autre.
  • GUI framework (framework d'interface utilisateur graphique) - Acceptez l'option par défaut, Toga (la boîte à outils GUI de BeeWare).

Briefcase va alors générer un squelette de projet que vous pourrez utiliser. Si vous avez suivi ce tutoriel jusqu'ici, et accepté les paramètres par défaut tels que décrits, votre système de fichiers devrait ressembler à quelque chose comme ceci :

beeware-tutorial/
├── beeware-venv/
│   └── ...
└── helloworld/
    ├── CHANGELOG
    ├── LICENSE
    ├── pyproject.toml
    ├── README.rst
    ├── src/
    │   └── helloworld/
    │       ├── app.py
    │       ├── __init__.py
    │       ├── __main__.py
    │       └── resources/
    │           └── README
    └── tests/
        ├── helloworld.py
        ├── __init__.py
        └── test_app.py

Ce squelette est en fait une application pleinement fonctionnelle, sans avoir rien à ajouter d'autre. Le dossier src contient tout le code de l'application, le dossier tests contient une suite de tests initiale, et le fichier pyproject.toml décrit comment empaqueter l'application pour la distribuer. Si vous ouvrez pyproject.toml dans un éditeur, vous verrez les détails de la configuration que vous venez de fournir à Briefcase.

Maintenant que nous avons une ébauche d'application, nous pouvons utiliser Briefcase pour l'exécuter.

Exécuter l'application en mode développeur

Entrez dans le répertoire du projet helloworld et faites démarrer le projet en mode développeur (ou dev) par briefcase :

(beeware-venv) $ cd helloworld
(beeware-venv) $ briefcase dev

[helloworld] Activating dev environment...
...
Creating virtual environment (dev.cpython-313-darwin)... done

[hello-world] Installing requirements...
...

[helloworld] Starting in dev mode...
===========================================================================
(beeware-venv) $ cd helloworld
(beeware-venv) $ briefcase dev

[helloworld] Activating dev environment...
...
Creating virtual environment (dev.cpython-313-x86_64-linux-gnu)... done

[hello-world] Installing requirements...
...

[helloworld] Starting in dev mode...
===========================================================================
(beeware-venv) C:\...>cd helloworld
(beeware-venv) C:\...>briefcase dev

[helloworld] Activating dev environment...
...
Creating virtual environment (dev.cp313-win_amd64)... done

[hello-world] Installing requirements...
...

[helloworld] Starting in dev mode...
===========================================================================

Cela devrait ouvrir une fenêtre GUI :

Hello World Tutorial 1 fenêtre, sur macOS

Hello World Tutorial 1 fenêtre, sur Linux

Erreurs possibles lors de l'exécution de « briefcase dev »

Si vous obtenez une erreur lorsque vous exécutez briefcase dev, c'est presque certainement parce que certaines des configurations système requises n'ont pas été installées. Assurez-vous d'avoir installé tous les prérequis de la plateforme ; le message d'erreur que vous recevez devrait vous indiquer quels paquets manquent.

Hello World Tutorial 1 window, sur Windows

Exigences non valides ou connexion impossible

Si vous rencontrez l'erreur :

Unable to install requirements. This may be because one of your
requirements is invalid, or because pip was unable to connect
to the PyPI server.

Confirmez que vous utilisez une version de python prise en charge par ce tutoriel.

Si votre version de python n'est pas une version supportée, vous devrez redémarrer le tutoriel.

Fermez l'application - soit en appuyant sur le bouton de fermeture de la fenêtre de l'application, soit en sélectionnant Quit/Exit dans le menu de l'application, soit en tapant Ctrl+C dans le terminal où vous avez exécuté briefcase dev - et vous avez terminé ! Félicitations - vous venez d'écrire une application native autonome en Python !

Étapes suivantes

Nous avons maintenant une application fonctionnelle, s'exécutant en mode développeur. Nous pouvons maintenant ajouter notre propre logique pour que notre application fasse quelque chose d'un peu plus intéressant. Dans Tutoriel 2, nous allons ajouter à notre application une interface utilisateur plus utile.