Interface de programmation Python

Thème 0: Python les bases

Ai-je les bases 😉

Pourquoi Python ?

Un langage puissant et polyvalent

Python a de nombreux domaines d’application, contrairement à HTML ou JavaScript qui ne servent qu’au développement web. 

Avec Python, on peut :

  • créer et administrer un site Web
  • développer des logiciels et des applications, aussi bien pour ordinateur que pour téléphone
  • automatiser des scripts systèmes et des interactions ordinateur – navigateur Web.

Aujourd’hui, Python 3 est devenu un langage très populaire.
Par exemple, si tu as utilisé une calculatrice Casio ou Texas
Instrument au lycée, tes calculs ont été exécutés grâce à Python 3 .

Si Python est utilisable dans autant de domaines, c’est grâce à la richesse de ses bibliothèques (ou « librairies » en anglais).

 

  • Pandas, qui permet de manipuler et d’analyser des tables de données à la manière d’un « Excel sous stéroïdes ».
  • NumPy, qui permet d’effectuer des calculs scientifiques (en particulier statistiques et probabilistiques).
  • Scikit-Learn et Tensorflow, qui aident au développement de modèles de Machine Learning et de Deep Learning ou même de modèles de prédiction (Ex : SARIMAX).
  • Scrapy et BeautifulSoup, qui permettent d’extraire des données directement depuis le Web (ce qu’on appelle le « scraping »).
  • Seaborn et Matplotlib, qui aident à la visualisation de données, en proposant notamment des outils de construction de graphiques.

 

Thème 1: Histoire de l'informatique

Cette rubrique transversale se décline dans chacune des sept autres.
Comme toute connaissance scientifique et technique, les concepts de l’informatique ont une
histoire et ont été forgés par des personnes. Les algorithmes sont présents dès l’Antiquité,
les machines à calculer apparaissent progressivement au XVIIe siècle, les sciences de
l’information sont fondées au XIXe siècle, mais c’est en 1936 qu’apparaît le concept de
machine universelle, capable d’exécuter tous les algorithmes, et que les notions de machine,
algorithme, langage et information sont pensées comme un tout cohérent. Les premiers
ordinateurs ont été construits en 1948 et leur puissance a ensuite évolué exponentiellement.
Parallèlement, les ordinateurs se sont diversifiés dans leur taille, leur forme et leur emploi :
téléphones, tablettes, montres connectées, ordinateurs personnels, serveurs, fermes de
calcul, méga-ordinateurs. Le réseau internet, développé depuis 1969, relie aujourd’hui
ordinateurs et objets connectés.

Thème 2 : Représentation des données : types et valeurs de base

Toute machine informatique manipule une représentation des données dont l’unité minimale
est le bit 0/1, ce qui permet d’unifier logique et calcul. Les données de base sont
représentées selon un codage dépendant de leur nature : entiers, flottants, caractères et
chaînes de caractères. Le codage conditionne la taille des différentes valeurs en mémoire.

Thème 3 : Représentation des données : types construits

Les types de bases , booléens, nombres, chaînes, s’avèrent insuffisants pour traiter des problèmes où l’on affaire à des collections de données, comme par exemple des mesures de température collectées à intervalles réguliers ou des données telles que des annuaire, un catalogue de produis, un emploi du temps, etc …

Il nous faut donc des types structuré de python aussi appelés types construits ou collections pour manipuler des données complexes.

Thème 4 : Traitement de données en tables

Une des utilisations principales de l’informatique de nos jours est le traitement de quantités importantes de données dans des domaines très variés :

un site de commerce en ligne peut avoir à gérer des bases données pour des dizaines de milliers d’articles en vente, de clients, de commandes ;
un hôpital doit pouvoir accéder efficacement à tous les détails de traitements de ses patients ;
etc …

Mais si les logiciels de gestion de base de données (SGDB) sont des programmes hautement spécialisés pour effectuer ce genre de tâches le plus efficacement et sûrement possible, il est facile de mettre en œuvre les opérations de base dans un langage de programmation comme Python.

Thème 5 : Interactions entre l'homme et la machine sur le web

Lors de la navigation sur le Web, les internautes interagissent avec leur machine par le biais
des pages Web.
L’Interface Homme-Machine (IHM) repose sur la gestion d’événements associés à des
éléments graphiques munis de méthodes algorithmiques.

Thème 6: Architecture matérielles et systèmes d'exploitation

C’est dans les années 40 qu’une équipe ce chercheurs de l’université de Pennsylvanie ont établi les bases des principes de fonctionnement des ordinateurs que nous connaissons aujourd’hui. Leur idée était de stocker dans une zone de stockage unique les programmes et les données. Cette architecture est appelée modèle de von Neumann.

Exprimer un algorithme dans un langage de programmation a pour but de le rendre exécutable par une machine dans un contexte donné.

Les circuits électroniques sont au cœur de toutes les machines informatiques. Les réseaux permettent de transmettre l’information entre machines. Les systèmes d’exploitation gèrent
et optimisent l’ensemble des fonctions de la machine, de l’exécution des programmes aux entrées-sorties et à la gestion d’énergie.

On étudie aussi le rôle des capteurs et actionneurs dans les entrées-sorties clavier, interfaces graphiques et tactiles, dispositifs de mesure physique, commandes de machines, etc…

Thème 7 : Langages et programmation

il s’agit de montrer qu’il existe de nombreux langages de programmation, différents par leur style (impératif, fonctionnel, objet, logique, événementiel, etc.), ainsi que des langages formalisés de description ou de requêtes qui ne sont pas des langages de programmation.

Thème 8 : Algorithmique

Alan Turing a montré que pour que les machines puissent résoudre des problèmes, il fallait traduire ces problèmes en algorithmes. Dans ce chapitre, nous allons voir quels sont les ingrédients de base d’un algorithme, puis comment les écrire en Python.