Morgan. J
Expert Informatique
06.08.17.33.25
/
contact@morganjacquet.fr
  • Accueil
  • Compétences
  • Projets
  • Distenctions
  • Experiences
  • Clients
  • Contact
© Morgan JACQUET 2025
TOUS DROITS RÉSERVÉS

Tranquillité Vacances

Description :

Le projet Tranquillité Vacances est une application innovante développée pour les mairies, permettant aux résidents de signaler en ligne leurs absences prolongées et de bénéficier de rondes de surveillance effectuées par la Police Municipale, offrant ainsi une sécurité accrue et une tranquillité d'esprit, la mairie de Morestel étant la première à profiter de ce service qui inclut également des conseils de sécurité pour les citoyens et une intervention rapide en cas de problème pour assurer une protection optimale des domiciles pendant les vacances.

Réalisations :

La Mairie de Morestel m'a contacté pour développer un outil destiné à la Police Municipale afin de digitaliser la gestion des rondes de surveillance et les comptes rendus de mission. Pour la gestion de projet, j'ai d'abord organisé un premier rendez-vous avec les acteurs majeurs susceptibles d'utiliser l'application pour comprendre leurs expériences et besoins. Ce processus m'a permis de rédiger un premier cahier des charges. Nous avons tenu plusieurs réunions avant de lancer le développement pour nous assurer de disposer de tous les éléments nécessaires pour construire rapidement et proprement le projet.

Une fois le cahier des charges établi, j'ai conçu une charte graphique pour l'application. Concernant la compétence en base de données, j'ai effectué la modélisation de la base de données, définissant les différentes tables et la structure du projet.

Pour le développement web, j'ai choisi le framework Symfony, ce qui m'a permis de développer les premières fonctionnalités rapidement. Au niveau de la gestion des utilisateurs, j'ai décidé de scinder cette partie en deux pour sécuriser au maximum les accès. Il y a donc un firewall pour la partie admin destinée à la police et un firewall pour l'accès des habitants, permettant de distinguer deux types de comptes. Les comptes administrateurs disposent de plusieurs rôles et droits en fonction de leur poste, chaque rôle déterminant l'accès ou non à certaines fonctionnalités.

Ainsi, j'ai pu assurer une sécurité optimale tout en offrant une interface intuitive et efficace pour la gestion des rondes de surveillance et des comptes rendus de mission, répondant pleinement aux besoins exprimés par la mairie et les utilisateurs finaux.

Une demande formulée lors de la construction du cahier des charges était de pouvoir informer les utilisateurs de la fin d'une opération ou de la prise en compte d'une opération par SMS. Pour répondre à ce besoin, j'ai intégré Twilio dans l'application, permettant l'envoi automatique de notifications par SMS aux utilisateurs concernés. Cela garantit que les habitants et les membres de la police municipale sont toujours informés en temps réel, améliorant ainsi la communication et l'efficacité du service.

De plus, j'ai utilisé WKHTMLTOPDF pour générer automatiquement des PDF disponibles dans les différents espaces admin et utilisateurs de l'application. Cela permet d'avoir un récapitulatif propre de la demande d'opération, et à la fin d'une opération, un PDF est généré avec un courrier et la liste des passages avec les notes de mission pour chaque passage effectué, à destination des habitants à leur retour de vacances.

Pour la compétence infrastructure, j'ai monté un serveur dédié sur Ubuntu avec la dernière version de PHP et un serveur MySQL également à jour. J'ai configuré des tâches cron pour exécuter automatiquement certaines fonctionnalités, comme la génération quotidienne des passages à effectuer par la police. J'ai réservé un nom de domaine générique et, pour chaque municipalité, je configure un sous-domaine et ajuste les vhost de mon serveur Apache pour qu'ils pointent vers mon application Symfony. Pour garantir la sécurité des services et des données, j'ai sécurisé ce serveur en mettant en place une connexion uniquement par clé SSH. Le fonctionnement de Symfony nécessite également l'utilisation de Composer pour la gestion des dépendances, ainsi que NPM pour la gestion des packages JavaScript et des assets. J'ai configuré et utilisé ces outils pour garantir un environnement de développement stable et efficace.

