Mon Portfolio

À propos de moi

IA

Informations de contact

Prenom et nom:

Mohammed ZELMATI

Adresse :

Marseille

Email :

Em@il

Compétences techniques :

Mes Projets Data science & Intelligence Artificielle

1 - Auto Sokoban

à faire

Auto Sokoban

Résolution automatisée du jeu Sokoban à l’aide d’algorithme BFS.

Outils : Python, structures de données.

Compétences développées : optimisation, recherche informée, modélisation de problème.

1 - Annalyse des PALS

à faire

Annalyse des pals

Exploration et visualisation de données pédagogiques pour repérer des profils d’apprentissage.

Outils : MariaDB (MySql), Python (Pandas, Matplotlib).

Compétences développées :analyse éxploratoire, storytelling visuel.

1 - R U Shiny

à faire

R U Shiny

Nettoyage et transformation avancée des données, détection et gestion des valeurs aberrantes, développement d’un Dashboard sous R Shiny et optimisation et structuration d’un projet Data Science

1 - Bontica Iris

à faire

Bonatica Iris

Classification automatique de fleurs via des modèles de machine learning supervisés.

Outils : R, ggplot2.

Compétences développées :visuels intégrés, analyse pertinente et travail de prédiction, rapport PDF.

1 - Lingua Franca

à faire

Lingua Franca

Application web d’analyse linguistique automatisée à partir de traductions multilingues d’un même texte.

Outils : Python, API Google Translate.

Compétences développées : utilisation d’API, manipulation de textes multilingues, intégration frontend/backend, analyse de similarité linguistique.

1 - Docteur de la mort : "Dr Death"

à faire

Dr Harold Shipman

savoir Quels types de personnes Harold Shipman a-t-il assassinées, et quand sont-elles mortes à partir d'un jeu de données?.

Outils : Python, Power BI.

Compétences développées : détection d’anomalies et visualisation avancée.

1 - Netflix Analytics

à faire

Netflix Analytics

Étude des tendances de contenu et des préférences utilisateurs sur la plateforme Netflix.

Outils : Python sur Anaconda et Jupyter.

Compétences développées : Analyse et détection d’anomalies, visualisations...

Développement Python:

Conception d'applications interactives et ludiques en POO avec interface graphique : Horloge, Calculatrice, Pendu, Fruits Ninja, Blackjack, Pokémon, etc. Compétences développées : algorithmique, POO (classes, héritage), logique applicative.

Business Intelligence – Power BI:

Maîtrise du cycle complet : collecte, transformation (Power Query), modélisation (relations), analyse et visualisation. Projets réalisés : Netflix, Dr Death, Lingua Franca, Analyse des PALS.

Analyse de données – R / RStudio :

Initiation au langage R pour l’analyse statistique et la visualisation de données simples.Compétences développées : manipulation de jeux de données, création de graphiques, analyses descriptives.



+20 projets hebdomadaire en python, R dans différents thématiques et contextes qui couvre tous le cycle de vie de la donnée

1 - Fansite

Fansite

Ce projet Fansite est une plateforme dédiée à diverses passions et célébrités, offrant des sections distinctes pour différents sujets d'intérêt. Conçu avec HTML et CSS, ce site présente une interface conviviale et attrayante pour les visiteurs. Voici un aperçu des célébrités :

L'équitation : Une introduction à l'art et au sport de l'équitation, mettant en lumière les diverses disciplines et la relation unique entre le cavalier et le cheval. Inclut des statistiques sur la popularité de l'équitation en France.

Young Thug : Présentation du célèbre rappeur américain, Young Thug, en mettant en avant son influence dans le monde de la musique trap et quelques-unes de ses controverses.

The Flash : Un aperçu de la série télévisée américaine "The Flash", basée sur le personnage de Barry Allen de l'univers DC Comics. Décrit l'intrigue principale et la diffusion de la série.

