De Pygame à l’informatique quantique

22/05/2023 | Développement, Paroles d’experts, Portraits d’experts

Temps de lecture  10 minutes

Pygame, informatique quantique, Rust,… Benoît Prieur est un professionnel mais surtout un passionné d’informatique. Auteur de nombreux livres sur ces sujets, cet ingénieur en développement a une curiosité qui semble insatiable et dont il fait profiter les lecteurs de ses livres mais aussi du magazine Programmez ou encore les participants à ses conférences.

De l’intérêt pédagogique (mais pas que) de Pygame aux avancées de l’informatique quantique, Benoît est tout aussi passionné que passionnant.

ENI : Ingénieur en développement, formateur, conférencier, spécialiste en Python mais aussi passionné d’informatique quantique et bien sûr auteur aux Editions ENI. Comment en arrive-t-on à cette palette ultra-large ?

Benoît Prieur : J’ai beaucoup de curiosité. À la base je suis de formation ingénieur. Mon métier depuis 20 ans c’est développeur. J’ai travaillé sur différents langages, particulièrement sur ceux de Microsoft, raison pour laquelle j’ai beaucoup écrit sur ce sujet aux Editions ENI. Je suis d’ailleurs rentré à ENI en 2017 par le biais de la techno Microsoft WPF sur laquelle je travaillais intensivement.

J’ai aussi beaucoup pratiqué Python professionnellement, j’écris donc sur le sujet, au sens large. Il y a Rust également, qui a une vraie connexion avec C++ et j’ai fait tout le début de ma carrière dans ce langage.

Et puis, il y a des sujets qui me passionnent hors milieu professionnel comme l’informatique et la physique quantique. Mon activité sur ce sujet se limite à écrire des articles, à faire des conférences, etc. Mais je n’ai pas d’expérience pro dans ce domaine.

J’ai un niveau de curiosité élevée dès que cela me plaît… ^^ Je trouve cela fun.

ENI : Dans tous ces sujets, votre actualité récente est la sortie de votre livre Pygame. Pouvez-vous nous en dire plus sur ce sujet ?

BP : C’est la deuxième édition sur ce module Python, ou bibliothèque, dédié au développement de jeu vidéo, surtout 2D, type Mario. Cela apporte un certain nombre d’outils qui facilitent les choses.

L’un des gros apports de Pygame, c’est la gestion des collisions qui peut être parfois difficile. La gestion des collisions c’est la rencontre au sens large entre deux personnages, deux voitures qui se télescopent, un ballon qui rebondit sur le sol, si on atteint le bout de l’écran… Tout est collision. Si un outil ne le fait pas pour toi, c’est très pénible, c’est de la géométrie, des fois de la trigonométrie, pour détecter au mieux la rencontre de deux objets graphiques. Le gros apport de Pygame c’est de pouvoir faire ça.

J’en avais moins conscience quand j’ai écrit la 1ère édition mais Pygame est très utilisé pour apprendre à programmer en Python. J’ai eu beaucoup de retours en ce sens. C’est assez fun quand tu apprends un nouveau langage de coder un jeu. Il y a un résultat, c’est rigolo, on peut le montrer à ses proches… C’est plus compliqué avec un algorithme, fut-il impressionnant !

Pour cette 2e édition, je voulais justement prendre cet angle plus centré sur l’apprentissage de Python, avec les premiers chapitres. C’est l’essentiel pour commencer à coder avec Python.

Livre Pygame<br />
Initiez-vous au développement de jeux vidéo en Python (2e édition)
ENI : Python est en effet moins connu sur le côté jeu vidéo. En dehors de l’apprentissage « ludique », c’est un langage qui permet d’aller loin sur ce thème, sans aller jusqu’aux superproductions ?

BP : Il y a des jeux assez élaborés qui ont été codés en Pygame. Effectivement, les gros studios auront tendance à utiliser d’autres frameworks type Unity ou Unreal mais il y a des titres indépendants sympas en Pygame. Il n’y a pas que la dimension pédagogique même si elle est importante. On peut aussi aller très loin, surtout en jeu 2D, mais aussi en 3D.

