Les technologies

Projet Web Transactionnel · 420-575-MT · La ligne de partage entre le public et le privé

← Accueil du cours Plan de la session Énoncé de l'itération 1 Grille des rôles
LE SITE PUBLIC LES PARTIES PRIVÉES ce que tout visiteur voit derrière une connexion BOUTIQUE vitrine entrez ! catalogue détails caisse blogue accueil PHP VANILLE une seule technologie, imposée, pour tout le public PRIVÉ panneau admin · espace membre site Laravel PHP MVC maison app Next un moteur au choix TECHNOLOGIE LIBRE vanille ou pas : l'équipe choisit son moteur une seule base de données

Deux mondes, une seule base de données : le site public roule en PHP vanille, les parties privées roulent sur le moteur que l'équipe choisit.

Le principe de division

Votre boutique se découpe en deux mondes. Le premier est celui que tous les visiteurs voient : l'accueil, le catalogue, les pages de détail, le blogue et le parcours d'achat de la caisse. Le second est celui qui se cache derrière une connexion : le panneau admin des marchands et l'espace membre des clients.

Tout le site public est en PHP vanille, sans framework. Les parties privées sont à technologie libre : PHP vanille, MVC maison, Laravel, Next ou autre. Les deux mondes partagent la même base de données.
Le site public
PHP vanille imposé
  • Accueil, mission, contact
  • Catalogue et pages de détail
  • Blogue
  • Caisse : le parcours d'achat
  • Pourquoi vanille ? Pour maîtriser le socle : requêtes, sessions, sécurité et optimisation sans magie ni boîte noire.
Les parties privées
Technologie libre
  • Panneau admin des marchands
  • Espace membre des clients
  • Tout écran accessible seulement après connexion
  • Pourquoi libre ? Parce que dans le monde réel, le back-office est souvent une application distincte, avec sa propre pile technologique.

Le panneau admin à géométrie variable

Ce n'est pas un devoir de première année : la notion de panneau admin est à géométrie variable. On prend ce qui ressemble à un panneau admin, dans la forme qui sert le mieux votre boutique. Voici trois géométries acceptées d'office ; toute autre proposition se fait valider avec le prof.

Un site Laravel séparé
Le panneau admin vit dans sa propre application Laravel, branchée sur la même base de données que la boutique.
Un panneau PHP vanille MVC
Un MVC maison en PHP vanille, dans un sous-répertoire protégé du site : la géométrie la plus proche du reste du cours.
Une app Next
Une application Next qui consomme les données de la boutique. Attention : chaque écran doit rester adressable par une URL, comme partout ailleurs.

Les règles qui traversent tout

Peu importe la zone et peu importe le moteur, trois règles s'appliquent partout, du catalogue public au moindre écran du panneau admin.

Les URLs sont sémantiques
Une adresse se lit comme une phrase : elle nomme la chose qu'elle montre, sans identifiants cryptiques ni chaînes de requête illisibles. boutique.com/catalogue/velo-de-montagne-rouge boutique.com/admin/produits/velo-de-montagne-rouge/modifier
Chaque page et chaque élément est adressable
Tout état du site a une URL qu'on peut copier, partager et rouvrir : une page de détail, une page 2 de résultats, un onglet du panneau admin. Si on ne peut pas y envoyer quelqu'un par un lien, ça n'existe pas. boutique.com/catalogue/velos/page/2
Le scroll infini est refusé
Le scroll infini n'est pas un pattern accepté dans le cours : il casse l'adressabilité, la pagination et le retour arrière. On pagine, avec des pages numérotées et adressables. < 1 · 2 · 3 > plutôt qu'un défilement sans fin

Le tableau récapitulatif

Zone Exemples de pages Technologie Règles transversales
Site public Accueil, catalogue, détails, blogue, caisse PHP vanille, sans framework URLs sémantiques partout · chaque page et élément adressable · pagination, jamais de scroll infini
Parties privées Panneau admin, espace membre Libre : PHP vanille, MVC maison, Laravel, Next ou autre validé avec le prof