Chapitre 8 : Modularité et API.

Introduction :

La modularité en programmation consiste à diviser un programme en petites parties indépendantes, appelées modules, qui peuvent être développées, testées et réutilisées séparément.

Cela permet de rendre le code plus clair, plus facile à maintenir et à adapter aux changements.

1. Exercice : (sujet 14 - 2025) Lancer de dés et recherche de paires de 6

Dans cet exercice, les tableaux sont représentés par des listes Python (list).

Écrire en Python deux fonctions :

  • lancer(n) de paramètre n, un entier positif, qui renvoie une liste de n entiers obtenus aléatoirement entre 1 et 6 (inclus).
  • paire_6(tab) de paramètre tab, une liste d’entiers entre 1 et 6, qui renvoie True si le nombre de 6 est supérieur ou égal à 2, et False sinon.

On utilisera la fonction randint(a,b) du module random qui renvoie un entier aléatoire N tel que a ≤ N ≤ b.

Exemples :

>>> lancer1 = lancer(5)
>>> lancer1
[5, 6, 6, 2, 2]
>>> paire_6(lancer1)
True

>>> lancer3 = lancer(3)
>>> lancer3
[2, 2, 6]
>>> paire_6(lancer3)
False

>>> lancer4 = lancer(0)
[]
>>> paire_6(lancer4)
False
import random def lancer(n): """Renvoie une liste de n entiers aléatoires entre 1 et 6 inclus.""" ... def paire_6(tab): """Renvoie True si le tableau contient au moins deux fois la valeur 6.""" ... # exemples de test print(lancer(5)) print(paire_6([5,6,6,2,2])) print(paire_6([2,2,6])) print(paire_6([]))

Tests :

Affichage :

Console:


    
>>>

2. Importation de ses modules

A copier dans le cahier.

Dans Python, nous pouvons construire nos propres bibliothèques et les importer.

3. Exemple

A copier dans le cahier.

Si nous possédons un fichier mon_programme.py contenant la classe ArbreBinaire, nous pouvons dans un autre fichier utiliser cette classe à l'aide import mon_programme.

Nous pouvons ensuite l'utiliser avec par exemple arbre=mon_programme.ArbreBinaire("coucou").

4. Exercice

  1. Mettre dans un unique fichier que l'on nommera structures.py les classes :

    • File avec :

      • Aucun attribut publique.
      • les méthodes :
        • __init__(self)
        • enfiler(self, data)
        • defiler(self)
        • est_vide(self)
    • Pile avec :

      • Aucun attribut publique
      • les méthodes :
        • __init__(self)
        • empiler(self, data)
        • depiler(self)
        • est_vide(self)
    • ArbreBinaire avec :

      • les attributs:
        • valeur qui est donné en argument à l'initialisation de l'objet.
        • gauche qui est associé à un None à l'initialisation.
        • gauche qui est associé à un None à l'initialisation.
      • les méthodes :
        • __init__(self,v)
        • ajout_gauche(self,data)
        • ajout_droit(self,data)
        • supprimer_gauche(self)
        • supprimer_droit(self)
  2. Créer dans un second fichier une pile, une file et un arbre après avoir importé le module structures .

5. Les API :

À copier dans le cahier.

Une API (Application Programming Interface) est un ensemble de règles permettant à des programmes de communiquer entre eux. Elle est essentielle pour échanger des données et partager des fonctionnalités entre différentes applications.

6. Rôle et fonctionnement des API

Les API permettent de :

Fonctionnement :

7. Exemple d'utilisation d'une API

Voici un exemple de requête Python à une API :

import requests

url = "https://api.example.com/data"
response = requests.get(url)

if response.status_code == 200:
    print(response.json())
else:
    print("Erreur :", response.status_code)

8. Avantages des API

Les API permettent :

9. Les limites des API

Malgré leurs avantages, les API peuvent être limitées par :

10. Projet API et LLM

Voir la section "projets".