Semaine 3 - Jour 4 - 420-SN1

LIBRAIRIES
GRAPHIQUES PYTHON

Six univers pour donner une forme visible a ton code

Python ne sert pas qu'aux calculs

Tout ce qu'on a fait jusqu'ici tournait dans la console. Mais Python peut aussi dessiner, animer, ouvrir des fenetres et meme faire des jeux 3D.

On ne reecrit jamais tout cela soi-meme : on installe une librairie (du code deja ecrit par d'autres) et on l'importe.

Il existe une librairie specialisee pour chaque besoin. Voici les six grandes familles.

  • 1. Visualisation de donnees
  • 2. Graphisme 2D et images
  • 3. Jeux et graphisme 3D
  • 4. Interfaces graphiques (GUI)
  • 5. Rendu temps reel et GPU
  • 6. Animation et video
UNIVERS 1

Visualisation de donnees

A quoi ca sert
  • Matplotlib - la reference des graphiques (on l'a vue !)
  • Seaborn - graphiques statistiques elegants, en une ligne
  • Plotly - graphiques interactifs pour le web
  • Bokeh - tableaux de bord dynamiques
  • Altair - on decrit le graphique, il le dessine
import matplotlib.pyplot as plt plt.plot([1, 4, 9, 16]) plt.show()

Transformer des nombres en image : courbes, barres, nuages de points. C'est le pont direct avec ce qu'on a fait au jour des graphiques.

UNIVERS 2

Graphisme 2D et images

A quoi ca sert
  • Pillow (PIL) - ouvrir, recadrer, filtrer une image
  • Cairo - dessin vectoriel net (SVG, PNG, PDF)
  • PyQtGraph - graphisme rapide et interactif
  • Aggdraw - un meilleur rendu pour Pillow
from PIL import Image photo = Image.open("lune.png") petite = photo.resize((200, 200)) petite.save("lune-mini.png")

Manipuler des images comme des donnees : redimensionner mille photos, appliquer un filtre, generer des vignettes automatiquement.

UNIVERS 3

Jeux et graphisme 3D

A quoi ca sert
  • Pygame - le classique pour les jeux 2D
  • Arcade - plus moderne, oriente objet
  • Panda3D - moteur 3D (a l'origine de Disney)
  • Ursina - jeux 3D simplifies au maximum
  • Ogre3D - rendu 3D puissant
import pygame pygame.init() ecran = pygame.display.set_mode((640, 480)) # ... la boucle de jeu ...

Une boucle qui tourne 60 fois par seconde : on dessine, on bouge, on recommence. Le meme esprit que le jardin de turtle, en plus puissant.

UNIVERS 4

Interfaces graphiques (GUI)

A quoi ca sert
  • Tkinter - deja inclus dans Python, ideal pour debuter
  • PyQt / PySide - interfaces riches et professionnelles
  • Kivy - applications tactiles multi-plateformes
  • wxPython - apparence native sur chaque systeme
  • Dear PyGui - tres rapide, accelere par le GPU
import tkinter as tk fenetre = tk.Tk() tk.Label(fenetre, text="Bonjour !").pack() fenetre.mainloop()

Sortir de la console : de vraies fenetres avec des boutons, des champs et des menus. tkinter est deja installe avec Python.

UNIVERS 5

Rendu temps reel et GPU

A quoi ca sert
  • PyOpenGL - acces standard au rendu 3D bas niveau
  • ModernGL - OpenGL simplifie et performant
  • Vispy - visualisation scientifique acceleree
  • Panda3D - aussi optimise pour le temps reel

Quand il faut afficher des millions de points fluidement, on confie le calcul a la carte graphique (GPU), concue exactement pour ca.

UNIVERS 6

Animation et video

A quoi ca sert
  • Manim - animations mathematiques (3Blue1Brown)
  • OpenCV - traitement d'images et video en direct
  • MoviePy - monter et editer des videos en code
  • Imageio - lire et ecrire images et GIF
import cv2 video = cv2.VideoCapture(0) # la camera ok, image = video.read() cv2.imwrite("capture.png", image)

Faire bouger les images : les belles animations de maths que tu as deja vues sur YouTube sont faites avec Manim, en Python.

Je veux faire... j'utilise...

Mon objectifLa familleUn bon depart
Tracer un graphique de donneesVisualisationmatplotlib
Retoucher des imagesGraphisme 2DPillow
Faire un petit jeuJeux et 3Dpygame
Une fenetre avec des boutonsGUItkinter
Animer des mathsAnimationmanim
Lire une video / la cameraAnimationOpenCV

La regle d'or : on ne choisit pas une librairie pour elle-meme, mais pour la tache. On part toujours de ce qu'on veut obtenir.

Comment on installe tout ca ?

# Dans un terminal (Python local) pip install pillow # Dans une cellule Colab : le point d'exclamation !pip install pillow

pip est le magasin d'applications de Python : une commande, et la librairie est telechargee.

Beaucoup de librairies (matplotlib, Pillow, OpenCV...) sont deja installees dans Colab : on a juste a les importer.

Pour les details d'installation, voir l'En savoir plus Installer Python du jour.

A TOI DE JOUER !

En savoir plus : code.experimentations.xyz/en-savoir-plus/installer-python/
Autres langages : code.experimentations.xyz/en-savoir-plus/langages-et-technologies/
Six univers, une seule porte d'entree : import
⤺ Refermer le diaporama