zakariasabri.fr
Photo de Zakaria

Zakaria SABRI

Étudiant en 2ème année de BUT Informatique

OBJECTIF :Stage en informatique de 8 à 10 semaines, entre le 18 janvier et le 26 mars 2027, en développement et infrastructure

Swipez pour en savoir plus !

Projets Personnels

Projets perso

5 éléments

En préparation
⏳ En préparation

Prochainement...

Mon plus gros projet, qui réunit toute ma polyvalence: le développement web, l'administration système, le réseau et l'automatisation.

Cahier des charges

Concevoir et maintenir des solutions de bout en bout : des interfaces web soignées et accessibles jusqu'à l'infrastructure qui les héberge, avec une démarche d'industrialisation environnements reproductibles, déploiements automatisés, documentation et suivi des incidents.

Compétences

  • Développement web (front & back)
  • Administration Système (Linux)
  • Réseaux
  • Méthodologie DevOps
  • Automatisation
  • Analyse du besoin

Outils et méthodes

  • HTML / CSS / JavaScript
  • SQL
  • Linux
  • Bash
  • Git
  • Virtualisation
  • Intégration continue

Projets Universitaires

Projets universitaires

13 éléments

Mes collaborateurs

Chaque cercle est une personne avec qui j'ai travaillé sur un projet universitaire. Plus le trait est épais, plus on a fait de projets ensemble.

Réseau

Compétences

Langages

  • Java / Algorithmique
  • Python
  • C#
  • JavaScript
  • HTML5 / CSS3
  • SQL / Modélisation

Frameworks

  • Angular
  • Astro
  • Spring Boot

Système & Réseau

  • Linux (Bash)
  • Administration système
  • Virtualisation
  • Auto-hébergement de services
  • Sous-réseaux et routage
  • Modèle OSI

Conception & Méthodes

  • Diagrammes UML
  • Analyse et conception
  • Analyse des besoins
  • Gestion de Projet

Outils & Logiciels

  • Git (GitLab / GitHub)
  • VS Code / Visual Studio / Netbeans
  • VMWare Workstation / Filius
  • Microsoft SQL Server

Soft skills

  • Prise de décision rapide
  • Gestion de la pression
  • Sens des responsabilités
  • Écoute et remise en question
  • Autonomie
  • Polyvalence
  • Travail en équipe

À propos de moi

Qui suis-je
Zakaria Sabri

Enchanté, moi c’est Zakaria !

Actuellement en BUT Informatique (parcours International) à l'IUT de Bordeaux, mon profil se cultive avec une approche polyvalente de la tech.

Animé par la volonté d'avoir un véritable impact sur les projets que j'entreprends, je vois le code comme étant un levier d'optimisation. Qu'il s'agisse de déployer et sécuriser des réseaux, d'automatiser des tâches ou de construire des interfaces web ergonomiques, j'aime intervenir sur toute la chaîne.

J'aborde chaque tâche avec la philosophie suivante :
Maximiser mes performances, fiabiliser les processus et créer des solutions fluides tout en minimisant l'effort et les ressources nécessaires.

Contact

Rentrons en contact !

Tableau de bord personnel

Tableau de bord personnel

⏳ En cours de développement

Une page web qui affiche mes prochains trains, la météo, mon emploi du temps et une fiche d'arbitrage du jour.

Cahier des charges

