Blog Alphorm Logo de blog informatique spécialisé en technologie et solutions IT
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Exercice Python : Application Gestion de DVD avec SQLite
Agrandisseur de policeAa
Blog AlphormBlog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Search
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Suivez-nous
© Alphorm 2024 - Tous droits réservés
Développement

Exercice Python : Application Gestion de DVD avec SQLite

L'Équipe Alphorm Par L'Équipe Alphorm 18 janvier 2025
Partager
17e lecture en min
Partager
Cet article fait partie du guide Tuto Python Gratuit : Apprenez les Bases et Réalisez des Projets Pratiques, partie 24 sur 23.

Gérer manuellement une collection de DVD peut rapidement devenir fastidieux, notamment quand les données ne sont pas bien organisées.

Sans une solution adéquate, vous risquez de perdre du temps à chercher des informations et à gérer les erreurs de saisie, ce qui complique la gestion des collections au quotidien.

Cet exercice vous propose de créer une application en Python avec SQLite pour automatiser la gestion des DVD, rendant l’organisation plus simple et efficace.

Table de matière
Exercice pratique : Création d'une application de gestion de DVD avec SQLiteCorrection suggérée dans un exercice en Python : Développer un programme de gestion de DVDDévelopper la classe DVDManagerconclusion

Exercice pratique : Création d'une application de gestion de DVD avec SQLite

Dans cet exercice, nous allons implémenter une application en Python pour gérer une collection de DVD. L’objectif est de permettre à l’utilisateur d’ajouter, de lister et de supprimer des DVD à partir d’une base de données SQLite.

Fonctionnalités d'une gestion de DVD dans un exercice en Python

Le programme doit offrir les fonctionnalités suivantes :

Différentes fonctionnalités du programme Python pour la gestion de DVD.
  • Ajouter des DVD : permettre à l’utilisateur de renseigner les détails d’un DVD (titre, réalisateur, année) et de les stocker dans la base de données.
  • Lister les DVD : afficher la liste complète des DVD présents dans la base de données.
  • Supprimer des DVD : offrir la possibilité de supprimer un DVD de la base de données.

Les classes à utiliser dans un exercice en Python

Pour répondre aux exigences de cet exercice, le programme utilisera deux classes principales : DVD et DVDManager.

  • La classe DVD :

La classe DVD représente un DVD individuel dans la collection. Elle encapsule les détails d’un DVD et possède les attributs suivants :

  • titre : le titre du DVD (type : chaîne de caractères),
  • réalisateur : le réalisateur du DVD (type : chaîne de caractères),
  • année : l’année de sortie du DVD (type : entier).
Par défaut, si __str__() n’est pas définie, l’affichage d’un objet renvoie une représentation technique peu lisible comme . En redéfinissant cette méthode dans une classe, tu peux personnaliser cette représentation pour la rendre plus claire et informative.

La classe définit également une méthode spéciale __str__(), qui permet de formater les informations du DVD sous forme de chaîne de caractères dans le format suivant :

  • La classe DVDManager :

La classe DVDManager représente le gestionnaire de la collection de DVD. Elle est chargée de toutes les opérations de gestion de la collection via la base de données SQLite.

La classe DVDManager doit disposer de plusieurs méthodes essentielles pour gérer la collection de DVD. Ces méthodes permettront d’effectuer les différentes actions du menu principal, comme l’affichage, l’ajout, la suppression de DVD, ainsi que la fermeture du programme. Voici les méthodes que la classe doit inclure, chacune jouant un rôle spécifique dans la gestion de la collection.

Méthodes de la classe DVDManager pour gérer les DVD dans une base de données SQLite.
  • __init__() : Le constructeur de la classe, qui crée une connexion à la base de données SQLite en utilisant le fichier collection.db. Si la table DVD n’existe pas, elle est créée automatiquement.
  • create_table() : Cette méthode crée la table DVD dans la base de données si elle n’existe pas déjà. La structure de la table inclut un identifiant unique (id), un titre, un réalisateur, et une année.
  • ajouter_dvd(dvd) : Cette méthode ajoute un DVD à la base de données. Elle prend en paramètre un objet DVD et insère ses attributs (titre, réalisateur, année) dans la table DVD.
  • lister_dvd() : Cette méthode affiche la liste complète des DVD enregistrés dans la base de données. Elle utilise la méthode __str__() de la classe DVD pour formater les informations avant de les afficher.
  • supprimer_dvd(id) : Cette méthode permet de supprimer un DVD de la base de données en utilisant son identifiant unique (id).
  • fermer_connexion() : Cette méthode ferme la connexion active à la base de données, assurant ainsi que toutes les modifications sont correctement enregistrées.

Formation Python : Se former à la persistance des données

Exploitez la persistance des données en python

