Netapsys Blog

Aller au contenu | Aller au menu | Aller à la recherche

Retour d'expérience sur OSCommerce

OSCommerce

OSCommerce (Online Shop Commerce) est une plateforme d'e-commerce open source. C'est une solution historique par excellence qui fête ses 10 ans ce mois ci ! Créé en 2000 par les passionnés, cette solution Php / MySQL, a réussi à s'imposer durant ses années d'existence en tant que la référence dans le domaine. Le nombre officiel de boutiques est estimé à 12.000 (boutiques inscrites sur oscommerce.com) mais le chiffre réel est plus près de 100.000 sites e-commerce avec le noyau métier d'OSCommerce.

OSCommerce est une solution complète de vente du catalogue de produits par le biais d'Internet. La plateforme permet, grâce à son front office, de présenter au client la gamme des produits et de réaliser des achats. Elle dispose d'un grand nombre de fonctionnalités annexes au cœur du métier : enregistrement du client, gestion de panier, calcul de taxes, la recherche, les promotions, les flux rss, les newsletters et plein d'autres encore ! Le client a aussi la possibilité d'accéder à son compte avec toutes ses informations personnelles et l'historique de ses commandes. Le back office, quant à lui, permet à l'administrateur d'accéder aux statistiques, à la gestion des commandes et des clients ainsi qu'au catalogue de produits.

La version en cours est la RC 2.2. La nouvelle version 3.0 Alpha est déjà disponible en téléchargement depuis 2 ans mais sa sortie finale tarde à voir le jour.

La force d'OSCommerce réside dans son expérience. En effet, cette plateforme est la solution e-commerce open source disposant de la plus importante communauté, aussi bien pour la version anglophone que pour la version française. Le nombre de modules additionnels (modules de paiement, de référencement, etc. ) est important, environ 6.000 modules disponibles en téléchargement sur oscommerce.com !

La première utilisation est facile, intuitive et sans problèmes. La configuration minimum requise est Php, MySQL et un serveur web. L'installation consiste à décompresser et coller le contenu du dossier "catalogue" à l'endroit souhaité. Ensuite, il suffit de lancer l'installation (script install.php à exécuter) qui va créer toute la structure de la base de données.

La plateforme a été pensée pour être une solution clé en main, configurable et utilisable aisément. Ceci reste vrai uniquement pour le système d'information qui ne présentent pas de particularités fonctionnelles dans le catalogue des produits. Une fois sorti de ce cadre, les modifications du code source de la plateforme deviennent laborieuses, faute à une architecture peu structurée.

Également, le design d'OSCommerce commence à être largement démodé. S'occuper de la présentation devient une obligation. L'utilisation d'un template est possible mais très souvent, ils sont payants et difficiles à intégrer.

Opter pour une solution OSCommerce demande à se plonger dans le code source de la plateforme. L'ajout de chaque nouveau module est accompagné d'une difficulté supplémentaire, ce qui rend le code illisible. De plus, le noyau surchargé par les modules additionnels et adapté au système d'information existant est difficilement évolutif.

La division entre les couches dao - métier - présentation est quasiment inexistante. Les accès à la base de données sont trop fréquents et très peu optimisés. La couche de présentation n'utilise pas les standards actuels du développement web. Les pages d'affichage sont composées de tableaux imbriqués, difficilement évolutifs qui nuisent au référencement naturel et à l'accessibilité de la boutique.

Pour une utilisation professionnelle plus avancée, OSCommerce n'est pas la solution la plus adaptée. L'intégration dans un système d'information existant peut s'avérer complexe. L'ajout de spécifications fonctionnelles nécessitera l'intervention d'un développeur qui connait le langage Php. Il en est de même pour une éventuelle maintenance et les mises à jour.

Dans le cas de mon expérience de la plateforme OSCommerce, la couche de présentation a été entièrement refaite, la partie dao très fortement optimisée. La partie métier a été largement modifiée pour prendre en compte les spécificités fonctionnelles. Le nettoyage et la refonte du code a été nécessaire afin de supprimer les parties devenues obsolètes.

Des alternatives existent sur le marché. En particulier, Prestashop (une alternative française à OSCommerce née en 2005) et Magento (première sortie en 2008). Ce sont deux solutions, assez récentes, qui prennent de plus en plus d'ampleur. Il existe aussi des solutions de couplage des plateformes CMS classiques avec un module additionnel orienté vente de produits (p.ex : Virtuemart avec Joomla! ou bien Ubercart avec Drupal) et les dérivés du noyau d'OSCommerce (p.ex : OsCSS ou bien Cpcommerce).

Pour aller plus loin :

Site officiel français
OSCommerce : version de démonstration (front office)
OSCommerce : version de démonstration (back office) : (login : admin / mot de passe : demo)

Guide complet et comparateur solutions e-commerce (étude faite en 2008)
Les plus belles boutiques oscommerce

[CSS3] Quand les coins tournent rond...

Je vais faire dans ce post une petite présentation d'une nouveauté introduite par la version 3 de CSS, qui permet d'arrondir les angles des bordures de façon très simple.

Avant (ou presque)

