Vous trouverez ci-dessous les pages qui utilisent le terme « Formation ».

Formations / Formation initiale en Python

Python vous octroie de grands pouvoirs en termes de productivité, d’efficacité et de créativité.

Découvrez ce langage de programmation et devenez autonome sur vos premiers projets.

Cette formation ouvre la voie vers un univers exaltant, passionnant et surtout très utile au quotidien.


Formations / Formation Python avancé

Besoin de créer une application conséquente ?

Cette formation permet de réaliser le développement dans un temps réduit en facilitant la maintenance et l’évolutivité du code grâce aux diverses fonctionnalités du langage Python.


Formations / Qualité de logiciel Python

Votre application Python prend de l’ampleur. Maîtrisez la qualité de vos développements avec l’aide d’outils précieux (linters et formatters) vous guidant dans les bonnes pratiques. Apprenez à gérer les erreurs, avec les exceptions et la génération de logs (journaux).

Cette formation met l’accent sur la qualité de code pour éviter la dette technique.


Formations / Tests d’une application Python

Vous est-il déjà arrivé de livrer un logiciel avec cette fâcheuse pensée à l’esprit : « Prions pour que cela fonctionne ».

Avec 100 % de couverture de test, vous livrerez désormais votre produit en toute confiance !

Révolues les longues périodes de debug/intégration, venez découvrir comment les tests font prodigieusement gagner du temps. Apprenez à écrire des tests !


Formations / Annotations de type en Python

Pour améliorer la maintenabilité du logiciel, les annotations de type sont apparues il y a quelques années en Python (en 2014).

Découvrez comment :

  • trouver des erreurs de conception
  • documenter le code
  • améliorer le comportement des IDE pour gagner en productivité


Formations / Manipulation de fichiers Excel en Python

Excel est omniprésent en entreprise. Découvrez comment Python permet de manipuler des fichiers Excel (*.xlsx) en automatique.

Extrayez des données, générez des rapports, des tableaux de bord. Gagnez du temps libre pour vos autres activités.


Formations / Dataclass en Python

Les dataclass sont une des fonctionnalités majeures apparues avec Python 3.7. Elles permettent l’écriture rapide et efficace de classes.

Vous apprendrez à écrire moins de code (et donc moins de tests ou d’efforts de maintenance), tout en améliorant la lisibilité


Formations / Packages en Python

Partagez votre travail avec vos collègues et/ou la communauté en apprenant à utiliser et créer des packages rendant le code distribuable et installable. Vous verrez l’ancienne méthode avec setuptools/pip/venv mais aussi une méthode plus moderne à base de pyproject.toml avec Poetry.

Lors de cette formation, vous créerez des environnements virtuels pour y installer vos propres packages.


Formations / Expressions régulières en Python

Les programmeurs manipulent énormément de fichiers textes (code source de leur logiciel, données textuelles issues du web, fichiers CSV, journaux d’exécution…). Les expressions régulières permettent d’accélérer le traitement de ces textes tant au niveau de la recherche d’information que dans l’édition.

Vous gagnerez beaucoup de temps dans la gestion du texte, vous permettant d’ajouter plus de fonctionnalités à votre logiciel.


Formations / Formation à la demande

Vous avez un besoin de formation particulier, vous aimeriez avoir une formation sur mesure (Python, C, C embarqué…), ou encore vous souhaitez un mix de formations existantes.

Contactez-nous pour l’élaboration de la formation adaptée à votre contexte.


Formations / Python et XML

Régulièrement décrié, XML est très puissant et a par exemple été choisi pour les nouveaux formats de documents Microsoft Office (*.docx, *.xlsx…).

Découvrez comment Python permet de manipuler simplement les fichiers XML.


Formations / Parallélisation des calculs en Python

Comment bénéficier de la facilité de Python pour programmer, tout en ayant accès à toute la puissance de votre ordinateur ou serveur.

Découvrez le multi-threading, le multi-processing et les co-routines pour booster les performances de votre code.


Formations / Communication réseau en Python

Depuis l’apparition d’Internet, la communication réseau est au cœur de notre quotidien.

Découvrez comment exploiter les protocoles de communication réseau les plus classiques (IP, TCP, UDP) avec les sockets et le parallélisme (threads…), le tout en Python.


Posts / Oubliez flake8, black ou venv, place aux outils de nouvelle génération !

Meetup Python Bordeaux Après quelques années d’absence, le meetup Python Bordeaux reprend vie : https://www.meetup.com/py-bdx/events/300614701/. Pour cette reprise, je me suis proposé pour faire un talk nommé : Oubliez flake8, black ou venv, place aux outils de nouvelle génération ! Le tout devant une cinquantaine de personnes passionnées de Python. J’y montre l’utilité des environnements virtuels, des linters et formateurs de code. Et je présente de nouveaux outils faits par https://astral.


Posts / Je publie sur LinkedIn