Découvrir cette formation
image d'un joueur de cybersport avec un ordinateur dans un environnement technologique

Menu principal du programme de gestion de DVD

Dans ce programme de gestion de collection de DVD, il est essentiel d’offrir à l’utilisateur une interface intuitive pour interagir facilement avec les données stockées. Pour cela, un menu principal doit être mis en place, permettant d’effectuer plusieurs actions courantes liées à la gestion des DVD.

Le menu principal propose plusieurs options qui couvrent les opérations de base de gestion de la collection. Les options sont les suivantes :

Options du menu principal du programme de gestion de DVD développé en Python.
  • Afficher la liste des DVD
    Cette option permet à l’utilisateur de consulter l’intégralité des DVD présents dans la collection. Lorsque cette option est sélectionnée, le programme doit afficher la liste détaillée des DVD avec toutes les informations pertinentes comme le titre, l’année de sortie, le genre, etc. Cela permet à l’utilisateur de vérifier rapidement les éléments qu’il possède dans sa collection.
  • Ajouter un DVD
    Lorsqu’un nouvel élément doit être ajouté à la collection, l’utilisateur sélectionne cette option. Le programme invite alors l’utilisateur à entrer les informations nécessaires (titre du film, réalisateur, année de sortie, etc.) pour créer un nouvel enregistrement dans la collection. Une fois l’opération validée, le DVD est stocké dans le système.
  • Supprimer un DVD
    Si un DVD doit être retiré de la collection, l’utilisateur peut sélectionner cette option. Le programme demandera alors de spécifier quel DVD doit être supprimé en se basant sur une information unique comme le titre ou un identifiant spécifique. Une fois confirmé, le DVD est retiré définitivement de la liste.
  • Quitter le programme
    Pour fermer le programme, l’utilisateur peut sélectionner cette option. Le programme sauvegarde alors les modifications éventuelles dans la collection et se termine proprement. Cela garantit que toutes les modifications effectuées sont bien enregistrées avant la fermeture.

Vue générale du programme de gestion DVD dans un exercice en Python

Pour vous donner une idée plus précise du comportement attendu du programme, voici une capture d’écran montrant le résultat après son exécution. Cette capture illustre comment le menu principal est affiché, ainsi que l’ajout, l’affichage et la suppression de DVD dans la collection. En suivant ces étapes, votre programme devrait offrir une expérience fluide et interactive à l’utilisateur, lui permettant de gérer facilement sa collection de DVD.

Résultat attendu après avoir exécuté le programme Python de gestion de DVD.

Python

Maîtrisez Python et transformez vos idées en projets concrets !

Découvrir cette formation
Guide complet Python pour développeurs et informaticiens 2024

Correction suggérée dans un exercice en Python : Développer un programme de gestion de DVD

Pour résoudre cet exercice, nous allons diviser notre solution en plusieurs étapes logiques. Nous commencerons par la création des classes nécessaires, puis nous implémenterons les méthodes pour manipuler les DVD via une base de données SQLite, et enfin, nous allons créer un menu interactif pour permettre à l’utilisateur d’interagir avec notre programme.

Développer la classe DVD

La classe DVD représente chaque DVD individuel dans la collection. Elle contient les informations essentielles sur un DVD, telles que son titre, le réalisateur et l’année de production. La méthode __str__ est également définie pour fournir une représentation textuelle du DVD, qui sera utile lors de l’affichage de la liste des DVD.

				
					class DVD:
    def __init__(self, titre, realisateur, annee):
        self.titre = titre
        self.realisateur = realisateur
        self.annee = annee
    def __str__(self):
        return f"{self.titre} ({self.annee}) réalisé par {self.realisateur}"
				
			

Cette classe est simple et efficace, elle permet de créer des objets DVD avec trois attributs : le titre, le réalisateur, et l’année. La méthode __str__ facilite l’affichage formaté d’un DVD.

Développer la classe DVDManager dans un exercice en Python

La classe DVDManager est responsable de gérer l’ensemble des DVD à l’aide d’une base de données SQLite. Elle permet d’ajouter, de lister et de supprimer des DVD dans la base de données, ainsi que de gérer la connexion à la base de données.

Voici le code de la classe DVDManager :

				
					import sqlite3
from Dvd import DVD
class DVDManager:
  def __init__(self):
        self.conn = sqlite3.connect('collection.db')
        self.create_table()
    def create_table(self):
        request = '''CREATE TABLE IF NOT EXISTS dvd
        (id INTEGER PRIMARY KEY AUTOINCREMENT,
        titre TEXT,
        realisateur TEXT,
        annee INTEGER);'''
        self.conn.execute(request)
        self.conn.commit
    def ajouter_dvd(self, dvd):
         request = "INSERT INTO dvd (titre, annee, realisateur) VALUES ('{0}','{1}','{2}')".format(dvd.titre, dvd.annee, dvd.realisateur)
         self.conn.execute(request)
         self.conn.commit()
