Herman BRULE est l’auteur et le mainteneur de deux applications (gratuites sous licence GPL v3, mais également proposées en versions payantes « Ultimate ») : l’utilitaire Ultracopier et le jeu CatchChallenger.
Résumé
Bonjour Herman, peux-tu te présenter ?
Bonjour !
Professionnellement, je suis PDG de Confiared (hébergement web et VPS) et Confiabits (fabrication et assemblage de circuits imprimés), et directeur technologique 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 en tant qu’intervenant sur ces sujets.
Enfin, je participe au conseil d’administration de la section bolivienne de l’Internet Society (ISOC Bolivia).
Pouvez-vous nous raconter votre parcours ?
J’ai étudié l’électronique (BTS STI), puis le développement web. J’étais encore étudiant lorsque j’ai commencé à développer Ultracopier.
J’ai longtemps travaillé dans le e-commerce, puis pour des raisons personnelles je suis parti vivre en Bolivie.
J’ai été plutôt déçu par la qualité de l’offre locale ici en Bolivie dans le secteur des technologies de l’information, c’est pourquoi j’ai décidé de proposer mes services.
Pouvez-vous nous parler de ces deux logiciels ?
Ultracopieur
Comment est né ce projet ?
J’avais besoin d’un utilitaire avancé de copie de fichiers, comme Supercopier, pour une utilisation sous Linux, mais il n’était pas disponible sur cette plate-forme.
Ultracopier n’est donc pas né comme un fork de Supercopier mais comme un projet indépendant : à l’époque, Supercopier était écrit en Pascal, et j’ai préféré écrire en C++.
Au final, lorsque toutes les fonctionnalités ont été implémentées et qu’Ultracopier a eu 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 tentatives de piratage, de bugs, de DDOS et d’évolutions technologiques.
Quels sont les points clés qui, selon vous, ont marqué son développement ?
Après le rachat de Supercopier, qui a permis de fédérer sa base d’utilisateurs autour d’Ultracopier, de nouvelles fonctionnalités sont apparues au fil du temps :
- prise en charge de gros volumes (> 5 To > 10 millions de fichiers)
- des extensions (plugins) et des thèmes graphiques (skins), dont le développement m’a poussé à standardiser l’interface pour une réutilisation par des applications tierces.
Quel est le modèle économique ?
Il est relativement peu connu mais Ultracopier est proposé en deux versions : une gratuite (installable depuis le gestionnaire de paquets Ubuntu notamment) et une version « Ultimate ». Cette version payante est enrichie de fonctionnalités telles que
- faire une pause,
- limiter le taux de transfert,
- d’autres options de performances en fonction du système d’exploitation utilisé et comprend un support technique.
Pour être honnête, les utilisateurs de la version payante sont très peu nombreux : une écrasante majorité utilise la version gratuite et d’autres piratent la version payante.
Ma vie professionnelle et mon engagement auprès d’ISOC Bolivie prennent beaucoup de temps, je ne compte pas mes heures sur mes activités principales d’hébergeur et FAI, et dans une usine de fabrication d’équipements réseaux pour ces besoins.
J’ai toujours publié du open source comme le firmware OpenWRT pour le routeur wifi 6 que je fabrique.
Les dons ou achats sont les bienvenus afin que je puisse me concentrer davantage sur l’open source ???? Je pense que de nombreux développeurs open source ont ce problème.
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 vous envisagez de mettre en œuvre ?
J’aimerais améliorer l’intégration d’Ultracopier dans les gestionnaires de fichiers sous Linux ou MacOs, mais ce n’est pas une chose facile. Pendant des années j’ai essayé de modifier les gestionnaires de fichiers pour avoir la possibilité de remplacer le copier/coller par Ultracopier. Rien. Soit je suis ignoré, soit on me refuse (motif de refus récurrent : je devrais refaire Ultracopier en « natif » : GTK, KIO, Haiku, etc.), je ne me vois pas maintenir diverses UI. Les votes sur les demandes de fonctionnalités sont les bienvenus, par exemple ici pour KDE/Plasma.
Je souhaite également implémenter un moteur asynchrone natif sous Linux (en utilisant io_uring) pour de meilleures performances.
Avez-vous eu des échanges/retours avec d’autres logiciels ou éditeurs (communauté Linux / autres éditeurs) ?
Non. J’ai essayé de faire du protocole d’envoi de copie/déplacement vers un logiciel tiers 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 :/
Pouvez-vous partager des souvenirs mémorables 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 qu’un élément anormal m’est signalé, 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 les copies par l’outil système. Par exemple, si lors du déplacement de fichiers vers un lecteur réseau, ce lecteur réseau est déconnecté, Windows peut détruire la source sans pouvoir valider l’intégrité réelle du fichier cible. Il faut reproduire un contexte bien précis, mais cela se voit.
Malgré cette attention, j’ai parfois reçu des insultes de la part de certains utilisateurs, allant jusqu’à des menaces de mort. J’ai une bonne collection de conversations comme celle-ci ! Il s’agit d’une minorité d’utilisateurs, pour la plupart débutants en informatique et qui n’ont pas utilisé correctement l’outil, ou plus généralement leur ordinateur.
Par ailleurs, des tentatives de spam et de piratage (dont un visant à rediriger les paiements pour les versions « Ultimate » !) ont envahi les pages Wiki et Maintenance du site, faute de temps pour la modération.
Il me semble quand même que la majorité silencieuse (= ceux qui disent rarement merci ;)) sont globalement très satisfaites des prestations fournies par Ultracopier, et c’est motivant. Pour moi, le point le plus positif c’est avant tout l’acquisition de connaissances.
CatchChallenger
Quelle est l’origine de ce jeu ?
Je cherchais à me familiariser avec la programmation autour de sujets liés aux clients/serveurs, comme les protocoles, les hautes performances, le chiffrement, mais aussi les bots… …et développer un jeu est la voie ludique par excellence !
Comme 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 ça marche sur tous les CPU, y compris ceux de plus de trente ans et les architectures exotiques comme celles qu’on retrouve dans les routeurs (MIPS, etc. .).
C’est un mélange de plusieurs jeux avec un gameplay de type crafting (à la lineage/X3/minecraft) qui m’a intéressé pour les techniques qu’implique ce genre.
Quels sont les points marquants qui, selon vous, ont marqué son évolution ?
Version 1 : J’ai essayé de me distancier visuellement d’un jeu connu auquel mon jeu pourrait être associé.
Version 2 : J’ai abandonné Qt au niveau serveur car trop lent au niveau SLOT/SIGNAL, et revu le thème graphique avec des couleurs plus chaudes, même si cela me rapproche d’un autre jeu connu.
Version 3 : modularité/API et interface responsive, refonte du datapack.
Est-il facile de créer votre propre serveur ? Ou modifier le jeu ?
Le client intègre un serveur embarqué pour le jeu en solo, qui peut être ouvert sur un réseau local ou sur Internet.
Le serveur dispose d’une interface graphique et d’une version console (avec diverses bases de données supportées, dont noSQL)
Le datapack est facilement interchangeable et tout est conçu 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 ?
Ils sont nombreux, faute de temps. Je n’ai jamais atteint un point de maturité sur le jeu de base qui me convienne, donc je me concentre là-dessus. Par exemple, je me suis lancé dans le multithreading GPU côté serveur : j’ai pu faire des tests sur GPU, cela fonctionne bien mais rend le développement trop complexe sans apporter de réel bénéfice.
Quel est le rapport avec vos autres projets ?
Avec ce projet, j’ai rapidement eu besoin d’un grand nombre de VPS, cela m’a incité à m’intéresser aux data center et à monter modestement mon premier data center. Une chose en a entraîné une autre, j’en ai fait mon activité ????
J’avais également besoin de connexions, de hautes performances et de haute disponibilité. Curieux, je me suis lancé dans la conception de mon matériel : onduleur, alimentation solaire…
Qu’avez-vous 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 robots bien avant de saturer le CPU, même un très vieux microcontrôleur de CPU ou de routeur, et la charge de RAM ne dépasse pas quelques Mo.
La prédiction côté client, les instructions préparées (instruction paramétrée SQL) sont très efficaces, je charge tout dans la RAM sous forme d’entier
Avec le recul, quels conseils donneriez-vous à ceux qui débutent ?
Ne réalisez pas de projets que vous ne maintiendrez pas, tant pour vous-même que pour ceux qui les utiliseront.
Aussi, ne vous lancez pas dans un projet que des milliers d’autres personnes ont déjà réalisé avant vous, il existe une tonne de projets de niche qui n’ont pas de solution open source !
Votre rapport au libre
A titre personnel, quels logiciels libres utilisez-vous, sur quel OS ?
J’utilise Gentoo Linux et presque uniquement gratuitement.
Même question au niveau professionnel ?
En général, j’essaie de suivre le modèle professionnel suivant : lorsqu’un logiciel a été rentable, je le publie.
Niveau data center, on fonctionne en IPv6 avec un logiciel de conversion pour par exemple passer du HTTP IPv4 à IPv6, si on ajoute tous les services internes + managers, c’est mauvais sans logiciel.
Niveau industrie, je produis des onduleurs, des serveurs, des data center et des routeurs domestiques (wifi 6 OpenWRT), avec les difficultés ici pour importer je dois me contenter de ce que je trouve sur place (et il n’y a quasiment rien pour la microélectronique).
Au niveau des 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 aux communautés locales, grâce aux logiciels libres.
Merci pour ce partage et pour votre contribution au monde libre ! Nous vous souhaitons beaucoup de succès dans vos nombreux projets pour 2025 !