Entrevue avec Herman BRULE, développeur d'Ultracopier et de CatchChallenger
Herman BRULE est lâauteur et le mainteneur de deux applications (libres sous licence GPL v3, mais aussi proposĂ©es dans des versions payantes «âŻUltimateâŻÂ») : lâutilitaire Ultracopier et le jeu CatchChallenger.
- lien ná” 1 : Ultracopier
- lien ná” 2 : Ultracopier (Wikipedia)
- lien ná” 3 : CatchChallenger
Sommaire
Bonjour Herman, peux-tu te présenter ?
Bonjour !
Sur le plan professionnel, je suis DG de Confiared (hébergement Web et VPS) et de Confiabits (fabrication et assemblage de circuits imprimés), et directeur de la technologie chez CTO chez DanSolutions (FAI).
Par ailleurs, jâaide des associations locales (jâhabite en Bolivie) dans des domaines techniques comme les tĂ©lĂ©coms ou le dĂ©veloppement logiciel, jâinterviens parfois comme confĂ©rencier sur ces sujets.
Enfin, je participe au conseil dâadministration de la section bolivienne de lâInternet Society (ISOC Bolivie).
Peux-tu nous raconter ton parcours ?
Jâai Ă©tudiĂ© lâĂ©lectronique (BTS STI), puis le dĂ©veloppement web. JâĂ©tais dâailleurs encore Ă©tudiant quand jâai commencĂ© Ă dĂ©velopper Ultracopier.
Jâai longtemps travaillĂ© dans lâe-commerce, puis pour des raisons personnelles je suis allĂ© vivre en Bolivie.
Jâai Ă©tĂ© plutĂŽt déçu par la qualitĂ© des offres locales, ici en Bolivie, dans le secteur des technologies de lâinformation, câest pourquoi jâai dĂ©cidĂ© de proposer mes services.
Peux-tu nous parler de ces deux logiciels ?
Ultracopier
Comment est né ce projet ?
Jâavais besoin dâun utilitaire avancĂ© pour la copie de fichiers, comme Supercopier, pour une utilisation sous Linux mais ce dernier nâĂ©tait pas disponible sur cette plateforme.
Ultracopier est donc nĂ© non pas comme un fork de Supercopier mais comme un projet indĂ©pendant : Ă lâĂ©poque, Supercopier Ă©tait Ă©crit en Pascal, et je prĂ©fĂ©rais Ă©crire en C++.
Au final, quand toutes les fonctionnalitĂ©s ont Ă©tĂ© implĂ©mentĂ©es et quâUltracopier a disposĂ© dâun skin Supercopier, une redirection a Ă©tĂ© mise en place.
Aujourdâhui, aprĂšs 20 ans, le projet est toujours actif et maintenu, malgrĂ© les problĂšmes de tentative de piratage, bug, DDOS, et les Ă©volutions technologiques.
Quels sont les points marquants qui ont, selon toi, marqué son développement ?
AprĂšs la reprise de Supercopier, qui a permis de fĂ©dĂ©rer sa base dâutilisateurs autour dâUltracopier, il y a eu de nouvelles fonctionnalitĂ©s au fil du temps :
- la prise en charge de gros volumes (>5TB >10 millions de fichiers)
- les extensions (plugins) et thĂšmes graphiques (skins), dont le dĂ©veloppement mâa poussĂ© Ă standardiser lâinterface pour la rĂ©utilisation par des applis tierces.
Quel est le modĂšle Ă©conomique ?
Câest assez peu connu mais Ultracopier est proposĂ© dans deux versions : une gratuite (installable depuis le gestionnaire de paquets dâUbuntu notamment) et une version «âŻUltimateâŻÂ». Cette version, payante, est enrichie de fonctionnalitĂ©s comme
- la mise en pause,
- la limitation du taux de transfert,
- dâautres options de performance selon le systĂšme dâexploitation utilisĂ© et inclut un support technique.
Pour ĂȘtre honnĂȘte, les utilisateurs de la version payante sont trĂšs peu nombreux : une Ă©crasante majoritĂ© utilisent la version gratuite et dâautres piratent la version payante.
Ma vie professionnelle et mon engagement Ă lâISOC Bolivie sont trĂšs chronophages, je ne compte pas mes heures sur mes principales activitĂ©s dâhĂ©bergeur et de FAI, et Ă une usine de fabrication dâĂ©quipements rĂ©seau pour ces besoins.
Jâai quand mĂȘme publiĂ© de lâopen source comme le firmware OpenWRT pour le routeur wifi 6 que je fabrique.
Des dons ou des achats sont bienvenus pour que je puisse me concentrer davantage Ă lâopen source ;) Je crois que beaucoup de dĂ©veloppeurs open source sont dans cette problĂ©matique.
Heureusement, lâhĂ©bergement ne coĂ»te presque rien car jâutilise mon propre service, et je suis le seul contributeur.
Quelles sont les fonctionnalités les plus attendues que tu penses implémenter ?
Je souhaiterais amĂ©liorer lâintĂ©gration dâUltracopier dans les gestionnaires de fichiers sous Linux ou MacOs, mais ce nâest pas chose facile. Pendant des annĂ©es jâai essayĂ© de faire modifier les gestionnaires de fichiers pour avoir la possibilitĂ© de replacer le copier/coller par Ultracopier. Rien. Soit je suis ignorĂ©, soit je suis refusĂ© (motif de refus rĂ©curent : je devrais refaire Ultracopier en «âŻnatifâŻÂ» : GTK, KIO, HaikuâŠ), je me vois mal maintenir divers UI. Les votes sur demande de fonctionnalitĂ©s sont les bienvenus, par exemple ici pour KDE/Plasma.
Je veux aussi implémenter un moteur async natif sous linux (en utilisant io_uring) pour de meilleures performances.
As-tu eu des échanges/retours avec les autres logiciels ou éditeurs (communauté linux / autres éditeurs) ?
Non. Jâai essayĂ© de faire que le protocole dâenvoi de copie/dĂ©placement Ă un logiciel tiers soit un standard avec un protocole commun pour motiver les gestionnaires de fichiers Ă lâutiliser, je nâai reçu que des rĂ©ponses nĂ©gatives :/
Peux-tu partager des souvenirs marquants de cette expérience ?
Durant toutes ces annĂ©es, conscient que la copie de donnĂ©es est un sujet qui peut ĂȘtre trĂšs sensible, jâai veillĂ© Ă ĂȘtre rĂ©actif aux retours des utilisateurs : dĂšs que quelque chose dâanormal mâest reportĂ©, je mâassure de vĂ©rifier/corriger et de publier trĂšs rapidement. Je pense quâUltracopier garantit bien lâintĂ©gritĂ© des donnĂ©es lors des copies, parfois mieux que des copies par lâoutil du systĂšme. Par exemple, si pendant le dĂ©placement de fichiers vers un lecteur rĂ©seau ce lecteur rĂ©seau se dĂ©connecte, alors Windows peut dĂ©truire la source sans avoir pu valider lâintĂ©gritĂ© rĂ©elle du fichier cible. Il faut reproduire un contexte trĂšs particulier, mais ça câest vu.
MalgrĂ© cette attention, il mâest arrivĂ© de recevoir des insultes de certains utilisateurs, allant jusquâĂ des menaces de mort. Jâai une bonne collection de conversations de ce genre ! Il sâagit dâune minoritĂ© dâutilisateurs, en majoritĂ© des dĂ©butants en informatique et qui nâont pas utilisĂ© correctement lâoutil, ou plus gĂ©nĂ©ralement leur ordinateur.
Par ailleurs, le spam et les tentatives de piratage (dont une pour rediriger les paiements des versions "UltimateâŻÂ» !) auront eu raison des pages Wiki et Maintenance du site, faute de temps pour la modĂ©ration.
Il me semble tout de mĂȘme que la majoritĂ© silencieuse (= celle qui dit rarement merci ;) ) est dans lâensemble trĂšs satisfaite des services rendus par Ultracopier, et cela est motivant. Pour moi, le point le plus positif est surtout lâacquis de connaissances.
CatchChallenger
Quelle est lâorigine de ce jeu ?
Je cherchais Ă me familiariser avec la programmation autour de sujets relatifs aux clients/serveurs, comme les protocoles, la haute performance, le chiffrement, et aussi les bots⊠âŠet le dĂ©veloppement dâun jeu est le moyen ludique par excellence !
Vu quâil nây a pas de temps rĂ©el, je peux jouer avec TOR/I2P (un bon moyen de tester la sĂ©curitĂ©), pas de flottant donc cela marche sur tous les CPU, y compris ceux de plus de trente ans et les architectures exotiques comme celles que lâon trouve dans les routeurs (MIPSâŠ).
Câest un mix de plusieurs jeux au gameplay de type crafting (Ă la lineage/X3/minecraft) qui mâintĂ©ressait pour les techniques ce que ce genre implique.
Quels sont les points marquants qui ont, selon toi, marqué son évolution ?
Version 1 : jâai essayĂ© de mâĂ©loigner visuellement dâun jeu bien connu auquel mon jeu pouvait ĂȘtre associĂ©.
Version 2 : jâai abandonnĂ© Qt niveau serveur car trop lent niveau SLOT/SIGNAL, et revu le thĂšme graphique avec des couleurs plus chaudes, mĂȘme si ça me rapproche dâun autre jeu connu.
Version 3 : modularité/API et interface responsive, refonte du datapack.
Est-il facile de monter son propre serveur? Ou de modifier le jeu ?
Le client intĂšgre un serveur embarquĂ© pour jouer en solo, qui peut ĂȘtre ouvert sur un rĂ©seau local ou sur Internet.
Le serveur a une interface graphique et une version console (avec diverses bases de donnée supportées, y compris du noSQL)
Le datapack est facilement interchangeable et tout est fait pour quâun enfant puisse le modifier (png, xml, tmx, opus)
Y a-t-il dâautres contributeurs ?
Non
y a-t-il des fonctionnalités importantes qui ne seront pas développées, et pourquoi ?
Il y en a beaucoup, par manque de temps. Je nâai jamais atteint un stade de maturitĂ© sur le jeu de base qui me convient, donc je me concentre lĂ -dessus. Par exemple, je me suis lancĂ© sur le multithreading GPU cĂŽtĂ© serveur : jâai pu lancer des tests sur GPU, cela fonctionne bien mais complexifie trop le dĂ©veloppement sans apporter un rĂ©el bĂ©nĂ©fice.
Quel est le rapport avec tes autres projets ?
Avec ce projet, jâai vite eu besoin dâun grand nombre de VPS, cela mâa incitĂ© Ă mâintĂ©resser aux datacentres et Ă monter modestement mon premier datacentre. De fil en aiguille, jâen ai fait mon activitĂ© :)
Jâai aussi eu besoin de connexions, de haute performance et de haute disponibilitĂ©. Curieux, je me suis lancĂ© dans la conception de mon hardware : onduleur, alimentation solaireâŠ
Quâas-tu retirĂ© de ce projet ?
Jâai Ă©tĂ© surpris par les performances, pour un code qui nâest pas en assembleur et qui pourrait encore ĂȘtre optimisĂ© : des millions de joueurs sur un CPU de bureau par serveur. Vous saturez lâĂ©cran de bots bien avant de saturer le CPU, mĂȘme un trĂšs vieux CPU ou un microcontrĂŽleur de routeur, et la charge en RAM ne dĂ©passe pas quelques Mo.
La prĂ©diction cĂŽtĂ© client (Client-side prediction), les instructions prĂ©parĂ©es (SQL parameterized statement) sont trĂšs efficaces, je charge tout en RAM sous forme dâentier <=32Bits. Vu quâil faut des performances bien supĂ©rieures du client pour surcharger un serveur, il y a peu de chance quâon mâattaque via DDOS.
Quels conseils avec le recul donnerais-tu Ă ceux qui entreprendraient de se lancer ?
Ne faites pas de projets que vous nâallez pas maintenir, aussi bien pour vous que pour ceux qui vont les utiliser.
Aussi, ne vous lancez pas sur un projet que mille autres personnes ont dĂ©jĂ fait avant vous, il y a une tonne de projets de niche qui nâont pas de solution open source !
Ton rapport au libre
Au niveau personnel, quels logiciels libres utilisez-vous, sur quel OS ?
Jâutilise Gentoo Linux et presque que du libre.
MĂȘme question au niveau professionnel ?
En gĂ©nĂ©ral jâessaie de faire le modĂšle pro suivant : quand un logiciel a Ă©tĂ© rentabilisĂ©, je le libĂšre.
Niveau data center, on fonctionne en IPv6 avec des logiciels de conversion pour, par exemple, passer de HTTP IPv4 à IPv6, si tu ajoutes tous les services internes + gestionnaires, ça fait mal pas de logiciels.
Niveau industrie, je produis des onduleurs, des serveurs, des routeurs datacentres et domestiques (wifi 6 OpenWRT), avec les difficultĂ©s ici pour importer je dois faire avec ce que je trouve sur place (et il nây a quasiment rien pour la microĂ©lectronique).
Niveau FAI, rien Ă voir avec ce quâil y a en France, entre les blocages politiques et administratifs (jâattends certaines autorisations depuis de nombreuses annĂ©es), les monopoles⊠rien nâavance. Mais malgrĂ© ces difficultĂ©s jâai pu innover et proposer des solutions efficaces pour des communautĂ©s locales, grĂące Ă des logiciels libres.
Merci pour ce partage, et pour ton apport au libre ! Nous te souhaitons beaucoup de succĂšs dans tes nombreux projets pour 2025 !
Commentaires : voir le flux Atom ouvrir dans le navigateur