Modularité des programmes

information-icon

Les premières épreuves du bac 2024 sont pour bientôt ! Consulte notre dossier sur le contrôle continu et le calcul des notes de ton bac pour maximiser ta préparation pour les révisions à ton examen 💪

Bibliothèques logicielles

  • Le découpage des programmes en composants ou modules logiciels favorise leur maintenance et leur réutilisation dans différents contextes.
  • Les bibliothèques logicielles sont des modules logiciels préexistants qui permettent d’étendre les fonctionnalités natives.
  • La bibliothèque standard de Python peut aussi être complétée par des modules supplémentaires externes.
  • Le module externe nommé « Requests » notamment est très apprécié des développeur·se·s Python.
  • L'aide en ligne de cette bibliothèque est consultable à cette adresse.
  • L’aide intégrée de Request propose deux exemples de code, illustrant des fonctionnalités du module, construits avec les deux requêtes HTTP les plus courantes : GET et POST.
  • Pour consulter l'aide applicable à GET, on utilisera la commande help(requests.get). On obtient :

Python modularité programmation NSI IDE Aide contextuelle relative à la méthode get()

  • La consultation de de l'aide contextuelle nous apprend que nous pouvons facilement requérir des ressources du web à partir de leur URL.
  • Les fonctions help() et dir() permettent de se documenter sur le contenu et le fonctionnement des bibliothèques.
  • Les développeur·se·s peuvent non seulement utiliser les modules existants, mais aussi créer leurs propres modules logiciels.
  • Dans le cours, nous l’illustrons avec un exemple simple : la création d’un module dédié aux conversions de températures entre les degrés Celsius et Fahrenheit.
  • Une fois créé, nous pouvons importer ce module dans nos programmes, et ainsi accéder à l'ensemble des fonctionnalités qu'il propose.
  • Sur la console, passer les commandes suivantes :
    import sys
    sys.path.insert(index,r."/path/to/your/packageormodule")
  • Une fois notre module intégré, nous pouvons en importer et en utiliser les fonctions en quelques lignes de code.
  • Le fait d'avoir renseigné notre module et ses fonctions avec des docstrings (« """ ») permet à Python de proposer l'aide correspondante avec les fonctions natives de l'aide système.
  • Nous obtenons l'affichage suivant :

Python NSI modularité programmation

Accès aux API web

  • Une API est une interface de programmation applicative.
  • On désigne par « API web » une API fournie par un serveur web.
  • Ce type d’API expose ses données via des points d'accès (dont les URL sont mentionnés dans la documentation de l’API) qu'il est possible de consulter par le biais de requêtes HTTP.
  • Les réponses sont généralement proposées au format JSON ou parfois en XML.
  • Les interactions avec les API web reposent sur l'emploi de verbes HTTP : principalement GET, éventuellement complété par POST, PUT et DELETE.
  • Les API web respectent généralement le modèle REST, basé sur des paires de requêtes et de réponses totalement indépendantes les unes des autres, en conformité avec la logique du protocole HTTP.
  • Les API web possèdent des modalités d'accès variables caractérisées selon plusieurs critères :
  • coût ;
  • utilisateur·rices·s ;
  • mode d'accès ;
  • utilisation avec ou sans limitation ;
  • réutilisation, avec ou sans restriction d'exploitation des données.
  • L'accès aux données du web sous forme d'API n'est guère plus compliqué que l'accès à des données stockées dans un fichier local.