2023 :

ZOGLU is the main project of the networking course at the EPITA, that extends over two semesters. During this project, we are assuming the roles of a team of 8 telecommunications and network consultants engaged by ZOGLU, a medium-sized company (around 400 employees) specialized in geology and mineral prospecting, to overhaul their network infrastructure. The company is divided into two sites (Central and Suburban Paris) with employees traveling all around the world for prospection.

This project is designed to train us on real-life edge cases. We are facing multiple challenges, including outdated technologies (1980s IBM AS400 computer and 5250 terminals, a token ring network, telephony through PSTN…), bad practices (lack of firewalls, an addressing plan not compliant with RFC 1918…), lack of information and uncooperative employees.
Given schematic of ZOGLU network infrastructure Given schematic of ZOGLU network infrastructure / 2023 ZOGLU
As of June 21, 2023, we sent a first draft of the infrastructure overhaul to the teacher (who is also assuming all the key roles within the company). The draft includes an in-depth analysis of the existing infrastructure based on the available information, a risk analysis and a proposed new architecture that could handle current and future workload of the enterprise, thereby increasing productivity and maximizing return on investment. I was tasked with overhauling the telephony part of the enterprise and upgrading the internet connectivity for each site and their inter-connection.

  • I revamped the telephony infrastructure of ZOGLU by implementing a new ToIP architecture with hardphones, an asterisk-based IP PBX, and SBCs, facilitating smoother communication with clients and ensuring seamless transition from PSTN, while adhering to the employees' preferences.
  • I transformed the network connectivity between sites and internet access by deploying a high-speed 1 Gbps optic fiber connection, MPLS connection for real-time applications, firewalls, and a DMZ, enhancing security, scalability, and supporting current and future needs of the company.

These solutions will optimize productivity, privacy, and return on investment for ZOGLU while successfully addressing the challenges posed by outdated technologies and network infrastructure.

As this project is still ongoing, and will be reused for future students, we are not authorized to share our draft or final architecture with others. However, I would be pleased to discuss it in more detail via email!

FUSION24 is the most important project in the Telecommunications and Network specialization as well as in the Security and the System specializations, spanning over two semesters. During this project, we are assuming the roles of a team of 6 information systems consultants engaged by Dynamic Energy, a multinational company specializing in electrical equipment, such as Schneider Electric, General Electrics, or Mitsubishi Electrics, in the context of a merger with NERON, a company specialized in electric energy trading. Our core objectives are:

  • Optimizing the IT activities of Dynamic Energy by harmonizing and modernizing the existing information system
  • Integrating NERON’s information system in Dynamic Energy’s information system

Other objectives included optimizing the cost of telecommunication, and deleting an outdated datacenter in Washington (Dynamic Energy have 3 DC in the USA: Washington, Houston and San Francisco, NERON have one in New Jersey).

This project was divided into two parts. The first part, completed in the first semester, consists of analyzing the existing infrastructure of both enterprises to understand the specific needs related to the two objectives. In this context, I conducted a risk analysis of the existing information system and identified the needs of the existing telecommunication infrastructure and the key areas for improvement
Existing telecommunication infrastructure of Dynamic Energy and NERON Existing telecommunication infrastructure of Dynamic Energy and NERON / 2023 PMS-G2
The second part consisted of finding an innovative solution to the objectives identified in the first part. As the entire infrastructure was MPLS based, I proposed an SD-WAN based architecture that would only use MPLS for critical applications, and a regular internet access for non-critical applications.

Because the infrastructure was now SD-WAN based, the operator-based VPLS for Europe could be replaced by a simple MPLS network, reducing the cost of the European network by at least 47%. Combined with the reduction in required MPLS bandwidth this led to optimized telecommunication cost, while having a competitive, evolutive and modular infrastructure.

The merging of the two transatlantic links reduced the cost of 50%, and after merging the two networks in the USA, and recycling the Washington datacenter, there is now 3 datacenters in the USA for the entity, one main and two backup datacenters. The reuse of Washington datacenter disk drives and the recycling of its servers also respond to the need of GreenIT.

As we do not have grades yet, we are not authorized to share documents from the first and second part with others. However, I would be pleased to discuss it in more detail via email!
2022 :

TIGER is the main project of the 3rd year at the EPITA. It consists of creating a compiler for the Tiger language, a programming language specifically made for educational compiler creation courses. This project was designed to combine previous courses, such as the C++ course, the language theory course, and the compiler course. This project was separated into 5 key steps:

  • A scanner and a parser, using Flex and Bison, that detects lexical and syntax errors
  • An abstract syntax tree builder, that removes syntactic sugar and uses visitor design pattern for pretty printing (and in prevision of future steps)
  • A binder that visits the AST and binds variables to addresses within their scopes
  • A type-checker that ensures operands are of compatible types
  • A translator to LLVM intermediate representation, which can then be compiled using clang

I built a compiler capable of handling complex edge cases and scored a top 5% ranking among students. You can download the compiled binary here to try it out!
Instruction to compile and run an Hello World program Instruction to compile and run an Hello World program / 2023 Victor Pellan
As this project is reused each year with new students, I am not authorized to publicly share the source code. However, I would be pleased to discuss it in more detail via email!

