Moïse Koye — Bilan de mission XNOVA
Documentation de transmission — XNOVA

Bilan des projets développés
et note de passation technique

Ce document décrit les systèmes conçus, développés et déployés au cours des neuf derniers mois chez XNOVA. Il a deux objectifs : donner à la direction et au responsable du service informatique une vue claire de ce qui a été livré, et servir de documentation de reprise pour le développeur qui prendra la suite de ces projets — architecture, choix techniques et état d'avancement de chacun.

RôleDéveloppeur full-stack junior, orienté produit & déploiement
Période1er novembre 2025 – 7 août 2026 (9 mois)
Date de passation7 août 2026
Portée5 systèmes principaux, 1 livrable complémentaire
AuteurMoïse Koye

01Vue d'ensemble

Sur ces neuf mois, le travail a couvert l'ensemble du cycle de vie d'un produit logiciel : conception de la base de données, développement du back-end et des interfaces, déploiement chez le client, formation des équipes utilisatrices et support terrain. Cinq systèmes ont structuré la majorité du temps ; un livrable plus ponctuel complète le tableau.

5
systèmes principaux développés/maintenus
10+
sites clients XFood déployés et suivis
4
dépôts du projet InterUrbain (API, mobile, 2 dashboards)
1
refonte du site vitrine XNOVA

Le fil conducteur de ces projets : des applications PHP/MySQL orientées métier (restauration, hôtellerie, santé, gestion commerciale, prospection, transport), développées et maintenues en responsabilité individuelle pour la plupart, avec une montée en gamme progressive vers des stacks plus modernes — Spring Boot, Flutter, React/TypeScript — sur le projet InterUrbain. Chaque fiche qui suit présente le projet dans le même ordre : à quoi il sert, comment il est construit, ce qui a été livré concrètement, puis les points utiles à connaître pour qui reprend le code.

02XFood

XFood — gestion restaurant & hôtellerie

Plateforme PWA multi-tenant de gestion pour restaurants et résidences hôtelières : commandes, cuisine, caisse, réservations de villas, boutique en ligne, fidélité et marketing.

10+ déploiements actifs
PHP 7.2–7.4 (procédural) PDO / MySQL HTML/CSS/JS vanilla Service Worker / PWA Web Push (VAPID) Server-Sent Events phpqrcode Mapbox

Contexte

XFood répond à un besoin concret des restaurants et résidences hôtelières partenaires : remplacer la prise de commande papier et les allers-retours entre salle, cuisine et caisse par un flux numérique unique, consultable en temps réel par chaque poste. Le client final scanne un QR code sur sa table (ou dans sa villa), commande depuis son téléphone sans rien installer, et l'établissement suit la commande de bout en bout depuis un panneau d'administration unique. La même base de code sert aussi bien un restaurant qu'une résidence avec hébergement, ce qui explique la présence des deux univers — restauration et hôtellerie — dans un seul produit.

Acteurs et rôles

Sept profils utilisent le système, un côté client et six côté personnel de l'établissement — chacun avec un écran taillé pour son poste plutôt qu'un panneau générique unique :

ActeurEspaceCe qu'il fait dans le système
Clientconvive / résident Interface publique (PWA) Scanne le QR code de sa table ou de sa villa, consulte le menu ou la boutique, commande et paie sans rien installer, réserve une villa via un formulaire multi-étapes, suit ses points de fidélité et laisse un avis.
Serveurserveur Espace Serveur Crée et gère les commandes prises en salle, suit les réservations, marque les commandes comme servies une fois délivrées en table.
Cuisinecuisine Écran Cuisine Visualise en temps réel les commandes entrantes avec alerte sonore, fait progresser chaque commande (en préparation, prête) sans autre saisie que le changement de statut.
Caissiercaissier Espace Caisse Consulte les commandes à encaisser, traite les paiements, imprime les tickets et factures, sort les totaux de recette par période (jour, semaine, mois, période personnalisée).
Réceptionnistereception Espace Réception Gère le check-in des villas, les réservations hôtelières et les codes WiFi remis aux résidents, coordonne le service en chambre.
Adminadmin Panneau d'administration Gère le menu (catégories, plats, prix), les villas et chambres, les promotions, les campagnes SMS et notifications, les avis clients, et consulte le tableau de bord statistique.
Super Adminsuper_admin Panneau d'administration Accès total incluant la configuration système et la gestion des comptes du personnel — seul profil habilité à créer les autres comptes internes.

