Pour un meilleur visuel,
Merci de tourner votre écran.

KSH-Soft

"Un petit bout de mon"
Histoire

En savoir plus sur moi et mes projets.
par Leo CANTO (alias KSH-Soft)

Qui suis-je ?

Depuis mon plus jeune âge, j'ai toujours été fasciné par le monde du développement. Ma première aventure dans ce domaine a commencé avec le HTML et le CSS, où je créais des pages web simples, mais fonctionnelles dès mes 8 ans. Très vite, ma curiosité m'a poussé à explorer davantage, et je me suis retrouvé à plonger dans l'univers du MSDOS, en apprenant à maîtriser des scripts Batch. Cette soif d'apprendre, je l'ai toujours eue, et elle m'a permis de progresser rapidement, souvent de manière autodidacte. J'ai toujours pris plaisir à découvrir les choses par moi-même, bien que mon père ait été un guide précieux, m'ouvrant la voie vers de nouvelles connaissances et perspectives.

Au fil des années, j'ai enrichi mon expertise, et l'apprentissage du Python a marqué un tournant décisif dans mon parcours. Avec ce langage, j'ai découvert une puissance et une flexibilité qui ont littéralement décuplé mes possibilités. Désormais, de nombreuses portes se sont ouvertes pour moi, et je me retrouve à coder presque quotidiennement, que ce soit pour de petits projets personnels ou pour des initiatives plus ambitieuses. La programmation est devenue une partie intégrante de ma vie, un véritable mode d'expression. Même lorsque je ne suis pas devant mon écran à écrire du code, mon esprit est en constante création, développant régulièrement de nouvelles idées et concepts que je pourrais concrétiser.

Cette passion pour le développement ne cesse de grandir, alimentée par chaque nouvelle compétence acquise et chaque projet mené à bien. Le code est pour moi bien plus qu'un simple outil, c'est un moyen de créer, d'innover, et de donner vie à des idées qui, autrement, resteraient inexplorées.


Mes Projets :


(2023) / (Shell)Mon infrastructure personelle

Le 24 décembre 2022, j'ai vécu une expérience marquante lorsque l'une de mes machines à domicile a été victime d'un cryptage par un pirate. Ce fut un réveil brutal, mais au lieu de céder à la panique, j'ai décidé de prendre les choses en main. J'ai réussi à entrer en contact avec le pirate, et nous avons eu une brève discussion à ce sujet. Cela m'a motivé à approfondir mes recherches et, après de nombreux efforts, j'ai pu identifier le logiciel de cryptage qui avait infecté mon ordinateur et stopper le processus en question. Il s'agissait d'un fichier déguisé sous le nom de Word.exe, qui cachait en réalité un fichier rar.exe dont son utilisation a été détournée..

Sur ma machine Linux, j'ai entrepris de décrypter les fichiers touchés, mais malgré plusieurs semaines de tentatives, les résultats n'ont pas été concluants. Cette expérience a été un véritable électrochoc, me poussant à reconsidérer la sécurité de mon environnement informatique.

Depuis ce jour, j'ai pris des résolutions importantes pour renforcer la protection de mon réseau et de mes données. J'ai décidé de mettre en place un pare-feu , un serveur dédié pour gérer mon réseau local, et une solution antivirus. En parallèle, j'ai aussi saisi l'opportunité d'ajouter quelques serveurs de divertissement, tels que Plex pour le multimédia, GameSense pour le gaming, et un NAS pour le stockage sécurisé. Cette mésaventure m'a rappelé l'importance de la sécurité, mais elle m'a également motivé à transformer mon environnement numérique en un espace à la fois sûr et fonctionnel.



(2021) / (Batch)PingMetter : Play Better

Lors de mon premier déménagement, je me suis installé dans un petit appartement où je n'avais accès qu'à une connexion ADSL. Étant un passionné de jeux vidéo, en particulier de FPS de précision, j'ai rapidement découvert que ma connexion instable représentait un sérieux handicap, surtout lors de parties où chaque milliseconde comptait. Les déconnexions soudaines et les variations de latence rendaient les moments critiques du jeu extrêmement frustrants.