Pygame, dans sa gestion, est « posée » sur la couche SDL (Simple DirectMedia Layer, qui permet d’interagir avec les composants de la machine, NDLR) et c’est transparent pour le programmeur. De ce point de vue-là, c’est aussi une option intéressante. Pas besoin de connaître les couches basses pour coder en Pygame.

ENI : C’est donc destiné à tout le monde ?

BP : Oui, en quelque sorte. Notamment pour des personnes qui veulent faire des petits jeux vidéo avec un module qui a des interactions poussées avec les périphériques (clavier, souris, périphérique maison de maker…). Faire un jeu de réalité augmentée comme Nintendo l’avait fait avec une petite voiture Mario Kart ne serait pas si difficile par exemple. C’est peut-être une idée pour une 3e édition !!

Mais dans ma to-do-list, je dois d’abord travailler à l’adaptation du livre en espagnol.

Image d’un jeu en Pygame issue du site Opensource.com

Image d’un jeu en Pygame issue du site Opensource.com

Complexité, fantasmes, dangers, l’informatique quantique dans tous ses états

ENI : Il y aussi dans cette liste une vidéo de vulgarisation d’informatique quantique qui doit sortir prochainement. D’où vous vient cette autre passion pour un sujet pas simple ?

BP : En réalité, ce n’est pas si compliqué.

C’est autour de 2018, quand Microsoft et IBM ont commencé à fournir des frameworks, que j’ai essayé et trouvé ça hyper intéressant. J’avais peu de connaissances en physique quantique et c’est nécessaire pour bien comprendre mais j’ai trouvé ça cool à apprendre. Les deux domaines sont joints et m’ont passionné.

Le but de la vidéo c’est de vulgariser avec des exemples simples : qu’est-ce c’est exactement ; comment ça marche et à quoi ça sert. En minimisant au maximum l’utilisation d’équation, ou d’avoir un discours trop scientifique et technique.

ENI : Justement, c’est un sujet qui semble parfois obscur, voire parfois fait fantasmer. C’est quoi exactement l’informatique quantique si vous deviez l’expliquer à une terrasse de café ?

BN : Je prendrais l’exemple de problèmes récurrents de l’industrie, voire d’autres domaines, de problèmes complexes pour lesquels on n’a pas d’algorithme pour trouver une solution optimale. Des problèmes à forte combinatoire que l’on ne sait résoudre de manière exacte et en temps polynomial.

L’exemple type, c’est celui du voyageur de commerce : un individu doit aller voir tous ses clients une et une seule fois dans X villes en optimisant son temps de transport. Il y a donc des parcours plus courts que d’autres. Pour trouver la solution optimale, il n’y a pas le choix d’essayer toutes les possibilités. L’informatique quantique ne constitue pas du tout une réponse au problème théorique mais permet d’avoir des résultats plus rapides sur certaines instances, car elle utilise cette notion de combinatoire, elle peut faire plusieurs calculs à la fois en quelque sorte. Autre exemple, celui du cadenas à 4 chiffres : c’est comme si on pouvait essayer plusieurs combinaisons en même temps. C’est le principe de la superposition. C’est une notion propre à la physique de l’infiniment petit, qui fonctionne de manière particulière avec ces états superposés. Et on peut reproduire ce comportement physique dans une machine et bénéficier des spécificités des principes quantiques.

schéma comparant la notion de bit informatique avec celle du qbit
Il y en a un 2e qui est l’intrication. Sa vérification expérimentale a valu le prix Nobel à Alain Aspect en 2022. En 1982, il avait fait une expérience avec deux particules distantes d’une dizaine de kilomètres qui vérifiait l’intrication. En 2012, un projet chinois avait fait une « téléportation quantique », une transmission d’information, par le biais de l’intrication. En gros pour envoyer un message, si deux particules sont intriquées, la transmission d’information instantanée est possible.

