Mes Projets

Je souhaite vous partager mes projets et mon implication dans le domaine de l'informatique.

Logo GSB

Présentation du Contexte et Tâches Réalisées

Présentation du Contexte

Galaxy Swiss Bourdin (GSB) est un laboratoire médical et un conglomérat international résultant de la fusion de plusieurs organismes. Galaxy est une entreprise américaine, et Swiss Bourdin est un conglomérat européen. Un conglomérat est un ensemble d'entreprises réunies par des liens juridiques et financiers plus ou moins précis, qui s'adonnent à des activités très diverses ayant parfois peu de rapport entre elles. Les visiteurs médicaux sont des démarcheurs ou vendeurs de médicaments.

En France, GSB améliore le suivi de l’activité de visite avec 480 visiteurs médicaux en France métropolitaine et 60 en outre-mer. Le siège administratif de GSB Europe est situé à Paris. Il y a des différences entre les visiteurs des deux entreprises à corriger : Galaxy utilise une carte bancaire au nom de l'entreprise tandis que Swiss Bourdin utilise une gestion forfaitaire avec remboursement après retour des pièces justificatives.

Objectifs de l’Entreprise

L'objectif de GSB est d'améliorer le contact entre acteurs mobiles autonomes et les différents services du siège parisien de l'entité Europe, en uniformisant la gestion du suivi des frais et des visites. Le but est aussi de moderniser l’activité de visite médicale, tant au niveau personnel qu'administratif, avec un thème bleu pour le personnel et un thème orange pour les comptables.

GSB intègre les données de la partie commerciale pour obtenir une vision plus régulière et efficace de l'activité menée sur le terrain auprès des praticiens et redonner confiance aux équipes affectées par les fusions récentes. Une gestion unique des frais de remboursement pour l'ensemble de la flotte visite est mise en place, ainsi qu'un accès direct aux données du personnel.

Tâches Concrètes

Voici les tâches concrètes que j'ai ou je suis en train de réalisées :

  • Stockage de l'information : J'ai mis en place un système pour stocker l’information en provenance des visiteurs médicaux, permettant ainsi une gestion centralisée et accessible des données.
  • Gestion des frais de déplacement, de restauration et d'hébergement : J'ai développé un module pour gérer les frais engendrés par l'activité de visite médicale. Ce module permet de suivre les dépenses de manière détaillée et d'assurer un suivi précis des frais engagés.
  • Inscription des dépenses et suivi des remboursements : J'ai intégré une fonctionnalité permettant aux visiteurs médicaux d'inscrire leurs dépenses et de visualiser l'état de la prise en charge des remboursements (enregistré, validé, remboursé). Cette transparence facilite le suivi et la gestion des frais.
  • Bonnes pratiques de développement : J'ai respecté les bonnes pratiques de développement, en adoptant une architecture de dossiers claire et en suivant le modèle MVC (Modèle-Vue-Contrôleur) pour assurer la modularité et la maintenance du code.
  • Fiches de demande de remboursement : J'ai mis en place un processus où, au plus tard le 20 de chaque mois, le service comptable adresse aux visiteurs médicaux une fiche de demande de remboursement pour le mois en cours. Ce processus assure une gestion efficace et ponctuelle des remboursements.
  • Hachage des mots de passe : J'ai implémenté une sécurité renforcée en hachant les mots de passe des utilisateurs, assurant ainsi leur protection contre toute tentative de vol de données.
  • Génération unique des fichiers PDF : J'ai optimisé le processus de génération des fichiers PDF en s'assurant qu'ils ne soient générés qu'une seule fois, réduisant ainsi la charge sur le serveur et améliorant les performances.
  • Utilisation d'un serveur web et développement sous PHP : J'ai utilisé un serveur web pour héberger l'application et j'ai développé les fonctionnalités en utilisant le langage PHP, garantissant ainsi une compatibilité et une performance optimales.
  • Codage de la partie comptable : J'ai codé la partie comptable de l'application en respectant le cas d’utilisation correspondant, assurant ainsi une gestion précise et efficace des opérations comptables.
  • Modèle: J'ai conçu un modèle de données pour l'application, qui permet de stocker et de gérer les informations des visiteurs médicaux, des médecins, des patients et des remboursements, ainsi que les interactions entre ces entités.
  • Ajout de Salt : Dans le cadre de l'amélioration de la sécurité des données, j'ai ajouté un salt dans le code HTML afin de renforcer le processus de cryptage des informations sensibles. Ce salt, une valeur aléatoire unique, est utilisé pour diversifier le processus de hachage des mots de passe avant leur stockage dans la base de données. Cela permet de rendre les attaques par force brute beaucoup plus difficiles, car chaque mot de passe est désormais unique même s'il est identique à un autre utilisateur. Cette approche améliore considérablement la protection des données sensibles contre les accès non autorisés.
