15/05/2025
50mn
Session de mentorat Django
Mise en place d'un GitHub Action.
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.
08/10/2024
1h23mn
Session "Office Hour" / Foire aux questions
Foire aux questions pour répondre à toutes vos questions sur Python, puis discussion sur la config de mes outils front-end pour Django.
02/10/2024
1h24mn
Son propre serveur a la maison (homelab) avec un Raspberry Pi
Nous allons voir ici quelques exemples de projets à réaliser avec son raspberry.
25/09/2024
1h10mn
Session sur les modules, paquets et imports
Discussions sur CookieCutter et la résolution d'un problème d'encodage avec Windows. Explications et discussions autour de django-components pour créer des composants dans un projet Django. Pour finir, présentation de la gestion des modules et du rôle important joué par les modules spéciaux `__init__.py` et `__main__.py`.
07/08/2024
1h56mn
Déployer son application Django
Nous allons voir pas à pas comment déployer une application web (en prenant l’exemple d’un projet django) dans un contexte de production.
Nous verrons au passage comment s’assurer de la robustesse et de la sécurité du service.
29/06/2024
49mn
Introduction à FastAPI
Session de mentorat et de support dans laquelle vous pouvez venir poser vos questions.
25/06/2024
55mn
Maîtriser les environnements virtuels Python
Environnements virtuels (venv), charger un projet open-source sans erreurs.
19/06/2024
49mn
Branches Git et héritage Python
Branches dans Git, extension Github VSCode, héritage en POO.
30/05/2024
1h25mn
Configurer VS Code pour python
Comment bien configurer VSCode pour Python (ouvert aux débutants).
24/04/2024
1h0mn
Introduction à la Programmation Orientée Objet (POO)
Introduction à la programmation orientée objet et ses concepts + mini-projet.
18/04/2024
1h17mn
Mentorat TOSA
Retour sur les évalutions TOSA, révision des notions fondamentales de Python.
18/04/2024
1h17mn
Python débutant, SSH et data science
Introduction pratique aux environnements Python, à la connexion SSH avec VS Code et à la manipulation de données avec pandas, NumPy et matplotlib.
11/04/2024
1h7mn
Déployer Django et dashboard Raspberry Pi
Déploiement d'un projet Django avec BDD postgres sous Docker avec l'aide de ChatGPT, projet avec Raspberry PI.
27/03/2024
1h40mn
Et si vous passiez sur Linux ?
Découvrons ensemble le monde merveilleux de Linux !
Est-ce fait pour vous ? Quelles différences avec Windows ? Quels sont les avantages / inconvénients ? Quelle distribution choisir ?
Nous ferons un tour du propriétaire tout en essayant de tordre le cou à certaines idées reçues qui subsistent.
15/03/2024
1h46mn
Initiation à Django pour débutant
### Introduction à Django
* Histoire et philosophie de Django
* Installation et configuration de l'environnement de développement
* Structure d'un projet
### Les bases de Django
* Vue d'ensemble de l'architecture MVT (Modèle-Vue-Template)
* Création d'un premier projet simple
### Voici les différents documents partagés durant la session :
* [https://docs.djangoproject.com/en/5.0/ref/class-based-views/generic-editing/](https://docs.djangoproject.com/en/5.0/ref/class-based-views/generic-editing/)
* [https://docs.djangoproject.com/en/5.0/ref/class-based-views/generic-display/](https://docs.djangoproject.com/en/5.0/ref/class-based-views/generic-display/)
14/03/2024
1h15mn
Imports Python, Docker et bases de données
- Une petite astuce avec pandas pour compter un nombre de dépassements.
- Déploiement avec portainer.
- Déploiement d'un serveur de base de données avec docker compose (et portainer).
- Quelques manipulations de base de données.
07/03/2024
50mn
Pourquoi choisir une architecture microservices au lieu d'une architecture monolithique ?
L'idée est de voir comment les deux types d'architecture diffèrent. Nous essayerons de comprendre l'intérêt des microservices qui permettent de gagner en flexibilité, d'évoluer plus facilement et mieux résister aux pannes.
### Voici les différents documents partagés durant la session :
- https://github.com/tdameros/42-transcendence
- https://42.shiftcode.fr/
- https://www.youtube.com/watch?v=3c-iBn73dDE&pp=ygUadGVjaHdvcmxkIHdpdGggbmFuYSBkb2NrZXI%3D
- https://threejs.org/
- https://www.youtube.com/c/TechWorldwithNana
08/02/2024
1h23mn
Déboguer efficacement Python avec PyCharm
Nous allons voir comment faire du débogage avec PyCharm (et un peu de VS Code).
- Comment mettre des points de debug.
- Comment lancer son script pour vérifier son exécution.
- Comment analyser son script pendant le debug.
25/01/2024
1h2mn
APIs client-serveur, GitHub et dataframes
- résolution de notre problème d'API post de la semaine dernière.
- Un point sur Github et manipulations
- Quelques manipulation de dataframe avec des re échantillonnage de dataframe et des fusions.
26/10/2023
1h24mn
Explorer une API Titanic avec Google Colab
- Tu as envie de coder directement depuis ton navigateur web sans installer python sur ton pc parce que tu es en voyage ou je ne sais pour quelle autre raison .... ?
Codons ensuite ensemble.
05/10/2023
1h20mn
Structurer un projet Django Wagtail
Découvre comment organiser un projet Django/Wagtail, améliorer une landing page et structurer ton dépôt GitHub pour un code plus propre.
03/10/2023
1h0mn
Installer Python et gérer vos environnements
On revoit les bases par rapport aux installations de Python sur Mac / Linux et Windows.
Petit aperçu des variables d'environnement sur Windows et Mac, des alias dans un shell (zshell et bash sur Mac, WSL et Git Bash sur Windows).
On parle également de la gestion de plusieurs versions de Windows sur une même machine.
21/09/2023
1h9mn
De zéro au déploiement : web app Docker
Un exemple en live de développement d'une web app et mise en production:
- création de l'app
- création du container Docker
- création d'une instance sur VPS
- création du DNS
- création du host derrière un proxy
- déploiement du container docker su rue vps
- protection de l'app via cloudflare
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)
10/08/2023
1h11mn
Découvrir Pygame en créant un Snake
Initiation pratique à Pygame en Python en construisant un mini-jeu type Snake et en comprenant la boucle principale d'événements.
27/07/2023
1h19mn
Surveiller vos services avec Uptime Kuma
- Surveiller vos services (web app, blog) avec Uptime Kuma et notifications sur votre serveur discord
- Un peu de programmation scientifique:
- Interpolation, extrapolation
- bumpy, pandas, matplotlib
20/07/2023
1h19mn
Créer une application Streamlit de post-it
Découvrez comment construire pas à pas une application web Streamlit multi-pages pour gérer des rappels organisés par tags et fichiers JSON.
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).
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.
01/06/2023
1h0mn
Apps multipages Streamlit et tunnel Cloudflare
- Création d'un app multi pages avec streamlit
- stockage en cache d'une variable avec st.session_state
- Création d'un tunnel Cloudflare pour déployer une app local sans ouvrir de ports
- si on a le temps: présentation de Kuma (outil de monitoring)
11/05/2023
1h0mn
Docker Compose, API Django et micro-entreprise
- Docker-compose pour déploiement d'un projet existant
- Ajout de phpmyadmin (enfin =D)
- Retour sur jwt token authentication pour res framework api
- Discussion statut micro entreprise.
04/05/2023
1h0mn
Déployer un projet Django avec Docker
- Visite du site d'un étudiant (Christian)
- Une sur les fichiers json
- Mise en production sur serveur type VPS d'un projet django avec Docker et docker-compose
- Ajout de phpmyadmin
27/04/2023
1h0mn
Déployer Django avec Docker et phpMyAdmin
Découvrez comment déployer une application Django avec Docker et Docker Compose, et ajouter phpMyAdmin pour gérer votre base de données facilement.
20/04/2023
1h0mn
API Django REST et dashboard Streamlit
Création d’une API Django REST pour gérer des marques de voitures et intégration avec un dashboard Streamlit, avec aperçu de la mise en production via Docker Compose.
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.
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
14/01/2023
2h0mn
Session de mentorat
- Configuration de projet avec PyCharm (création de projet, environnement virtuel, terminal, pip)
- Création d'un projet de damier avec PySide6
- Discussion autour de Django + Tailwind ou Bootstrap
- LA formation CSS que je conseille : https://css-for-js.dev/
05/01/2023
1h52mn
Session de mentorat
- Passage en revue des questions
- Question de Céline sur la manipulation de données avec pandas
- Question de Gabriel sur PySide6
- Différence entre: terminal, interpréteur et éditeur de code
- 2 mécanismes de relations Django: one to many et many to many
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