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 / 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 /
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 / 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 / 2023 Victor
Pellan
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 / 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 / 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.
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.
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.
/ 2017 SMARTMIRROR
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.
© Victor Pellan 2023