Et si nous faisions autrement ? Entre Python et C#

25 avril 2023

En tant que Développeur Full-Stack au sein d'Agaetis depuis plusieurs années, mes missions m'ont amené à développer autant en Python qu'en C#.  Que ce soit sur des projets Full python, full C#, ou en mixant les deux. Ce qui est plutôt intéressant, sachant qu'ils font partie des langages les plus appréciés des développeurs.  

Lors d'une mission, l'objectif était de développer un client lourd monoposte permettant de faire tourner différents algorithmes personnalisés (dont des algorithmes génétiques) sur un parc d'ordinateurs Windows en interne, et de le déployer chez des industriels partenaires. Quand on parle de « client lourd », de Windows et d’industrie, la technologie la plus adaptée est C#,  mais quand nous entendons « algorithmes génétiques », le choix se porte clairement sur Python, surtout lorsque l’on prend en compte le fait que l'application sera alimentée en calculs par des doctorants.

Contexte

À l'époque, il existait deux solutions pour marier les deux technologies : IronPython et Docker . IronPython a vite été écarté : la version de Python disponible étant trop ancienne (2.x vs 3.x), elle obligeait à devoir réécrire une partie des algorithmes. Nous sommes donc partis sur Docker. Nous avons malgré tout dû réécrire une partie des algorithmes afin de pouvoir les lancer via une API Rest, mais ce fut juste du déplacement de code ou de la création de fonction.


Cette approche est simple et efficace, le seul bémol est que l'installation est complexifiée. Il faut installer/configurer Docker, builder l'image docker (accès à internet requis au moins pour cette phase) et définir des espaces d'échanges (certains algorithmes fournissent des fichiers de sortie). Même si ce n'était pas ce que nous avions en tête au départ, ça fonctionne, avec beaucoup de documentation pour l'installation.

Et aujourd'hui ?

Quand j'ai d u temps libre (temps de veille, baisse de régime d'un projet, inter-contrat), j'apprécie de me repencher sur d'anciens projets me permettant  de me poser la question : « Ferais-je différemment aujourd'hui ? ». Heureusement, la plupart du temps la réponse est oui, mais par moment la réponse est par la négative, souvent, du fait du contexte projet.


Ici, la réponse, à ce projet en particulier, est « peut-être ». Quand nous parlons algorithmes ou data science, nous pensons forcément que Python est incontournable, et ce à juste titre.  J’ai donc dû  regarder si du côté de Python il existait quelque chose de nouveau, permettant de me passer du C#, ou au contraire, de me passer de Python.


En ce qui concerne Python, rien n'a vraiment changé en termes d'interface utilisateur. Les bibliothèques graphiques leaders étant toujours Qt et Tkinter, cela implique de devoir installer une nouvelle fois des bibliothèques supplémentaires, et donc un risque de complexification de l’installation.


Et en ce qui concerne le C# ? Grâce à l'essor du moteur de jeu
Unity , différentes librairies .Net ont émergé. Malheureusement, elles sont surtout orientées vers le Machine Learning et ne permettent pas de retranscrire la totalité des calculs de l'application. 


En continuant les recherches, je suis tombé sur la stack
SciSharp , portage de différents outils Python en C# et F# (pour certains). Au programme : NumSharp (NumPy), TensorFlow.Net, Keras.Net, pour ne citer que les plus matures — d'autres comme Torch.Net (PyTorch), Gym.Net, Pandas.Net, SharpCV (portage d'OpenCV) sont encore en cours de développement.


