Formation PUB400 : Python, 2018 Opérations CRUD avec tkinter

10.8 Permettre différentes opérations à partir d'une liste d'enregistrements


Jusqu'ici, nous avons vu comment insérer, supprimer ou modifier un enregistrement. Chaque application n'effectuait qu'une seule tâche. Dans le cas de la suppression et de la modification, l'action était exécutée dès que l'usager cliquait sur un enregistrement à partir d'une liste affichée dans un TreeView.

Dans la réalité, les applications permettront généralement d'effectuer l'ensemble des opérations CRUD à partir d'une même liste d'enregistrements. Il faut donc utiliser une technique qui permettra à l'usager :

  • de sélectionner l'enregistrement sur lequel il désire travailler (sauf pour l'opération d'ajout)
  • puis de choisir l'opération à effectuer (ajouter, modifier ou supprimer).

Les techniques pour y parvenir sont nombreuses. Voici un exemple d'interface qui permet d'effectuer les opérations CRUD sur des données.

Interface CRUD

Le programme se chargera d'initialiser le widget Entry quand une ligne est cliquée dans le TreeView.

Il se chargera d'activer ou de désactiver les différents boutons et le Entry selon l'opération en cours.

Le même bouton Enregistrer pourra être utilisé lors de l'insertion de données et lors de la modification. Il faudra pour cela modifier l'association entre l'événement clic et la fonction à exécuter (ex : bouton_enregistrer.configure(command=enregistrer_modifications_click)).

Cette interface n'est qu'un exemple. À vous de développer votre application afin qu'elle fasse tout ce qu'elle doit faire et qu'elle le fasse bien.

Peu importe comment vous procéderez, vous devez vous assurer que votre application soit :

  • fonctionnelle : elle fait tout ce qu'elle doit faire et donne les résultats escomptés.
  • sécuritaire : elle limite les risques de piratage du système ou des données, par exemple en utilisant la technique avec des points d'interrogation lorsqu'une requête utilise des variables.
  • robuste : elle ne plante pas, peu importe les données entrées et les opérations effectuées. Par exemple, elle utilise les try...except alentour de chaque instruction qui interagit avec la base de données (connexion et requêtes) de même qu'alentour des instructions qui pourraient planter (ce sont souvent celles qui impliquent des informations fournies par l'usager).
  • conviviale : elle est agréable à utiliser. Par exemple, elle fait une bonne gestion de la touche Entrée, le point d'insertion est placé dans le Entry lorsqu'une saisie est activée, elle affiche des messages clairs (notamment avec une bonne gestion des try...except, un par requête).

 

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre