Présenté pour PlatformX

Proposition commerciale

PlatformX

Digital marketplace des activités touristiques au Maroc

Structure du dossier

Comment la proposition est organisée

01

Vision et périmètre

Résumé exécutif, équipe de livraison et structure globale de la plateforme.

02

Expérience utilisateur

Parcours de découverte, logique de conversion et déroulé de réservation.

03

Opérations marketplace

Fonctionnement fournisseur, gouvernance administrateur et besoins métier quotidiens.

04

Fondations techniques

Qualité d'ingénierie, tests, sécurité, performance et stabilité attendues.

05

Livraison et budget

Phasage, investissement, jalons de validation et logique de mise en production.

06

Cadre de collaboration

Décisions attendues, rythme de validation et conditions de démarrage du projet.

Résumé exécutif

Une plateforme conçue pour la croissance

PlatformX a vocation à devenir une place de marché numérique réunissant utilisateurs et fournisseurs d’activités dans un seul écosystème de réservation.

La proposition porte sur une plateforme commerciale structurée qui améliore la découverte, génère des réservations, offre aux fournisseurs un espace de travail professionnel et donne à l'entreprise une visibilité réelle sur la qualité, le contenu et le chiffre d'affaires.

Parcours client clair Découverte, comparaison, réservation et gestion post-réservation dans un seul flux.
Offre fournisseur professionnelle Les fournisseurs gagnent en intégration, catalogue, planification, réservations et visibilité sur les paiements.
Contrôle opérationnel L'équipe administrative gère les fournisseurs, le contenu, les commissions et les rapports depuis un seul endroit.
Fondation évolutive Le produit est conçu pour un lancement dès aujourd'hui et une extension ultérieure sans changer le modèle économique.

Équipe de livraison

L’équipe en charge du projet

Le projet est porté par une équipe produit composée de quatre profils complémentaires qui combine direction technique, conception d'expérience et exécution full-stack, avec un Responsable technique à temps partiel et trois profils dédiés à temps plein.

MB

Mohamed Bermaki

Responsable technique à temps partiel. Il cadre l'architecture, pilote les décisions techniques sensibles, supervise la qualité du code et sécurise les intégrations de paiement, d'authentification et de mise en production.

Responsable technique Temps partiel
AF

Antonio Francisco Jácome Ojeda

Designer UI/UX à temps plein. Il prend en charge les parcours utilisateur, les wireframes, la direction visuelle et le design system qui structure l'expérience du site et des tableaux de bord.

Designer UI/UX Temps plein
JC

José Carlos Molina Coloma

Développeur front-end à temps plein. Il implémente l'interface publique, les Tableaux de bord et les composants transactionnels, en coordination avec le lead pour garder une couche UI robuste et maintenable.

Développeur front-end Temps plein
Kh

Khalid Aouragh

Développeur back-end à temps plein. Il prend en charge les API, la logique métier, la réservation, les notifications, les paiements et les services de plateforme nécessaires à des opérations fiables.

Développeur back-end Temps plein

Périmètre de la solution

Périmètre de la solution

PlatformX sera livré comme une plateforme unique et connectée avec trois couches fonctionnelles, chacune répondant à un besoin métier différent tout en partageant la même base de place de marché.

T

Site utilisateur

La surface publique dédiée à la découverte, à la comparaison et à la réservation des activités.

P

Tableau de bord fournisseur

L'espace de gestion du catalogue, des disponibilités, des réservations et des paiements côté partenaire.

A

Tableau de bord administrateur

L'outil interne de validation, modération, suivi commercial et pilotage de la qualité de la marketplace.

Expérience utilisateur

Un parcours conçu pour favoriser la conversion

L'expérience publique doit sembler simple pour l'utilisateur tout en gérant discrètement la complexité de la disponibilité, des prix, des signaux de confiance et de la confirmation en arrière-plan.

L'objectif est de faire passer les utilisateurs de l'inspiration à la réservation sans friction, dans une expérience cohérente qui renforce la confiance à chaque étape.

