Logo Rayan.

Rayan IT

Darkmode on Français

Presentation

Welcome on this website dedicated to computer science and the personal achievements of Rayan BACCOUCHE, a Computer Engineering student in Paris.

Here you'll find a selection of my school, personal and professional projects, I also share my online educational resources here. I'm passionate about computer science and cybersecurity, and I like to share my knowledge. Find out more here.

Currently, I have expertise in the following computer science skills:

  • xHTML5 & CSS 3
    xHTML5 Icon CSS3 Icon Bootstrap Icon
    Learn more.
    • Creation of websites in HTML5 with semantic structure
    • Design of pages in conformity with xHTML standards
    • Integration of CSS3 styles and animations
    • Appropriation and customization of existing templates
  • PHP 8 (secured)
    PHP Icon Curl Icon GoogleAPI Icon Meta Icon
    Learn more.
    • SQL queries (protected against injections)
    • Creation and handling of APIs
    • Session handling and cookie security
    • Implementation of OAuth2 authentication
    • Modular architecture to facilitate maintenance and evolution of a website
  • JavaScript, TypeScript, Angular, jQuery (secured)
    JavaScript Icon TypeScript Icon Angular Icon jQuery Icon
    Learn more.
    • Implementation of dynamic animations
    • Development of interactive interfaces with Angular, enabling the creation of dynamic and responsive components, with automatic data updates without page reloads
    • SQL requests without page refresh with jQuery (secured against XSS vulnerabilities)
  • SQL Databases (MySQL, PostgreSQL)
    MySQL Icon PostgreSQL Icon
    Learn more.
    • Optimization of proprietary databases (in C) processing millions of records per second
    • Securing database access (user management, roles, privileges)
    • Conception of relational schemas and optimization of complex queries
  • C language
    C Icon
    Learn more.
    • Advanced algorithms and data structures: Sorting (selection, insertion, merge, quicksort), Lists (single, doubly linked, circular, with Sentinels), Trees, AVL, ...
    • Graph theory and combinatorial optimization (sorting, shortest paths, Ford, Dijkstra, Bellman, Floyd algorithms, ...)
    • Database conception (Architecture, Bloom Filter, ...)
    • Data compression (Huffman coding, LZW, Golomb code, Rice code, Elias Gamma Coding, Elias Delta Coding, Bit Field, etc.)
    • Ability to work with huge proprietary libraries for complex projects
    • Embedded systems programming in C
  • Assembly language (.s, C, STM32, sound, infrared, robotics, ...)
    STM32 Icon
    Learn more.
    • Use of STM32F4 microcontrollers for various projects
    • Effective communication between microcontrollers via sound waves (buzzer, microphone) and infrared (infrared LED, infrared sensor)
    • Analog-to-digital converters (ADC), pulse width modulation (PWM), asynchronous and synchronous communications (UART), interrupt management, and signal processing.
    • Programming robots and autonomous systems
  • Artificial intelligence (C, Python, Prolog, ...)
    Prolog Icon Webots Icon
    Learn more.
    • Integration of AI for code review optimization on Gerrit
    • Webots simulator development, creation of a Thymio II utility robot
    • Logic Programming with Prolog for Symbolic AI
    • Design and implementation of machine learning algorithms
  • JAVA 18
    Java Icon JavaSwing Icon JavaFX Icon JUnit Icon Log4j Icon
    Learn more.
    • Object-oriented programming
    • Creation of sophisticated graphical user interfaces
    • Development of 2D video games
    • Using JUnit for automated unit testing
    • File and network management in JAVA for distributed applications
    • Design of Minecraft plugins, mods, and launchers
  • Python 3
    Python Icon Matplotlib Icon NumPy Icon Pandas Icon PyQt Icon Tkinter Icon
    Learn more.
    • Data analysis and graphic generation for benchmarks
    • Object-oriented programming
    • Creation of advanced graphical user interfaces
    • Development of an educational game
    • Development of tools for programming and system administration
  • System administration (Windows & Linux)
    Windows Server Icon Linux Icon Debian Icon Bash Icon Shell script Icon Ansible Icon
    Learn more.
    • Configuring, managing, optimizing and securing operating systems :
      • Setting up Web servers (Apache) and databases
      • User and access rights management on Linux and Windows systems
      • Automating administrative tasks with Bash and PowerShell scripts
      • Monitoring and troubleshooting server performance
      • Systems security management (SELinux)
  • Cybersecurity
    Wireshark Icon SELinux Icon Nmap Icon Metasploit Icon VirtualBox Icon Gobuster Icon
    Learn more.
    • Penetration Testing
    • Intrusion Detection and Prevention (IDS/IPS)
    • Network security (firewalls, VPN)
    • Cryptography
    • Implementation of encryption protocols
    • Digital Evidence Collection (Forensics)
    • Security and compliance audits (ISO 27001, GDPR)
    • Users awareness training on attacks (phishing, identity theft, password security, safe device usage)
  • Git
    Git Icon
    Learn more.
    • Team collaboration on development projects using Git
  • Office package (Excel, Word, Powerpoint, Outlook, ...)
    Office Icon
    Learn more.
    • Advanced use of office software
  • Adobe package (Photoshop, Premiere Pro, ...)
    Adobe Icon Adobe Acrobat Icon Adobe Photoshop Icon Adobe Premiere Pro Icon
    Learn more.
    • Graphic design and video editing