Logo VMware

Utilisation de VMware pour mon projet

Dans le cadre de mon projet, j'ai utilisé VMware pour créer et gérer des machines virtuelles, ce qui m'a permis de réaliser plusieurs tâches importantes.

Création des Environnements Virtuels

J'ai créé plusieurs machines virtuelles sur une seule machine physique, ce qui a facilité les tests et la gestion des configurations. Cela m'a permis de simuler différents environnements et scénarios sans avoir besoin de matériel supplémentaire.

Optimisation de l'Utilisation des Ressources

J'ai virtualisé les serveurs et les applications, ce qui a permis de réduire les coûts matériels et de maximiser la puissance de calcul. En utilisant efficacement les ressources matérielles disponibles, j'ai pu augmenter la performance et la fiabilité du système.

Tests de Configurations Sans Risque

J'ai utilisé VMware pour tester des configurations réseau et des systèmes d'exploitation sans affecter le système principal. Cela m'a permis d'expérimenter différentes configurations en toute sécurité et de résoudre les problèmes potentiels avant leur mise en production.

Sauvegardes et Clonages

J'ai utilisé les snapshots de VMware pour sauvegarder l’état des machines virtuelles et les restaurer en cas de besoin. Cette fonctionnalité m'a permis de maintenir des copies de sécurité des configurations et de garantir une récupération rapide en cas de problème.

Gestion de Plusieurs Environnements

J'ai utilisé vCenter pour gérer plusieurs machines virtuelles et surveiller l'utilisation des ressources. Grâce à cet outil, j'ai pu centraliser la gestion des environnements virtuels et optimiser l'allocation des ressources de manière efficace.

Conclusion

En résumé, VMware m'a permis de travailler dans un environnement virtuel flexible et sécurisé. J'ai pu optimiser l'utilisation des ressources matérielles, tester des configurations en toute sécurité, et gérer efficacement plusieurs environnements virtuels. Ces capacités ont grandement facilité la gestion de mon projet et assuré son succès.

ImSite

Création des Sites Web Dynamiques et Statiques

Dans le cadre de mon projet, j'ai utilisé plusieurs Languages afin de créer des sites web à la fois dynamiques et statiques. Voici les principales technologies utilisées et leurs rôles respectifs :

  • HTML : J'ai utilisé HTML (HyperText Markup Language) pour structurer la base du contenu web. Cela inclut la création des différentes sections du site, l'intégration des images, des liens et des textes, ainsi que la définition de la hiérarchie du contenu.
  • CSS : J'ai appliqué CSS (Cascading Style Sheets) pour la mise en forme et le design du site. CSS m'a permis de contrôler l'apparence visuelle de chaque élément HTML, en définissant les couleurs, les polices, les marges, les espacements, ainsi que les dispositions en grille ou en flexbox pour rendre le site attrayant et réactif.
  • PHP : J'ai employé PHP (Hypertext Preprocessor) pour le traitement côté serveur des sites dynamiques. PHP m'a permis de gérer les requêtes du serveur, de traiter les formulaires, de générer du contenu dynamique en fonction des interactions des utilisateurs et de gérer les sessions et l'authentification des utilisateurs.
  • MySQL : J'ai géré les bases de données avec MySQL pour stocker les informations. J'ai utilisé MySQL pour créer, lire, mettre à jour et supprimer des données dans des bases de données relationnelles, en assurant l'intégrité et la cohérence des données grâce à l'utilisation de clés primaires et étrangères, et en optimisant les requêtes SQL pour des performances accrues.
  • Git : J'ai utilisé Git pour la gestion de version et le suivi des modifications du code. Git m'a permis de garder une trace de toutes les modifications apportées au code, de travailler sur plusieurs branches pour développer des fonctionnalités parallèlement, et de revenir à des versions antérieures si nécessaire.