01 Découvrir et comparer

Les utilisateurs entrent par la page d'accueil, les pages ville et la recherche, puis affinent les options grâce aux filtres et à des cartes de liste claires.

02 Évaluer en confiance

Les pages d'activité combinent médias, descriptions, avis, inclusions, variantes tarifaires et contexte de localisation pour aider à décider.

03 Finaliser la réservation

Les utilisateurs confirment la date, les participants, la variante et le paiement dans un parcours peu contraignant qui se termine par une réservation enregistrée et une confirmation.

Parcours de réservation

Comment une réservation est finalisée

01 Date et créneau
02 Participants
03 Variante
04 Résumé
05 Paiement
06 Confirmation

Ce que le tunnel doit confirmer

Avant le paiement, l'utilisateur valide le créneau, le nombre de participants, la variante choisie et le récapitulatif du total affiché.

Après la transaction, la réservation est enregistrée et une confirmation est envoyée immédiatement.

Étapes clés Sélection, résumé, paiement, confirmation
Contrôle Disponibilité validée avant encaissement
Sortie Réservation créée et confirmation envoyée

Opérations

Expérience fournisseur et administrateur

Les fournisseurs ont besoin d'opérations quotidiennes simples, et l'équipe interne doit disposer d'une maîtrise réelle sur l'offre, la qualité et la croissance.

- Les fournisseurs doivent pouvoir passer de l'intégration aux opérations actives sans dépendre d'une coordination manuelle.

- L'équipe interne doit pouvoir valider les fournisseurs, gérer le contenu, suivre les performances et intervenir lorsque des problèmes de qualité ou d'exploitation apparaissent.

Intégration fournisseur

De la demande à la publication

Inscription, vérification, configuration du profil, création d'activités, variantes tarifaires et gestion des disponibilités dans un seul parcours cohérent.

Opérations fournisseur

Gestion quotidienne des réservations

Réservations, paiements, avis, notifications et contrôle du catalogue offrent aux fournisseurs un espace de travail professionnel.

Gouvernance administrateur

Contrôle, visibilité, modération

Les administrateurs suivent les réservations, les revenus, les fournisseurs, les avis et la qualité du contenu sans dépendre d'outils manuels fragmentés.

Impact business

Clarté opérationnelle à grande échelle

Cette couche contribue à préserver la qualité de la plateforme, renforce la confiance des fournisseurs et donne à l'entreprise une visibilité fiable à mesure que la plateforme grandit.

Plateforme

Fondations et méthode de livraison

Les fondations de la plateforme sont pensées pour rendre le produit fiable dès la première version tout en laissant de la place pour la croissance, les intégrations et une profondeur opérationnelle future.

Services de plateforme fiables

L'authentification, les paiements, les notifications, la gestion des médias, l'analytique et la sécurité sont intégrés comme couches de support essentielles pour la marketplace.

Architecture modulaire

Le site public, les espaces fournisseur et administrateur, et les flux transactionnels sont séparés clairement pour garder le produit lisible et maintenable.

Données et opérations critiques

Les réservations, disponibilités, notifications et traitements métier sensibles sont structurés pour rester fiables sous une charge opérationnelle réelle.

Prêt pour l’exploitation

La base technique est là pour protéger la conversion, la stabilité opérationnelle et la croissance du contenu, pas seulement pour satisfaire une structure d'ingénierie.

01 Fondation

UX, architecture et services de base.

02 Marketplace

Parcours client et expérience catalogue.

03 Commerce + confiance

Paiements, logique métier, avis et validation.

04 SEO éditorial

SEO technique, pages ville et structure éditoriale.

05 Lancement

Mise en production, contrôle qualité et go-live.

Note technique

Ce que signifie réellement la qualité technique

Le brief demande un niveau d'ingénierie plus élevé qu'une simple création de site. C’est un atout pour PlatformX, car cela protège la plateforme en grandissant, mais cela signifie aussi que l'équipe livre plus que des écrans visibles.