D’un point de vue communication, en Occident, comme pour l’IA d’ailleurs, il y a en effet beaucoup de fantasmes, de confusion. L’autre aspect qui fait que c’est flou, c’est l’importance qu’aurait la réalisation d’un ordinateur quantique à 10 000 Qbits. Ce serait une bombe. Du coup, il y a peu de communication, c’est opaque. Les grandes entreprises communiquent un peu mais pas les autorités.

En France, l’informatique quantique soulève plus d’initiatives à des fins économiques qu’une réelle participation à cette course de l’ordinateur quantique ultime. En même temps, c’est très très compliqué à construire, comme le montre le propotype de Google en 2018 à une cinquantaine qubits.

ENI : Cela fait pourtant longtemps que l’on parle d’ordinateur quantique…

BP : Cela fait un certain temps, oui. En recherche, il existe depuis les années 60 d’une certaine manière. On parle beaucoup de l’algorithme de Shor, qui permet de faire une décomposition en facteurs d’un très grand nombre. En informatique classique, cela prend beaucoup de temps. Tellement de temps que l’on a décidé de baser le chiffrage des cartes bleues sur une factorisation de très grands nombres.

L’algorithme de Shor démontre, même sans simulateur puisqu’il l’a fait sur une feuille de papier, qu’un ordinateur quantique sera significativement meilleur. C’est pour cela que l’on parle de cryptographie post-quantique.

ENI : Il y a donc des risques ?

BP : Le risque va être lié à cette possibilité de résoudre des calculs dont on n’est pas capables aujourd’hui. Et cela va de la capacité en chimie à trouver des nouvelles molécules, à celle de casser n’importe quel système en matière de cryptographie. Cela reste de la science-fiction, mais le potentiel est là. Un Etat qui serait doté d’une réelle puissance en informatique quantique pourrait l’envisager comme une arme.

Calculs HPC

Les activités qui réclament du supercalcul sont intéressées par le quantique

ENI : Concrètement, matériellement, qu’est-ce qu’il faut pour « faire » un ordinateur quantique ?

BP : Il y a plusieurs réponses à cette question.

La première, c’est de souligner les capacités en informatique classique qui sont aujourd’hui gigantesques : des HPC (calcul haute performance), des super calculateurs, dans lesquels sont parallélisés des milliers de processeurs. C’est un lieu idéal pour faire un simulateur quantique. Ce sont des choses qui sont déjà faites et qui répondent à des besoins business. En téléchargeant Qiskit d’IBM par exemple dessus, cela fait un simulateur quantique en local qui va reproduire le fonctionnement d’un Qbit grâce à l’informatique classique. Pour avoir une dizaine de qubits localement, il faut quelque chose comme 30 Go de RAM. Et c’est exponentiel.

Il y a aujourd’hui des entreprises qui vendent une analyse quantique par rapport à un problème donné. Un industriel qui vend du détergent et qui a besoin d’un calcul compliqué pour déterminer les pourcentages de produits, peut demander à des sociétés de proposer un algorithme quantique pour son problème précis. Il pourra ensuite aller solliciter un propriétaire de machines quantiques  qui va faire tourner le programme sur un simulateur quantique ou sur une réelle machine quantique (IBM le permet déjà par exemple).

La seconde réponse est plus stratégique et presque géopolitique et concerne la construction du vrai ordinateur quantique avec des particules. Il y a plusieurs manières d’en faire, ce peut être avec des photons, avec des atomes froids… C’est de la physique expérimentale.

Quand on parle d’atomes froids, chacun d’entre eux sera un qubit et va être l’objet de superposition. Et pour cela, il faut le refroidir à -273°C donc on est déjà dans un contexte compliqué.

Il y a beaucoup de tentatives. Le problème, ce sont les correctifs car les environnements sont très instables, il y a donc des erreurs quantiques. Il faut pouvoir les identifier et les corriger, parfois de façon dynamique. Il y a tout un champ de l’informatique quantique qui travaille sur la stabilité et la correction quantique. Aucune puissance ne souhaite réellement communiquer à ce propos évidemment, qu’elle soit avancée ou en retard. L’état d’avancement de cet aspect de la recherche est donc très incertain.

