Dad 3.0

C'est un papa du futur avec son appareil photo

Étiquette : Python Page 1 of 2

Organiser ses tests unitaires

Après avoir essayé de démystifier les tests dans le premier billet de cette série, je vous propose de commencer à organiser votre code de test. Oui, oui, il faut l’organiser un minimum.

Vous avez vu qu’un premier principe de l’organisation des tests est de séparer le code de test du code fonctionnel. Ça, ça va aller, c’est facile à mettre en œuvre. Mais organiser son code de test signifie aussi savoir quoi mettre dans un test. Pour cela, je vais commencer par vous présenter ce concept de test unitaire. Ensuite, il faudra avoir un aperçu des frameworks plus standard que pytest.

Lire la suite

Testez le comportement de votre code et non son implémentation

Mon premier billet sur les tests présente le concept et comment, avec peu d’effort, vous pouvez améliorer la validation que vous faites déjà. Mais le code présenté a des défauts et celui sur lequel je souhaite insister en premier relève de la question de quoi tester. En particulier pour le langage Python qui a une manière particulière de gérer la visibilité des attributs.

Notez que si l’exemple présenté ici repose sur une particularité du langage Python, le concept s’applique à tous les langages.

Lire la suite

De la validation aux tests

Une particularité du langage Python est qu’il ne se limite pas au monde des développeurs. Pour l’écrasante majorité de mes stagiaires, écrire un programme n’est pas leur activité principale mais doit les aider dans leur métier. Inutile de dire que tout ce qui a un rapport à la production de code doit aller à l’essentiel.

Du coup, il y a une partie qui provoque toujours la même réaction de lassitude : les tests. Cette réaction d’intérêt mitigé vient du fait qu’ils ne codent que des scripts à usage limité pour lesquels l’investissement à la compréhension de ce que sont les tests et la démarche ne semble pas nécessaire. C’est certainement le cas aussi pour tous ceux qui n’écrivent pas du code à usage professionnel.

Vous vous doutez bien que si j’écris ce billet, c’est que la vision du test n’est pas tout à fait exacte et résulte d’une incompréhension de l’objectif du test dit de développeur. Je vous invite donc à lire le billet suivant afin d’essayer de comprendre ce qu’est un test, car vous en faites déjà… ou presque.

Lire la suite

Nouvelles formations 2018

Il y a toujours une période dans l’année où je laisse l’activité du blog être dépassée par une partie de ma vie professionnelle. Cette partie, c’est la formation. Depuis un peu plus de 2 ans, j’anime régulièrement des formations professionnelles sur le langage Python. L’animation de ces formations ne prends théoriquement pas plus de temps qu’une activité professionnelle classique, sinon que l’animateur n’a pas réellement de coupure : pendant les pauses, nous sommes sollicités pour des questions, il est donc difficile de prévoir du temps pour autre chose.

Mais une formation ne s’arrête pas à son animation. Il y a tout un travail en amont de préparation aussi bien du déroulement de l’enseignement que des exercices. Même si un centre de formation propose un programme, l’animation du contenu par chaque formateur est unique.

Et pour ma part, à la fin de chaque session, j’essaye d’avoir un retour des stagiaires pour voir ce qui passe ou ne passe pas. Si ma formation Python est rodée, j’ai bien mis un an à la retravailler après chaque session. Et même aujourd’hui, je revois certaines parties afin d’améliorer le déroulement ou les exercices.

Cette année, j’ai été sollicité sur deux autres sujets que je vais pouvoir proposer de façon régulière.

Lire la suite

Ranger ses photos, en Python

Dans mon article précédent, pour renommer nos photos en Python, il était nécessaire d’extraire l’information de la date de prise de vue. Tant que nous avons cette information, autant essayer de faire plus que changer le nom du fichier. Et si j’en profitais pour vous montrer comment ranger automatiquement des photos ?

Comme pour le billet précédent, je ne rentre pas dans tous les détails pour l’écriture d’un programme complet car l’ensemble dépend de ce que vous voulez faire. Vous avez tout de même un exemple d’usage sur mon Github.

Ce billet vous donnera des pistes pour créer un petit programme qui rangera automatiquement vos photos. Ici, vous allez donc voir comment déplacer chaque photo dans un répertoire année.

Lire la suite

Renommer ses photos en masse… en Python

Ou comment découvrir que des notions en programmation peuvent vous faciliter le quotidien…