Auparavant (ou actuellement si une compatibilité est exigée avec un navigateur ne gérant pas -encore ?- cette fonctionnalité) pour avoir des coins arrondis, il fallait (faut) passer par des images. Et quand on veut une zone totalement dynamique, ça peut vite devenir la galère (gérer une image par coin, en gardant tous les alignements lors du changement de taille).

Maintenant

Une des nouveautés du CSS3 est un attribut permettant de gérer nativement les arrondis de toutes les bordures. Cet attribut, border-radius, n'est pas encore publié officiellement, mais certains navigateurs le prennent déjà en charge avec un attribut "propriétaire" :

  • -moz-border-radius pour le moteur Gecko (utilisé entre autre par Firefox)
  • -webkit-border-radius pour le moteur de rendu webkit (utilisé entre autre par Chrome)

Pour les exemples ci-dessous, j'ai utilisé firefox 3.5 et chrome 4.0. Cette nouveauté n'est donc pas gérée par Internet Explorer, et ce quelle que soit sa version ; la version 3.0 de firefox quant à elle ne la gère que partiellement.

Utilisation

Utilisée seule, la valeur de l'attribut (exprimé en px, pt, em ou %) permet de définir l'angle de l'arrondi appliqué aux quatre coins. Plus la valeur est élevée, plus l'arrondi sera donc grand :

1-Présentation générale 3-Regroupement des valeurs

Différentes variations de l'attribut existent pour personnaliser la zone. Déjà des divergences dans la notation apparaissent.
Ici le moteur webkit suit la spécification du W3C :

2-Un seul coin (À noter qu'il n'existe pas d'attribut pour arrondir uniquement les 2 angles du haut par exemple)

Un arrondi ovale peut ausi être appliqué à un coin en associant 2 valeurs au même attribut. La première valeur indique la courbure de l'angle horizontal, la deuxième de l'angle vertical :

4-Coins ovales

Il est possible de gérer l'arrondi de plusieurs angles au sein de la même balise, tout en spécifiant l'incurvation horizontale et verticale. Le séparateur utilisé pour différencier les valeurs de chaque axe est le "/" :

5-Avec slash

Compatibilité

Inévitablement, des différences de syntaxe et de rendu selon les navigateurs apparaissent quand on essaye de regrouper toutes ces valeurs au sein du même attribut :

61-Problème de compatibilité
Analysons rapidement ce style. Les deux valeurs sont censées s'appliquer respectivement à l'angle supérieur gauche et supérieur droit (leur angle opposé reprendront ces valeurs). Le séparateur de valeur n'étant pas utilisé, l'arrondi horizontal devrait être le même que l'arrondi vertical.
Ici, pas de jaloux, c'est Firefox qui respecte les spécifications du W3C ; alors que Chrome applique un arrondi ovale aux 4 angles.

Si on utilise le slash, aucune ambiguïté n'est possible, et les 2 rendus sont identiques.

62-Problème de compatibilité

Conclusion

La norme CSS met ici à disposition un outil simple pour obtenir un rendu plus agréable. Il peut facilement être utilisé pour la création d'un style lors de l'ajout de fonctionnalité par exemple, ou lors de la modification d'une charte graphique. Et même si des problèmes de compatibilité entre navigateurs persistent encore et toujours, ils ne sont ici pas bloquants pour le traitement "de base", à savoir des coins... ronds.

Liens

http://www.w3.org/TR/css3-background/#the-border-radius

Firebug sous un autre navigateur que firefox.

Voici une petite astuce pour obtenir Firebug sur n'importe quel navigateur.

Ajouter dans vos favoris le code suivant :

javascript:var%20firebug=document.createElement('script');firebug.setAttribute('src','http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js');document.body.appendChild(firebug);(function(){if(window.firebug.version){firebug.init();}else{setTimeout(arguments.callee);}})();void(firebug);

Lancez votre page web et cliquez ensuite sur votre favori.

Firebug lite se lance.

Lire la suite...

Qu'est ce que AWStats ?

Comme Google Analytic, Awstats (http://awstats.sourceforge.net/) est un projet open source qui permet de gérer les statistiques de son site web, à partir des fichiers logs générés par le serveur d'hébergement du site (généralement apache). Il peut être consulté via un CGI ou génèrer des pages HTML statiques.

Awstats peut gérer aussi bien les accès à la partie web, mais aussi le FTP ou les mails. On peut aussi appliquer des filtres d’inclusion ou d’exclusion sur la liste complète des URL consultées.

Voici quelques unes de ses fonctionnalités web par rubrique :

  • Historique : mensuel, hebdomadaire, journalier, horaire.
  • Visiteur : pays, hôte, dernière visite, robots ...
  • Navigation : durée des visites, dernière visite, fichiers vus, page d’entrée et de sortie, page les plus consultées...
  • Provenance : origine, moteurs de recherche, sites, mots recherchés, pays...
  • Occupation du serveur : Jour de la semaine et Heure (pages, hits, KB pour chaque heure),
  • Configuration matérielle des visiteurs : taille de l'écran, browser utilisé avec support utilisé (flash, real,java,pdf ...), système d’exploitation, navigateurs (dont la version)...
  • Rapport de cluster pour le load balancing.


Installation sur une Debian GNU Linux :

Lire la suite...