Des exigences comme TypeScript, la couverture de tests, les contrôles de sécurité, les tests de charge et la documentation créent une couche de qualité supplémentaire autour de chaque fonctionnalité. Elles réduisent les risques futurs, facilitent le transfert et aident la plateforme à rester maintenable après le lancement.

TypeScript

Des évolutions futures plus sûres

Le code typé détecte plus tôt les erreurs évitables et rend les futures évolutions moins risquées à mesure que le produit grandit.

70 % de couverture

La logique centrale est vérifiée

Les tests et une approche de type TDD permettent de valider les flux métier importants avant que des régressions n'atteignent la production.

OWASP + tests de charge

La sécurité et la fiabilité sont examinées

Les risques de sécurité courants et les scénarios de trafic plus lourd sont testés activement plutôt que d’être découverts après la mise en production.

Documentation de sprint

Une autre équipe peut reprendre ensuite

La documentation technique à chaque sprint rend les décisions visibles et facilite beaucoup l'intégration future.

Stack technique

L’architecture technique proposée pour PlatformX

Le stack est organisée pour couvrir quatre besoins concrets du projet : une expérience fluide côté client, une logique métier robuste, une base de données performante et un lancement sécurisé.

01

Expérience utilisateur

Une interface rapide, claire et responsive

Cette couche supporte le site public, les pages d’activité et les tableaux de bord avec une expérience fluide sur desktop et mobile.

Next.js TailwindCSS
02

Logique métier

Un backend structuré pour les flux marketplace

Cette couche gère l’API, les règles métier, les rôles et la fiabilité du code afin que la plateforme reste évolutive dans la durée.

NestJS TypeScript
03

Données et performance

Une base fiable pour réservations, disponibilités et montée en charge

Les données transactionnelles sont centralisées dans une base relationnelle solide, avec une couche de cache et de files pour accélérer les traitements critiques.

PostgreSQL Redis
04

Qualité, validation et paiements

Un lancement sécurisé sur les flux critiques

Les tests automatisés protègent les parcours majeurs, tandis que l’infrastructure de paiement s’intègre au moment où la marketplace devient transactionnelle.

Vitest Playwright Stripe

Sécurité des types

JavaScript contre TypeScript

C'est ici que l'effort de livraison devient visible. En JavaScript, un développeur peut écrire un assistant de réservation en quelques lignes et faire confiance aux données. En TypeScript, la même fonctionnalité demande des types explicites, de la validation et des contrats plus clairs avant d'être considérée comme sûre.

Cette structure supplémentaire est précisément ce que demande le brief. Elle prend plus de temps à chaque sprint, mais elle réduit les bugs évitables et rend les changements futurs moins fragiles.

Moins de lignes

JavaScript

export function buildBooking(payload) {
  return {
    activityId: payload.activityId,
    date: payload.date,
    participants: payload.participants || 1,
    total: payload.price * (payload.participants || 1)
  };
}

Rapide à écrire, mais rien ne garantit que la charge utile a la bonne structure ou les bons types.

Plus de préparation

TypeScript

type BookingPayload = {
  activityId: string;
  date: string;
  participants?: number;
  price: number;
};

type BookingInput = {
  activityId: string;
  date: string;
  participants: number;
  total: number;
};

export function buildBooking(payload: BookingPayload): BookingInput {
  const participants = payload.participants ?? 1;

  if (!payload.activityId) {
    throw new Error('activityId is required');
  }

  if (!payload.date) {
    throw new Error('date is required');
  }

  return {
    activityId: payload.activityId,
    date: payload.date,
    participants,
    total: payload.price * participants
  };
}

La version typée est plus longue parce qu'elle documente le contrat, gère les entrées erronées et protège les intégrations futures.

Tests

Ce qu'apportent réellement les tests

Les tests signifient que l'équipe ne se contente pas de construire la fonctionnalité. Elle écrit aussi du code qui prouve que la fonctionnalité fonctionne encore lorsque le produit évolue plus tard.