Je passe à LinkedIn LinkedIn permet de se créer une communauté. Je me suis donc lancé à publier sur LinkedIn. Et je ne publie presque plus ici. Vous pourrez trouver tous mes posts en vous abonnant à mon contenu. Mon profil est directement accessible ici : https://www.linkedin.com/in/vpoulailleau/. J’essaye de publier au moins deux posts par semaine, majoritairement sur du Python. Je vous attends là-bas avec impatience. N’hésitez-pas à commenter les posts, l’interaction est enrichissante.


Posts / Simple is better than complex

Introduction Je vois passer un post sur LinkedIn qui dit : faites le code le plus simple pour afficher : * ** *** **** ***** **** *** ** * Spoiler : ma solution est à la fin et aussi en image. Parmi les réponses que les lecteurs ont fournies (oui, elles ont réellement été proposées), en voici quelques-unes. Solution intuitive pour les débutants 1 2 3 4 for i in range(6): print('*' * i) for i in range(4, 0, -1): print('*' * i) Autre solution moins intuitive, mais compréhensible par les débutants 1 2 3 4 5 for i in range(10): if i <= 5: print('*' * i) else: print('*' * (10 - i)) Solution de la personne payée au nombre de caractères 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 def print_row(n): print("* " * n) def print_top_half(n): for row in range(1, n + 1): print_row(row) def print_bottom_half(n): for row in range(n - 1, 0, -1): print_row(row) def print_triangle(n): print_top_half(n) print_bottom_half(n) triangle_height = 5 print_triangle(triangle_height) Solution sans if 1 2 3 4 5 6 def pyramid(height): for num in range(1, 2 * height + 1): print('*' * min(num, 2 * height - num)) pyramid(5) Solution logique, mais difficile à lire au premier coup d’œil 1 print(*(("* " * x) for x in range(1, 5)), *(("* " * x) for x in range(5, 0, -1)), sep='\n') Solution rusée, mais difficile à lire au premier coup d’œil 1 2 3 from itertools import chain print(*(("* " * x) for x in chain(range(1, 5), range(5, 0, -1))), sep='\n') Un peu dans la même idée 1 2 3 4 5 6 7 8 def print_pattern(): counts = list(range(1,6)) # [1, 2, 3, 4, 5] counts += list(range(4,0,-1)) # [1, 2, 3, 4, 5] + [4, 3, 2, 1] strs = list(map(lambda c: print("*" * c), counts)) print("\n".


Posts / Certifié en Python avec une note de 1000/1000

Certification API Society J’ai eu une note de 1000/1000 à une certification Python. Pour tout dire, mon objectif était d’avoir le niveau « Instructeur », ce qui m’autorise à animer des formations préparant à cette certification. Je parle de https://api-society.com/fr/certifications/technologies-numeriques/developpement-logiciel/fondamentaux-python, certification reconnue par l’état (France Compétences : https://www.francecompetences.fr/recherche/rs/6301/). Les objectifs sont d’attester que vous maîtrisez les bases de Python (types de données basiques, if et boucles, fonctions, modules, paquets, programmation orientée objet, et un peu de la bibliothèque standard).


Posts / Unicode, c'est simple sauf quand c'est compliqué

Unicode, le problème Unicode, c’est simple sauf quand c’est compliqué ! Oui, le texte « Python est génial » n’est pas le même que « Python est génial ». Pourtant il s’affiche pareil ! 1 2 3 4 5 6 7 8 9 10 11 from unicodedata import name, normalize texte1 = "Python est génial" texte2 = "Python est génial" print(texte1 == texte2) # False, WTF! print(texte1.encode("utf-8")) # b'Python est g\xc3\xa9nial' print(texte2.


Posts / TDD et Python

TDD, Java, Python Python, c’est mieux que Java, non ? En vrai, ce qui compte c’est qu’une entreprise soit efficace. Libre à elle de choisir ce qu’elle pense être le mieux. Mais j’ai mon avis sur la question 😉 Et là n’est pas l’objet de ce post, que j’ai écrit après avoir visionné https://m.youtube.com/watch?v=yiCpfd-kz3g C’est une vidéo où Michaël Azerhad essaie de nous montrer comment il est possible de coder plus rapidement avec TDD.


Posts / La conception de www.colorimo.fr

Pourquoi cette présentation ? Ma grande fille, qui vient tout juste de fêter ses 6 ans, s’est lancée dans l’apprentissage de la lecture. Voyant ses difficultés à lire des mots compliqués, j’ai créé un site internet pour aider à la découverte de la lecture. Voici quelques étapes de la conception de www.colorimo.fr. Le concept Sur www.colorimo.fr, un code couleur aide les lecteurs en herbe à déchiffrer les mots. Par exemple, « doigts » ne se lit pas « dohiguetse » mais tout simplement « doi », car « oigts » est en noir, comme tous les sons « oi ».


Posts / Python, le deuxième langage le plus utilisé

Pour la première fois en presque 20 ans, Python devient le deuxième langage de programmation selon l’index TIOBE, un index que beaucoup considèrent comme majeur. Python détrône le Java, et est derrière le langage C, massivement utilisé dans l’embarqué. Le succès de Python a plusieurs origines : C’est un langage facile d’accès : avec peu de notions il est déjà possible de programmer. Python a mis dès le départ l’accent sur la lisibilité.