2 - Tic-Tac-Toe

Tic-tac-toe

Ce projet implémente un jeu de **Tic-Tac-Toe** en utilisant Python avec les bibliothèques Tkinter et Pygame. Il permet de jouer à ce jeu classique soit contre un autre joueur humain, soit contre une intelligence artificielle (IA).
- Interface Graphique Utilisateur (GUI) : Utilise Tkinter pour créer une interface utilisateur intuitive et interactive.
- Sons de Clic : Intègre Pygame pour ajouter des effets sonores lors des clics sur les boutons.
- Mode de Jeu : Possibilité de jouer en mode joueur contre joueur ou contre l'IA.
- Algorithme Minimax : Implémente l'algorithme Minimax pour déterminer les meilleurs coups de l'IA, offrant ainsi un défi intéressant aux joueurs.
Pour exécuter le jeu, assure-toi que les bibliothèques Tkinter et Pygame sont installées. Lance le script Python, et l'application GUI s'ouvrira avec le jeu de Tic-Tac-Toe: $python tic_tac_toe.py

3 - Horloge Graphique Interactive avec Fonctionnalité d'Alarme en Python

Clock

Description du projet:

Ce projet crée une horloge graphique avec une fonctionnalité d'alarme en utilisant.
les bibliothèques Python time, threading, playsound, et tkinter.

Caractéristiques principales :
Affichage de l'heure :

L'heure est mise à jour chaque seconde et affichée dans une fenêtre Tkinter.
Le format d'affichage de l'heure peut être choisi entre 12 heures (AM/PM) et 24 heures.
Le texte de l'heure est affiché avec des couleurs et des polices personnalisées.

Alarme :

L'utilisateur peut régler une alarme en entrant les heures, minutes et secondes dans des champs d'entrée.
Lorsque l'heure de l'alarme est atteinte, un fichier audio (alarme.mp3) est joué.

Pause et reprise :

L'horloge peut être mise en pause et relancée à tout moment grâce à des boutons.

Fonctionnement :
Initialisation de l'horloge :

La fonction obtenir_heure_systeme() récupère l'heure actuelle du système et
la fonction regler_heure() initialise l'heure de l'horloge.

Affichage de l'heure :

La fonction afficher_heure() est exécutée dans un thread séparé pour mettre à jour l'heure chaque seconde et la refléter dans l'interface Tkinter.
Cette fonction vérifie également si l'heure actuelle correspond à celle de l'alarme et, le cas échéant, déclenche l'alarme en jouant un fichier audio.

Régler l'alarme et changer de format :

La fonction regler_alarme() permet de définir l'heure de l'alarme.
La fonction changer_format_heure() change le format d'affichage entre 12 heures et 24 heures.

Contrôle de l'horloge :

Les fonctions mettre_en_pause() et relancer() permettent de mettre en pause et de relancer l'horloge.

Interface utilisateur :

L'interface graphique est créée en utilisant Tkinter et comprend des éléments tels que des labels, des champs d'entrée, des boutons et des menus déroulants, tous stylisés avec des couleurs et des polices personnalisées pour une meilleure esthétique.

4 - Calculatrice

Calculatrice

Description du projet:

Ce projet représente une calculatrice développée avec la bibliothèque tkinter en Python.
Voici une vue d'ensemble des principales fonctionnalités et du fonctionnement de ce projet:

Fonctionnalités Principales
Calculer une Expression Arithmétique :
Fonction calculer() :

Prend une expression mathématique en entrée, la traite et renvoie le résultat.
La fonction eval_arithmetic(expr) gère les opérations de base sans utiliser eval() directement pour des raisons de sécurité.

Gérer l'historique des Calculs :
Fonction update_historique() :

Affiche l'historique des calculs dans une zone dédiée.

Fonction reset_historique() :

Réinitialise l'historique des calculs.

Gestion de l'Entrée :
Fonction clear() :

Efface l'entrée actuelle.

Fonction append_to_entry(value) :

Ajoute un chiffre ou une opération à l'entrée actuelle.

Fonction delete_last() :

Supprime le dernier caractère de l'entrée.
Interface Graphique (GUI)
Utilisation de tkinter pour créer l'interface graphique.
Les différents boutons de la calculatrice (0-9, +, -, *, /, etc.) sont créés et placés dans une grille (grid).
Une zone de texte (entry) pour saisir et afficher les expressions mathématiques et les résultats.
Une zone dédiée à l'affichage de l'historique des calculs.

Sécurité

Gestion des exceptions, comme la division par zéro, et affichage de messages d'erreur via des boîtes de dialogue (messagebox).
Le projet est un excellent exemple de comment utiliser tkinter pour créer une application GUI simple mais fonctionnelle en Python.

5 - Jeu du Pendu Interactif

Pendu

Description du Projet :

Le projet "Jeu du Pendu Interactif" est une application de jeu développée en Python en utilisant la bibliothèque Pygame.
Le jeu permet aux utilisateurs de jouer au célèbre jeu du pendu, où le but est de deviner un mot secret en proposant des lettres une à une.

Fonctionnalités Principales :
Interface Graphique :

Le jeu utilise une fenêtre graphique interactive avec une interface conviviale.
Les joueurs peuvent voir le mot à deviner avec les lettres déjà trouvées et les lettres ratées.
Un pendu graphique affiche le progrès du jeu en fonction des erreurs commises.

Gestion des Mots :

Les mots à deviner sont chargés à partir d'un fichier texte externe (mots.txt).
Les joueurs peuvent ajouter de nouveaux mots à la liste via l'interface du jeu.

Sons :

Des effets sonores sont intégrés pour les victoires et les défaites, rendant le jeu plus immersif.

Scores :

Les scores des joueurs sont sauvegardés dans un fichier (scores.txt) et peuvent être affichés à l'écran.
Le classement des scores permet de voir les meilleurs joueurs.

Personnalisation :

Les joueurs peuvent entrer leur nom avant de commencer une partie.
Les couleurs, polices et sons peuvent être facilement modifiés pour personnaliser l'apparence et l'expérience du jeu.

Gestion des Erreurs :

Le pendu se dessine progressivement à chaque erreur de lettre.
Une fois les erreurs maximales atteintes, le jeu révèle le mot complet et la partie est terminée.

Utilisation :
Lancer le Jeu :

Les joueurs peuvent lancer le jeu et choisir parmi les options du menu principal :
(Jouer, Ajouter un mot, Voir les scores, Quitter).

Deviner les Lettres :

Pendant une partie, les joueurs devinent des lettres en utilisant leur clavier.

Ajouter des Mots :

Les joueurs peuvent ajouter de nouveaux mots au jeu via l'option appropriée dans le menu.

Voir les Scores :

Les meilleurs scores sont affichés et triés pour motiver les joueurs à améliorer leurs performances.

Conclusion

Ce projet offre une expérience de jeu classique et interactive, tout en permettant une personnalisation facile et une gestion intuitive des scores et des mots. 🎮💡

6 - Fruits Ninja slicer

FruitsNinjaSlicer

Description du projet:

Dans ce jeu, les joueurs utilisent les différentes touches du clavier et de la souris pour trancher. Le joueur doit appuyer sur les touches ou le curseur correctes le plus rapidement possible pour réussir à ne manquer aucun fruit. Le but du jeu est de marquer le plus de points possible en tranchant tous les fruits apparaissent à l’écran.Vous vous rappelez progressivement les règles du jeu : ● Trancher les fruits qui apparaissent à l’écran vous donne des points, ● Pour chaque fruit raté et non tranché, vous obtenez un strike, au bout de 3 strikes, la partie s’achève, ● Trancher les glaçons qui apparaissent à l’écran arrête le temps pendant 3 à 5 secondes, ● Trancher en un coup plusieurs fruits qui apparaissent à l’écran donne un combo, ● Trancher les bombes qui apparaissent à l’écran fait instantanément perdre la partie, ● Le score final correspond au nombre de fruits tranchés durant la partie. Par exemple, +1 point pour un fruit tranché, +2 points pour trois fruits tranchés en un seul coup, +3 points pour quatre fruits tranchés en un seul coup, et ainsi de suite. Personnalisez au maximum votre jeu pour une meilleure expérience utilisateur. Ajoutez des bruitages, une musique d’ambiance. Donnez la possibilité au joueur de choisir un niveau de difficulté (fréquence d’apparition des fruits, le nombre de fruits qui apparaissent, ...) ainsi qu’un support multilingue (mots en plusieurs langues) via le menu du jeu.

7 - jeu Blackjack - en POO

jeuBlackJack

Description du projet:

Le but est de faire le plus de points sans dépasser 21. Chaque carte représente une valeur : - de 2 à 10 : ces cartes ont pour valeur sa valeur nominale - une figure a pour valeur 10 points - un as 1 ou 11 points au choix Le jeu commence avec les joueurs qui reçoivent chacun 2 cartes. Ensuite, le joueur peut choisir de "prendre" (recevoir) une ou plusieurs cartes supplémentaires pour tenter d'améliorer sa main, ou de "passer" et laisser le tour au croupier. Le croupier prend des cartes jusqu'à ce qu'il ait au moins 17 points, puis s'arrête. Si la main du joueur dépasse 21, il perd immédiatement. Si le total de la main du joueur est supérieur à celui du croupier, le joueur gagne. Sinon, c'est le croupier qui gagne. Création au minimum deux classes Carte et Jeu. La classe Carte aura au minimum un attribut valeur et couleur. La classe Jeu quant à elle devra gérer l’ensemble des cartes. Les cartes du jeu seront stockées dans un attribut paquet représenté par une liste et contenant 52 cartes. Création plusieurs méthodes nécessaires pour jouer une partie.Avec la possibilité de rejouer une autre partie ou quitter le jeu si la partie est fini.

7 - Combats Pokémon - en POO

Description du projet:

Développer une version du jeu de Pokémon avec une interface graphique. Le meilleur dresseur en remportant des combats et en collectionnant un maximum de Pokémon, on utilise à l’aide des différents principes de la programmation orientée objet. Chaque Pokémon a un nom, des points de vie, un niveau, une puissance d'attaque et une défense. La défense permet de se protéger des dégâts subis. Dans l'univers de ces petites créatures, il existe 18 types de Pokémon. Chaque Pokémon possède un ou plusieurs types qui conditionnent les caractéristiques du Pokémon, le nombre de points de vie, la puissance d'attaque, sa défense... Un Pokémon peut évoluer. Lors des combats, la vie des Pokémon est vérifiée. Si la vie d'un Pokémon est à zéro, un message est affiché le nom du Pokémon gagnant. Il peut arriver qu'un Pokémon loupe son attaque. Le Pokédex est un outil indispensable. Il sert à enregistrer les informations des Pokémon combattus.(nom, type, défense, puissance d'attaque et point de vie). Les Pokémon seront sauvegardés dans un fichier. Cet outil permet d'afficher l'ensemble des Pokémon rencontrés ainsi que leur nombre.

Attaque/Défense L'eau Feu Terre Normal
L'eau 1 2 0.5 1
Feu 0.5 1 2 1
Terre 2 0.5 1 1
Normal 1 1 1 1