Pour remédier à ce problème, j'ai décidé de coder un petit logiciel qui me permettait de visualiser en temps réel le ping de ma connexion. Je l'ai conçu pour afficher ces informations sur un écran secondaire, afin que je puisse surveiller ma latence sans quitter des yeux l'action principale. Pour rendre cette surveillance encore plus intuitive, j'ai intégré un système de variations de couleurs, où chaque changement de teinte correspondait à une variation du ping. Cela m'a permis de reconnaître instantanément toute instabilité de connexion et de m'adapter en conséquence.

Ce logiciel, bien que simple, a considérablement amélioré mon expérience de jeu en me donnant un meilleur contrôle sur ma connexion. Il m'a aussi rappelé que même les petits outils, lorsqu'ils sont bien pensés, peuvent avoir un impact significatif sur la qualité de vie numérique.


(2021) / (Python-Tkinter-PyQt5)Alarm House Monitoring Project : Alarme faites maison

Lors de mon premier déménagement, j'ai rapidement pris conscience de la nécessité de renforcer la sécurité de mon nouveau logement. Un Raspberry Pi, cet ordinateur de la taille d'une carte de crédit, sommeillait dans un tiroir. Pour quelques dizaines d'euros et un peu de créativité, il était possible de le transformer en un système de surveillance complet.

J'ai commencé par assembler les éléments de base : un écran pour afficher les informations en temps réel, une caméra pour surveiller les pièces, des capteurs pour détecter les ouvertures de portes et les mouvements, et une enceinte pour émettre une alarme sonore. J'ai développé une interface utilisateur simple, bien que perfectible, pour centraliser toutes ces données. Des notifications par téléphone et un système de mot de passe ont complété le dispositif.

Après quelques années d'utilisation, j'ai souhaité repenser mon système. Je me concentre sur l'amélioration de l'interface graphique pour la rendre plus intuitive et agréable à utiliser. Des fonctionnalités supplémentaires, comme l'affichage des prévisions météo, pour en faire un véritable tableau de bord connecté.

En parallèle, je travaille sur l'aspect fonctionnel du système. Je suis en train de développer un système de gestion de comptes utilisateurs, permettant à plusieurs personnes de gérer leur propre configuration. Je souhaite également ajouter la possibilité de personnaliser l'interface et d'automatiser certaines actions, comme la désactivation de l'alarme lorsque je suis à proximité.

Mon objectif est de créer un système de sécurité domestique complet et évolutif, capable de s'adapter à mes besoins.


(2023) / (Python-PyQt5)OctoCraft : Game Launcher

Dans mon environnement serveur, j'ai mis en place une infrastructure dédiée à l'hébergement de serveurs de jeux vidéo. Un de ces serveurs physiques a été spécialement configuré pour accueillir des projets personnels. C'est sur cette machine que j'ai eu l'idée de créer un serveur privé pour jouer avec mes amis.

Pour enrichir l'expérience de jeu, j'ai souhaité intégrer des mods supplémentaires, qui nécessitent généralement une installation manuelle par chaque joueur. Fort de l'évolution récente des outils de déploiement tels que B2P, j'ai développé un lanceur personnalisé. Ce dernier automatise l'installation d'une version modifiée du jeu, incluant la gestion des dépendances et l'installation de dizaines, voire de centaines de mods.

Grâce à ce lanceur, les joueurs n'ont plus qu'à lancer l'application et sélectionner le serveur dans leur liste de favoris pour rejoindre la partie. Cette solution simplifie considérablement l'accès au serveur et garantit une expérience de jeu cohérente pour tous les participants.


(2024) / (Python-PyQt5)ClamAV GUI : Interface d'Antivirus

L'incident du cryptolocker a été un véritable électrochoc. J'ai réalisé que, même en étant un utilisateur relativement prudent, je n'étais pas à l'abri d'une attaque. La nécessité d'une solution antivirus s'est imposée.

J'ai testé plusieurs antivirus commerciaux, mais leur tendance à ralentir mon système et à afficher des alertes intempestives ne m'a pas convaincu. Windows Defender, bien qu'efficace pour une utilisation standard, ne m'offrait pas le niveau de personnalisation que je recherchais.

