- OsCommerce : un logiciel de commerce électronique en Open Source
- Choisir l'éditeur PHP :
- PHPEdit
- UltraEdit
- jEdit : gratuit
- Zend Studio : un véritable studio de développement
- l'hébergement mutualisé ou le serveur dédié ?
l'hébergement mutualisé sera forcément insuffisant pour toutes sortes de raisons...
- Comment gérer et facturer le transport
- Les systèmes de paiement :
- le paiement par chèque ou le mandat postal
- le paiement par virement
- le terminal de paiement électronique (TPE)
- le paiement par carte bancaire
- le système Paypal : paiement sans carte bancaire, disposer d'un compte Paypal
- le paiement par téléphone mobile
- La base de donnée MySQL :
- Suivre les requètes trop longues en modifiant le fichier de config de MySQL
- choisir les champs à indexer, utiliser les jointures
Utiliser la commande Explain pour la mise au point.
En ajoutant Explain au début de la commande SQL, on peut voir le nombre d'enregistrements parcourus pour répondre à la requète.
- les différentes tables de la base de données :
categories, commandes, fournisseurs, panier, prd_categories (table de liaison entre les produits et les catégories. Elle permet de classer un produit dans une ou plusieurs catégories), produits, prd_index (cette table sert à optimiser les recherches par mots-clés), prd_photos (les photos associées aux produits), stats_trafic, tarifs_port, zones (zones de livraison)
Créer une table spécifique pour optimiser la recherche par mots-clés avec un champ en mode Fulltext, concaténation des champs à indexer. Plus rapide que d'indexer plusieurs champs. L'index Fulltext n'est pas placé dans la table des produits pour optimiser la taille de cette dernière.
- Programmer la classe (elle va regrouper trois grands types de fonction) :
- les fonctions qui permettent l'accès à la base MySQL
- celles liées à la boutique (rechercher des catégories, des produits, enregistrer un panier, une commande)
- des fonctions diverses : gestion des images, création automatique de tableau HTML à partir d'un ensemble de valeurs...
Ajouter un produit au panier : vous n'utiliserez pas ici les sessions dès l'entrée dans la boutique, notamment pour optimiser le référencement. Par contre, lorsque le client a déposé un article dans son panier, il est impératif de créer une session pour l'identifier. L'identifiant est stocké dans un cookie.
- Réalisation des différents modules : accueil, affichage des catégories, fiches produit, panier, prise de commande...
- Back Office : protection de l'administration, création du programme d'administration, gestion des catégories...
- Mise en place du catalogue produits : affichage des photos, gestion des liaisons entre produits et catégories, proposition d'une liste sélective de produits...
- Sécurité : différents types d’attaques, définition d'une stratégie pour se protéger, méthodes de protection, ...
La fonction PHP mysql_real_escape_string (disponible à patir de la version 4.3) protège contre les injections SQL.
Pour en savoir plus
- Optimisation : gestion du cache, répartition de l'application sur plusieurs serveurs...
- Transmission des informations sur des appareils mobiles : premier test, configuration d'Apache, affichage du total de la commande sur un mobile...