Par exemple, si l’attaquant est de type eau avec 10 en attaque, qu’il attaque un Pokémon de type terre, les dégâts subis seront de 5 PV. (10 * 0.5). ● Une méthode qui enlève des points de vie en fonction de la défense ● Une méthode qui renvoie le nom du vainqueur ● Une méthode qui renvoie de nom du Pokémon perdant et/ou gagnant ● Une méthode qui enregistre le Pokémon rencontré dans le fichier Pokédex Un menu en début de partie est proposé au joueur permettant les actions suivantes : ● Lancer une partie ● Accéder à son Pokedex ● quitter le jeu Lors du démarrage de la partie, le joueur doit renseigner avec quel Pokémon il veut jouer, selon la liste des Pokémon. L’adversaire est quant à lui choisi de façon aléatoire dans le fichier de Pokémon. Permettre à l’utilisateur de combattre avec plusieurs Pokémon. Il pourra, au moment d’attaquer, faire le choix entre attaquer ou changer de Pokémon. Permettre aussi l’abandon du combat.

Compétences

-Intervenir sur les composants matériels d’un équipement numérique
-Mettre à jour, configurer et personnaliser un équipement numérique
-Contribuer à la sécurité d'un équipement numérique et ses données
-Diagnostiquer et résoudre un dysfonctionnement numérique
-Assister les utilisateurs en environnement bureautique ou sur leurs équipements numériques.
-Développement de logiciels et d'architecture web
-Méthode agile, Git et GitHub
-Conception Merise, Canva, Figma, Belsamiq
-Langages HTML, CSS, PHP, MySqlJS et PYTHON, WORDPRESS, base des données...

Expériences professionnelle

CHEF SECTION DES OPÉRATIONS COMPTABLES

1994 - 2010 : DIRECTION DE LA CONSERVATION FONCIERE - Annaba Algérie

Responsable de la gestion et du contrôle comptable pour une équipe de 8 fonctionnaires.
Supervision des opérations de conservation foncière avec respect des délais et des réglementations.
Expérience approfondie dans l’utilisation de logiciels comptables.

STAGE DEVELOPPEUR WEB ET WEB MOBILE

2021 CEREMA MEDITERRANNEE à Aix-en-Provence

Projet E-commerce Salon de thé LA PICHOTO REGALADO : Développement d'une application web pour un salon de thé local (« La Pichoto Regalado » à Miramas). Gestion de projet e-commerce : création de pages dynamiques, intégration des fonctionnalités clients et optimisation pour les mobiles(Frontend et Backend).

LOGISTICIEN et CHAUFFEUR

Agent de piste aéroportuaire (2018-2020) Aéroport de Marignane Travail dans un environnement exigeant, nécessitant précision et réactivité.
Agent polyvalent de logistique (2016-2017) Croix-Rouge - Marseille Organisation et gestion de flux logistiques pour des missions humanitaires.
Divers postes dans la logistique et le BTP (PACA) (2011-2015) Coordination et gestion des opérations logistiques pour plusieurs entreprises. Polyvalence entre les rôles opérationnels et de support.

Formations

Bachelor IT - La Plateforme

Septembre 2024 - Actuel (en cours)
Pédagogie par projet basée sur la résolution de problématiques concrètes en autonomie.
Formation de 3 ans délivrant un titre RNCP 6.
Développeur en intelligence artificielle

Certificats : COURSERA et OPENCLASSROOMS

1 - Fondamentaux de la cybersécurité * avril 2024
2 - Faire preuve de prudence : gestion des risques de sécurité * avril 2024
3 - Bases de la conception Expérience Utilisateur (UX) * avril 2024
4 - Certificat Initiez-vous à Linux - mars 2024

DÉVELOPPEUR WEB ET WEB MOBILE

Développement Frontend et Backend avec les recommandations de sécurités. Titre professionnel Niveau III (Bac+2) | 2020 - 2021

COMPTABILITE ET GESTION

Travaux de comptabilité approfondis et gestion de fiscalité. Bac+3 Université de Annaba | 1998- 2001

BAC +2 TECHNOLOGIE

Admis 3éme année ingénieur chimie industrielle : Bac+2 Université de Annaba | 1992 - 1994