Architecture

L'application est structurée en trois zones : un panneau d'administration (admin/) en PHP procédural où chaque rôle du personnel (serveur, cuisine, caissier, réceptionniste, admin) a son propre écran ; une API REST (api/, une vingtaine de points d'entrée JSON) qui sert de pont entre la base de données et le reste ; et une interface client (user/) en HTML/CSS/JS pur, installable comme une application (PWA), avec un Service Worker qui met en cache les pages statiques mais exclut volontairement toutes les routes d'API pour ne jamais servir de données périmées hors ligne. La synchronisation entre la cuisine, la salle et la caisse se fait par Server-Sent Events — un flux serveur→navigateur qui pousse les nouvelles commandes en direct, avec un système de sondage (polling) en secours si la connexion se coupe.

Chaque déploiement client est une copie de cette même base, avec sa propre base de données et ses propres réglages (menu, tarifs, villas le cas échéant). Il n'y a pas aujourd'hui de mécanisme central qui propage un correctif à tous les clients à la fois — une évolution du cœur de produit demande de la répercuter manuellement sur chaque déploiement, un point important pour la suite (voir plus bas).

Fonctionnalités livrées

  • Gestion de commandes temps réel — sur place, à emporter, livraison — avec statuts synchronisés entre serveur, cuisine et caisse
  • Écran cuisine avec alertes sonores et flux d'affichage dédié
  • Caisse avec filtres de période, totaux de recette, tickets et factures A4
  • Réservations de villas (5 unités) avec formulaire multi-étapes, codes WiFi et interface réception
  • Boutique e-commerce intégrée avec panier persistant
  • Programme de fidélité à paliers (Bronze → Platine), avec règles métier réelles (seuils, fusion de comptes par téléphone)
  • Marketing : promotions configurables, campagnes SMS, notifications push ciblées
  • Commande par QR code par table ou par villa, détection automatique à l'ouverture
  • Tableau de bord statistique : ventes, meilleurs plats, prévision de fréquentation par moyenne historique glissante

Déploiement et accompagnement client

Au-delà du code, ce projet a représenté une part importante de travail terrain : installation et configuration chez chaque client (écrans, QR codes, accès réseau), formation des équipes (serveurs, cuisine, caisse, réception), assistance en cas d'incident de connexion, et suivi de campagnes ponctuelles — par exemple le suivi des scans QR pour Dolce Vita. Le produit est aujourd'hui déployé et actif chez :

Nimba Atlantique Chemoa Résidence Merveille J Koumassi Villa Verde Dolce Vita Cacao Boh Crêpe & Cream
Précision sur le module « IA » : le tableau de bord nommé « dashboard_ia » dans le code n'utilise pas de modèle entraîné. Il calcule une prévision de fréquentation par moyenne historique glissante regroupée par jour de semaine, et un comptage de co-occurrences pour les suggestions de plats fréquemment commandés ensemble. C'est une fonctionnalité utile et fonctionnelle, mais qu'il faut présenter comme des « statistiques et prévisions par règles métier », et non comme du machine learning — pour rester exact si la question est posée.

03MediNova

MediNova — plateforme de gestion médicale

Plateforme web médicale multi-portails (patient, médecin, réception, centre d'appels, administration), avec dossier patient informatisé, module urgences, assistant vocal IA et centre d'appels téléphonique intégré. Né comme projet de mémoire, repris et développé comme produit XNOVA en production.

Statut : Production
PHP 8.2 natif (PDO) MySQL 8.0 / MariaDB HTML/CSS/JS vanilla PWA + Web Push (VAPID) Vapi (assistant vocal IA) Twilio (IVR centre d'appels) Docker / docker-compose

Contexte

MediNova est une plateforme de gestion médicale complète, née comme projet de fin d'études puis reprise et développée comme solution XNOVA à part entière, déployée en production. L'objectif est de donner à un centre médical un outil unique qui couvre tout le parcours de soin — de la prise de rendez-vous jusqu'au compte-rendu de consultation — pour tous les métiers présents dans une clinique : patients, médecins, personnel d'accueil, centre d'appels et administration. Chaque catégorie d'utilisateur a son propre espace, avec ses propres écrans et ses propres droits.

Acteurs et rôles

Le système distingue nettement qui peut faire quoi. Sept profils sont définis en base de données, dont deux niveaux d'administration :

ActeurEspaceCe qu'il fait dans le système
Patientpatient /user Prend, modifie et annule ses rendez-vous ; consulte et met à jour sa fiche (identité, assurance) ; échange par messagerie avec son médecin ; reçoit des rappels par notification ; consulte son dossier médical et ses ordonnances ; laisse un avis après consultation ; peut aussi réserver ou être orienté par la voix via l'assistant IA.
Médecindoctor /medecin Consulte son planning du jour et déclare ses absences ; ouvre le dossier et l'historique de chaque patient ; rédige le compte-rendu de consultation, les prescriptions et les résultats d'examens ; signe ses documents avec un tampon numérique ; discute avec ses patients par messagerie ; s'il est de garde aux urgences, prend en charge les patients de la file d'attente.
Réceptionnistereceptionist /reception Crée et réaffecte des rendez-vous rapidement, gère la file d'attente à l'accueil ; aux urgences, admet un patient dans la file de garde — y compris un patient anonyme ou inconscient — et ajuste son niveau de gravité au fil de son état.
Centre d'appelscallcenter /accueil Prend les rendez-vous par téléphone pour des patients qui n'utilisent pas l'application ; peut aussi signaler un passage aux urgences (par exemple l'arrivée annoncée d'une ambulance).
Administrateuradmin /admin Gère les comptes et les droits des utilisateurs, les services médicaux et motifs de consultation ; consulte les statistiques d'activité et le journal d'audit ; envoie des notifications ciblées et publie les actualités de la clinique.
Super administrateursystem_admin /admin Seul profil habilité à modifier l'identité visuelle de l'application (nom, logo, couleur, coordonnées de contact) — un réglage global qui s'applique à toutes les pages sans toucher au code.
Qualitéqualite /admin Profil de suivi de la qualité de service, avec accès aux mêmes outils de reporting et d'audit que l'administration.

Architecture

L'application est un back-end PHP natif (aucun framework, une seule dépendance externe : la librairie minishlink/web-push pour les notifications) qui expose 36 points d'API JSON, consommés par les cinq portails ci-dessus. Chacun est une PWA installable, avec son propre écran de connexion. La base de données centralise aussi les réglages d'identité visuelle (app_settings) : nom de l'application, logo, couleur principale — modifiables depuis l'espace super-administrateur sans toucher au code, et appliqués côté client via un composant JS qui remplace les textes au chargement de chaque page.

Deux intégrations tierces étendent l'application au-delà du web classique : Vapi, un service d'assistant vocal IA, permet à un patient de prendre ou annuler un rendez-vous en parlant simplement à voix haute ; Twilio gère un serveur vocal interactif (IVR) pour la prise de rendez-vous par téléphone classique, pour les patients sans smartphone. Ces deux services sont appelés depuis des points d'API dédiés (api/vapi/, api/twilio_*) plutôt qu'intégrés au cœur de l'application, ce qui limite l'impact si l'un des deux services tiers change ou doit être remplacé.

Fonctionnalités livrées

  • Rendez-vous : prise, modification, annulation, planning médecin, gestion des absences
  • Dossier patient : coordonnées, assurance, historique, photo
  • Dossier Patient Informatisé (DPI) : compte-rendu de consultation, prescriptions, résultats d'analyses biologiques, examens d'exploration fonctionnelle (ECG, EMG, EEG, endoscopie), documents signés et tamponnés numériquement par le médecin, consultables par le patient depuis son espace
  • Messagerie médecin ↔ patient liée au suivi de consultation
  • Notifications push pour les rappels de rendez-vous
  • Assistant vocal IA (Vapi) : prise de RDV et consultation de créneaux par la voix
  • Centre d'appels IVR (Twilio) pour la prise de rendez-vous téléphonique
  • Module Urgences : admission express (y compris patient anonyme), file d'attente triée par gravité puis par heure d'arrivée, prise en charge par le médecin de garde, alerte sonore à chaque nouvelle admission
  • Identité visuelle personnalisable : nom, logo, couleur, sans redéploiement de code
  • Avis patients, journal d'audit, statistiques d'activité, actualités de la clinique

Le module Urgences mérite une explication à part : il a été conçu spécifiquement parce que le fonctionnement normal de MediNova repose sur un rendez-vous planifié à l'avance, ce qui n'a pas de sens pour un patient qui arrive sans prévenir. Le service dispose donc de son propre circuit — admission express par la réception (avec prise en charge des cas anonymes ou non identifiés grâce à des champs facultatifs et un calcul automatique d'âge approximatif), file d'attente triée par gravité clinique plutôt que par ordre d'arrivée, et un tableau dédié pour le médecin de garde qui n'a pas besoin d'un planning horaire pour être considéré disponible : être connecté suffit.

Comptes de démonstration

Chaque acteur dispose d'un compte de test dédié pour accéder directement à son espace.

Identifiants de testun espace par acteur
Administrateur
admin/admin
Médecin urgentiste
drkoffi/1234
Secrétaire médicale
accueil_cardiologue/1234
Réceptionniste
receptionniste/1234
Comptes de démonstration à changer avant toute mise en production réelle avec des données patients.

04InterUrbain

InterUrbain — digitalisation du transport routier interurbain

Marketplace de réservation de trajets interurbains, composée de quatre dépôts : une API centrale, une application mobile voyageur, un dashboard transporteur et un dashboard d'administration plateforme. Le projet le plus large en diversité technique de la mission.

4 dépôts, stack complet
Java 17 / Spring Boot 3.2 Flutter / Dart (mobile) React 19 + TypeScript + Vite PostgreSQL JWT + Spring Security springdoc / Swagger UI Riverpod, go_router, Dio React Query, Zod, Recharts

Contexte

InterUrbain vise à digitaliser la réservation de trajets en bus entre villes, sur le modèle d'une place de marché : un voyageur compare et réserve un trajet auprès de la compagnie de son choix, chaque compagnie de transport gère ses propres lignes et gares depuis son espace, et la plateforme XNOVA supervise l'ensemble (compagnies, trajets, réservations). C'est le projet le plus large en diversité technique de la mission : il réunit une API back-end, une application mobile grand public, et deux interfaces web de gestion distinctes, développées en autonomie sur les quatre dépôts.

Acteurs et rôles

Trois acteurs se partagent la plateforme, chacun avec sa propre application dédiée — c'est la raison pour laquelle le projet compte quatre dépôts distincts plutôt qu'une seule application avec des permissions internes :

ActeurApplication dédiéeCe qu'il fait dans le système
VoyageurCLIENT App mobile (Flutter) Recherche et compare des trajets entre villes, choisit son siège, règle son paiement, reçoit un reçu électronique et un QR code de billet, consulte l'historique de ses réservations, cumule des points de fidélité, note son trajet après le voyage.
Compagnie de transportTRANSPORTEUR Dashboard Transporteur (web) Fait enregistrer sa compagnie sur la plateforme (validation par l'admin), déclare ses gares, crée et modifie ses trajets et leurs disponibilités, consulte les réservations reçues sur ses lignes, répond ou consulte les avis laissés par ses voyageurs, suit ses statistiques d'activité.
Administrateur plateformeADMIN Dashboard Admin (web) Valide l'inscription des nouvelles compagnies de transport, supervise l'ensemble des compagnies, voyageurs, trajets et gares actifs sur la plateforme, consulte les réservations tous acteurs confondus, gère le scoring/évaluation des compagnies, ajuste les réglages globaux de la plateforme.

Architecture

Le back-end est une API Spring Boot classique en couches (entités, dépôts, services, contrôleurs), avec une authentification par jeton JWT qui distingue les trois rôles ci-dessus. Le modèle de données couvre les compagnies, les trajets, les gares, les réservations, les paiements, les avis et le programme de fidélité. L'API est documentée via Swagger, ce qui permet à n'importe quel front (mobile ou web) de découvrir les points d'entrée disponibles sans lire le code source du back-end. Les trois applications front — mobile voyageur, dashboard transporteur, dashboard admin — consomment cette même API, chacune filtrée selon son rôle.

Fonctionnalités livrées

  • API : modèle métier complet (utilisateurs, compagnies, trajets, gares, réservations, paiements, avis, fidélité), authentification JWT, upload de fichiers, documentation Swagger, déploiement cloud (Railway/Render) et envoi d'e-mails transactionnels
  • App voyageur (Flutter) : recherche et comparaison de trajets, sélection de siège, choix du moyen de paiement, reçus, historique, carte de fidélité, profil
  • Dashboard Transporteur : gestion de la compagnie, des gares et des trajets (création, édition, liste), suivi des réservations et des avis clients avec statistiques
  • Dashboard Administrateur : vue d'ensemble compagnies, voyageurs, trajets, gares, réservations, scoring et réglages globaux de la plateforme

05XGescom (SYGESCO)

XGescom — gestion commerciale multi-agences

Système de gestion commerciale pour PME/TPE structurées en réseau d'agences : ventes, stocks, caisse, approvisionnements et reporting, avec trois niveaux d'accès hiérarchiques.

347 fichiers PHP
PHP 8.2 (procédural) MySQL / MariaDB, PDO Bootstrap 4 / jQuery Chart.js, Morris, DataTables TCPDF / HTML2PDF Docker

Contexte

XGescom (nom de code interne : SYGESCO) répond à un besoin de PME et TPE organisées en réseau d'agences : suivre les ventes, le stock et la caisse de chaque agence individuellement, tout en donnant à l'entreprise mère une vue consolidée sur l'ensemble de son réseau. C'est une base de code existante qui a été reprise, sécurisée et modernisée durant la mission — le travail a porté autant sur l'ajout de fonctionnalités que sur la remise à niveau de la sécurité et de l'interface.

Acteurs et rôles

L'application repose sur une hiérarchie claire, chaque acteur ayant son propre espace de connexion et son propre périmètre de données — un Admin Agence ne voit jamais les chiffres d'une autre agence, et un Admin Entreprise ne voit que les agences qui lui appartiennent. Le Super Administrateur représente l'éditeur de la solution ; l'Admin Entreprise représente la direction générale du client ; l'Admin Agence est le responsable opérationnel du point de vente. Trois métiers viennent ensuite compléter l'équipe d'agence avec des accès spécifiques à leur activité : Commercial, Gestionnaire de stock et Comptable/Financier.

ActeurPortéeCe qu'il fait dans le système
Super Adminéditeur de la solution Toutes les entreprises Gère les entreprises clientes, attribue les licences, définit le nombre maximal d'agences autorisées par entreprise, suspend une entreprise en cas de non-respect des conditions d'utilisation.
Admin Entreprisedirection générale client Toutes les agences de son réseau Crée et administre les agences de son réseau, centralise le suivi consolidé des activités de son entreprise, recherche la disponibilité d'un produit par code-barres ou désignation sur l'ensemble de son réseau.
Admin Agenceresponsable du point de vente Son agence uniquement Supervise les ventes, la gestion des produits, les stocks, les clients, les statistiques et les bons de livraison de son agence.
Commercialespace ventes Son agence uniquement Crée des devis, enregistre les ventes, gère les commandes, consulte les informations et les soldes de ses clients.
Gestionnaire de stockespace produits Son agence uniquement Assure les approvisionnements, le suivi des niveaux de stock, les inventaires et la gestion des alertes de rupture.
Comptable / Financierespace caisse Son agence uniquement Suit les mouvements de caisse, les règlements fournisseurs et réalise les clôtures journalières de son agence.

Architecture

L'application n'utilise pas de framework MVC : c'est une architecture « par page », où chaque fichier PHP gère sa propre session, sa configuration et sa vue, et où les formulaires soumettent leurs données en AJAX vers des scripts de traitement dédiés (traitements/*.php) qui renvoient un simple indicateur succès/échec. La base de données compte une trentaine de tables, migrées durant la mission du moteur MyISAM vers InnoDB pour de meilleures garanties d'intégrité.

Fonctionnalités livrées

  • Devis/proforma et facturation, avec suivi d'acompte, de solde et d'échéance
  • Gestion de stock : approvisionnements fournisseurs, péremption/casse, inventaire réel
  • Mouvements de caisse et clôture de caisse par agence
  • Suite de reporting (une trentaine d'états) : alertes stock, top produits/clients, bilan de ventes — export PDF et format ticket
  • Campagnes SMS marketing
  • Refonte complète de l'interface vers un design de type SaaS premium (thème Indigo pour le Super Admin, Émeraude pour l'espace Entreprise)
  • Formulaires de création déplacés en fenêtres modales, avec confirmations visuelles claires
  • Recherche de disponibilité produit par code-barres ou désignation, sur toutes les agences de l'entreprise

Audit et sécurisation

Un audit de sécurité complet a été mené et corrigé de bout en bout, validé par des requêtes HTTP réelles sur les trois espaces : migration de l'authentification SHA1 vers bcrypt avec rehachage transparent à la connexion, protection CSRF sur tous les formulaires, passage à 100% en requêtes préparées PDO contre les injections SQL, échappement systématique des sorties contre les failles XSS, et validation réelle du type de fichier à l'upload (pas seulement l'extension). Un bug critique a été identifié et corrigé pendant cette phase : le fichier de configuration ne démarrait jamais la session PHP, ce qui rendait toutes les vérifications CSRF du projet silencieusement inopérantes sans qu'aucune erreur ne soit visible.

Environnement de démonstration

La plateforme est accessible en ligne à sygesco.xnova-ci.com, avec un jeu de données réaliste (75 ventes, 35 bons de livraison, 18 devis, 20 produits, 12 clients grands comptes) permettant de tester chaque profil dans des conditions proches de l'exploitation réelle. Chaque acteur dispose de son propre compte de test :

Identifiants de démonstrationsygesco.xnova-ci.com
Super Admin — /adminspace/
admin/password123
Admin Entreprise — /customerspace/
admin_total/password123
Admin Agence
agence_plateau/password123
Commercial (User Agence)
commercial_total/password123
Gestionnaire de stock (User Agence)
gestionnaire_total/password123
Comptable / Financier (User Agence)
comptable_total/password123
Mots de passe de démonstration à changer avant toute mise en production réelle.

06XCRM Terrain

XCRM Terrain v2.7 — prospection commerciale

Plateforme de suivi de la prospection terrain jusqu'à la facturation : fiches de visite, rendez-vous, devis, factures et pipeline commercial, pour équipes commerciales mobiles.

MVC propre
PHP 8.x — MVC MySQL / MariaDB, PDO JS vanilla (Fetch/AJAX) Chart.js PWA (Service Worker)

Contexte

XCRM Terrain digitalise le travail des commerciaux qui visitent des prospects sur le terrain. Avant l'outil, une visite se traduisait par des notes éparses difficiles à centraliser et à transformer en devis, puis en facture. L'objectif du produit est de faire tenir tout le cycle de vente — de la première visite jusqu'au paiement — dans un seul outil, accessible depuis un téléphone en visite comme depuis un poste au bureau.

Acteurs et rôles

Trois profils cloisonnés se partagent l'application, avec une étanchéité stricte des données entre commerciaux :

ActeurPortéeCe qu'il fait dans le système
Super Administrateuradmin Toute l'équipe Voit l'activité de tous les commerciaux, crée et gère les comptes, rédige les devis et proformas, émet les factures, suit le pipeline global des affaires.
Managerchef d'équipe Son équipe Profil hybride : suit les statistiques et le classement de son équipe tout en pouvant lui-même remplir une fiche terrain comme un commercial.
Commercialterrain Ses propres visites uniquement Saisit ses fiches terrain, qualifie ses rendez-vous, demande des devis, consulte son propre historique — sans aucune visibilité sur les données des autres commerciaux.

Architecture

Contrairement à XGescom, ce projet est construit en MVC classique — contrôleurs, modèles et vues nettement séparés, avec des migrations de schéma automatiques gérées dans Database.php.

Le cœur du produit est un enchaînement métier explicite, pensé pour refléter le déroulement réel d'une vente : le commercial remplit une fiche terrain après une visite ; s'il y a un rendez-vous, il le qualifie ensuite (effectué, reporté, gagné, perdu) et peut demander un devis en un clic — ce qui déclenche une alerte visuelle immédiate côté admin ; l'admin rédige le devis, le prospect l'accepte, et une facture peut alors être émise directement à partir du devis accepté. Si le commercial marque le rendez-vous « Gagné », le devis correspondant passe automatiquement à l'état « Accepté » — une automatisation qui évite une étape de ressaisie manuelle.

Fonctionnalités livrées

  • Fiche terrain : saisie structurée de la visite (entreprise, interlocuteur, besoin)
  • Rendez-vous : qualification effectué/reporté/gagné/perdu, demande de devis en un clic
  • Devis / proforma : rédaction par l'admin, alerte automatique sur demande en attente
  • Facturation émise à partir d'un devis accepté
  • Pipeline : suivi façon Kanban des affaires en négociation, gagnées, perdues
  • Tableau de bord : classement des commerciaux, taux de conversion, statistiques par produit

Comptes de démonstration

Identifiants de testaccès Super Administrateur
Super Administrateur
superadmin/superadmin
Des comptes Commercial existent également en base de démonstration ; leurs identifiants sont nominatifs et restent connus uniquement de chaque commercial concerné — cohérent avec l'étanchéité des données entre commerciaux décrite plus haut.

07Autres livrables

Travail plus ponctuel que les cinq systèmes précédents, mais réel et déployé.

Site vitrine XNOVA refonte

Modernisation du site institutionnel de l'entreprise — celui qui présente XNOVA et ses solutions (XFood, SYGESCO…) à ses futurs clients. Le travail a porté sur un nouveau design, une intégration responsive et une mise en avant plus claire des produits maison.

HTML/CSS/JSDesign responsive

08Dépôts et environnements techniques

L'ensemble du code est versionné sur GitLab. Chaque dépôt contient sa propre documentation technique (README, guides d'installation, notes d'architecture) destinée à orienter le prochain développeur sur les technologies et outils utilisés — à consulter en premier lieu avant toute intervention sur un projet.

MediNovagitlab.com/xnovagitlab/medinova.git
MediNova (variante)gitlab.com/xnovagitlab/projet-medical
InterUrbaingitlab.com/xnovagitlab/interurbain.git
XGescomgitlab.com/xnovagitlab/xgescom.git
XCRM Terraingitlab.com/xnovagitlab/xcrm.git
XFood — Nimba Atlantiquegitlab.com/xnovagitlab/nimbaatlantique
XFood — Chemoagitlab.com/projet-xfood/chemoa
XFood — Chemoa (variante)gitlab.com/xnovagitlab/xfoodchemoa
XFood — Cacao Bohgitlab.com/projet-xfood/cacaoboh
XFood — cœur produitgitlab.com/projet-xfood/menxfood

09Compétences transverses

Le profil qui ressort de ces neuf mois n'est pas celui d'un développeur cantonné à une couche technique : c'est un profil qui suit le projet du code jusqu'à son usage réel chez le client.

Développement

  • PHP (procédural & MVC), API REST
  • MySQL / MariaDB, PDO, modélisation de schéma
  • Java / Spring Boot, JWT, Swagger
  • Flutter / Dart, Riverpod
  • React / TypeScript, Vite
  • PWA : Service Worker, Web Push, SSE

Déploiement & ops

  • Mise en production (Hostinger, Railway, Render)
  • Docker / docker-compose
  • Configuration client sur site (réseau, écrans, QR codes)
  • Audit et remédiation de sécurité (CSRF, XSS, injections)

Produit & terrain

  • Formation des équipes utilisatrices
  • Support et résolution d'incidents terrain
  • Recueil de besoins et priorisation fonctionnelle
  • Intégrations tierces : Twilio (IVR), Vapi (voix IA), Mapbox