Retour aux projets
Projet candidature alternance 2026

TismailB2B

Portail web B2B développé pour La Chaussette de France — permet aux revendeurs de consulter le catalogue professionnel, passer des commandes en ligne et suivre leur historique, sans passer par téléphone ou email.

Live
TismailB2B
3
Commandes
18
Produits
2
Rôles
PHP
MySQL
CSS3
4
4
Tables BDD
2
2
Rôles utilisateur
18
18
Produits catalogue
0
0
Framework utilisé

Le problème identifié

La Chaussette de France (Tismail) fabrique des chaussettes haut de gamme à Troyes depuis 1995. Leurs revendeurs — boutiques, grossistes — commandent encore par téléphone ou email, un process manuel qui génère des erreurs, des délais et une charge de travail inutile.

J'ai développé ce portail B2B pour digitaliser ce process : chaque revendeur dispose d'un espace personnel pour consulter le catalogue professionnel, passer ses commandes en ligne et suivre leur statut en temps réel.

Les technologies utilisées

PHP
Backend procédural pur — aucun framework. Logique métier, sessions, authentification et traitement des formulaires.
Sessions · PDO · password_hash · require_once
MySQL
4 tables liées par clés étrangères — users, produits, commandes, lignes_commande. Requêtes préparées PDO.
JOIN · GROUP BY · Foreign Keys · PDO
HTML / CSS
Interfaces responsive sans framework CSS. Design inspiré de la charte LCF — bleu marine, blanc, rouge Made in France.
CSS Variables · Flexbox · Grid · Responsive

Ce que le portail permet

Espace Admin — Tismail

  • Dashboard avec stats Nombre de commandes, commandes validées, revendeurs actifs.
  • Gestion des commandes Liste complète, voir le détail, valider / expédier, supprimer.
  • Gestion du catalogue Ajouter, modifier prix/stock, supprimer des produits.
  • Gestion des revendeurs Liste avec nombre de commandes, activer/désactiver un compte.

Espace Revendeur — Boutiques

  • Dashboard personnalisé Accueil avec nom de l'entreprise, historique des commandes, accès rapide.
  • Catalogue B2B Tous les produits avec références, prix pro et conditionnements.
  • Passer une commande Sélectionner plusieurs produits, saisir les quantités, valider en un clic.
  • Suivi des commandes Statut en temps réel : En attente → Validée → Expédiée.

Les étapes du projet

1
Analyse & BDD
Identification du problème métier, conception des 4 tables MySQL et de leurs relations (clés étrangères).
2
Authentification
Système de login sécurisé avec sessions PHP, password_hash, et séparation stricte des rôles admin/revendeur.
3
CRUD complet
Interfaces admin : gestion des commandes, du catalogue produits et des revendeurs avec opérations Create/Read/Update/Delete.
4
Déploiement
Mise en ligne sur serveur VPS (Apache/MariaDB), configuration du VirtualHost et import de la base de données en production.

Les défis techniques

Sécurité SQL
Injection SQL & requêtes préparées
Comprendre pourquoi query("WHERE id = $id") est dangereux et comment PDO avec prepare() + execute([$var]) protège contre les injections.
Toutes les requêtes avec variables utilisent des requêtes préparées.
SQL JOIN
Fusionner deux tables avec LEFT JOIN
Récupérer les infos revendeur en même temps que les commandes en une seule requête, plutôt que de faire N requêtes en boucle.
LEFT JOIN entre commandes et users via user_id → une seule requête efficace.
Multi-table INSERT
Créer une commande multi-produits
Une commande nécessite un INSERT dans commandes puis plusieurs INSERT dans lignes_commande liés par l'ID généré.
Utilisation de lastInsertId() pour récupérer l'ID de la commande créée.
Déploiement
Configuration Apache VirtualHost
Configurer un sous-domaine dédié sur un VPS Debian avec Apache, pointer le DocumentRoot sur le bon dossier et gérer les permissions fichiers.
VirtualHost configuré sur tismailb2b.mmi25d04.mmi-troyes.fr avec SSL possible.
Prêt à tester ?

Voir le portail
en ligne

Comptes démo : admin@tismail.local ou revendeur1@test.local — mot de passe : admin123

La Chaussette de France
Troyes · Made in France · depuis 1995