08/05/2025
55mn
Session de mentorat Django
Dans cette session, nous allons aborder l'utilisation de pytest dans le cadre d'un projet Django.
30/04/2025
57mn
Workflow Django moderne avec GitHub
Session dédiée à Django. Je vais vous montrer ma façon de faire sur les projets :
- git + GitHub
- Kanban intégré à GitHub, chaque card peut être transformée en branche
- Dès que la fonctionnalité est terminé (fonctionnalité + tests !), on fera une pull request
- On fera un petit de pytest (très simplement). Mais on peut se prévoir une prochaine session full pytest.
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/11/2024
52mn
Session de mentorat TOSA : POO - tests - api
Une session où l'on va créer une liste de course POO avec uniquement des EANS.
On aura une méthode capable de récupérer les informations sur le produit via une API. Pour ce faire, on va utiliser la "composition".
Nous allons mettre en place des tests basiques avec Unittest (librairie standard), et un mock pour l'appel l'api.
26/09/2024
1h1mn
TDD en Python
Nous mettrons en place l'approche TDD
21/09/2024
1h51mn
Session TOSA sur les décorateurs
Tout savoir sur les mécanismes liés aux décorateurs.
19/09/2024
1h15mn
TDD en Python
Nous mettrons en place l'approche TDD
13/09/2024
50mn
Session de mentorat TOSA
Dans cette session on aborde principalement le concept de générateurs et d'itérateurs. On voit également l'utilisation des décorateurs dans un contexte Python pur et Django. Pour finir, on passe en revue la différence entre extend et append sur les listes et quelques particularités des compréhensions de liste imbriquées.
11/09/2024
1h21mn
Mentorat sur les tests unitaires et le principe de "mock"
Cette session de mentorat Python et Django avancé sur les tests couvre des concepts clés tels que l'utilisation des mocks pour simuler des objets ou des comportements dans les tests. Elle se concentre sur la création de tests plus robustes et maintenables, en améliorant l'efficacité et la modularité des tests dans les applications Python et Django.
04/07/2024
54mn
Comprendre isdigit et la logique algorithmique
Recréez pas à pas la fonction isDigit et travaillez votre logique algorithmique en Python, du parcours de chaîne à la compréhension du problème.
07/06/2024
54mn
Du tri de chaînes à la POO
Exercices en live (ordonner strings, classes POO, refactoriser classe POO, __init__)
23/05/2024
1h0mn
Introduction outil no-code : CODA
Introduction à l'outil no-code CODA.
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 !
23/11/2023
1h20mn
Générer et héberger une documentation Sphinx
Présentation de sphinx, module qui permet de créer de la documentation pour votre projet. On va voir également comment héberger cette documentation sur Read the Docs.
25/10/2023
1h25mn
Git, GitHub et déploiement serein
Session pour discuter du projet du mois (Marketplace d'échange de vêtements) : venez avec le code que vous avez jusqu'à présent pour qu'on en discute.
On parlera également de comment aborder un projet de cette envergure et des éléments importants à intégrer comme les tests unitaires.
Comment planifier ses modèles, son code et surtout comment ne pas **trop** planifier et passer à l'action sans redouter le syndrome de la page blanche.
06/07/2023
1h22mn
Automatiser ses workflows vidéo avec les APIs
Dans cette session, on va voir comment sauvegarder et partager des morceaux de code (snippets) avec gists. On verra également comment manipuler ces snippets avec les dictionnaires. Pour finir, on verra ensemble comment créer un système d'authentification robuste pour une app Streamlit avec Django et Django Rest Framework (DRF).
06/04/2023
1h31mn
Comprendre UNIX, PyCharm et documentation Python
- Explications autour du système d'exploitation UNIX (liens symboliques).
- Explication des environnements virtuels sur PyCharm et les erreurs potentielles avec un système Linux.
- Comment lire une documentation : cas de figure de la documentation officielle de Python, pourquoi je ne la recommande pas, et quelles documentations privilégier.
- Question de Gabriel par rapport aux chemins d'URL dans Django.
- Question sur les conditions générales d'utilisations d'un thème Bootstrap dans le cadre d'un contrat freelance.
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.
11/02/2023
1h9mn
Composants réutilisables avec les templates Django
Passage en revue des différentes façons de créer des composants avec Django, en utilisant des techniques comme include ou les templates tags :
- Création du projet Django sur PyCharm
- Inclure un template avec "include"
- Explications sur le refactoring de PyCharm
- Erreur de récursivité avec include
- Envoyer des arguments avec with
- Créer un "simple tag" (register.simple_tag)
- Créer un nombre aléatoire pour recharger le CSS
- Créer un filtre personnalisé (register.filter)
- Utiliser le contexte avec takes_context
- Inclure un template avec les inclusion_tag
- Les limitations du inclusion_tag
La documentation de Django sur la création de balises et filtres personnalisés :
https://docs.djangoproject.com/fr/4.1/howto/custom-template-tags/
26/01/2023
1h50mn
Session de mentorat
- Les scratch files dans PyCharm
- Les objets avec Python
- Introspection avec dir et méthodes "dunder"
- À quoi sert l'orienté objet ?
- Comment se souvenir de ce qu'on apprend ?
- Nom des classes toujours au singulier ?
- Exemple avec une classe "Room"
- Créer des attributs dans __init__ ou en dehors ?
- Une classe par fichier ? Convention ?
- Correction / amélioration script POO de Gabriel
- Les propriétés
19/01/2023
1h0mn
Choisir son IDE Python et ses outils
Sujets abordés :
- Différence entre Kivy, TKinter et PySide
- Quel éditeur entre PyCharm et VS Code ?
- Environnements virtuels et IPython
- Nomenclature pour un environnement virtuel
- Inspecter le code source dans VS Code
- Les décorateurs
12/01/2023
1h15mn
Compréhensions Python, mémoire et classes
- Revue questions
- Comment s'organiser et apprendre efficacement ?
- Listes et dictionnaires en compréhension + un mot sur comment le programme gère les espaces mémoires pour les listes et les numpy arrays
- Éviter les boucles imbriqués avec products
- Les classes et la méthode __init__
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
11/07/2022
1h45mn
Revue de code d'une todolist Python
Découverte et analyse de plusieurs projets de todolist en Python, avec partage d'écran et retours concrets pour améliorer structure, lisibilité et fonctionnalités.
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>
08/04/2022
1h29mn
Organiser son code Python et ses projets
Retour sur le webinaire de Thierry (htmx, alpine.js)
Discussion autour de React & des framework Front-End
Se motiver via les projets et pourquoi ne pas écrire trop de code d'un coup
Bases de données (TinyDB, SQL, ORM)
Projets étudiants
Fichier ``__main__``
Savoir correctement découper et organiser son code
Le principe de "Locality of Behaviour"
Les conventions de nommage (PEP-8) et l'importance des types des données
Comment isoler un problème
Comment et pourquoi utiliser la POO
Utiliser le débogueur de PyCharm
Pourquoi utiliser un environnement virtuel ?
14/01/2022
1h3mn
Templates Django, encodage Python et POO
Présentation du langage de templating de Django avec les URLs
Discussion autour de l'encodage, ses problématiques sous Python 2 et ses avantages sous Python 3 (UTF-8...)
Correction / Refactoring d'un projet étudiant en Programmation Orientée Objet