J'ai réalisé le projet seul en quelques semaines. Je me suis appuyé sur mes connaissances en cybersécurité pour pouvoir découvrir le cheminement étape par étape qui était utilisé pour authentifier et gérer le serveur shadow par le launcher officiel. Peu de temps après avoir terminé le développement, j'ai demandé à des amis d'utiliser la solution pendant quelques semaines pour avoir leur avis.
Shadow OS fonctionne parfaitement. Il a été développé pour être installé sur une télévision avec une manette sans fil. L’ interface que j’ai développée permet de commander entièrement le PC à distance (Shadow) via la manette. Shadow OS peut donc remplacer une console de jeux. Je l'utilise régulièrement et je constate que le système tel que développé reste très stable dans le temps, ce qui est certainement un gage de qualité de réalisation. Par ailleurs, mes amis ont tous apprécié la solution, notamment son interface et sa fluidité d'exécution.
Grâce à ce projet, j'ai pu enrichir non seulement mes connaissances en JavaScript, mais également comprendre le fonctionnement de certains logiciels d'analyse réseau.
Il y a actuellement une expiration des codes et des clés d'authentification générés, qui intervient au bout de plusieurs mois (environ 2 à 3 mois). Une solution serait de générer automatiquement ces codes pour ne pas avoir à se reconnecter sur Shadow OS. Je n'ai cependant pas prévu de travailler sur ce point.
Ce projet a été très formateur. J'ai adoré reproduire et analyser le fonctionnement et l'enchainement des appels aux différentes API du serveur Shadow pour pouvoir générer les codes d’authentification. En outre, j'ai amélioré de manière significative mon niveau en JavaScript, une compétence que j’ai utilisée par la suite pour développer des applications personnelles (par exemple, une application qui récupère les photos en noir et blanc de Mars mis en ligne par la Nasa et qui colorise ces images avec un algorithme d’intelligence artificielle).
Ce projet personnel est typique de ma façon d'appréhender l'acquisition des connaissances depuis plusieurs années : J'identifie un objectif concret à atteindre qui m'intéresse, j'explore l'existant, je recherche des solutions et j'expérimente beaucoup. Une fois l'objectif atteint, je bascule sur un autre projet personnel. Cette façon de travailler (par la pratique) m'apporte beaucoup de satisfactions personnelles et permet non seulement de renforcer mes compétences, mais aussi d'en développer de nouvelles.
Scripting - Compétence technique
Cybersécurité - Compétence technique