def lister_dvd(self):
        cursor = self.conn.execute("SELECT * FROM dvd")
        for row in cursor:
             dvd = DVD(row[1], row[2], row[3])
             print("ID = " + str(row[0]) + " " + str(dvd))
    def supprimer_dvd(self, id):
        request = "DELETE FROM dvd WHERE id = '{0}'".format(id)
        self.conn.execute(request)
        self.conn.commit()
    def fermer_connexion(self):
        self.conn.close()
				
			

Cette classe permet une gestion complète de la base de données, de la création de la table à la manipulation des DVD.

Développer la classe DVDManager

Le menu interactif permet à l’utilisateur de choisir une action à effectuer parmi les options suivantes : afficher la liste des DVD, ajouter un DVD, supprimer un DVD, ou quitter le programme. Les différentes fonctions sont reliées aux méthodes de la classe DVDManager. Voici le code du menu interactif :

				
					from Dvd_manager import DVDManager
from Dvd import DVD
manager = DVDManager()
def afficher_liste():
    manager.lister_dvd()
    print("")
def ajouter_dvd():
    print("")
    titre = input("Titre : ")
    annee = input("Annee : ")
    realisateur = input("Realisateur : ")
    dvd = DVD(titre,realisateur,annee)
    manager.ajouter_dvd(dvd)
def supprimer_dvd():
    id = input("ID du DVD à supprimer ? ")
    manager.supprimer_dvd(id)
while True:
    print("Gestion des DVD")
    print("1. Afficher la liste des DVD")
    print("2. Ajouter un DVD")
    print("3. Supprimer un DVD")
    print("4. Quitter")
    print("")
    reponse = input("Votre choix ? ")
    print("")
    if reponse== "1":
        afficher_liste()        
    elif reponse=="2":
       ajouter_dvd()
    elif reponse=="3":
        supprimer_dvd()
        pass
    elif reponse=="4":
       manager.fermer_connexion
       break
    else:
        print("Reponse invalide. Veuillez réessayer.")
				
			

Ce programme en boucle continue affiche le menu principal à l’utilisateur, capture ses choix et appelle la méthode correspondante. Lorsqu’il choisit de quitter, la connexion à la base de données est fermée.

En exécutant ce code, le programme utilise un dictionnaire Python pour mapper les choix du menu aux actions correspondantes, ce qui rend la logique plus claire et facile à maintenir. Le programme affiche un menu interactif permettant à l’utilisateur de choisir une action. Chaque choix mène à l’exécution de la fonction correspondante, que ce soit pour afficher la liste des DVD, ajouter un nouveau DVD, ou supprimer un DVD existant. Lorsque l’utilisateur choisit de quitter, la connexion à la base de données est fermée. Voici un exemple d’exécution complet :

Exemple d’interaction utilisateur avec le programme Python de gestion de DVD.

Formez-vous gratuitement avec Alphorm !

Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui. Découvrez des cours variés pour tous les niveaux !

Démarrer gratuitement
illustration processus de paiement en ligne avec étapes claires et convivialité

conclusion

Cet exercice en Python vous a permis de développer une application complète de gestion de DVD en utilisant SQLite. Vous avez appris à créer des classes pour structurer le programme, à manipuler une base de données pour stocker des informations, et à concevoir un menu interactif pour faciliter l’interaction utilisateur.

Ce projet pratique renforce vos compétences en programmation orientée objet et en gestion de données. En continuant avec des exercices similaires, vous pouvez consolider vos connaissances et être prêt à aborder des projets plus complexes en Python.

Cet article fait partie du guide Tuto Python Gratuit : Apprenez les Bases et Réalisez des Projets Pratiques, partie 24 sur 23.
< Sérialisation et Désérialisation Python : Guide Complet et Pratique

ÉTIQUETÉ : Python
Facebook
Twitter
LinkedIn
Email
WhatsApp
Par L'Équipe Alphorm
Démocratiser la Connaissance Informatique pour Tous !
Suivre :
L'Équipe Alphorm, c'est la démocratisation de la connaissance informatique. Passionnés et dévoués, nous sommes là pour vous guider vers le succès en rendant la technologie accessible à tous. Rejoignez notre aventure d'apprentissage et de partage. Avec nous, le savoir IT devient une ressource inspirante et ouverte à tous dans un monde numérique en constante évolution.

Derniers Articles

  • Techniques pour gérer les fichiers texte en C#
  • Créer et lire un fichier CSV avec C#
  • JSON : Comprendre et Utiliser Efficacement
  • Créer une Base SQLite dans C#
  • Lecture des données SQLite simplifiée
Blog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Exercice Python : Application Gestion de DVD avec SQLite

© Alphorm - Tous droits réservés