01 Langage
- Appel de fonctions aspects avancés : *args, **argk
- Lambda, filter et map
- Utilisation avancée des modèles de données : list, dic, stack, queue
- Utilisation avancée des fonctions : passages d'arguments
- Aspects avancés de la Programmation Orientée Objets (POO)
02 Programmation multithread
- Concepts de bases : programme, thread, synchronisation
- Gestion de threads : modules thread, threading
- Threads et la Programmation Orientée Objets
- Gestion des aspects concurrentiels : lock, mutex, sémaphores...
- Threads et échanges de données
- Notion de pool de threads
03 Programmation réseau avec les sockets
- Rappels sur le TCP/IP et concepts de base de l'API socket
- Utilisation du module socket
- Socket en mode connecté : TCP ou stream
- Socket en mode non connecté : UDP ou datagram
- Les sockets et la Programmation Orientée Objets
- Combinaison des sockets et des threads
04 Python et XML
- Concepts de base
- DOM (Document Object Model)
- Création d'un programme de lecture d'un flux de données de taille importante via SAX (Simple API for XML)
- Parser...
- Gestion de fichiers XML selon SAX et selon DOM
- Requêtage Xpath et transformation avec XSL
05 Programmation graphique
- Différentes API : Tkinter, wxPython, Qt/UI API
- Tkinter : présentation et mise en œuvre
- Présentation et mise en œuvre
- API wxPython
- API Qt/UI
- Ecriture d'un programme utilisant Qt/UI d'échange utilisateur avec l'interface graphique
06 Persistance de données
- Concepts de base : sérialisation / désérialisation
- Différents modèles de persistance : Pickle...
- Persistance texte avec JSON et XML
07 Les bases de données
- Concepts de base : SQL, NoSQL, tables, curseur
- Création d'une base avec les modules Gadfly
- Gestion de la base de données SQLite et MySQL
- Mise au point de requêtes de lecture, insertion, mise à jour depuis Python
08 Développement Web avec Django
- Architecture d'applications Web et les concepts de bases
- Présentation du Framework MVC Django
- Installation et configuration minimale de Django
- Modèle de l'application Django et publication
- Eléments de MVC : vue, modèle et échanges HTTP
- Echanges HTTP et formulaires
- Bases de données, modèle et ORM
09 Intégration Python/C et Python/Java
- Présentation générale et mise en œuvre de SWIG
- Python/C et les packages
Natifs C
Natifs Java
10 Mise au point de programme
- Débogage : exécution pas à pas
- Modes : verbose et trace
- Analyse des performances et profiling