C'est pourquoi un objectif de couverture comme 70 % a un impact sur le temps. Chaque flux important doit être implémenté, vérifié et maintenu stable grâce à des tests automatisés répétables plutôt qu'à une simple revue manuelle.

Sans tests Un changement peut casser silencieusement la tarification, la réservation ou la logique de compte.
Avec tests L'équipe reçoit un signal immédiat lorsqu'un flux critique régresse.
Code applicatif

Logique du total de réservation

export function calculateBookingTotal(
  basePrice: number,
  participants: number,
  serviceFee = 0
): number {
  return basePrice * participants + serviceFee;
}
Code de test

Exemple Vitest

import { describe, expect, it } from 'vitest';
import { calculateBookingTotal } from './booking';

describe('calculateBookingTotal', () => {
  it('calculates the total for one traveler', () => {
    expect(calculateBookingTotal(120, 1, 10)).toBe(130);
  });

  it('calculates the total for a group', () => {
    expect(calculateBookingTotal(120, 3, 10)).toBe(370);
  });

  it('handles zero service fee', () => {
    expect(calculateBookingTotal(95, 2)).toBe(190);
  });
});

Sécurité et fiabilité

Tests de charge et revues OWASP

Ces tâches ne créent pas de nouveaux écrans, mais elles font partie de la préparation d'une mise en ligne sûre. Les tests de charge vérifient le comportement du système sous contrainte, et les revues OWASP vérifient si les faiblesses de sécurité courantes ont été correctement traitées.

Tests de charge

Simuler le trafic

import http from 'k6/http';
import { check, sleep } from 'k6';

export const options = {
  vus: 200,
  duration: '2m'
};

export default function () {
  const response = http.get(
    'https://PlatformX.com/api/activities'
  );

  check(response, {
    'status is 200': (r) => r.status === 200,
    'response under 800ms': (r) => r.timings.duration < 800,
    'no server errors': (r) => r.status < 500
  });

  sleep(1);
}

Cela vérifie que les points de terminaison des annonces, de la recherche et de la réservation restent réactifs sous une charge plus importante.

Revue OWASP

Durcissement de la sécurité

Validation des entrées contre les charges utiles malveillantes Examen de l'authentification et de la gestion des sessions Vérifications d'autorisation entre les rôles utilisateur, fournisseur et administrateur Protection contre les risques web courants comme XSS et l'injection

C'est invisible pour le client dans l'interface, mais cela influence directement la confiance, la sécurité de la plateforme et le risque de lancement.

Calendrier et investissement

Feuille de route de livraison par phases

Semaines 1-5 6-12 13-20 21-24 25-30
Phase 1
Fondation
Phase 2
Digital marketplace
Phase 3
Commerce + confiance
Phase 4
SEO éditorial
Phase 5
Lancement

Ce que cela signifie

Cette vue donne le rythme global du projet sur 30 semaines de travail, avec une marge recommandée pour les retours consolidés et la validation finale.

Le détail du scope, de la durée et du prix par phase est présenté sur la page suivante.

Roadmap détaillée

Résumé des phases de livraison

Ce tableau consolide le scope, la durée et la valeur commerciale de chaque bloc de livraison sur une seule page.

Phase Focus Livrables clés Durée Prix
Phase 1 Fondation et architecture Wireframes, design system, dépôt, environnements, auth + rôles 5 semaines 7.600 €
Phase 2 Cœur de la marketplace Homepage, recherche, pages activité, dashboard fournisseur, médias, disponibilités 7 semaines 10.700 €
Phase 3 Réservation, paiements, admin et confiance Tunnel de réservation, paiements, notifications, réservations, suivi financier, contrôles admin, avis vérifiés, réponses fournisseur 8 semaines 12.300 €
Phase 4 SEO technique et structure éditoriale Métadonnées SEO, templates pages ville, structure éditoriale, analytics de base, préparation indexation 4 semaines 6.200 €
Phase 5 Tests, lancement et transfert Tests, intégration, performance, préparation lancement, formation, handoff 6 semaines 10.760 €

Investissement

Pourquoi ce budget est cohérent

