29/04/2025
38mn
Comprendre et créer des context managers
Introduction pratique aux context managers Python à partir de l’exemple classique d’ouverture de fichiers, puis mise en place pas à pas de ses propres context managers.
28/01/2025
1h0mn
Session de mentorat TOSA
Session de mentorat TOSA.
31/10/2024
2h40mn
Algorithmes de tri (live coding)
Les algorithmes de tri sont des méthodes pour ranger dans l'ordre des listes de valeurs mélangées.
Ils ont un rôle très important dans de nombreux algorithmes, et les optimiser est un problème majeur de l'informatique.
Apprendre à implémenter ces algorithmes est un excellent exercice, car cela permet à la fois d'apprendre à manipuler des listes et de comprendre de nombreux concepts de base en algorithmique.
Je vous propose donc un live coding dans lequel j'expliquerai en détail plusieurs algorithmes de tri, ainsi que la manière de les coder en python.
21/10/2024
47mn
Session de mentorat TOSA
Pour cette session nous allons parler de la récursivité et des dataclasses.
07/10/2024
46mn
Session de mentorat TOSA
Nous allons revenir sur des exercices qui sont tombés au TOSA
10/09/2024
2h6mn
Live coding avec Alex Traveylan
Passons à la pratique en codant ensemble et en direct une application de budget familial
Au sommaire :
- Codage depuis le départ d’une api django qui permet de gérer la logique d’une application de gestion de budget dans un foyer.
- Création de l’application django et settings.
- Créations des models.
- Créations des vues pour contrôler ces models.
- Test des vues avec pytest.
- Si le temps le permet, mise en production avec pythonanywhere.
- S’il reste du temps, mais j’en doute, mise en place d’un front pour consommer l’api.
07/09/2024
1h38mn
Live coding jeu de la vie
Nous avons déjà parlé du jeu de la vie pendant l'événement : [Le fascinant jeu de la vie](https://discord.com/channels/396825382009044994/1244547016449851423).
C'est une simulation informatique qui possède des propriétés intéressantes.
Je vous propose un live coding : comment coder le jeu de la vie en python !
05/09/2024
1h6mn
Session de mentorat TOSA
Dans cette session nous allons revenir sur différents modules : csv, json, collections, sys, urllib. Nous verrons également comment réaliser l'exercice TOSA parmi les plus difficile qui nécessite de déterminer les relations de parenté dans un graphe
31/07/2024
1h53mn
Wildroyale : Jeu 2d multijoueur sur navigateur
Comment communiquer entre le client et le serveur
Les websockets de base
L'optimisation des messages envoyés en binaires (+ envoyer seulement les coordonnées/updates des joueurs dans le FOV, création d'un schéma de donné spécifique..) afin d'avoir des messages plus petits
gérer la synchronisation client - serveur pour éviter un changement de position pendant une frame
L'utilisation de l'interpolation qui permet d'avoir des mouvements fluides même avec une mauvaise connexion, (et permet aussi l'utilisation d'uint16 dans les updates de positions au lieu de floats)
L'optimisation des collisions et toute sorte d'interaction entre entités du coté serveur
27/06/2024
2h3mn
Le fascinant jeu de la vie
Le jeu de la vie est une simulation informatique aux règles très simples, mais qui montre des comportements incroyablement complexes.
Je vais vous présenter les figures étonnantes que l'on peut construire dans ce jeu "zéro joueurs".
Nous parlerons d'automates cellulaires, un concept entre informatique et mathématiques, et qui possède une diversité d'applications impressionnante.
Live coding prévu sur le sujet dans 1 mois.
13/06/2024
56mn
Le cryptojacking
Le cryptojacking : ou comment vos appareils sont utilisés pour miner des cryptomonnaies.
17/05/2024
1h36mn
Session de mentorat TOSA + Premium
Dans cette session, nous allons parler d'optimisation, notamment lors de l'utilisation d'itérables.
11/05/2024
1h37mn
Mentorat TOSA
Format JSON et le module JSON, structures de données itérables, module collections.
09/05/2024
1h27mn
Présentation sur la cybersécurité
Introduction à la cybersécurité.
18/04/2024
1h17mn
Mentorat TOSA
Retour sur les évalutions TOSA, révision des notions fondamentales de Python.
30/11/2023
1h53mn
Session de mentorat
Dernière session de novembre : on va en profiter pour passer en revue les projets du mois terminés, notamment celui de Gabriel qui nous fera une présentation de son projet.
J'en profiterai pour faire une correction en live du projet pour vous montrer les points à améliorer.
Venez nombreux poser vos questions à Gabriel concernant la réalisation de A à Z d'un projet d'envergure comme celui-ci !
28/09/2023
1h14mn
Générer des bons de commande avec Python
Exercices de création de bon de commandes .txt depuis un fichier excel. On verra du coup entres autres:
- manipulation excel avec pandas
- création de fichiers et utilisation de regex
- optimisation avec du multi threading
31/08/2023
2h11mn
Session de mentorat
Exploration de l'API de Queryset de Django :
- Introduction aux Querysets
- Récupération d'éléments
- Tri et limitation de Querysets
- Relations et Lookup complexes
- Utilisation des objets Q
- Agrégation et Annotations
- Optimisation des performances
- Mise à jour de plusieurs objets
- Problèmes de performance N+1
- select_related et prefetch_related
Liens vers les différentes branches du dépôt Git avec les sources :
- [Opérations de base](https://github.com/DocstringFr/django-querysets/tree/basic-operations)
- [Opérations avancées](https://github.com/DocstringFr/django-querysets/tree/advanced-operations)
- [Optimisations et performances](https://github.com/DocstringFr/django-querysets/tree/query-optimizations)
29/06/2023
1h19mn
Déploiement Django Docker et astuces Python
Dans cette session de mentorat, Pierre-André discute avec les étudiants de divers sujets :
- Déploiement d'une application avec **Docker sur Proxmox**.
- Comment déployer des services **Docker avec Portainer**.
- **Résolution d'exercices d'algorithmie** avec Python.
- Comment utiliser **le modulo** pour vérifier les multiples d'un nombre.
23/03/2023
1h0mn
Automatiser résumés Word et labyrinthe en Python
Découvrez comment manipuler des fichiers Word en Python, préparer des appels à l’API ChatGPT pour les résumer et modéliser un labyrinthe avec des arbres.
02/03/2023
1h1mn
Camel Case, chaînes et front Streamlit
1. Revue d'une question d'un étudiant sur l'ex de Camel Case
2. Revue des vitesses d'algo
3. Mise ne place du frontend en streamlit pour une api
23/02/2023
1h0mn
Générateurs Python, LaTeX et complexité
Découvrez les générateurs avec yield, une librairie LaTeX en Python et les bases de la complexité O(n) tout en évoquant un workflow de déploiement avec Git.
17/12/2022
1h40mn
Déboguer une connexion et structurer son code
Présentation en live de la résolution d'un bug sur la connexion de Docstring. On va voir également la différence entre isnumeric et isdigit, la fonction dir ainsi que quelques erreurs faites avec les modules. On corrigera le projet de librairie de Lionel et on va voir comment intégrer Bootstrap pour le front-end. On verra également comment résoudre un problème avec le bot Discord en lisant la documentation et le "changelog". Pour finir, on discute de Tailwind et je montre en live comment j'aborde la résolution d'un problème de code.
08/12/2022
1h0mn
Structurer son code et optimiser les données
- Organisation de son code lorsqu'on a beaucoup de données d'entrées
- Utilisation des set. Un peu comme des listes mais permet les opérations Booléennes (union , intersection)
- Un moyen pour optimiser le temps de chargement d'un gros dictionnaire ou dataframe dans un projet qui dure plusieurs jours
24/11/2022
1h0mn
Bien distinguer terminal et interpréteur Python
- Rappel sur le terminal et l’interpreteur
- Approfondissement d'une question de et cas pratique de passage d'argument optionnels avec args et tri d'un dico
- Création de l'illusion d'un graphique animé en créant un gif en utilisant python uniquement bien sûr
- On verra ensuite, si on est pas au bout et que vous n'avez pas de questions j'évoquerai la mesure de complexité d'un algorithme avec la "Big O" notation. ça peut paraitre complexe mais vous verrez c'est simple
17/11/2022
1h40mn
Debug Python, héritage et complexité
- dictionary setdefault exercice avec debug
- classe et heritage (exemple avec modélisation sol)
- algorithmie et big 0 notation
- du fun avec turtle
28/06/2022
1h22mn
Récursivité et tests unitaires en Python
Plongez dans une correction d’exercice en Python pour comprendre la récursivité, les tests unitaires et les bases de la qualité de code de façon accessible.
06/06/2022
1h11mn
Refactoring Python : bases et bonnes pratiques
Dans cette session, on va aborder le concept de refactoring : qu'est-ce que c'est, quelles sont les bonnes pratiques, pourquoi et quand refactorer du code ?
<a href="https://www.notion.so/docstring/6-juin-2022-742504ca6e124af69601cab1718c47bf" class="link" target="_blank">Notes de la session <i class="fad fa-external-link"></i></a>
07/05/2022
1h1mn
Mesurer les performances Python et exploiter GitHub
Dans cette session, on a vu comment mesurer les performances d'un script Python avec le module timeit. On a également parlé des différentes librairies existantes (ressource, profile et cProfile...).
On a également parlé de la différence entre git, github et git bash, et pour finir on a vu un aperçu de Github Copilot et de la façon dont il peut aider à écrire du code plus rapidement.