PROGRAMMEZ n°268 - Page 3 - 268 DevCon #25 juin 2025 GREENIT & ECO-CONCEPTION Quand : 5 juin Où : campus ESGI Paris Accueil 13h30, début des sessions à 14h 5 sessions - 1 pizza party INFORMATIONS : programmez.com 002.qxp_268 17/03/2025 11:34 Page2 Divers Nos formules d’abonnement Boutique Programmez! programmez.com 3 Programmez! est une publication bimestrielle de Nefer-IT. Adresse : 57, rue de Gisors 95300 Pontoise – France. Pour nous contacter : redaction@programmez.com L’abonnement à Programmez! est de 55 € pour 1 an, 90 € pour 2 ans. Abonnements et boutique en pages 42 et 43 Abonnement numérique (format PDF) directement sur www.programmez.com SOMMAIRE 268 Edito invité Es-tu PoC ou MVP ? Mathieu Eveillard Les partenaires Programmez! 2025 Agenda Dossier Cloud français partie 1 avec OVHcloud Introduction Apprendre à Yolo à jouer à Pierre / Feuille / Ciseaux Infrastructure as Code avec OVHcloud partie 1 & partie 2 Héberger un site web statique sur Object Storage Julien Florian Stéphane Aurélie Thierry Jay Senlecq Philippart Vache Chantier Fondation La récursivité Fredy Fadel & Performances Python et la performance Philippe Boulanger Mesurer les performances avec C# Fred Berton JavaScript Les signaux en Angular Pierre-Emmanuel Pollet Gaming Créer un FPS façon Woffenstein avec BabylonJS - Partie 2A David Boissier Voyager, l’agent IA qui joue à Minecraft Denis Duplan Reportage Retour sur la Fosdem 2025 François Tonic PHP Que faut-il retenir des nouveautés de PHP 8.4 ? Julien Lary 3D+IA Le bridge dentaire progresse avec l’IA Jean-David Delprat, Olivier Bouzereau Open Source OSPO Alliance Frédéric Aatz, Boris Baldassari 003.qxp_268 18/03/2025 10:32 Page3 4 programmez.com 3EDITO INVITÉ #268 Directives de compilation Programmez! n°268 MARS - AVRIL 2025 Directeur de la rédaction : Jean-Christophe Tic Rédacteur en chef : François Tonic ftonic@programmez.com Contacter la rédaction redaction@programmez.com Les experts techniques du numéro Maquette Pierre Sandré Marketing – promotion des ventes Agence BOCONSEIL - Analyse Media Etude Directeur : Otto BORSCHA oborscha@boconseilame.fr Responsable titre : Anthony Carrée Téléphone : 09 67 32 09 34 Publicité Nefer-IT Tél. : 09 86 73 61 08 ftonic@programmez.com Impression Léonce Deprez, France Dépôt légal A parution Commission paritaire 1225K78366 ISSN 1627-0908 Abonnement Abonnement (tarifs France) : 55 € pour 1 an, 90 € pour 2 ans. Etudiants : 45 €. Europe et Suisse : 65 € Algérie, Maroc, Tunisie : 64 € - Canada : 80 € Tom - Dom : voir www.programmez.com. Autres pays : consultez les tarifs sur www.programmez.com. Pour toute question sur l’abonnement : abonnements@programmez.com Abonnement PDF monde entier : 45 € pour 1 an. Accès aux archives : 25 € (1 an) 30 € (2 ans). Nefer-IT 150, rue Lamarck, 75018 Paris redaction@programmez.com Tél. : 09 86 73 61 08 Toute reproduction intégrale ou partielle est interdite sans accord des auteurs et du directeur de la publication. © Nefer-IT / Programmez!, mars 2025. Mathieu Eveillard Julien Jay Florian Senlecq Stéphane Philippart Aurélie Vache Thierry Chantier Fredy Fadel Philippe Boulanger Fred Berton Pierre-Emmanuel Pollet David Boissier Denis Duplan Julien Lary Jean-David Delprat Olivier Bouzereau Frédéric Aatz Boris Baldassari Nous adorons les acronymes et abréviations en tout genre même si à force, on ne comprend plus trop à quoi ils correspondent. On voit plus ou moins concrètement ce que c’est. Et d’autres sont un peu obscurs. Revenons sur 2 termes importants : PoC et MVP . Spoiler : ce n’est pas le MVP côté Microsoft… « POC VS MVP : NOUS NE SERONS PAS D’ACCORD » De manière surprenante, le sujet est passionnel, voire polémique. Mais, avant de rentrer dans le vif du sujet, actons notre accord sur une chose : le caractère minimal du MVP . L’idée est d’aller en production rapidement pour itérer — l’essence même de l’agilité. D’où mon heuristique personnelle : « Règles 1, 2 & 3 du MVP Si vous pensez que votre MVP est trop petit, c’est qu’il est encore trop gros » Reid Hoffman, cofondateur de LinkedIn, formulait la même idée en ces termes : “If you’re not embarrassed by the first version of your product, you’ve launched too late.” Difficile de lui donner tort. Cela dit, je constate une confusion quasi systématique entre POC et MVP . Clarifions les choses, et pour ce faire, comme souvent, il suffit d’écouter les mots. POC Un “Proof of Concept” est, en bon français, un démonstrateur. Son but est de répondre à une question, qu’elle soit d’ordre technique ou, plus souvent, marketing. En d’autres termes : vérifier qu’il y a de la “traction”. Apporter des réponses, donc, valider une idée, qu’il s’agisse de vous convaincre de consacrer plus de temps sur le sujet ou de convaincre de potentiels investisseurs de vous suivre. Il est fréquent de faire plusieurs POCs au cours de la vie d’un produit. Le POC, c’est le quick & dirty assumé : en faire le moins possible pour obtenir le maximum de réponses. Si des maquettes suffisent pour obtenir du feedback, go for it! Vous auriez tort de vous en priver. Et s’il faut produire du code, c’est bien la seule fois où je vous dirai de “penser jetable”. Encore une fois, le but est d’obtenir des réponses, pas de constituer un actif pour votre entreprise. On ne construit pas sur un POC, on le jette. Il faut donc aller vite : quelques jours, 1 ou 2 semaines maximums. Audelà, c’est déjà trop. MVP L’objectif du “Minimum Viable Product” est tout autre : il vise à acquérir des utilisateurs. Pour cela, votre produit doit aider ses utilisateurs à réaliser un “job to be done” minimal. Dit autrement, le MVP doit rendre un service qui, à lui seul, justifie l’adoption du produit, voire surpasse le coût du changement si l’utilisateur utilisait préalablement un service concurrent (un MVP est donc par essence contextuel : il dépend de la concurrence). La philosophie du MVP est ainsi d’en faire peu, mais très bien. On est en production, ce qui implique de la robustesse (application “production ready”) : une parfaite gestion des erreurs, des logs, de la redondance, des sauvegardes, du monitoring et bien sûr de la sécurité. L’idée est de fidéliser vos utilisateurs par un service non seulement utile, mais de surcroît agréable (Minimum “Lovable” Product, diront certains). Le MVP , c’est des mois de travail avec une vraie équipe et le financement adéquat. Et il faut bien sûr pouvoir itérer dessus : apporter fréquemment de la valeur, tenir la cadence. Le MVP repose donc sur des fondations techniques très solides, la qualité de code (lisibilité, modularité, tests…) et l’outillage de développement (CI/CD) “qui va bien”. Autant dire que du no-code y a rarement sa place… Vous ne mettrez peut-être pas les mêmes mots sur ces 2 objectifs : valider une idée et acquérir des utilisateurs. Il n’empêche que ce sont des objectifs bien distincts et souvent confondus. Posez-vous la bonne question : qu’êtes-vous en train de construire ? Bon après toute cette explication, tu comprends mieux de quoi on parle ? Mathieu Eveillard (beaucoup de textes) + François Tonic (juste 5 phrases) Es-tu PoC ou MVP ? Tu ne sais pas ? Bah, lis cet édito et tu sauras. 004.qxp_268 17/03/2025 10:31 Page4 50 ANS DE MICROSOFT Disponible à partir du 4 avril 2025 005.qxp_268 19/03/2025 11:25 Page5 6 programmez.com Informations & inscription : programmez.com AGENDA Merci à Aurélie Vache pour la liste 2025, consultable sur son GitHub : https://developers.events/#/2025/calendar Conférences Programmez! Lun. Mar. Mer. jeu. Ven. Sam. Dim. 1 2 3 4 5 6 7 8 TechReady / Nantes AlpesCraft / Grenoble DevCon #25 / Paris 9 10 11 12 13 14 15 Agile Tour / Toulouse DevLille / Lille 16 17 18 19 20 21 22 23 24 25 26 27 28 29 WAX / Aixen-Provence BreizhCamp / Rennes Sunny-Tech / Montpellier 30 31 juin 2025 --------------------------------avril 2025 ------------------------------Lun. Mar. Mer. jeu. Ven. Sam. Dim. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Cloud Toulouse AFUP Day Lille / Lyon / Poitiers 19 20 21 22 23 24 25 PolyCloud (Montpellier) NG Baguette Conf 2025 / Nantes 26 27 28 29 30 31 Meetups 50 & 51 1er avril : visual scripting, le no-code des dévs 13 mai : double session IA Les meetups se déroulent dans les locaux de OVHcloud Paris, porte de Clichy DevCon #25 : Green IT & Eco-conception jeudi 5 juin à partir de 13h30 (accueil) sur le campus de l’ESGI Paris DevCon #26 : sécurité & hacking édition 2025 Automne PROGRAMMEZ! N°269 Disponible à partir du 23 mai 2025 HORS SÉRIE N°18 Disponible à partir du 4 avril 2025 PROCHAINS NUMÉROS mai 2025 --------------------------------Lun. Mar. Mer. jeu. Ven. Sam. Dim. 1 2 3 4 5 6 dotJS Conférence (Paris) Flutter Connection (Paris) 7 8 9 10 11 12 13 Android Maker 14 15 16 17 18 19 20 LyonCraft / Lyon Devoxx France 21 22 23 24 25 26 27 IA Data Days (Strasbourg) 28 29 30 31 2 juil. MixIT Lyon 006.qxp_268 18/03/2025 10:11 Page6 programmez.com 7 Les partenaires 2025 de Vous voulez soutenir activement Programmez! ? Devenir partenaires de nos dossiers en ligne et de nos événements ? Contactez-nous dès maintenant : ftonic@programmez.com L e m a g a z i n e d e s d é v - C T O & T e c h L e a d 007.qxp_268 19/03/2025 10:34 Page7 Pour la partie 1 de ce dossier, les experts du scaleur nous montreront quelques services, quelques usages de la plateforme. En quelques chiffres, OVHcloud, c’est : • 43 datacenters dans 9 pays • 44 points de présence (46 prochainement) • Un parc global de 450 000 serveurs • 1,6 million de clients • 100 Tb/s de capacité réseau au niveau mondial. Figure 1 OVH est créé en 1999 par Octave Klaba, alors étudiant à l’ICAM de Lille. Dès 2004, OVH ouvre les premières filiales en Europe. Roubaix devient le flagship de l’entreprise. Avec l’explosion du cloud au début des années 2010, OVH change de nom pour devenir OVHcloud et commence à investir dans le cloud computing et à développer sa stack logicielle. Aujourd’hui, le scaleur frôle le milliard d’euros de revenus et compte presque 3 000 salariés. Les 4 piliers L’offre d’OVHcloud repose sur 4 piliers : • Public cloud • Hosted private cloud • Bare metal cloud • Web cloud. Figure 2 Cloud français PARTIE 1 : OVHcloud Vous connaissez forcément OVHcloud, au moins de nom ! Historiquement, la société faisait de l’hébergement de Web, de l’infogérance. Avec l’explosion du cloud computing, OVHcloud s’est résolument tourné vers le IaaS, PaaS et tout ce qui XaaS. Depuis 25 ans, OVHcloud est un acteur incontournable du paysage technologique français. Le p’tit hébergeur du Nord est devenu un des leaders européens du domaine. L’offre Public Cloud illustre cette transformation d’OVHcloud en développeur de logiciels. Plus de 40 services sont proposés : Compute, Storage, DBaaS, Containers & Orchestration, etc. Figure 3 Côté serveurs dédiés, notre scaleur a renouvelé sa gamme Bare Metal en 2024 en adoptant les processeurs AMD EPYC 4004, disponibles dans les gammes Advance et Game. Les dernières offres Bare Metal bénéficient de liens réseau 25G natifs. Ceux-ci sont mis à profit pour délivrer des capacités atteignant jusque 100G sur le réseau privé où tout est dorénavant inclus sans surcoût. La fonction AntiDDOS prend en charge IPv6 avec le même niveau de performance et de protection que l’IPv4. Et OVHcloud annonce d’ores et déjà de nouveaux processeurs AMD (Ryzen 9000). Au-delà, les AMD EPYC de cinquième génération (nom de code Turin) permettront de disposer de configurations dotées de 384 cœurs physiques par U et jusqu’à 18 000 cœurs par rack pour un coût par cœur toujours plus compétitif en répondant aux besoins de scale-out les plus exigeants. Figure 4 Réutilisation, watercooling : à la pointe de l’éco-conception La maîtrise de la chaîne d’assemblage des composants permet à OVHcloud d’adopter une approche circulaire : chaque serveur en fin de cycle est désassemblé, et chacun de ses composants est trié puis requalifié – sur 100 composants utilisés, 27 sont reconditionnés. Cette recherche d’efficience se retrouve aussi dans les technologies de refroidissement des datacenters. Depuis 2003, le scaleur développe son propre système de refroidissement liquide afin de dissiper la chaleur émise par les CPU et GPU, bien avant que les AiO soient mainstream dans nos PC ! L’eau est consommée en boucle fermée au sein des datacenters d’OVHcloud et l’absence de recours à la climatisation permet à OVHcloud d’afficher des indicateurs parmi les meilleurs du marché (Water Usage Effectiveness : 0,37L/kWh), Power Usage Effectiveness : 1,26 contre 1,55 en moyenne sur le marché). 8 programmez.com Julien Jay International PR Team & Communications Manager chez OVHcloud Communiquant, passionné de technologie et ancien journaliste professionnel, Julien a plus de 20 ans d’expérience dans le secteur IT et a assisté à son lot de cycles informatiques. Florian Senlecq Communications Manager & Rédacteur chez OVHcloud Ayant rejoint les équipes d’OVHcloud en 2016, Florian participe aujourd’hui au rayonnement des actualités de l’entreprise en France, au Benelux et en Afrique. Figure 1 008_010.qxp_268 19/03/2025 09:27 Page8 Chaque serveur est assemblé par OVHcloud dans ses usines à Croix (Nord de la France) et Beauharnois (Canada). La circularité du modèle OVHcloud permet de démonter 100% des serveurs avant de tester rigoureusement leurs composants et de leur donner une seconde vie. Depuis 2003, OVHcloud développe, utilise et améliore son système de refroidissement liquide afin de dissiper la chaleur émise par les CPU et les GPU. Les serveurs sont d’abord testés et préconfigurés en usine puis livrés dans des baies horizontales (brevetées par OVHcloud) prêtes à être connectées en datacenter. programmez.com 9 OVHcloud aime les développeurs ! Si OVHcloud adresse un grand nombre d’organisations (Grandes Entreprises, startups, PME, secteur public,…), les développeurs sont également des utilisateurs des services, tout comme les Ops et les SRE. Les développeuses et développeurs bénéficient de tout un écosystème technique facilitant leur vie de tous les jours : des serveurs prêts à l’emploi pour héberger leur CI/CD par exemple ou encore leur serveur d’application ; mais aussi des services de PaaS pour accélérer leurs développements comme des bases de données managées (PostgreSQL, MongoDB, MySQL, ...) ainsi que tout un jeu de services cloud natif. Avec un Kubernetes, un Harbor et un Rancher managé, les développeuses et développeurs ont l’embarras du choix et peuvent se concentrer sur leur code plutôt que sur la maintenance, la sécurité et la mise à jour des outils. L’API OVHcloud (https://eu.api.ovh.com/console/) leur permet d’adresser simplement la plupart des services du portefeuille OVHcloud. L’automatisation n’est pas en reste, et il est possible d’automatiser la création de ces services via les providers Terraform ou Pulumi (voir les articles dédiés dans ce dossier) ou encore en utilisant les CLI et autres wrappers, disponibles en Python, JavaScript, Go, Java, C#, Perl, PHP , … OVHcloud aime l’IA L’IA est omniprésente depuis ces deux dernières années, un domaine adressé de longue date chez le scaleur. OVHcloud Figure 2 Figure 4 008_010.qxp_268 19/03/2025 09:27 Page9 déploie des services dédiés dont AI Endpoints. Ce service facilite l’accès à des modèles d’IA génériques via des endpoints à la demande. Cette plateforme serverless permet aux développeurs de choisir des modèles d’IA de pointe pour une intégration facilitée dans leurs applications. Parmi les modèles disponibles : Llama-3.1 70B, Llama-3-70B, Mixtral8x22b, Mistral-7B, Deepseek-R1-Distill-Llama-70B, bertbase-NER, stable-diffusion-xl et yolov11x-object-detection, yolov11x-image-segmentation, etc. AI Endpoints est pour le moment en bêta. Il est bien entendu tout à fait possible de construire et déployer ses propres modèles d’intelligence articielle grâce aux outils IA disponibles chez OVHcloud. Pour les voir en action, rendez-vous dans l’article dédié dans ce dossier. OVHcloud a annoncé l’arrivée prochaine des GPU AMD Instinct MI325X. Ceux-ci, bénéficiant de davantage de vRAM, offriront des opportunités uniques pour les LLM. De plus, la plateforme NVIDIA H200 NVL sera prochainement disponible en instance Public Cloud ainsi que les GPU NVIDIA de génération Blackwell en PoD. Autre service dont la version finale est imminente : Data Platform (en GA le 10/03/2025). Elle vise à faciliter la gestion du pipeline de données et de l’analytique. Il s’agit d’une approche low code. Elle donne accès à une expérience complète et fluide du cycle de la donnée via une interface qui permet de collecter, stocker, gérer, analyser et visualiser les données. Le service s’appuie sur un Data Lakehouse. Cloud français, cloud de confiance pour la souveraineté des données OVHcloud se positionne comme un opérateur de confiance en garantissant une totale immunité aux lois extraterritoriales telle que le CLOUD Act américain, qui permet l’accès aux données stockées à l’étranger par toute entreprise de nationalité américaine. OVHcloud pousse par ailleurs sa démarche de certification aux niveaux les plus élevés comme la qualification SecNumCloud en France avec une région complète composée de trois salles SecNumCloud 3.2 ou encore la certification Hébergeur de Données de Santé. Et demain ? Fort des nouveautés évoquées, le roubaisien continue de développer ses offres. Ainsi OVHcloud propose de nouveaux modes de déploiement de son Public Cloud sur des régions 3-AZ. Object Storage vient tout juste d’arriver dans la région 3-AZ Paris, favorisant la résilience, et d’autres services l’y rejoindront rapidement. C’est le cas pour la nouvelle version de Managed Kubernetes Service (MKS) qui sera hautement résiliente grâce à un déploiement en multi-zone (3-AZ à Paris dans un premier temps), des ressources dédiées dans le control plane Kubernetes, et des engagements de service (SLA) pour les clients les plus exigeants. Parallèlement, le scaleur continue les ouvertures de Local Zone à l’international pour rapprocher son Cloud de ses clients. Et d’autres nouveautés sont dans les tuyaux avec la technologie d’Exten pour une solution de stockage désagrégée en Block Storage, de nouvelles qualifications SNC ou encore des serveurs Bare Metal Scale équipés des processeurs AMD EPYC nom de code Turin. La roadmap Public Cloud d’OVHcloud est publique et accessible sur GitHub : https://github.com/orgs/ovh/projects/16. 10 programmez.com Figure 3 008_010.qxp_268 19/03/2025 09:27 Page10 programmez.com 11 Si le grand public prend conscience assez récemment de la puissance de l’intelligence artificielle au travers des chatbots, cela fait assez longtemps que l’IA est dans nos vies. Il existe bien des champs d’application de l’IA, je vous propose d’en découvrir une : la “computer vision”. Au travers de cet article nous allons découvrir comment utiliser la computer vision et même aller plus loin avec la notion de “fine tuning” d’un modèle. Fine tuning et transfert learning : spécialiser un modèle Depuis un certain temps lorsque l’on a besoin d’un modèle on a le réflexe d’aller voir sur HuggingFace[1]. C’est très pratique, mais de temps en temps vous ne trouvez pas exactement votre bonheur. À ce stade, il y a bien la solution de créer votre propre modèle, mais cela implique d’avoir les connaissances nécessaires pour ce genre d’exercice ! À la place, je vous propose de faire du “fine tuning” (ou “transfert learning” qui est une variante). Le concept est simple : prendre un modèle qui est très fort dans une action, par exemple de la détection d’éléments dans une image et lui apprendre à détecter de nouveaux éléments ! C’est ce que l’on fera dans notre exemple dans la suite de cet article. Pour résumer le “transfert learning” je vais emprunter une métaphore à une collègue (Eléa) : “ C’est comme apprendre le solfège pour jouer du piano, le jour où vous souhaitez apprendre à jouer de la guitare classique la partie solfège n’est pas à réapprendre ” Le workflow type de création / modification d’un modèle Figure 1 L’illustration ci-dessous est un exemple des étapes plus ou moins obligatoires lorsque vous allez créer ou mettre à jour un modèle. Voyons rapidement quelles sont étapes. Les données Souvent appelées l’or de l’intelligence artificielle les données ont effectivement une place prépondérante lors de la créaApprendre à YOLO à jouer à Pierre / Feuille / Ciseaux Difficile d’échapper à la vague de l’intelligence artificielle de ces dernières années et plus particulièrement des LLM, Large Languages Models. tion d’un modèle. En effet, par abus de langage la plupart du temps lorsque l’on parle d’intelligence artificielle on parle de “machine learning”. Et qui dit apprentissage dit données pour apprendre. La première étape pour créer un modèle est donc de récupérer des données. Chez OVHcloud on propose plusieurs moyens de stocker des données, très souvent on va utiliser de “l’object storage” afin de faciliter le stockage de données hétérogènes (et très souvent sous forme de fichiers). Bien entendu, rien de vous empêche d’utiliser des bases de données managées par exemple. Le traitement des données Ces données, très souvent, ne sont pas dans un format qui facilite leur utilisation, voire dans un format non compréhensible par le modèle. Elles peuvent aussi être de qualité très hétérogène. Il faut donc souvent les manipuler, les nettoyer et les labéliser (identifier ce que représente la donnée). C’est là que rentrent en jeu les produits de Data Analytics chez OVHcloud. Une fois ces opérations effectuées, les données vont être regroupées dans ce que l’on appelle un dataset. Un dataset est un ensemble de données utilisées pour l’entraînement, le test et la validation d’un modèle. La conception du modèle C’est à ce niveau que les data scientistes vont pouvoir créer ou améliorer des modèles à grand renfort de mathématiques et de réseaux de neurones. Il faudrait bien des pages (et des connaissances) pour vous expliquer dans le détail comment créer un modèle, mais retenez que c’est ici que “l’intelligence” est fabriquée. Chez OVHcloud vous avez le choix d’utiliser deux types d’éditeurs managés : Jupyter Lab ou VSCode. Les deux ont leurs avantages, dans la suite on va utiliser Jupyter Lab qui est fortement utilisé dans le monde de l’intelligence artificielle. La force d’utiliser un produit managé est que vous allez bénéficier d’un produit pré-packagé avec les outils et Frameworks les plus utiles pour votre conception de modèle … sans devoir gérer les mises à jour bien entendu. L’autre énorme avantage va être de pouvoir bénéficier des derniers GPU du moment pour concevoir et entraîner vos modèles. Stéphane Philippart Developer Advocate IA / Public cloud chez OVHcloud Durant cet article vous allez apprendre à utiliser les produits OVHcloud suivants : • Object container storage • AI Notebooks • AI Deploy • AI Training Figure 1 : Workflow typique pour la création d’un modèle et d’une application 011_017.qxp_268 17/03/2025 12:58 Page11
PROGRAMMEZ n°268 - Page 3
PROGRAMMEZ n°268 - Page 4
viapresse