PING is the last project of the 3rd year at the EPITA. It consists of creating an IDE (Integrated Development Environment) according to the client team requirements, which were often unexpected. For example, one of their requirements was integrate a music player into the IDE. Other requirements were more realistic, such as being able to use the IDE on Windows, MacOS and Linux. These requirements posed challenges, which we addressed in groups of 4. The project was divided into two parts:

  • The backend, implemented in Java, which implemented common text and file manipulation, and was common to all the groups of this course
  • The frontend, for which we were free to implement in any language we wanted but we chose to keep Java for consistency and platform compatibility. For this part, no guidelines and different requirements were given to every group, thus introducing us to real-life industry cases

During the second part of this project, I created a single self-sufficient fat-jar file that would run on all three OS by configuring maven files. You can download the jar file here to try it out ! All you need is a Java 16 Runtime.
As the backend part of this project is reused each year with new students, I am not authorized to publicly share the source code. However, I would be pleased to discuss it in more detail via email!

In June 2022, I was playing a lot of survival horror games, such as Resident Evil 4, Dead Space 1 & 2… I really loved these space themed survival horror games, so I downloaded Alien Isolation.

To my surprise, I could not change the language of the game at all, it was locked in French, even though the files for all the other languages were there. I searched for tools that would switch the game voices in English, and if possible, keep the UI and subtitles in French, but no such tools existed, besides switching the system language.

Swapping the English and French folders would not work because every language dialogue had different IDs, even for the same line of text, and swapping the cinematic files would also swap the subtitles.

To address the cinematic issue, I created an automated demuxer and remuxer of Scaleform video files by reverse-engineering the encoded .usm files to extract their subtitles, and contributed to an open-source .usm demuxer project.

Reverse Engineering of an Alien Isolation .usm encoded file Reverse Engineering of an Alien Isolation .usm encoded file / 2023 Victor Pellan
Resulting subtitle file formatted for immediate Scaleform re-encoding Resulting subtitle file formatted for immediate Scaleform re-encoding / 2023 Victor Pellan
I developed a tool to automate the unpacking and repacking of dialogue soundbanks (source code available here), and another tool to automate the previously mentioned demuxer with the official Scaleform Encoder (source code available here). These tools combined allow to play the game with original voices and French subtitles/UI, or any combination of supported language that you want.
2021 :

CHESS was a 3rd year project at the EPITA, which consisted of creating a chess engine, capable of calculating legal moves up to a specific depth (perft), verifying that existing games did not include any illegal moves (PGN) and processing inputs from users (UCI).

Our team decided to use a magic bitboard approach, which is one of the most optimized way to calculate sliding pieces’ legal moves.

I was tasked to create a script generating rook and bishop attack tables, and to implement the plain magic bitboard approach on the main engine, while calculating accurate performance tests (perft) number of nodes.
Perft - Correct number of nodes on more than 60 strating positions + depth combinations Perft - Correct number of nodes on more than 60 strating positions + depth combinations / 2023 Victor Pellan
We ended up creating an engine that scored perfect perft for various edge cases. We developed a little bot that chose random moves in the available legal move set, and uploaded it to lichess, allowing players to play against this bot using our chess engine.

As this project is reused each year with new students, I am not authorized to publicly share the source code. However, I would be pleased to discuss it in more detail via email!

APERO was the application part of the ERO1 course (Operational Research Elements). It consisted of creating a Python script with the NetworkX library that would optimize snowplows deployments in the city of Montreal. This could be divided in two parts:

  • Finding the most optimized path for a drone, that would analyze the amount of snow in each street, to apply weight on them. The city could be simplified as an undirected graph, and this became a route inspection problem.
  • Finding the most optimized path for snowplows. This time, the city could be simplified as a directed graph, and this became a minimum cost flow problem.

After transforming them into Eulerian graphs, we could then find eulerian cycles for both.
NetworkX representation of Montreal NetworkX representation of Montreal / 2021 APERO
You can check out the source code here.
2018 :

The first-year project at the EPITA was a Unity video game. We were free of doing anything, so we also had to find an idea for the game.

Through effective team brainstorming and decision-making sessions, we conceptualized a 3D rail-shooter game set in a low-poly, synthwave/outrun-inspired universe, visually distinguishing the game among 110 projects.

During the development, I designed and built levels by creating and incorporating low-poly 3D models for the player, the enemies, and the environment, resulting in a cohesive visual style. I also implemented varying gameplay styles by switching third person view to top-down view during the player progression, leading to diverse gaming experiences throughout the levels.
Synth Patrol Level 2 / 2018 Synth Patrol
This project was a great introduction to Unity and I am still proud of the universe and the environment we built, and our teamwork that led to this.
Synth Patrol Level 3 / 2018 Synth Patrol
You can download the game here
2017 :

During my last year of high school, I chose the computer science specialization. The final project was an open subject, the only requirement was to use Processing, a simplified version of Java that is more graphics oriented. I decided to make an IoT Mirror project that could be controlled with a Kinect camera using OpenNI, and this project focused on the software part of it (the hardware could be a Raspberry Pi and a screen with a one-way mirror).

This mirror had simple function, such as displaying the date and time, the weather, and the latest news. The API that was used for weather does not work anymore, but the news feed still does work, with current news, even after 6 years.
Smart Mirror Home Screen. The weather was previously displayed here too. Smart Mirror Home Screen. The weather was previously displayed here too. / 2017 SMARTMIRROR
Smart Mirror News Feed, still working after 6 years. Smart Mirror News Feed, still working after 6 years. / 2017 SMARTMIRROR
I also implemented a secret Konami code function, when you input the Konami code on your keyboard or with your arms, this changed the screen color.

This project resulted in an exceptional A+ grade. You can check out the source code here.