Réunir sur une seule page mes prochains trains (API SNCF Navitia), la météo à Lormont (Open-Meteo), mon emploi du temps (export iCal de l'ENT) et une fiche d'arbitrage du jour. Back en Java 21 / Spring Boot 3.3.5, front en Angular 19, configuration par variables d'environnement.

Résultats (KPIs)

Back et front fonctionnels en local. Chaque bloc se rafraîchit automatiquement et une source en panne n'affiche une erreur que dans son propre bloc. Cache par source (trains 60 s, météo 10 min, emploi du temps 1 h) et parseur iCal écrit en Java pur, couvert par 4 tests JUnit. Reste à brancher la clé SNCF, ma gare et le lien iCal.

Compétences Acquises

  • Développement back-end Java
  • Développement front-end Angular
  • Consommation d'API REST
  • Architecture par fonctionnalité
  • Gestion de cache
  • Tests unitaires

Outils et méthodes

  • Java 21
  • Spring Boot 3.3.5
  • Maven
  • Angular 19
  • API SNCF (Navitia)
  • Open-Meteo
  • iCal (RFC 5545)
  • JUnit

Réhabilitation d’un ordinateur obsolète

Réhabilitation d’un ordinateur obsolète

🧡 Coup de cœur

Upgrade matériel et configuration d'un Triple Boot (Win 10/11, Ubuntu) sur un Alienware Area-51 R1 de 2010.

Cahier des charges

Rendre fonctionnelle une machine de 2010 pour du développement. Contraintes : Upgrade RAM/SSD, Triple Boot fonctionnel sur architecture Legacy/MBR, et boot rapide personnalisé via GRUB.

Résultats (KPIs)

Temps de démarrage divisé par 4. Environnement de test multi-OS 100% stable et opérationnel. Machine sauvée de l'obsolescence pour un investissement de moins de 80€.

Compétences Acquises

  • Maintenance Hardware
  • Administration Système
  • Gestion GRUB/MBR
  • Troubleshooting

Outils et méthodes

  • Rufus
  • Terminal Linux (Nano)
  • Composants (RAM/SSD)

Assistant macOS (J.A.R.V.I.S.)

Assistant macOS (J.A.R.V.I.S.)

Assistant vocal hybride pilotant l'environnement de travail macOS (via AppleScript) et intégré à l'IA Gemini.

Cahier des charges

Développer un assistant capable de piloter physiquement macOS (écrans, apps) et de converser naturellement. Contraintes : mode Push-to-Talk pour la confidentialité.

Résultats (KPIs)

Automatisation complète du déploiement du Workspace. Latence < 2s pour les requêtes Cloud et exécution système locale instantanée. Respect de la vie privée grâce à l'activation microphone à la demande.

Compétences Acquises

  • Développement Python
  • Intégration API Gemini
  • Scripting AppleScript
  • Conception d'Architecture

Outils et méthodes

  • Python 3
  • API Google Gemini
  • AppleScript
  • Shell

Déploiement de macOS via Hackintosh sur un PC

Déploiement de macOS via Hackintosh sur un PC

⏳ En cours de finalisation

Installation native de macOS Bigsur sur une tour PC HP en contournant les sécurités matérielles et logicielles.

Cahier des charges

Déployer macOS sur un matériel non-Apple (HP, Intel). Contraintes : créer un environnement matériel virtuel sans modifier le système d'exploitation cible, grâce à une base GitHub.

Résultats (KPIs)

Création d'un Bootloader (OpenCore) sur-mesure. Stabilité garantie avec un minimum de kexts (4 pilotes, 2 patchs). Contournement des sécurités HP (Hard Freezes, erreurs ACPI) et amorçage réussi du noyau XNU.

Compétences Acquises

  • Administration Système
  • Troubleshooting
  • Architecture Hardware

Outils et méthodes

  • OpenCore Bootloader
  • ProperTree
  • Terminal
  • Scripts Python

Portfolio Professionnel

Portfolio Professionnel

Conception et développement de mon portfolio pour valoriser mes projets et compétences.

Cahier des charges

Créer une plateforme fluide et performante avec le stack Vanilla (HTML5 CSS3 et JavaScript). Contraintes: présenter l'ensemble des projets avec un site responsive et une gestion dynamique.

Résultats (KPIs)

Projets clairs, et Navigation intuitive via des fenetres d'analyse. Maintenance simple grâce à une architecture de données centralisée en JavaScript.

Compétences Acquises

  • Développement Front-End
  • UI/UX Design
  • JavaScript
  • Versionnage Git

Outils et méthodes

  • VS Code
  • CSS Grid/Flexbox
  • JavaScript
  • Git/GitHub
  • Astro
  • Tailwind CSS
  • D3.js

Version 2Actuelle

Refonte complète dans le thème macOS (fenêtres, dock, barre de menus) en gardant mes couleurs.

  • Astro
  • Tailwind CSS
  • JavaScript
  • D3.js

Version 1

Première version du site, codée sans framework.

  • HTML5
  • CSS3
  • JavaScript

Explorer la version 1

La vraie page de l'ancien site, figée telle qu'elle était en ligne. Tu peux cliquer et naviguer dedans.

Ouvrir dans un onglet

Installation de poste

Installation de poste

🧡 Coup de cœur

Configuration d'une machine virtuelle Lubuntu optimisée (8 Go) pour développer.

Cahier des charges

Créer un environnement de développement complet sur une machine virtuelle sous Lubuntu (LXQt) en respectant une contrainte stricte de 8 Go d'espace disque maximum.

Résultats (KPIs)

Intégration d'un stack complet (Java, Git, VS Code) validée par la réussite du script de test bash. Consommation disque maîtrisée.

Compétences Acquises

  • Administration Système
  • Optimisation logicielle
  • Analyse du besoin

Outils et méthodes

  • Linux (Lubuntu)
  • Bash
  • Machine Virtuelle

Pixel IUT War

Pixel IUT War

🧡 Coup de cœur

Création du client web d'une application collaborative (guerre des pixels) avec synchronisation continue d'une grille de 10 000 pixels.

Cahier des charges

Développer le client JavaScript d'un jeu multijoueur. Gérer l'authentification par UID, le système de factions, la coloration de la grille et les restrictions temporelles (cooldown) en dialoguant avec une API REST.

Résultats (KPIs)

Interface fluide sans reflow massif grâce à l'optimisation du DOM (DocumentFragment). Communications asynchrones non-bloquantes (Fetch API, async/await). Des évolutions vers les WebSockets et le LocalStorage ont été modélisées.

Compétences Acquises

  • JavaScript Vanilla (ES6+)
  • Programmation Asynchrone
  • Optimisation du DOM
  • Manipulation de structures de données

Outils et méthodes

  • Fetch API
  • DocumentFragment
  • Méthodes Array (.flat, .filter)

Installation de Services Réseaux

Installation de Services Réseaux

🧡 Coup de cœur

Déploiement d'une infrastructure réseau virtuelle sécurisée et intégration de services collaboratifs (Nextcloud & OnlyOffice).

Cahier des charges

Simuler et configurer un environnement réseau professionnel avec deux sous-réseaux isolés (Client LAN et Server LAN) reliés par un routeur central. Déployer une suite collaborative auto-hébergée complète.

Résultats (KPIs)

Routage inter-réseaux (IP forwarding) et persistance des configurations IP assurés. Sécurisation totale des flux via la génération de certificats TLS (HTTPS) et la mise en place d'une authentification double facteur (TOTP).

Compétences Acquises

  • Administration Système (Linux)
  • Routage Réseau
  • Sécurité (TLS/HTTPS, 2FA)
  • Déploiement de Services (Snap)

Outils et méthodes

  • NEmu
  • Nextcloud
  • OnlyOffice
  • Bash/Shell

Coloration de graphes

Coloration de graphes

🧡 Coup de cœur

Développement de trois algorithmes de coloration (Welsh & Powell, 5-coloration, 6-coloration).

Cahier des charges

Implémenter l'interface IGraph et programmer trois algorithmes de coloration (Welsh et Powell, 6-coloration et 5-coloration récursive pour graphes planaires).

Résultats (KPIs)

Création d'une structure optimisée par liste d'adjacence (HashMap) avec une complexité en O(N+M). Algorithmes validés par des tests unitaires sous JUnit.

Compétences Acquises

  • Développement orienté Objet
  • Théorie des Graphes
  • Analyse de Complexité
  • Tests Unitaires

Outils et méthodes

  • Java
  • JUnit
  • NetBeans
  • UML

Labyrinthe

Labyrinthe

Jeu de labyrinthe multi-étages en Java/JavaFX, développé seul : héros piloté au clavier, monstres autonomes et déplacements fluides.

Cahier des charges

Concevoir seul, en deux semaines, un jeu de labyrinthe complet en Java/JavaFX pour remobiliser la programmation orientée objet. Contraintes : implémenter des interfaces imposées sans les modifier, valider les objectifs dans l'ordre et livrer un programme sans erreur ni avertissement sur les postes de l'IUT.

Résultats (KPIs)

Labyrinthe sur plusieurs étages chargé depuis des fichiers texte, héros jouable au clavier et monstres autonomes grâce au polymorphisme. La logique du jeu est séparée du rendu, ce qui donne un déplacement fluide au pixel près. Plus de 50 commits sur GitLab, projet validé sur les postes de l'IUT.

Compétences Acquises

  • Programmation orientée objet
  • Interface graphique événementielle
  • Débogage
  • Versionnage Git

Outils et méthodes

  • Java
  • JavaFX
  • Maven
  • Git / GitLab

Capteurs : statistiques de température

Capteurs : statistiques de température

Outil en ligne de commande écrit en C qui analyse des relevés de capteurs de température (fichier JSON ou URL) et génère un rapport CSV.

Cahier des charges

Compléter en binôme un analyseur de capteurs en C : calcul des statistiques, série de mesures en mémoire dynamique, export CSV et programme principal. Contraintes : norme C11 compilée sans aucun warning (-Wall -Wextra -Wpedantic), modules réseau et JSON fournis à ne pas modifier, historique Git évalué.

Résultats (KPIs)

Minimum, maximum, moyenne et écart intérieur/extérieur calculés, export CSV et gestion complète des options en ligne de commande. Tests unitaires et 12 scénarios en ligne de commande validés. Aucune fuite mémoire selon Valgrind (1 422 allocations, 1 422 libérations).

Compétences Acquises

  • Gestion dynamique de la mémoire
  • Pointeurs et structures
  • Compilation séparée (Makefile)
  • Arguments en ligne de commande
  • Travail en binôme

Outils et méthodes

  • C11 / gcc
  • Make
  • Valgrind
  • cppcheck
  • Git / GitLab

Comparaisons d'algorithmes

Comparaisons d'algorithmes

Programmation des fonctionnalités d'un jeu de plateau et conception de deux Intelligence Artificielle capable de jouer contre ou à la place de l'utilisateur

Cahier des charges

Coder les règles d'un jeu de plateau (plantation d'un arbre, coupes, vitalité) et développement de deux Intelligences Artificielles capable de jouer, la première avec un algorithme glouton et une deuxième visionnaire capable d'anticiper les conséquences de ses actions sur le long terme.