C'est alors que j'ai découvert ClamAV, un antivirus en ligne de commande. Plus léger et plus flexible que les solutions traditionnelles, il m'a permis de mettre en place un système de protection sur mesure. J'ai commencé par créer des scripts pour intégrer ClamAV aux menus contextuels de Windows, facilitant ainsi les analyses de fichiers et de dossiers.

À terme, je souhaite développer un service Windows pour automatiser les mises à jour et les analyses. J'envisage également de créer une interface graphique simple pour rendre l'outil plus accessible à d'autres utilisateurs. L'objectif est de disposer d'une solution de sécurité fiable, personnalisable et adaptée à mes besoins spécifiques.


(2024) / (Python-PySide6)OctoPass / BunPass : Gestionnaire mot de passe

OctoPass, est un logiciel de gestion et de génération de mots de passe complet, conçu pour offrir sécurité, flexibilité et facilité d’utilisation. Écrit en Python, il combine un gestionnaire de mots de passe robuste avec un générateur puissant et entièrement personnalisable, tout en étant traduit en français et en anglais pour toucher un large public.

La sécurité est au cœur d’OctoPass : l’accès à la base de données est protégé par un mot de passe principal, indispensable pour déchiffrer les informations stockées. Les mots de passe sont cryptés localement, avec la possibilité d’associer à chaque entrée des titres, des icônes, des notes et des liens personnalisés. Grâce à cette organisation, OctoPass permet de centraliser et de sécuriser toutes vos informations sensibles de manière structurée et intuitive.

Le générateur de mots de passe offre une personnalisation avancée : l’utilisateur peut choisir les types de caractères (minuscules, majuscules, chiffres, symboles), définir la longueur et le ratio entre ces types, et sélectionner l’un des trois styles de format disponibles (aléatoire, symbole à la fin, majuscules + symbole). Chaque mot de passe est évalué en termes de complexité, affichant un score en pourcentage pour aider à garantir un niveau de sécurité optimal. De plus, OctoPass inclut un système de rappel configurable pour le changement de mot de passe, allant de 3 mois à 3 ans, ainsi qu’une option pour éviter les caractères visuellement ambigus tels que O/0 ou I/l.

Pour les environnements Windows, OctoPass propose une intégration optionnelle avec les comptes utilisateurs locaux, permettant de semi-automatiser le changement de mot de passe, tout en restant entièrement fonctionnel sur n’importe quel support local, clé USB, disque externe, serveur ou machine distante. L’interface est adaptable aux préférences de chacun, offrant une version rétro pour les amateurs de simplicité et une version moderne pour ceux qui privilégient le design et l’ergonomie.

Enfin, OctoPass inclut un exemple de base de données pour faciliter la prise en main, avec trois comptes et une image, permettant aux utilisateurs de découvrir rapidement le fonctionnement du logiciel. Grâce à son architecture locale, sa sécurité avancée et sa personnalisation poussée, OctoPass constitue un outil fiable et complet pour gérer efficacement tous vos mots de passe, tout en gardant le contrôle total sur vos données sensibles.



(2024-2025) / (Python)BunArmyMonitor : Supervision et Administration

BunArmyMonitor est une solution complète de supervision et de gestion à distance, conçue pour faciliter l’administration centralisée de multiples ordinateurs. Le logiciel se compose de deux modules complémentaires : le Master, qui agit comme serveur principal avec interface de contrôle, et l’Agent, qui s’installe sur les machines clientes sous Windows ou Linux.

Le Master fournit un tableau de bord intuitif, permettant de surveiller en temps réel l’état des postes de travail. Il offre des informations détaillées sur les statistiques système, le statut en ligne des machines, et bien plus encore, offrant ainsi une visibilité complète sur l’ensemble de l’infrastructure. Cette interface centralisée permet aux administrateurs de détecter rapidement tout problème et de réagir de manière proactive.

BunArmyMonitor intègre également un ensemble de fonctionnalités de gestion à distance. Il est possible de planifier ou d’exécuter des actions sur les machines clientes, telles que l’installation de mises à jour Windows, le déploiement d’applications, l’exécution de commandes spécifiques, ainsi que le redémarrage ou l’arrêt des systèmes. L’outil facilite et simplifie ainsi les interventions sans avoir besoin d’une connexion physique.