ENI : Avec ce flou, peut-on dessiner un avenir à court/moyen terme sur le sujet ?

BP : Il faut distinguer l’approche économique de l’approche stratégique.

Sur l’économique, IBM, qui a mis énormément d’argent sur le sujet depuis 10 ans, propose sur son site dédié au quantique tout ce qu’il faut pour créer des algorithmes, accéder à des simulateurs quantiques. Certains sont gratuits mais d’autres sont payants et donnent accès à de vrais ordinateurs quantiques. Or IBM communiquait récemment que cette activité quantique sera profitable avant la fin de la décennie. Vu les investissement réalisés, cela veut dire qu’ils vont gagner beaucoup. De gros acteurs s’en servent déjà au quotidien, des industriels comme BMW par exemple qui a une division quantique sur les processus industriels. Notamment sur le côté planification et ordonnancement des chaînes de montage pour minimiser les coûts.

En gros, toutes les activités qui réclament du supercalcul sont intéressées par le quantique. On n’a pas fini d’en parler. Et de ne pas en parler pour l’aspect stratégique ^^

ENI : En dehors de cette vidéo et de la traduction de Pygame en espagnol, quels sont vos prochains projets ?

BP : J’écris aussi un livre pour ENI sur le traitement automatique du langage naturel (NLP), un aspect de l’intelligence artificielle. C’est du machine Learning appliqué à la linguistique. Cela repose sur Python et les deux frameworks spaCy et NLTK.

Je participe aussi à un Hors-Série avec le magazine Programmez (dont ENI est partenaire, NDLR) sur le quantique avec deux articles, un sur la téléportation quantique et l’autre sur un simulateur quantique codé en Rust.

Et dans une actualité plus immédiate, je participe à l’organisation de la première Devcon hors Paris, à Lyon, toujours avec Programmez. La thématique c’est le Green IT et il y aura un autre auteur ENI, Jérémy Pastouret (bientôt en interview sur ce blog, NDLR).

DevCon Lyon

Diplômé de l’ISIMA de Clermont-Ferrand, Benoît PRIEUR a exercé pendant plusieurs années en tant qu’ingénieur freelance. Spécialisé dans le développement avec les langages Python, C++, Rust et C#, il est aujourd’hui CTO dans une start-up en Intelligence Artificielle. Également formateur et conférencier sur diverses technologies (relatives notamment à l’informatique quantique), il écrit régulièrement des articles sur la programmation de logiciels.

Benoît Prieur

Notre expert informatique quantique et Pygame (entre autres)

Pour aller plus loin

vidéo Sécurité informatique Les bonnes pratiques pour l'utilisateur
Livre
Rust
Développez des programmes robustes et sécurisés
Coffret sécurité informatique et malwares
Livre
Informatique quantique
De la physique quantique à la programmation quantique en Q#
Cybersécurité et PowerShell
Livre avec complément vidéo
Python, Raspberry Pi et Flask
Données télémétriques et tableaux de bord web + Création d’une application web avec Flask
Livre cybersécurité et malwares
Vidéo
Les Design Patterns en langage Python
Aller au-delà des concepts orientés objets

POUR LES ENTREPRISES

Découvrez nos solutions de formation pour vos équipes et apprenants :

Réfléchir en amont
elearning

En e-learning avec
notre offre pour les professionnels

formateur

Avec un formateur,
en présentiel ou à distance

Restez connecté !

Suivez-nous
LinkedIn
Youtube
X
Facebook
Instagram
Contactez-nous
E-mail

Inscrivez-vous à notre newsletter

Je suis intéressé(e) par :

En vous inscrivant, vous acceptez la politique de protection des données du groupe Eni. Vous aurez la possibilité de vous désabonner à tout moment.