En outre, une des fonctionnalités demandées était d'avoir une carte interactive où positionner les points des passages à effectuer chaque jour. J'ai alors utilisé les données d'OpenStreetMap pour générer cette carte. Si une opération n'est pas encore effectuée, je place un point orange à l'adresse du domicile sur la carte et, une fois l'opération réalisée, le point devient vert. Cette fonctionnalité permet une visualisation claire et intuitive des missions en cours et accomplies, facilitant ainsi la gestion des rondes pour la police municipale.

Pour la compétence support client, j'ai mis en place différentes adresses email pour permettre aux habitants et aux utilisateurs de me contacter en cas de problème ou besoin d'assistance sur l'utilisation des services. Un numéro de téléphone a également été mis en place pour les personnes qui ne sont pas à l'aise avec l'informatique, garantissant ainsi un support complet et accessible à tous les utilisateurs.

Enfin, à terme, le développement d'une application mobile en React Native est prévu pour la Police Municipale. Cette application mobile offrira une interface encore plus simple et pratique pour la gestion des passages, permettant aux agents de réaliser leurs missions de manière plus efficace directement depuis leurs smartphones.

Voir le site

Compétences techniques :

Developpement Web - Support Client - Base de données - Gestion de Projet - Infrastructure

Langages et technologies :

HTML - CSS - JS - Symfony - Bootstrap - JQuery - WKHTMLTOPDF - Twilio - PHP - MYSQL

© Morgan JACQUET 2025
TOUS DROITS RÉSERVÉS

DEVELOPPEMENT WEB

Définition :

Le développement web consiste à créer et maintenir des sites web. Les technologies clés incluent:

  • HTML : Structure des pages web.
  • CSS : Stylisation et mise en page.
  • JavaScript : Interactivité et fonctionnalités dynamiques.
  • SQL : Langage servant à exploiter des bases de données relationnelles.
  • PHP : Programmation côté serveur.
  • JQuery : Bibliothèque JavaScript pour des animations et des interactions.
  • React et Vue.js : Bibliothèques et frameworks JavaScript pour des interfaces utilisateur réactives.
  • Symfony et Laravel : Frameworks PHP pour des applications robustes.
  • WordPress : CMS Système de gestion de contenu pour créer et gérer des sites web.
  • API (JSON, SOAP) : Interfaces pour la communication entre différentes applications.

Réalisations :

Tout au long de mon parcours professionnel, j'ai eu l'occasion d'apprendre et de pratiquer ces langages et technologies, ce qui m'a permis de développer une expertise approfondie dans ces domaines. Mon expérience me permet de concevoir des sites web performants, interactifs et bien structurés, répondant aux besoins spécifiques des utilisateurs et des entreprises.

J'utilise PHP en conjonction avec les frameworks Symfony et Laravel pour développer des applications backend robustes. Symfony, avec son architecture MVC (Model-View-Controller), m'a permis de créer des applications structurées et maintenables. Laravel, quant à lui, se distingue par sa simplicité et son élégance, facilitant le développement rapide tout en maintenant une grande flexibilité et puissance.

Pour le développement frontend, j'utilise les bibliothèques React et Vue.js. React, avec son approche basée sur les composants, permet de créer des interfaces utilisateur dynamiques et réactives. Vue.js, connu pour sa courbe d'apprentissage douce et sa flexibilité, m'aide à intégrer rapidement des fonctionnalités interactives tout en assurant une performance optimale.

J'emploie SQL pour gérer et exploiter les bases de données relationnelles, assurant ainsi l'intégrité et l'efficacité des données. Que ce soit avec MySQL ou PostgreSQL, je peux concevoir des schémas de bases de données efficaces et écrire des requêtes complexes pour extraire et manipuler les données.

J'intègre des API (JSON, SOAP) pour permettre la communication entre différentes applications, garantissant ainsi une interopérabilité et une extensibilité des systèmes web.

Conclusion :

