Bon, reprenons tout ça calmement.
La première question à laquelle tu dois répondre est celle-ci :
Quelle est ta définition de framework ? Est-ce que tout type de framework est interdit, ou est-ce que c'est simplement les frameworks e-commerce qui sont interdits ?
Ensuite, parlons un peu du contexte. Je vois que tu as une deadline mi-mars, c'est-à-dire dans deux mois et demie. Même en imaginant que c'est un gros projet super important pour tes études (donc avec le temps prévu dans l'emploi du temps pour le gérer) et que tu aies droits aux frameworks hors e-commerce, je ne vois pas vraiment comment tu peux y arriver.
Donc, quelques questions supplémentaires :
- De combien de temps disposes-tu pour ce projet par semaine ?
- As-tu des précisions sur le niveau de fonctionnalités et de qualité demandé ? Exemple, la liste des fonctionnalités fournies dans le 1er post, viennent-elles de toi ou est-ce une contrainte du sujet ?
- As-tu conscience des implications de chacune de tes contraintes les unes par rapport aux autres ?
Front-office
Consultation des pages
En soi, ça ne veut pas dire grand-chose
Consultation d’articles et produits classés en catégories
Quelle différence fais-tu entre "article" et "produit" ?
En admettant qu'il n'y en ait pas, implique : produits, catégories ; page produit, page catégorie. Pour faire simple, on va dire que les catégories ne sont pas hiérarchiques, c'est une simple liste.
Quelles données sont présentes au niveau d'un produit ? (Nom, description, image, prix, …)
Quelles données sont présentes au niveau d'une catégorie ? (Nom, description, image, …)
Prise de contact
Formulaire de prise de contact, c'est con mais c'est pas instantané à faire surtout si tu n'as pas de framework.
Création de compte
Implique : compte client. Quelles informations sont stockées au niveau du client ? Lesquelles sont à demander à la création ? Quelles contraintes sur les différents champs (login / adresse mail / …).
Même en simplifiant au max, tu dois quand même gérer au moins email / identité (nom + prénom).
Consultation et modification du panier
Implique : un panier de produits. Attention aux différents calculs que ça implique (totaux…) et au fait qu'ils doivent être rafraichis en cas de modification du panier.
On va partir du principe que tu n'as aucune taxe d'aucune sorte, aucune forme de promotion d'aucune sorte (fixe ou coupons), aucun frais de livraison, etc… juste une série d'objets. On peut aussi partir du principe que tu n'as aucun historique à gérer et que donc tu n'as pas à te poser des questions comme "Que se passe-t-il si un produit n'existe plus en base mais qu'un client l'a dans son historique ".
Donc en considérant que tu dégages 99% de ce qui doit être géré dans un vrai site e-commerce mais qui n'est pas obligatoire dans ton projet, cette page devient plutôt simple.
Consultation, modification et suppression du compte client
En considérant que tu n'as pas de contraintes légales ici et que le reste est géré de manière simple (cf supra), pas de grande difficulté ici.
Paiement en ligne sécurisé
Attention, point problématique. L'immense majorité des systèmes de paiement en ligne sécurisés vont te poser deux problèmes :
- Ils nécessitent un contrat avec le fournisseur pour être utilisés, même en test (un compte Paypal est un contrat).
- Ils sont délicats à implémenter à cause des contraintes de sécurité qu'ils embarquent. Les tests sont longs et pénibles dans l'immense majorité des cas;
Vois avec ton équipe et ton prof si tu ne peux pas faire sauter cette partie.
La création, activation, suspension et suppression d’un compte client
Cf supra, ne devrait pas être problématique si pas de contraintes légales et tout simplifié au maximum
La création d’articles et produits classés en catégories
Une fois les produit et catégories bien définis, ne devrait pas être problématique – tant que tu ne cherches pas à faire une interface ergonomique…
La modification des tarifs
Pas très compliqué, à condition de n'avoir aucune contrainte d'historisation des tarifs à cause des commandes déjà passées, ou en cours.
et la mise en place d’offres promotionnelles
Attention, point problématique. Il y a des dizaines de façons de faire des promotions (pourcentage, valeur fixe, à tout le monde, à certaines catégories de clients, sur le produit, sur le produit si le client en achète plusieurs, sur le panier, sur les frais divers (livraison …), en offrant des cadeaux, gestion de kits, de produits qui vont ensemble, …) et chacune d'entre elle pose ses problèmes particuliers. Surtout si tu veux afficher le prix d'origine et le pourcentage de réduction.
Page de liste des articles
Je ne comprends pas ce qu'est cette page.
Page de création/modification/suppression d’articles/catégories/produits
Tu te rends compte qu'en admettant que articles = produits, tu as déjà 6 pages différentes là ?
Remarque, un bon framework te permettrait d'en avoir des standards sans presque aucun effort.
Page de création/modification de la facturation clients
Si "création" = "l'afficher pour l'imprimer", pourquoi pas.
On ne modifie pas une facture. Sous aucun prétexte. On peut modifier la commande (si elle n'est pas finalisée) ce qui modifie la facture. Mais du coup ça implique de gérer un workflow de commande…
Page de gestion des stocks
Attention, point problématique.
En clair : la gestion des stocks dans un site e-commerce est tellement merdique que même les professionnels s'y cassent les dents.
Questions en vrac à résoudre : que se passe-t-il quand un produit n'est plus en stock ? Quand quelqu'un commande le dernier mais qu'il est dans le panier d'autres personnes ? etc.
A voir si tu ne peux pas te passer de ce genre de chose dans ton projet…
Page de consultation des ventes réalisées
Pourquoi pas.
Voilà, j'espère t'avoir donné une meilleur vision de ce dans quoi tu t'engages. Bon courage… et n'hésite pas si tu as des réponses aux questions que j'ai posé.