Portfolio

Développement Web

IdeAll

Pendant ma formation à Livecampus, j'ai eu l'opportunité de collaborer avec IdeAll, une agence événementielle B2B, sur un projet stimulant qui avait pour objectif de faire évoluer leur processus de gestion interne. En équipe réduite, j'ai participé à la conception d'un site web dynamique, facilitant la gestion des événements, la coordination des animateurs et l'automatisation de la facturation. Nous avons créé une interface utilisateur intuitive afin de considérablement optimiser leurs opérations. 

Le forum

Ce projet consiste à développer un réseau social interne pour une entreprise, sous forme de forum permettant aux employés d'échanger des informations, des messages et des fichiers. Le forum est divisé en catégories comprenant des "boards", qui contiennent différents sujets auxquels les utilisateurs pourront répondre. Le développement devait être réalisé avec Symfony 6.0 et inclure des fonctionnalités telles que l'authentification, la rédaction et la gestion des autorisations. Les utilisateurs peuvent créer un compte, se connecter, se déconnecter et changer leur mot de passe. Ils peuvent également créer des catégories, des "boards", des sujets et envoyer des messages avec des fichiers joints. Les administrateurs ont la possibilité de restreindre l'accès aux contenus, changer le rôle d'un utilisateur, modifier et supprimer des contenus, et bloquer ou débloquer un utilisateur. Des fonctionnalités supplémentaires pertinentes ont également été ajoutées.

Étant donné les contraintes de temps, nous avons décidé de ne pas créer de maquettes pour l'interface utilisateur et avons plutôt opté pour une conception intuitive, en nous appuyant sur notre compréhension des besoins et des attentes pour aboutir à un résultat satisfaisant. Une fonctionnalité intéressante relevant du développement d’interface serait la possibilité de toggle entre un mode nuit et un mode jour. Sinon, aucun framework particulier n’a été utilisé. L’interface a été entièrement développée avec les technologies basiques HTML5, CSS, BOOTSTRAP et JavaScript.

Data & IA

Machine Learning : Prédictions du prix d'un logement

Préparation des données

On dispose d'un dataset de 13320 lignes contenant des informations concernant des biens immobiliers en vente (1 ligne = 1 bien). Les informations sont les suivantes :

  • area_type : La façon de calculer la surface

  • availability : La date de disponibilité

  • location : le nom du quartier

  • size : une information au sujet du nombre de chambres / pièces

  • society : une variable catégorielle (qu'on pourra laisser de côté au cours du projet)

  • total_sqft : la surface

  • bath : le nombre de salles de bains

  • balcony : le nombre de balcons

  • prix : le prix

  1. Variable availability : Transformée en format datetime, en interprétant 'Immediate Possession' et 'Ready To Move' comme le 01/01/2023.

  2. Variable size : Convertie en numérique après interprétation des chaînes de caractères, gestion des valeurs manquantes incluse.

  3. Variable total_sqft : Convertie de string à numérique, avec attribution de NaN pour les valeurs non gérées (environ 10-20% des cas).

Statistiques descriptives et prédictions

Pour ce projet, j'ai d'abord analysé les données immobilières à l'aide de statistiques descriptives et de visualisations. Après avoir divisé les données en ensemble d'entrainement et ensemble de test, j'ai créé trois modèles de régression linéaire: le premier basé sur la surface, le second sur le délai de disponibilité et le dernier en intégrant plusieurs variables et une catégorie. J'ai évalué la performance de chaque modèle à l'aide de divers outils de diagnostic.

Le Morpion

Réalisé en Python. On a deux catégories de classes : la logique du jeu et la logique des Solvers (IA). Dans la logique du jeu, on a la classe Board qui s'occupe de tout ce qui concerne l'état du plateau à un instant t et les classes Jeu et JeuContreIA qui gère l'enchainement de ces differents des états après intervention des joueurs (Humains ou IAs). Dans la logique des Solvers (IA) on a la classe Noeud sur laquelle repose l'exploration de l'arbre des positions possibles avec l'algorithme du minmax et les classes SolverSmart, SolverDumb et SolverRandom qui sont les IAs qui peuvent jouer au morpion et cité selon leur ordre de niveau au jeu, du meilleur au plus faible.

Le Jupyter Notebook est disponible sur mon profil Github et téléchargeable ici aussi. Dedans vous retrouverez le code, le jeu ainsi que quelques statistiques sur les performances des différentes IAs.