Le budget proposé reflète la nature réelle du projet : il ne s’agit pas d’un simple site web, mais d’une plateforme digitale complète, avec plusieurs espaces produits, une logique transactionnelle structurante et un niveau de qualité pensé pour le lancement.

01

Une plateforme, trois espaces distincts

La prestation couvre le site public, l’espace fournisseur et le tableau de bord administrateur. Chacun répond à des besoins fonctionnels différents et implique ses propres parcours, règles et outils de gestion.

02

Une logique métier plus riche qu’un site classique

Le projet intègre des mécanismes de catalogue, de disponibilités, de variantes, de réservations, de paiements, de notifications et de gestion des rôles. Cette profondeur métier demande une architecture et une exécution plus rigoureuses qu’un site vitrine traditionnel.

03

Une qualité technique qui réduit les risques

Le budget couvre non seulement la réalisation des interfaces, mais aussi les fondations nécessaires à une plateforme fiable : architecture, qualité de code, tests, sécurité, performance, stabilité et préparation à la mise en production.

04

Une livraison cadrée de bout en bout

L’investissement est réparti en phases lisibles avec jalons, validations et livrables identifiés. Cette structure apporte de la visibilité au client, sécurise l’exécution et permet d’avancer avec un périmètre mieux maîtrisé.

Ce que le budget finance réellement

L’objectif n’est pas seulement de livrer des écrans, mais de mettre en place une base produit exploitable, fiable et évolutive pour permettre un lancement sérieux de PlatformX.

Coûts d'exploitation

Ce que l'infrastructure coûtera après le lancement

Le build initial couvre la conception et le développement de la plateforme. Une fois PlatformX en production, il faut ajouter un budget mensuel distinct pour l'hébergement, la base de données, les médias, les notifications et la supervision.

Lancement lean

Environ 190 € / mois

Adapté à un démarrage prudent avec trafic limité, peu de médias et un volume de notifications encore modéré.

Vercel : 50 € Railway : 60 € Cloudinary : 20 € Email + SMS : 30 € Monitoring + autres : 30 €
Production réaliste

Environ 285 € / mois

C'est l'hypothèse la plus crédible pour une V1 active avec trafic réel, contenus médias et première base de réservations.

Vercel : 50 € Railway : 80 € Cloudinary : 50 € Email + SMS : 40 € Monitoring : 45 € Analytics / CMS : 20 €
Montée en charge

Environ 500 € et 900 € / mois

Ce niveau correspond à une plateforme qui commence à bénéficier du SEO, des réservations répétées et d'un catalogue média plus dense.

Vercel : 70 € à 100 € Railway : 120 € à 200 € Cloudinary : 100 € à 200 € Email + SMS : 80 € à 150 € Monitoring : 50 €

Ce que ce budget inclut réellement

Ce budget mensuel couvre l'infrastructure technique : front, API, base de données, cache, stockage média, emails, SMS, erreurs, logs et outils de supervision.

Les frais Stripe ou CMI ne sont pas inclus ici, car ils ne sont pas des coûts fixes d'infrastructure. Ils varient avec le volume de transactions et impactent surtout la marge.

Backbone Vercel + Railway + PostgreSQL + Redis
Médias Cloudinary devient vite un poste visible
Ops Email, SMS, monitoring et logs dès la V1

Facteurs de coût

Facteurs qui font varier les coûts d'exploitation

La stack choisie reste raisonnable pour une V1. Ce qui fait varier la facture ensuite, ce n'est pas un framework isolé, mais l'usage réel de la plateforme après lancement.

Images et galeries Les pages activité, galeries, pages SEO et usages mobiles augmentent très vite les volumes livrés par Cloudinary.
Trafic SEO Les pages dédiées aux villes et contenus éditoriaux réussis font monter la bande passante Vercel et la livraison média.
SMS transactionnels Les rappels, confirmations et notifications de réservation peuvent sembler secondaires au départ, mais évoluent rapidement avec l’usage.
Données métier Réservations, disponibilités, logs et historique d'exploitation augmentent progressivement la charge sur la base de données.
01 Variabilité réelle

