Bonjour,
Je cherche à créé une application pour mobile avec python et je voudrai savoir si cette opération était possible et si oui, comment la crée (lib à utiliser, fonctionnement de cette librairie...)
Version imprimable
Bonjour,
Je cherche à créé une application pour mobile avec python et je voudrai savoir si cette opération était possible et si oui, comment la crée (lib à utiliser, fonctionnement de cette librairie...)
Bonjour, réponse de Gemini :
Oui, il est possible de créer une application mobile avec Python. Les frameworks les plus populaires pour y parvenir sont Kivy et BeeWare.
1. Kivy
Kivy est une bibliothèque Python open-source qui permet de créer des applications multi-plateformes. Elle est particulièrement efficace pour les interfaces utilisateur basées sur des gestes.
Fonctionnement
Kivy utilise une approche différente de celle des frameworks mobiles natifs. Il ne convertit pas le code Python en code natif pour chaque plateforme. Au lieu de cela, Kivy est un cadre de travail qui s'exécute sur le système d'exploitation mobile, ce qui permet à l'application Python de s'y exécuter directement.
Installation et utilisation
Pour commencer, vous pouvez l'installer avec pip:
Bash
Kivy utilise son propre langage de conception d'interface utilisateur appelé KV language pour séparer l'interface du code logique de l'application.Code:pip install kivy
Voici un exemple de code Python et de fichier KV simple :
Fichier main.py
Python
Fichier mykivy.kvCode:
1
2
3
4
5
6
7
8
9
10 import kivy from kivy.app import App from kivy.uix.label import Label class MyKivyApp(App): def build(self): return Label(text='Bonjour le monde !') if __name__ == '__main__': MyKivyApp().run()
Extrait de code
AvantagesCode:
1
2
3<MyKivyApp>: Label: text: 'Bonjour le monde !'
Multi-plateforme : un seul code pour Android, iOS, Windows, macOS et Linux.
Interface tactile : spécialement conçu pour les écrans tactiles.
Complet : offre de nombreux widgets et outils intégrés.
2. BeeWare
BeeWare est un ensemble d'outils et de bibliothèques qui a pour objectif de rendre le développement d'applications natives en Python aussi simple que possible.
Fonctionnement
Contrairement à Kivy, BeeWare utilise une approche différente : il traduit le code Python en code natif. Par exemple, pour une application Android, il génère un projet Android Studio, et pour iOS, un projet Xcode. Cela permet d'avoir une application qui se comporte et se présente comme une application native, en utilisant les widgets et les composants de l'interface utilisateur du système.
Installation et utilisation
L'installation de BeeWare se fait via pip:
Bash
BeeWare propose un outil de ligne de commande appelé Briefcase pour gérer la création, la compilation et l'exécution des projets sur les différentes plateformes.Code:pip install beeware
Un exemple de projet BeeWare :
Python
iAvantagesCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 mport toga def button_handler(widget): print("Bouton cliqué !") def build(app): box = toga.Box() button = toga.Button('Cliquez-moi !', on_press=button_handler) box.add(button) return box def main(): return toga.App('Mon App', 'com.exemple.monapp', startup=build) if __name__ == '__main__': main().main_loop()
Interface native : les applications ont l'apparence et le comportement des applications natives de la plateforme.
Accès aux fonctionnalités natives : il est facile d'accéder aux fonctionnalités du téléphone comme la caméra, le GPS ou les contacts.
Écosystème Python : vous pouvez utiliser la plupart des bibliothèques Python existantes.
J'ai préféré demander à une IA plutôt que de vous laisser poireauter indéfiniment sans avoir de réponse. Les devs Python qui développent sur mobile, ça ne doit pas courir les rues... Ni les champs.
Quant au fonctionnement de la librairie, à vous de mettre les mains dans le cambouis, consulter la doc, faire des essais, voir ce qui se passe car je ne pense pas que quiconque ici ne le fera à votre place.
Ce n'est pas le genre de la maison :D
bonjour
existe aussi fletFramework basé sur flutter donc multi plateformes (A voir si il n'est pas meilleur d'utiliser flutter directement ;) évidemment, mais au revoir python )
quelques ressources /exemples sont faciles a trouver (mais pas de communauté ?)
https://flet.dev/docs/publish/android
https://github.com/topics/flet
...
Le choix kivy / autre peut aussi se faire entre la richesse des "widgets" exemple vs autre?, en fonction de l'app que l'on désire, un framework peut-être d'office exclu.
pour kivy, nous avons MPython Alaplancha qui cours dans nos champs ;)
le blog