Projects

PC Bang (2023)

A project involving the creation of a network, database management, and the website for a cybercafé "PC BANG".

External Link Icon Technical Report.pdf

External Link Icon Visit the site (modified for demo)

Java client test
Case 1: Client identification

Example of network exchanges

Case 1: Client identification

Case 2: Unrecognized card, lost or nonexistent account

Example of network exchanges

Case 2: Unrecognized card, lost or nonexistent account

Netcat client-server test

LovingBooks (2023)

A website allowing exploration and search of literary works based on various criteria such as Title, Author, Genre, Publisher, or ISBN. Includes mockup design, use of APIs, graphical representation (jpgraph), and complex sorting and searching algorithms.

External Link Icon Visit the site

External Link Icon Project Report.pdf

Home page of the site
Home page of the site (with cookies)

The LovingBooks Site

With personalized cookies

Search for books by Kentaro Mirua

Search

Search for books by an author

Refinement filter for searches

Search with Filters

A comprehensive search refinement filter

Book description page

MasterPY (2023 - project still in development)

A game to teach Python programming to beginners

External Link Icon Technical Report.pdf

MasterPY game main menu
MasterPY game menu

In-game Menu of MasterPY

Level 1 - Easy

MasterPY gameplay

Gameplay

1st test, level 1


Maritime (2023)

Developed in pairs, a JAVA game in Software Engineering. Features include game save functionality (serialization) and a LaTex report.

External Link Icon Visit the site

External Link Icon Project Report.pdf

Maritime game main menu
Maritime gameplay

Maritime Gameplay

Version 1.2.7 - 2023


ODData (2022)

An application with both console and graphical interfaces for reading OpenDocument file metadata.

External Link Icon Visit the site

External Link Icon Project Report.pdf

Image of the graphical interface of our program. Image of the console interface when using our program.
ODData program, enabling reading and modification of OpenDocument metadata (developed in 2022)

DRIV'IN driving school (2021)

Designed independently and self-taught, a website for a driving school. Features include client management, comprehensive admin panel, online booking, database management, adoption of a template, and secure payments.

Project unfinished due to change of ownership.

External Link Icon Visit the site

Client panel

Client Panel

Account management, credit replenishment, appointment booking, etc.

Appointment booking
Account credit replenishment
Admin panel

Admin Panel

Client/Instructor management, messaging service, etc.

Messaging client/admin/instructors
Create client account (1)
Create client account (2)

HairBoss - hair salon (2020)

Designed independently and self-taught, a website for a hair salon. Features include client management, online booking, database management, adoption of a template, and secure payments.

External Link Icon Visit the site

Homepage of the website
Booking and authentication

Simplified Online Booking

Account creation with saved information and preferences.

Booking an appointment
Hairdresser's reservations