Mon expérience me permet de concevoir des sites web performants, interactifs et bien structurés, répondant aux besoins spécifiques des utilisateurs et des entreprises. Le PHP est pour moi un langage de prédilection, en raison de sa flexibilité et de sa puissance pour le développement de fonctionnalités backend robustes. Je considère l'univers du web comme le présent et le futur, car il offre des possibilités infinies d'innovation et d'interaction. La mise en place de solutions web est non seulement simple mais aussi essentielle pour toute entreprise souhaitant rester compétitive dans l'économie numérique actuelle. Les technologies web permettent de créer des plateformes évolutives et dynamiques, prêtes à répondre aux besoins en constante évolution des utilisateurs. Grâce à ces compétences, je suis capable de transformer des idées en réalités digitales, offrant ainsi des expériences enrichissantes et des solutions efficaces pour les défis modernes.

Projets :

Tranquillité vacances - EatsCode - WEI2K23 - Pattes a Chouchou - SB Morestel - Comparecycle - TopCoach - TigerWarranty - Audacieux Festival - Dimotrans

Langages et technologies :

HTML - CSS - JS - REACT - Vue.js - PHP - MYSQL - JQuery - Symfony - Laravel - WordPress - API (JSON, SOAP)

Outils :

VSCode - Postman

Developpement Mobile

Définition :

Le développement mobile consiste à créer des applications mobiles performantes et intuitives, adaptées aux plateformes iOS et Android. Mon expertise me permet de concevoir des solutions mobiles efficaces, centrées sur l'utilisateur et répondant aux exigences du marché.

  • React Native : React Native est un framework JavaScript développé par Facebook, utilisé pour construire des applications mobiles natives. Il permet aux développeurs d'utiliser React, une bibliothèque JavaScript pour créer des interfaces utilisateur, tout en offrant une expérience native sur les deux plateformes, iOS et Android. Grâce à React Native, il est possible de réutiliser une grande partie du code entre les différentes plateformes, ce qui accélère le développement et réduit les coûts.

Réalisations :

Pour plusieurs projets de développement mobile, j'ai choisi d'utiliser React Native en raison de ses nombreux avantages. Ce framework m'a permis de développer des applications performantes et réactives, tout en garantissant une expérience utilisateur cohérente et fluide sur les plateformes iOS et Android. Grâce à la réutilisation du code entre les différentes plateformes, j'ai pu accélérer le processus de développement et réduire significativement les coûts. Chaque projet a commencé par une analyse approfondie des besoins des utilisateurs et du marché, suivie de la conception des interfaces utilisateur avec React. La capacité de React Native à intégrer des composants natifs a permis de tirer pleinement parti des fonctionnalités spécifiques de chaque plateforme, assurant ainsi des performances optimales. J'ai également pu exploiter les vastes bibliothèques et l'écosystème de React Native pour ajouter des fonctionnalités complexes et améliorer l'expérience utilisateur. Cette approche m'a permis de livrer des applications mobiles robustes, adaptées aux besoins spécifiques des clients et en phase avec les standards actuels de l'industrie.

Conclusion :

Le développement mobile est une compétence importante que j'ai pris grand plaisir à apprendre et à utiliser. Le marché des applications mobiles est crucial, car la majorité des utilisateurs interagissent principalement via leurs téléphones. Les interfaces des applications sont plus adaptées et agréables, permettant une meilleure interaction avec les fonctionnalités du téléphone. Cette expertise me permet de répondre aux besoins actuels des utilisateurs et de créer des expériences mobiles enrichissantes.

Projets :

Comparecycle - EatsCode - TopCoach

Langages et technologies :

React Native

Outils :

VSCode - Play Store - App Store - Android Studio - Xcode

Support Client

Définition :

Le support client consiste à résoudre efficacement les problèmes techniques et à fournir des solutions rapides et adaptées. Cette compétence implique une excellente communication avec les clients pour assurer leur satisfaction et renforcer leur confiance en nos services. En mettant l'accent sur la compréhension des besoins des clients et en fournissant des réponses précises et utiles, le support client vise à créer une expérience positive et à maintenir une relation de confiance avec les utilisateurs.

Réalisations :

J'ai acquis la compétence de support client grâce à mon expérience sur le projet Comparecycle, où j'ai été progressivement intégré au support client. Mon rôle consistait à traiter divers tickets liés à la correction de bugs applicatifs, à la gestion des flux de fichiers sur différents processus, et à répondre aux questions sur l'utilisation des outils. Ayant bien pris en main ces responsabilités, j'ai été nommé responsable du support, où je devais prioriser les tickets entrants et les redistribuer aux équipes pour résolution ou traiter les urgences en priorité. Cette tâche exigeait une grande rigueur.