Mais on va quand même éviter toute confusion : cet article ne propose pas une solution plus simple que mon précédent article Renommer ses photos en masse avec Exiftool. Ici, je vais vous montrer comment faire plein de choses que Exiftool fait pour vous. Pourquoi réécrire ce que fait Exiftool ? Simplement pour pouvoir faire plus que ce que vous propose ce logiciel.

Cet article est est donc la première étape vers une automatisation de votre gestion de photos.

Cet article n’a pas non plus pour but d’initier un néophyte à la programmation. Je pense avoir rendu les grandes lignes accessibles pour que vous puissiez voir ce que l’on peut faire et peut-être éveiller votre intérêt. Si vous avez déjà des notions, l’exemple ci-dessous n’est pas un exemple complet clef-en-main. L’objectif est de vous montrer que si vous avez la possibilité de donner vous même des instructions à votre ordinateur, c’est pour adapter l’exécution à votre besoin.

Lire la suite

Apprentissage du calcul : multiplications et table de Pythagore en Python

Pour la rentrée, Kid 1.8 doit officiellement voir la table de Pythagore. Nous avons introduit la table de Pythagore assez tôt dans son apprentissage des tables de multiplication. Nous l’avons fait la remplir lui même au fur et à mesure qu’à l’école, ils voyaient une nouvelle table.

Mais aujourd’hui, j’ai profité de l’occasion pour lui montrer comment ont peut faire générer à un ordinateur une table de multiplication et la table de Pythagore. Et tout ça en Python.

Attention, ceci n’est pas un post d’initiation à la programmation Python. Mon intention est d’illustrer par un cas concret pour les élèves de primaire ce que peut apporter un peu de programmation. Les notions abordés sont : calcul, fonctions, formatage de texte et itérations.

Lire la suite

Le compagnon Alkemy, de Parse à Django

Suite à l’annonce de l’arrêt du service Parse qui me sert jusqu’ici à héberger les données des applications Brothers in Games, j’ai commencé à repenser la manière dont je gère ces données. Cela m’a conduit à avoir un référentiel unique indépendant des services tiers (Parse ou autres). Je vais ici vous illustrer ce service destiné à l’app compagnon Alkemy. Pour ceux qui ne connaissent pas ce jeu de figurines, je vous invite à consulter les autres articles traitant d’Alkemy.

Démonstration Alkemy, JFJ 2016 (D.Stankovski)

Démonstration Alkemy, JFJ 2016 (D.Stankovski)

Bonne nouvelle également, ce service, je le publie en Open Source.

Lire la suite

Votre boite à outils Python

Que vous utilisiez Python en tant que professionnel, pour des petits projets ou simplement pour apprendre à programmer, il vous faut connaitre quelques outils. Tous ne sont pas indispensables (seul le premier de la liste suivante l’est) mais certains peuvent être très utiles. Il s’agit de :

  • Un interpréteur, c’est certainement le seul élément indispensable…
  • Un gestionnaire de packages, et en particulier pip
  • Python fournit de base un interpréteur interactif, mais qui a des lacunes… iPython offre ainsi un interpréter plus évolué, mais pas que…
  • Isoler vos développements, c’est avec Virtualenv et les outils qui vont avec
  • Développer de manière efficace passe par un environnement de développement.

Voici une petite présentation de ces outils que j’essayerai de faire la plus grand public possible.

Lire la suite

Communiquez avec votre Arduino, en Python.

This article is also available in english

Après avoir pris connaissance de la plate forme Arduino, il est temps de commencer à réaliser des montages un peu plus utiles que simplement faire clignoter des LEDs. Nous avons vu qu’il était possible de communiquer avec l’Arduino via le câble USB. Exploitons donc cette fonction pour que notre PC puisse réagir en fonction de conditions extérieurs.

L’Arduino communique avec le PC via le câble USB, qui est une communication série. L’Arduino envoi donc un flux de données vers Le PC qui peut en envoyer en retour. Pour le prototype de notre montage, nous allons juste tester cette communication.

Lire la suite

Page 1 of 2

Fièrement propulsé par WordPress & Thème par Anders Norén

En naviguant sur Dad 3.0, vous acceptez l’utilisation de cookies pour une navigation optimale et nous permettre de réaliser des statistiques de visites. Plus d'informations

Le blog Dad 3.0 utilise les cookies pour vous permettre une navigation optimale et nous permettre de réaliser des statistiques de visite. Dad 3.0 affichant des publicités, celles-si utilisent également des cookies pour un ciblage publicitaire. En continuant la navigation sur Dad 3.0, vous acceptez le dépôt et la lecture de cookies.

Fermer