Résultats (KPIs)

Tactique de clonage de plateau opérationnelle pour anticiper les scores réels. Zéro disqualification grâce à un algorithme contre les coups illégaux

Compétences Acquises

  • Java
  • Intelligence Artificielle
  • Développement de tests
  • Algorithmie

Outils et méthodes

  • Tests unitaires
  • Simulation algorithmique
  • Java

Création de Base de données

Création de Base de données

🧡 Coup de cœur

Conception d'une Base de données pour une agence d'événements culturels fictive. Traduction du cahier des charges en contraintes.

Cahier des charges

Créer une base de données pour une agence événementielle fictive en traduisant des règles textuelles complexes (horaires, formats) pour éviter les incohérences de planning.

Résultats (KPIs)

Scripts SQL robustes implémentés avec une gestion fine des contraintes. Insertion réussie d'un jeu de données réaliste.

Compétences Acquises

  • Modélisation relationnelle
  • SQL

Outils et méthodes

  • SQL
  • Win'Design
  • Contraintes CHECK/UNIQUE
  • Schéma entités associations (MCD)

Recueil de besoin

Recueil de besoin

🧡 Coup de cœur

Refactoring d'un site web legacy. Passage de tableaux à un CSS Grid (avec un Thème Windows XP).

Cahier des charges