Par la suite, sur le projet Dimotrans, j'ai effectué du support client sous forme de Tierce Maintenance Applicative (TMA). Le client disposait d'un outil pour créer des tickets concernant les bugs de l'application ou de petites évolutions que je traitais au fur et à mesure en fonction des priorités.

J'ai également assuré le support client pour deux projets que j'ai initiés : Tranquillité Vacances. Pour ces projets, je devais guider et renseigner les utilisateurs de mes services et applications. Cette partie était très intéressante et enrichissante. J'aime beaucoup être au contact des utilisateurs finaux pour recueillir leurs expériences et les guider pour utiliser au mieux les services.

Conclusion :

Le support client est une compétence très formatrice qui demande beaucoup de rigueur. Cette expérience m'a appris non seulement la gestion des conflits et la communication efficace avec les clients, mais elle m'a également permis de développer des compétences organisationnelles essentielles. En tant que responsable du support, j'ai dû prioriser et distribuer les tâches, ce qui m'a aidé à comprendre l'importance de la gestion du temps et des ressources. Le support client m'a également enseigné l'empathie et la patience, des qualités cruciales pour maintenir des relations positives avec les utilisateurs et assurer leur satisfaction. Bien que ce ne soit pas une partie du métier de développeur très plaisante à mon goût, elle reste essentielle.

Projets :

Comparecycle - Dimotrans - Tranquillité Vacances

Outils :

ZendDesk - JiraHelpdesk - Redmine - Passerelle

Gestion de Projets

Définition :

La gestion de projet consiste à planifier, organiser, diriger et contrôler les ressources pour atteindre des objectifs spécifiques. Mon expertise en gestion de projet inclut :

  • Maîtrise des méthodes Scrum : Application de la méthodologie agile Scrum pour gérer des projets de manière itérative et incrémentale, en favorisant la flexibilité et l'amélioration continue.
  • Gestion d'équipe : Coordination et motivation des membres de l'équipe pour garantir une collaboration efficace.
  • Gestion RH : Recrutement, formation pour optimiser les ressources humaines.

Réalisations :

Maîtrise des Méthodes Scrum
En tant que praticien expérimenté de Scrum, j'applique cette méthodologie agile pour gérer des projets de manière itérative et incrémentale. Les principaux aspects de mon rôle sur différents projets incluent :

  • Planification des sprints : Définir et prioriser les tâches à réaliser au cours de chaque sprint, en collaboration avec l'équipe de développement.
  • Daily Stand-ups : Conduire des réunions quotidiennes pour suivre l'avancement, identifier les obstacles et ajuster les priorités si nécessaire.
  • Revues de sprint et rétrospectives : Évaluer les résultats des sprints et discuter des améliorations potentielles pour les futurs cycles.

Gestion d'Équipe
La gestion d'équipe est essentielle pour la réussite de tout projet. Mes compétences dans ce domaine incluent :
  • Coordination et communication : Faciliter une communication claire et efficace entre les membres de l'équipe pour assurer une compréhension commune des objectifs et des tâches.
  • Motivation et engagement : Encourager la participation active et l'engagement des membres de l'équipe en reconnaissant leurs contributions et en soutenant leur développement professionnel.
  • Résolution de conflits : Gérer les conflits de manière constructive pour maintenir un environnement de travail harmonieux et productif.

Gestion RH
La gestion des ressources humaines est cruciale pour le bon déroulement des projets. Mes compétences comprennent :
  • Recrutement et intégration : Sélectionner et intégrer de nouveaux membres dans l'équipe pour combler les lacunes en compétences et renforcer la capacité de l'équipe.
  • Formation et développement : Organiser des sessions de formation pour améliorer les compétences des membres de l'équipe et les préparer à relever de nouveaux défis.