La stack cible le .Net Standard Framework, et permet de faire tourner ces bibliothèques sur un projet WPF pointant le .Net framework 4.8, ce qui pourrait être notre cas, si nous gardions en tête le WPF (même si MAUI nous fait de l'œil). Cerise sur le gâteau, les bibliothèques gardent à l'identique le nom et les paramètres des fonctions.

Exemple avec NumSharp

Exemple avec TensorFlow.Net

Conclusion

Il existe bien évidemment d'autres possibilités, comme pythonnet , qui permet d'exécuter du code python sous .Net et inversement. Cette bibliothèque a l'avantage d'être à la base de plusieurs projets de portage entre Python et .Net ( liste des projets non exhaustive), dont Numpy.Net de SciSharp.


Dans le cas du projet étudié et pour les algorithmes que nous avions eu à retranscrire, NumSharp ou Pandas.Net suffiraient amplement (même si le portage n'est pas fini pour Pandas) pour livrer une application tout-en-un en minimisant le processus d'installation. 


Et vous, pensez-vous comme moi que de revenir de temps en temps sur d'anciens projets rentre dans le processus d'amélioration continue ? Que cela permet de se challenger et donc de se remettre en question, que ce soit tant au niveau pratique que théorique ?

Ressources Agaetis

par Achats Agaetis 26 novembre 2025
Le contexte du projet : Groupe Aérospatial souhaitait optimiser le temps de contrôle dimensionnel des réservoirs de son lanceur spatial. Les méthodes traditionnelles, longues et peu satisfaisantes, ralentissaient la production et augmentaient les risques d’erreurs. Le besoin était de développer une application de contrôle qualité et dimensionnel intégrant de nouveaux moyens de mesure plus rapides et précis. L’objectifs : L’objectif principal était de concevoir et déployer une application installée sur un PC concentrateur capable de : lancer différents programmes de contrôle dimensionnel, intégrer des technologies de mesure avancées (profilomètres lasers, trackers laser), et améliorer la précision et la répétabilité des contrôles. Durée de mission : Mission de plusieurs mois, de la conception logicielle à la formation des équipes, en passant par l’intégration et les tests. Mise en œuvre : Agaetis a déployé une approche technique et collaborative : Développement de l’application : architecture logicielle adaptée aux besoins d’intégration industrielle. Collecte et traitement des données : intégration des mesures issues des machines à commande numérique, trackers laser et profilomètres. Optimisation des processus : automatisation des contrôles pour gagner en rapidité et réduire les erreurs. Accompagnement & formation : transfert de compétences aux équipes internes pour assurer la continuité. Résultats obtenus : Temps de contrôle réduit : amélioration notable de la productivité. Précision accrue : fiabilisation des mesures grâce à l’intégration de nouvelles technologies. Réduction des erreurs : contrôles plus rapides et répétables. Compétences préservées : maintien de la connaissance technique dans l’organisation. Facteurs clés de succès : Expertise technique d’Agaetis en développement industriel et IoT . Grande flexibilité dans la collaboration avec le client. Intégration fluide des données issues de différents équipements. Approche orientée impact et résultats mesurables. Et vous ? Vous vous interrogez sur : l’optimisation de vos processus de contrôle industriel, l’intégration de nouvelles technologies de mesure, ou la digitalisation de vos applications qualité ? 👉 Contactez nos experts pour moderniser vos contrôles industriels et accroître votre performance opérationnelle.
par David Walter 26 novembre 2025
Directus est-il l’avenir du Low Code ? 1. Comprendre le contexte : le rêve et les limites du Low Code L’essor des outils Low Code et No Code Les solutions no-code visent à simplifier complètement le processus, offrant des interfaces visuelles de type drag&drop, tandis que les plateformes low-code combinent cette simplicité avec la possibilité d’intégrer du code personnalisé pour des besoins plus avancés. Ces outils ont progressivement trouvé leur place dans les entreprises, permettant de créer des POC rapidement ou de moderniser des processus internes simples. Les premiers outils donnant accès à des fonctionnalités de développement simplifiées sont apparus dans les années 90 et début 2000. Mais par leur coût, ils étaient réservés à de grandes entreprises, mais avaient des possibilités limitées et restaient peu scalables. Les outils low code/no code comme nous les connaissons aujourd’hui se sont popularisés au début des années 2010 en réponse à la demande croissante des entreprises pour la digitalisation de processus métiers. Face à la forte demande de développeurs et à la complexité croissante des projets numériques, ces plateformes ont permis à des utilisateurs non techniques de créer des applications, automatiser des workflows et gérer des données sans écrire de code complexe. Quelques chiffres pour comprendre le phénomène Pour évaluer l’impact du no-code en France, examinons quelques statistiques significatives. Entre 2020 et 2025, le no-code est passé d'une tendance émergente à une solution adoptée par une majorité d'entreprises. Une étude réalisée par Hostinger révèle que 71 % des cadres et dirigeants français ont adopté des solutions no-code en 2025 , contre seulement 25 % en 2020. Cette progression illustre une mutation profonde des pratiques numériques. - No-code France : Cette communauté, initié par Contournement en 2019, est passée de 5 000 membres en 2020 à plus de 13 000 en 2025. Elle est la plus grande communauté francophone autour du No-code et regroupe professionnels, freelances et passionnés. - Le SFPN (Société Française des Professionnels du No-code) : Créée en 2020, son but est de fédérer et représenter le No-code au niveau national. Elle organise des événements tels que le Tour de France du No-code et le No-code Summit, et a vu ses adhérents tripler pour atteindre 1 500 membres actifs en 2025. 
Show More