En résumé, l'apprentissage et l'utilisation de ces Languages m'ont permis de créer des sites web robustes, interactifs et bien structurés, répondant aux besoins spécifiques de mes projets . Grâce à HTML et CSS, j'ai pu établir une base solide et esthétique pour le site.Tandis que PHP et MySQL m'ont permis de gérer le contenu dynamique et les bases de données. Enfin, Git m'a permis de maintenir une trace des modifications apportées au code, de travailler sur plusieurs branches et revenir à des versions antérieures si besoin.

Logo Nextcloud

Installation de Nextcloud

Pour mon projet Nextcloud, j'ai utilisé plusieurs technologies afin de créer un serveur Nextcloud. J'ai commencé par utiliser un PC pour installer le serveur Nextcloud sur une machine virtuelle (VM). Cette approche m'a permis d'isoler l'environnement et de faciliter la gestion des ressources.

Configuration du Serveur Nextcloud

J'ai mis en place Nextcloud comme serveur de fichiers en ligne. Pour le traitement côté serveur, j'ai utilisé PHP. PHP m'a permis de gérer les requêtes des utilisateurs et de traiter les opérations côté serveur de manière efficace.

Gestion des Bases de Données

Pour la gestion des bases de données, j'ai utilisé MySQL afin de stocker les données de Nextcloud. MySQL a été choisi pour sa robustesse et sa capacité à gérer de grandes quantités de données tout en assurant leur intégrité et leur sécurité.

Conclusion

En résumé, pour mon projet Nextcloud, j'ai appris à utiliser diverses technologies pour créer un environnement de serveur de fichiers en ligne fiable et efficace. Grâce à l'utilisation de machines virtuelles, j'ai pu optimiser la gestion des ressources et assurer une configuration flexible et évolutive. PHP a été utilisé pour le traitement côté serveur, et MySQL pour la gestion des bases de données, garantissant ainsi une performance optimale et une gestion sécurisée des données.

Logo GSB

Projet Angu

Le laboratoire souhaite mettre à disposition des visiteurs médicaux une application Web permettant de centraliser les comptes-rendus de visite. Cette base d'information sera utilisée pour élaborer la démarche de communication auprès des praticiens et offrira une vue individuelle et synthétique de l'activité de représentation.

Afin de faciliter la rédaction des rapports, l'application fournira une description des produits du laboratoire, les coordonnées précises des praticiens ainsi que des informations détaillées les concernant.

L'application servira également à la mise en relation de la hiérarchie de la force commerciale, des visiteurs médicaux aux responsables de secteur, en passant par les délégués régionaux (un outil de communication entre individus ou groupes pourra être envisagé).

Forme de l'objet

Dans un premier temps, l'application prendra la forme d'un site Web sécurisé et authentifié. À terme, elle pourrait devenir un outil accessible depuis des terminaux mobiles (tablettes ou téléphones).

Accessibilité/Sécurité

La page d'accueil de l'application ne doit proposer qu'une zone d'identification.

L'application ne doit pas être reliée au reste du site de l'entreprise ni intégrée à l'intranet.

De mon côté, je vais ajouter une fonctionnalité permettant de filtrer les médicaments, les médecins et les rapports. De plus, je vais envisager la possibilité pour les médecins de modifier, ajouter ou supprimer des rapports, à confirmer.