Rédaction d'un cahier des charges
La rédaction d'un cahier des charges est une étape cruciale pour la réussite de tout projet. Elle permet de définir clairement les besoins, les attentes et les contraintes du projet. Mes compétences incluent :

  • Analyse des besoins : Identifier et documenter les besoins et exigences des parties prenantes.
  • Spécifications techniques : Rédiger des spécifications détaillées pour guider le développement et la mise en œuvre du projet.
  • Validation et approbation : Travailler en étroite collaboration avec les parties prenantes pour valider et obtenir l'approbation du cahier des charges.

Organisation de rendez-vous client
L'organisation de rendez-vous client réguliers est essentielle pour assurer la transparence et l'alignement tout au long du projet. Mes compétences incluent :

  • Planification des rendez-vous : Organiser des réunions régulières avec les clients pour discuter de l'avancement du projet, des défis rencontrés et des ajustements nécessaires.
  • Préparation des points projet : Préparer des agendas détaillés et des rapports de statut pour chaque réunion, afin de garantir des discussions productives.
  • Suivi et compte-rendu : Documenter les décisions prises et les actions à entreprendre, et assurer un suivi rigoureux pour garantir le respect des engagements.

Conclusion :

Ma compétence en gestion de projet, combinée à ma maîtrise des méthodes Scrum et à mon expertise en rédaction de cahier des charges et en organisation de rendez-vous client, me permet de garantir une coordination efficace, de gérer les équipes avec succès et d'assurer la réalisation des projets selon les exigences du marché. J'apprécie fortement cette compétence, qui correspond parfaitement à mon esprit d'entrepreneur. Cette expertise est essentielle pour mener à bien des projets complexes dans des environnements dynamiques et en constante évolution.

Projets :

Tranquillité vacances - EatsCode - Dimotrans - Comparecycle - Audacieux Festival

Langages et technologies :

Scrum

Outils :

Jira - Trello - Notion - Redmine - Confluence - Miro

Base de données

Définition :

La gestion de base de données est une compétence clé qui implique la conception, l'implémentation et la maintenance des systèmes de gestion de bases de données (SGBD). Elle comprend l'utilisation de bases de données relationnelles comme MySQL, qui se base sur des schémas relationnels et le langage SQL, et de bases de données NoSQL comme MongoDB, qui utilise des documents JSON pour des structures de données plus dynamiques.

La conception de bases de données implique souvent des méthodes comme le Modèle Conceptuel de Données (MCD) et la méthode Merise, qui permettent de structurer et de normaliser les données pour garantir leur intégrité et leur efficacité. La méthode Merise se distingue par ses étapes de modélisation conceptuelle, logique et physique, assurant une vision claire et structurée des données et de leurs interactions. Ces compétences assurent une gestion efficace des données, essentielle pour les performances et la fiabilité des applications.

Réalisations :

Pour chaque projet nécessitant du stockage de données, j'ai systématiquement fait le choix d'utiliser une base de données MySQL. Ce choix stratégique repose sur plusieurs avantages offerts par MySQL, notamment sa robustesse, sa flexibilité et sa capacité à gérer efficacement des volumes importants de données. Avant le développement de chaque site, j'ai entrepris une phase rigoureuse de conception de la base de données. Cette phase de conception comprenait plusieurs étapes cruciales : l'analyse des besoins à partir du cahier des charges pour identifier les différentes entités, leurs attributs et les relations entre elles ; la modélisation conceptuelle des données en utilisant la méthode Merise pour assurer une compréhension claire et partagée de la structure des données ; la transformation du modèle conceptuel en un modèle logique définissant les tables, les colonnes, les clés primaires et les clés étrangères ; et enfin, la définition des types de données, des index et des contraintes pour optimiser les performances et garantir l'intégrité des données. Chaque table, index et relation a été soigneusement prévu pour répondre aux besoins spécifiques du projet, tout en assurant la normalisation des données pour éviter les redondances et améliorer l'efficacité des requêtes.