Les postes d'hébergement et d'outillage restent modérés au départ, puis évoluent surtout avec le trafic, le volume média et les usages transactionnels.

02 Effet catalogue et SEO

Plus les pages activité, les galeries et Les pages dédiées aux villes performent, plus la bande passante et la livraison média deviennent visibles dans le coût mensuel.

03 Effet volume transactionnel

Les confirmations, rappels, réservations, logs et traitements métier font monter progressivement les coûts d'exploitation avec la traction commerciale.

Cadre de collaboration

Investissement, validations et démarrage

La proposition complète est structurée autour d'une livraison par phases avec un investissement total prévu de 47.560 € réparti sur cinq blocs de valeur et des jalons de validation visibles.

Cette structure aligne les engagements commerciaux sur une progression visible, tout en donnant à PlatformX un chemin clair entre le périmètre validé et une plateforme prête au lancement.

Pour garder le projet bien cadré, chaque phase doit être liée à un point de validation clair, à des retours consolidés côté client et à un périmètre explicitement gelé avant le passage au bloc suivant.

Paiement de démarrage 20 % à la signature et au lancement du projet pour réserver la capacité de l’équipe et démarrer la phase 1.
Paiements intermédiaires 60 % répartis sur les jalons validés pendant l'exécution selon l'avancement réel des phases.
Solde final 20 % à la livraison finale, après validation du handoff, de la documentation et du go-live.
01 Apports client

Les contenus, validations métier et arbitrages doivent être regroupés et transmis rapidement pour ne pas bloquer le rythme des phases.

02 Validations d'étape

Chaque phase doit se conclure par un point de contrôle visible avant la facturation du jalon suivant et le passage au bloc de développement suivant.

03 Support récurrent

La maintenance post-lancement, les extensions futures et les demandes hors périmètre validé sont traitées séparément, dans un cadre distinct du build initial.

Conditions commerciales

Termes et conditions

Le cadre commercial fixe les conditions de validité, les dépendances client et la manière de traiter les évolutions hors périmètre sans désaligner le planning.

Validité de la proposition Cette proposition commerciale est valable 30 jours à compter de sa date d'émission.
Dépendances client Les contenus, accès, retours métier et validations doivent être fournis dans les délais convenus.
Évolutions hors périmètre Toute demande nouvelle ou modification substantielle fait l'objet d'un chiffrage séparé.
Calendrier Le planning dépend de retours consolidés. Des validations fragmentées peuvent décaler les jalons.
Base contractuelle Le périmètre validé au démarrage sert de référence pour l'exécution, la priorisation et l'évaluation des changements.
Canal de décision Les retours consolidés côté client doivent arriver par un circuit clair afin d'éviter les arbitrages contradictoires pendant la production.
Services complémentaires Tout support élargi, nouvelle demande ou extension fonctionnelle fait l'objet d'un accord séparé.

Garantie et suivi

Maintenance et 1 an de garantie technique

Nous nous engageons sur une livraison fonctionnelle et professionnelle. Les défauts directement causés par notre code livré sont corrigés sans coût additionnel pendant la période de garantie convenue.

Garantie de correction Les anomalies reproductibles issues de notre implémentation sont corrigées sans facturation supplémentaire.
Exclusions La garantie ne couvre pas les changements de scope, les services tiers, ni les modifications externes au code livré.
Fenêtre de garantie La période de garantie démarre après la livraison finale et la mise en production validée.
Option de maintenance 380 € / mois pour maintenance corrective légère, mises à jour de sécurité et suivi post-lancement.
01 Maintenance préventive

Surveillance de sécurité, mises à jour dépendances et vérifications régulières pour réduire les risques post-lancement.

02 Support correctif

Interventions ciblées sur incidents mineurs, comportements dégradés et ajustements de stabilité en production.

03 Hors contrat

Les évolutions fonctionnelles, demandes de contenu et nouveaux modules restent traités via devis séparé.