Idéal pour les environnements où la gestion de plusieurs postes de travail est nécessaire. Il permet de centraliser toutes les tâches administratives, de surveiller la santé des systèmes et d’automatiser les opérations récurrentes, offrant ainsi un gain de temps significatif et une meilleure sécurité pour l’ensemble des infrastructures.

Grâce à sa conception modulable et à ses outils avancés, BunArmyMonitor répondant aux besoins des entreprises et des administrateurs qui cherchent à optimiser leur supervision informatique.

De nombreuses fonctionnalités et ajustements sont encore prévus pour faire évoluer l’expérience et répondre aux besoins du cahier des charges.


(2021-Aujourd'hui) / (HTML-CSS-JS-Batch-Python-TypeScript)Anyland et Renyland : Une grande aventure

Anyland était un univers virtuel unique, où l’imagination des joueurs était la seule limite. Dans ce monde, chaque utilisateur pouvait créer librement des objets, des structures, et même des mondes entiers, grâce à un système de construction flexible et intuitif. Que ce soit pour concevoir des paysages, des bâtiments, des véhicules ou des créations entièrement originales, Anyland offrait un terrain de jeu infini pour l’expression créative.

Au-delà de la création, Anyland proposait un espace social vivant et dynamique. Les joueurs pouvaient explorer les mondes des autres, interagir avec eux, partager leurs œuvres et participer à des événements communautaires. Cette dimension collaborative transformait le jeu en un lieu vivant, où la créativité individuelle se mêlait à l’inspiration collective, et où chaque monde créé devenait une extension de l’imaginaire de sa communauté.

Malheureusement, malgré l’engouement de sa communauté et la richesse de son univers, les serveurs d’Anyland ont été définitivement fermés en début d’année 2024 pour des raisons budgétaires, mettant fin à cette aventure virtuelle.

Lien vers Anyland Officiel
Lien vers Renyland

(2021) / (HTML-CSS-JS)Anyweb for Anyland

Anyland, un terrain de jeu virtuel (VR). C'est dans ce jeu que j'ai pu collaborer avec un artiste passionné par la création d'instruments de musique virtuels. En unissant nos compétences, nous avons conçu Anyweb, une nouvelle plateforme qui permettait de transformer de simples objets virtuels en instruments de musique. Grâce à une synchronisation entre le jeu et le site web, chaque note jouée dans Anyland résonnait dans nos oreilles, offrant une expérience musicale inédite dans cet univers.


(2024-2025) / (HTML-CSS-JS-PHP)Renyland, Siteweb : Un nouveau départ

Renyland est bien plus qu’un simple serveur: c’est le prolongement technique et communautaire d’Anyland, créé pour permettre aux joueurs de continuer à profiter de l’expérience unique après la fermeture des serveurs officiels en 2024. La mise en place de Renyland a nécessité un travail complexe et minutieux pour recréer les fonctions du serveur original et interpréter correctement les interactions entre le client et le serveur. Chaque action envoyée par le jeu devait être comprise et traitée pour reproduire fidèlement le comportement du serveur d’Anyland originel.

Pour atteindre cet objectif, le jeu a été moddé avec BepInEx, ce qui a permis de modifier des valeurs et des fonctions essentielles tout en conservant l’intégrité du jeu de base. Cela a nécessité de longues analyses et des ajustements précis pour s’assurer que les modifications n’altèrent pas l’expérience originale, tout en offrant de nouvelles possibilités techniques.

En parallèle, l’intégralité du serveur a été réécrite à plusieurs reprises en TypeScript. Cette réécriture complète a permis d’ajouter des améliorations, de stabiliser le fonctionnement, et de mettre en place des systèmes de restauration d’objets et de mondes perdus : à ce jour, 346 039 objets et 8 917 zones ont été restaurés pour que les joueurs puissent retrouver leurs créations. Grâce à ces outils, ils peuvent poursuivre leur expérience créative dans des conditions optimales, tout en bénéficiant de nouvelles fonctionnalités que le serveur officiel ne proposait pas.

Aujourd’hui, Renyland est devenu la référence pour la communauté Anyland : le site officiel redirige désormais les visiteurs vers ce serveur, qui combine à la fois la fidélité au jeu original, une stabilité renforcée et un développement technique poussé. Le projet continue d’évoluer, avec des mises à jour régulières, des optimisations et une attention constante portée à la sécurité et à la qualité du serveur, faisant de Renyland un véritable prolongement vivant et moderne de l’univers Anyland.

Lien vers Renyland


(2024) / (Python-PyQt5)Renyland DNS : Redirection du traffic

Renyland-DNS est un outil Python léger pensé pour simplifier la gestion des redirections DNS au sein du projet Renyland. Plutôt que de modifier manuellement les paramètres réseau ou de recourir à des configurations complexes, ce script automatise la redirection via le fichier HOSTS du système Windows, rendant la procédure simple, rapide et accessible à tous les utilisateurs, même les moins expérimentés.

Au-delà de la gestion DNS, Renyland-DNS intègre plusieurs fonctionnalités pratiques. Il propose un Message of the Day (MOTD), permettant de transmettre des informations importantes aux utilisateurs dès l’exécution du script, comme des annonces, mises à jour ou alertes communautaires. De plus, il inclut un système de vérification automatique de la connexion internet et du serveur, garantissant que l’utilisateur est correctement relié à Renyland avant même de lancer le jeu. Cela réduit les erreurs de configuration et améliore la fluidité d’utilisation.


(2024) / (Python-PyQt5)Renyland Cache Restorer : Objectif restauration d'univers

Renyland Cache Restorer est un outil indispensable conçu pour redonner vie aux créations perdues d’Anyland après la fermeture des serveurs officiels en 2024. Lorsque les mondes et objets d’Anyland ont disparu avec l’arrêt du service, une partie des données essentielles restait néanmoins stockée dans les caches locaux des joueurs. C’est précisément là qu’intervient Renyland Cache Restorer : il analyse ces fichiers, extrait les informations encore présentes pour pouvoir ensuite les réinjecter dans Renyland, permettant ainsi de reconstituer de vastes portions de l’univers original.

Grâce à Renyland Cache Restorer, des milliers de créations ont pu être sauvées. Offrant aux anciens joueurs la possibilité de retrouver leurs constructions, parfois oubliées depuis des années. Ce travail de restauration a une dimension technique mais aussi émotionnelle : chaque cache restauré contribue à préserver la mémoire collective d’Anyland et à enrichir l’univers vivant de Renyland.

En complément de sa fonction de récupération, Renyland Cache Restorer joue un rôle clé dans la pérennité du projet. Il permet à la communauté de participer activement à la reconstruction de l’univers, en partageant leurs caches et en contribuant directement à la sauvegarde du patrimoine créatif d’Anyland.


(2024-2025) / (Python-PyQt5)Renyland Launcher : Une interface

Renyland Launcher est bien plus qu’un simple lanceur de jeu : il représente la passerelle technique et pratique qui permet aux joueurs d’accéder facilement à l’univers de Renyland, tout en garantissant l'expérience la plus stable et sécurisé possible. Ce launcher facilite l’installation, la mise à jour et la configuration du jeu moddé, tout en intégrant directement les outils nécessaires pour profiter pleinement des fonctionnalités de Renyland.

Le launcher a été pensé pour interagir avec le jeu moddé via BepInEx, permettant de charger les modifications et ajustements nécessaires sans altérer les fichiers originaux. Il intègre également des fonctionnalités avancées pour simplifier la vie des joueurs : installation automatique des dépendances, mises à jour transparentes, avec une interface simple mais complète. Il constitue ainsi un outil indispensable pour naviguer dans l’univers Renyland.

Aujourd’hui, Renyland Launcher est devenu le point d’entrée officiel pour tous les visiteurs du site Anyland redirigés vers Renyland. Un outil complet qui rend possible la continuité de l’expérience Anyland, tout en permettant au projet Renyland de continuer à évoluer et à s’améliorer au fil du temps.





D'autres Projets ?

Entre les projets qui n'ont pas été cités, les projets en cours et ceux à venir... Chaque jour est une opportunité de création et de repenser mes méthodes afin d'enrichir mes compétences. Curieux et en constante autoformation, je progresse quotidiennement, aussi bien dans mon temps professionnel que personnel.