Sur certains projets repris, j'ai été confronté à d'autres types de bases de données que MySQL, notamment MongoDB et SQLite. Ces expériences m'ont permis de découvrir et de maîtriser ces technologies, en m'adaptant aux spécificités et aux avantages de chacune. MongoDB, avec sa structure de données flexible basée sur des documents JSON, s'est avéré particulièrement efficace pour des projets nécessitant une grande souplesse et une évolutivité rapide. SQLite, de son côté, a démontré sa valeur dans des contextes où une base de données légère et intégrée était nécessaire, comme dans le développement d'applications mobiles ou de prototypes rapides. Cette diversité d'expérience m'a non seulement enrichi techniquement, mais m'a également permis de choisir et d'implémenter la solution de stockage de données la plus appropriée en fonction des besoins spécifiques de chaque projet, garantissant ainsi une gestion des données optimisée et adaptée.

Conclusion :

La gestion de base de données est essentielle pour chaque projet où des données sont impliquées. Généralement, la conception de la base de données se fait au début du projet, à partir du cahier des charges, bien que des modifications puissent être apportées tout au long du projet. Pour chaque projet, la technologie de base de données utilisée peut varier en fonction des besoins spécifiques. Cette compétence garantit une gestion efficace et adaptée des données, assurant ainsi la performance et la fiabilité des applications développées.

Projets :

Tranquillité vacances - EatsCode - WEI2K23 - Dimotrans - TopCoach - TigerWarranty

Langages et technologies :

MySQL - MariaDB - MongoDB - SQLite

Outils :

MySQLWorkbench - Sequel Pro - Draw.io

Infrastructure

Définition :

La compétence en infrastructure comprend la maintenance de serveurs web et des services associés. Mon expertise me permet de configurer et de gérer efficacement des environnements serveur, garantissant ainsi la fiabilité, la sécurité et la performance des services web. Je m'assure que les serveurs sont correctement optimisés, sécurisés contre les menaces potentielles et maintenus à jour, ce qui permet de soutenir les opérations quotidiennes et de répondre aux besoins des utilisateurs avec un minimum de temps d'arrêt.

Réalisations :

Pour chaque projet, je suis responsable de la gestion d'un serveur web et de la configuration des services associés. Voici un aperçu des technologies et des tâches spécifiques que je prends en charge :

  • Serveurs Web : Je configure et maintiens des serveurs Apache 2 et Nginx pour garantir des performances optimales et une haute disponibilité des services web.
  • Bases de Données : Je mets en place et gère des serveurs MySQL et MariaDB, assurant ainsi la fiabilité et la sécurité des données.
  • Nom de Domaine et DNS : Je réserve les noms de domaine nécessaires et configure les DNS pour qu'ils pointent vers les serveurs appropriés.
  • Sécurité des Sites Web : J'utilise Let's Encrypt pour la mise en place de certificats SSL, assurant ainsi une communication sécurisée et chiffrée entre les serveurs web et les utilisateurs finaux.
  • Technologies Complémentaires :
    • Docker : Utilisé pour le projet Dimotrans dans un environnement AWS configuré par les techniciens réseaux de notre client, permettant un déploiement et une gestion efficaces des applications.
    • Redis : Implémenté pour le caching et l'amélioration des performances des applications web.
    • Ubuntu : Système d'exploitation préféré pour son support robuste et sa flexibilité.

Ces compétences me permettent de garantir que les environnements serveurs sont configurés de manière optimale pour assurer la fiabilité, la sécurité et la performance des services web.

Conclusion :

La compétence en infrastructure est essentielle pour déployer et maintenir chaque site web. Elle assure que les serveurs sont correctement configurés et optimisés, garantissant ainsi la fiabilité, la sécurité et la performance des services web. Grâce à cette expertise, je peux gérer des environnements complexes et variés, utiliser des technologies modernes comme Docker, et répondre aux exigences spécifiques de chaque projet. Une gestion efficace de l'infrastructure est cruciale pour soutenir les opérations quotidiennes et offrir une expérience utilisateur optimale.

Projets :

Tranquillité vacances - EatsCode - WEI2K23 - Pattes a Chouchou - SB Morestel - Comparecycle - TopCoach - TigerWarranty - Audacieux Festival - Dimotrans

Langages et technologies :

Apache 2 - Nginx - MySQL - MariaDB - Docker - Redis - Ubuntu - CRON - LetsEncrypt - Composer - Node JS

Outils :

Terminal - OhMyZSH - Putty - Ovh

Désirade

MJTech

Upyne

BDE Stud'AFIP

Audacieux Festival

Ocaly