Skip to content

FlorianLeChat/Source-Web-Console

Repository files navigation

🕹️ Source Web Console

image

In French

C'est un projet réalisé durant mes études afin de permettre de gérer les serveurs dédiés de jeu utilisant le protocole Source RCON à travers une interface graphique. La réalisation de ce projet est intervenue après celui de mon portfolio, qui lui aussi a reçu une refonte graphique et technologique.

À la fin de la première version du projet en utilisant seulement des langages et technologies natives d'Internet (branche no-symfony), la dernière version reprend le code d'origine tout en basculant sur le framework Symfony pour profiter d'améliorations techniques, de performances mais aussi de sécurité. De plus, même si le souffre encore d'une dette technologique assez importante par l'absence de framework pour gérer la partie interface, le code d'origine a été migrée vers TypeScript pour une meilleure robustesse.

Tip

Pour tester le projet, vous devez être en posession de Docker. Une fois installé, il suffit de lancer l'image Docker de développement à l'aide de la commande docker compose up --detach --build. Lorsque le conteneur Docker est prêt, utilisez la commande npm run watch pour compiler automatiquement les fichiers TypeScript et SASS lors de chacune de vos modifications. Le site devrait être accessible à l'adresse suivante : http://localhost:8000/. Si vous souhaitez travailler sur le projet avec Docker, vous devez utiliser la commande docker compose watch --no-up pour que vos changements locaux soient automatiquement synchronisés avec le conteneur. 🐳

Warning

L'entièreté du code de ce projet est commenté dans ma langue natale (en français) et n'est pas voué à être traduit en anglais par soucis de simplicité de développement.

Caution

Ce projet est conçu pour fonctionner dans un environnement de production mais celui-ci doit être considéré comme une « preuve de concept » pour mes études concernant l'utilisation de technologies Internet natives pour communiquer avec le protocole RCON, si vous comptez utiliser ce genre de sites pour administrer votre serveur, je ne peux que vous conseiller l'excellent Pterodactyl.


In English

This is a project made during my studies to manage dedicated game servers using the Source RCON protocol through a graphical interface. The realization of this project came after that of my portfolio, which also received a graphic and technological overhaul.

Following the end of the first project version using only native Web languages and technologies (no-symfony branch), the latest version reuses the original code while migrating to the Symfony framework to enjoy technical, performance and security improvements. Even though it still suffers from a significant technological debt due to the absence of a framework to manage the front-end, the original code has been migrated to TypeScript for greater robustness.

Tip

To try the project, you must have Docker installed. Once installed, simply start the development Docker image with docker compose up --detach --build command. When the Docker container is ready, run the npm run watch command to automatically compile all TypeScript and SASS files each time you make changes. The website should be available at http://localhost:8000/. If you want to work on the project with Docker, you need to use docker compose watch --no-up to automatically synchronize your local changes with the container. 🐳

Warning

The whole code of this project is commented in my native language (in French) and will not be translated in English for easier programming.

Caution

This project is intended to run in a production environment, but it should be considered as a "proof of concept" for my studies concerning the usage of native Web technologies to communicate with RCON protocol. If you intend to use this kind of website to manage your server, I advise you to consider using the excellent Pterodactyl.

image