Moderniser le code source du site web d'une entreprise fictive de PC Rétro, en abandonnant l'ancienne mise en page en tableaux.

Résultats (KPIs)

Refonte validée en HTML5 sémantique. Amélioration de l'accessibilité et réduction de la taille du code source, avec une petite touche Windows XP.

Compétences Acquises

  • Intégration web
  • Refactoring
  • Écoute du client

Outils et méthodes

  • HTML5
  • CSS Grid
  • Design System

Développement d'une application

Développement d'une application

Application C# de gestion de personnages et simulateur de jeu de rôles avec architecture Orientée Objet intégrale.

Cahier des charges

Concevoir en équipe de 3 une application WinForms robuste traduisant des règles d'un jeu fictif.

Résultats (KPIs)

Livrable, avec séparation Logique/IHM. Moteur de résolution des épreuves fictives validé par tests unitaires et interface ergonomique.

Compétences Acquises

  • Programmation C#
  • Conception UML
  • Développement IHM
  • Tests

Outils et méthodes

  • Visual Studio / .NET
  • WinForms
  • Git

Implémentation

Implémentation

Programmation d'une station domotique en Java. Gestion de l'historique et des données.

Cahier des charges

Intégrer l'entièreté des fonctionnalités de gestion, de mise à jour des données météorologiques et de programmation du chauffage d'une station météo à partir d'un code incomplet.

Résultats (KPIs)

Algorithme de décalage de tableaux implémenté. Intégrité des données garantie et saisie utilisateur sécurisée par boucle de contrôle.

Compétences Acquises

  • Java
  • Algorithmique
  • Intégration des données

Outils et méthodes

  • Boucle do...while
  • Tableaux
  • Conditions

Environnement économique et écologique

Environnement économique et écologique

Analyse fonctionnelle et environnementale d'une entreprise locale face à une crise de crédibilité majeure (PESTEL & Porter).

Cahier des charges

En tant que Chef de Projet, coordonner une équipe de 5 personnes pour réaliser le diagnostic complet de l'entreprise Baillardran.

Résultats (KPIs)

Cartographie des 6 fonctions de l'entreprise et réalisation des matrices PESTEL et Porter. Formulation d'une stratégie de reconstruction éthique axée sur la transparence pour contrer la chute de rentabilité.

Compétences Acquises

  • Gestion de Projet
  • Analyse Stratégique
  • Management d'équipe

Outils et méthodes

  • Outil PESTEL
  • 5 Forces de Porter
  • Base de données Diane+

Réalisation d'une mission confié par une organisation

Réalisation d'une mission confié par une organisation

Conception de la campagne de communication visuelle pour la Journée Portes Ouvertes du département informatique, puis organisation de celle-ci avec les autres étudiants bénévoles.

Cahier des charges

Élaborer une identité visuelle complète (affiches A1/A2, programmes, signalétique) respectant la charte graphique de l'Université.

Résultats (KPIs)

Production de 3 versions d'affiches et d'un plan de signalétique complet pour les deux étages du bâtiment.

Compétences Acquises

  • Communication Visuelle
  • Gestion de Projet
  • Travail d'équipe

Outils et méthodes

  • Canva
  • Appareil Photo
  • Adobe Lightroom