Application Python : gestion des comptes

Table des matières

Introduction

Base de données

Réceptionner les informations

Interface graphique

Conclusion

Introduction 

Comme Python est un langage orienté objet il nous donne la possibilité de l’utiliser pour diverses finalités. Cependant, il est possible de faire avec Python du développement web, de créer des applications de bureau, de créer des jeux, de faire du calcul scientifique et numérique, etc.

Afin de créer une application de gestion des comptes avec Python, nous allons avoir besoin d’un conteneur dans lequel les informations relatives à la personne détenant un compte vont être stockées et cela d’une manière structurée. Ca va être la base de données où le nom et prénom de la personne, son nom d’utilisateur (login), le mot de passe, la position et la date vont être stockées. Ensuite notre application va avoir une interface graphique (GUI : Graphical User Interface).

Le principe du programme en lui-même est simple. Il contient des curseurs permettant l’ajout, la suppression, la mise à jour, la recherche et l’affichage des listes de comptes d’une personne.

Base de données 

Concernant la base de données, on s’intéressera aux Systèmes de Gestion de Base de Données Relationnelles (SGBDR) où les données sont liées les unes aux autres pour garantir la cohérence de celles-ci.

Le tableau ci-dessous résume les SGBDR les plus connus :

NOM

DESCRIPTION

MYSQL

Serveur de base de données relationnelle, distribué sous une double licence GPL et propriétaire. MySQL est très utilisé et est particulièrement connu à travers les quatuors : WAMP (Windows, Apache, MySQL, PHP), LAMP (Linux) et MAMP (Mac). C’est un logiciel qui a une architecture client/serveur, c’est-à-dire que plusieurs clients peuvent se connecter sur un seul serveur qui héberge les données.

POSTGRESQL

Système de gestion de base de données relationnelle et objet (SGBDRO) libre disponible sous une licence BSD. Utilisé pour les grands projets qui demandent plus d’une dizaine de téraoctets.

SQLITE

Moteur de base de données relationnel accessible par le langage SQL et est écrit en langage C. Contrairement aux deux SGBD ci-dessus il ne reproduit pas l’architecture client/serveur mais il est intégré directement aux programmes.

ORACLE

Système de gestion de base de données relationnelle fourni par Oracle Corporation sous licence propriétaire.

Il est important de savoir que le choix du SGBD à utiliser dépend directement du besoin.

Réceptionner les informations 

Pour réceptionner la saisie de l’utilisateur on pense naturellement à la fonction input(). Quand on fait appel à celle-ci le programme est interrompu et l’utilisateur est invité à entrer des caractères au clavier en terminant avec  pour poursuivre l’exécution du programme.

Mais si on veut réceptionner un mot de passe, allons-nous utiliser la fonction input() ?

La réponse à cette question est tout simplement non. La fonction input() n’est pas assez discrète pour faire entrer un mot de passe confidentiel.

Alors ici intervient le module getpass qui fournit un moyen certain de traiter les invites de mot de passe lorsque le programme interagit avec l’utilisateur via le terminal. Ce module a deux fonctions :

  • ·getpass() : cette fonction, qui porte le même nom que le module, affiche une demande de mot de passe sans renvoyer d’écho, sa syntaxe est la suivante :
  • ·getuser() : cette fonction affiche le nom d’utilisateur, c’est-à-dire le login. Elle vérifie les variables d’environnement suivantes : LOGNAMEUSER,LNAME et USERNAME dans cet ordre et renvoie la valeur de la première chaîne non vide. Sa syntaxe :

Il est à savoir qu’avant utilisation d’une des deux fonctions précédemment citées il faut importer le module getpass.

Interface graphique 

Une interface graphique ou environnement graphique est un dispositif de dialogue homme-machine, permettant d’afficher les commandes d’un logiciel comme les menus, les boutons, etc. sans avoir à saisir des lignes de commandes.

Python offre différentes options pour le développement des interfaces graphiques. Certes, le module le plus utilisé jusqu’à présent est Tkinter (TK interface) ainsi qu’il est le seul cadre qui est intégré dans la bibliothèque standard de Python, c’est-à-dire il est présent lors de l’installation du langage. 

A travers une simple commande on peut importer ce module :

Hormis le fait que le module Tkinter soit le plus simple et le plus utilisé, il existe son alternative wxPython qui est une implémentation de l’interface de programmation wxWidgets, un framework multiplate-forme écrit en C++.

WxPython essaie de garantir la simplicité et la lecture facile du code Python avec une interface de programmation accomplie. wxPython  est multiplate-forme.

Avant de pouvoir utiliser ce module il faut installer la version adéquate à celle de Python que vous avez.

Jython (python pour java) est un interprète Python écrit en Java et qui permet de compiler du code Python en bytecode Java c’est-à-dire des instructions exécutables par une MVJ (Machine Virtuelle Java). Il permet aussi d’hériter des classes Java par des classes Python et d’exécuter du code Python dans un programme Java (scripting).

Jython reste aussi une option pour créer des interfaces graphiques, mais demande des connaissances en Java afin de pouvoir comprendre facilement la logique du code.

Conclusion

Il existe plusieurs technologies à utiliser afin d’interroger une base de données et de créer une interface graphique. Ce choix dépend du besoin de l’utilisateur ainsi que son degré de familiarité avec ces technologies. On vous propose un exemple d’application de bureau en Python qui permet la gestion de compte.

Télécharger le code source de l'application

Article publié le 23 Octobre 2020par Imane BENHMIDOU