Non classé

Réinstaller Magento

0

Une question simple mais parfois inconnue : comment réinstaller Magento avec l’interface web sans faire une suppression de tout votre dossier Magento ?

Pour cela vous n’avez à faire qu’une seule chose : supprimer le fichier local.xml de votre dossier app/etc. Cette action donne l’ordre à Magento de ré-executer l’installation du site. Vous ne perdrez aucunes données ! C’est la table core_config_data qui va être principalement modifiée.

Cette méthode peut être aussi valable lors de transfert d’un site Magento comme décrit dans cet article.

Pourquoi cette méthode ?

Si vous consulter le fichier app/Mage.php qui fait suite à la fonction Mage::run dans votre index.php vous constaterez que la fonction run fait appel à self::isInstalled() dont un extrait est ci-dessous. L’appel au fichier de config est volontairement en dur. Voilà pourquoi !

 

$localConfigFile = self::getRoot() . DS . $etcDir . DS . 'local.xml';
self::$_isInstalled = false;
if (is_readable($localConfigFile)) {
   $localConfig = simplexml_load_file($localConfigFile);
   date_default_timezone_set('UTC');
   if (($date = $localConfig->global->install->date) && strtotime($date)) {
     self::$_isInstalled = true;
   }
 }

Au passage dans le dossiet app/etc vous avez deux autres fichiers (local.template et local.additionnal) qu’il est inutile de supprimer. Ce ne sont que des modèles pour vos prochains développements ;)

Bonne réinstallation !

AppliBox-Magento-Regle-Panier

Magento – Règle de promotion en excluant des produits

5

L’objectif de ce tutoriel est de mettre en place sur ma boutique Magento un code promo pour offrir 10% de remise sur chaque produit de mon panier. Je souhaite néanmoins ne pas appliquer cette offre à certaines références.

Pré-requis

S’assurer que dans les jeux d’attributs (Admin > Catalogue > Attributs > Gérer les attributs ) , celui que vous souhaitez filtrer soit positionné à « Oui » pour « Utiliser pour les conditions de règles de promotions ». Dans mon exemple, je dois m’assurer que l’attribut (référence) est utilisable dans les conditions de promotions.

Créer le code promo

 

Créer ensuite la règle de panier ( Promotion > Règle de prix panier ) en lui donnant  :

  • Le nom, le groupe de clients (tous) ainsi que le code que l’internaute devra entrer lors de la validation de son panier
  • Sélectionner dans « Bon de réduction » :  » Bon de réduction spécifique » en spécifiant les conditions d’utilisation (nombre de coupons, nombres par utilisateur…)
  • Actif ou Inactif, n’oubliez pas ;)
Afin d’effectuer le filtrage des produits se rendre dans l’onglet « Action » de la même page et vérifier que :
  • « Appliquer » est positionné sur « Remise en pourcentage du prix produit » > La remise s’appliquera directement sur chaque produit
  • Donner le montant de votre remise en pourcentage 
  • Si vous avez d’autres conditions, remplissez les maintenant !

 

Puis dans « Appliquer la règle seulement aux articles du panier qui remplissent les conditions suivantes (laisser vide pour appliquer à tous les produits »

  • Cliquer sur le « plus » en vert et sélectionner l’attribut référence
  • Cliquer sur « est égale à » et sélectionner « ne fait pas partie de »
  • Cliquer sur les « … » et insérer vos références séparées par des virgules. Vous pouvez aussi cliquer sur l’icone sélecteur qui affichera l’ensemble de vos produits.

 

Onglet Action pour le filtrage

 

Bonnes promotions !

Agence Web Macon

Agence Web Mâcon – Accompagner votre création de site Internet

0

Trouvez votre agence web à Mâcon ou à proximité de Mâcon : Charnay-les-Mâcon, Vinzelles, Grièges, Cormoranche-sur-Saône, La Chapelle-de-Guinchay, Fuissé, …

Vous avez un site web qui date un peu, vous souhaitez le relooker ou lui intégrer de nouvelles fonctionnalités ? Vous êtes créateur d’entreprise et vous avez besoin d’un site Internet pour promouvoir votre nouvelle activité ?

L’agence Applibox se déplace chez vous dans le secteur de Maĉon (71) pour votre projet web.

Nous nous adaptons à votre activité pour répondre à votre besoin :

Si vous êtes de passage à Villefranche-sur-Saône, n’hésitez pas, nous discuterons de votre projet devant un bon café ! 

Sinon, prenez rendez-vous avec une personne de l’équipe : 04 74 62 04 29

Réalisation de l’agence à proximité de Mâcon

 

A quand le votre ?

Appliboxement,

Google Shopping et Magento

Google (Shopping) Merchant Center et Magento v1.5

2

Si vous avez mis votre e-commerce en ligne, vous souhaitez peut-être exporter vos produits sur des comparateurs en ligne comme Google Shopping ? Ceci permet de donner un coup de pouce à votre référencement car toutes les caractéristiques de votre produit sont envoyés au moteur de recherche. Voici les manipulations nécessaires à l’export vers Google Shopping.

Suite à cet article prévu pour les versions précédentes de Magento, voici les manipulations pour la version 1.5  et + (testé aussi sous 1.7 )

 

L’extension a été mise à jour et fonctionne plus simplement ! Vous pourrez la trouver de base avec la Magento 1.5 +. Que vous reste-t-il à faire ?

  1. Configurer votre administration
  2. Mapper les attributs
  3. Etre Whitelisté par Google
  4. Configurer vos frais de livraison

Configurer votre administration pour Google Shopping

 

Afin de configurer votre extension, rendez vous dans votre administration > Configuration > Api Google > onglet Google Shopping puis munissez vous de ces informations :

  • Identifiant de compte (présent dans votre page Google Merchant Center en haut à gauche)
  • Identifiant et mot de passe de votre compte Google Merchant Center
  • Type de compte, choisissez Google
  • Le pays, donc France dans notre cas
  • Mise à jour Google quand le produit est modifié : oui 
  • Débug : oui. Vous aurez accès aux logs dans var/log/googleshopping.log sur votre FTP
Vous pouvez laisser par défaut sur l’ensemble des liste déroulantes présentes en dessous de ces champs.

Mapper les attributs pour Google Shopping

Dans la version Magento 1.5, il n’y a que deux attributs obligatoires à mapper ( les autres le sont par défaut). Il s’agit de la description du produit (item) et le Title soit le nom du produit.

Néanmoins, si vous aller configurer vos frais de livraison en fonction du poids des produits, il sera nécessaire de transmettre aussi cette information. Le champ est Shipping Weight ;)

WhileLister votre site

Afin que Google autorise les intéractions entre votre Magento et leurs serveurs, il est nécessaire de remplir ce formulaire : http://support.google.com/merchants/bin/request.py?contact_type=content_api
Donnez l’url et l’identifiant Merchant center. Nous avons reçu notre réponse sous trois jours.

Configurer vos frais de livraison

Il est maintenant requis d’indiquer comment vos livraisons sont effectuées. Soit vous transmettez à Google cette information, soit vous allez dans votre compte Merchant Center et vous indiquez vos grilles de tarifications. Si jamais vous oubliez cette étape, le log Google Shopping vous le rappelera :)

 

En cas de problème de validation de vos produits, voici le formulaire Google approprié : http://support.google.com/merchants/bin/request.py?hl=en-GB&contact_type=item_noshow

Bonne configuration de votre e-commerce !

AppliBoxement,


Magento – Mise à jour version 1.51.0 à 1.6.1

2

Mettre à jour un Magento, çà semble facile comme ça…et ça l’est…du moment qu’on a tous les éléments en main ! Je vais décrire ici une mise à jour depuis une version 1.5.1.0 à 1.6.1.0

Faites une Backup !

Ce paragraphe pour vous dire faites une backup de votre site et aussi…faites une backup de votre base de données…bref tout çà pour vous dire : faites une backup !!!

Droits devant !

Comme l’avait dit Raphael, il faut mieux donner les bons droits pour nous permettre de bien accéder à Magento Connect [Admin> System > Magento Connect > Magento Connect Manager ]. Je vous invite à effectuer ces commandes sur votre répertoire où se trouve votre Magento.

A faire avant votre manipulation

  • cd <votre_dossier_contenant_votre_magento>;
    find . -type d -exec chmod 777 {}\;
    chmod 666 downloader/config.ini;

A faire après votre manipulation (pour éviter de laisser trop de fichiers sans protections)

  • find . -type d -exec chmod 755 {} \;
    find . -type f -exec chmod 644 {} \;
    #il est possible que cette dernière ligne ne fonctionne pas
    chmod o+w var media app/etc/use_cache.ser ;

Mise à jour via Magento Connect en 1.6.1

On suppose maintenant que vous avez bien accès à Magento Connect et que vous êtes prêt à mettre à jour. Pourquoi ne pas tenter ?

Collez ce chemin dans les « clefs d’extensions » une fois sur la Connect Manager et appuyez sur Installer :

http://connect20.magentocommerce.com/community/Mage_All_Latest

Si tout marche, tant mieux pour vous ! N’oubliez pas de vider le cache et enjoy !

Sinon…

Package … is invalid

Si comme l’indique cet article, vous obtenez un ensemble d’erreurs du type « Package Mage_All_Latest is invalid » alors procédez comme suit :

  1. Télécharger ce fichier ( ou miroir ici )
  2. Décompressez le et copiez les fichiers dans var/package [ ceci indique les modules enregistrés dans votre ConnectManager]
  3. Retournez dans Magento Connect / ou resortez et retournez ici pour actualiser la liste des packages
  4. Retester ensuite le paragraphe ci-dessus

Peut-être qu’il vous faudra-t-il mettre à jour « manuellement » les différents packages. Pour celà, cliquez sur Check For Upgrade (toujours dans Magento Connect) et prenez les dernières versions stables. Retentez ensuite l’installation avec le paragraphe ci-dessus si votre version n’a pas été mis à jour.

Oufff…c’est réussi. N’oubliez pas de repassez les droits en mode sécurité si vous les aviez changé.

N’hésitez pas à nous contacter pour plus d’informations.

Google Merchant Center et Magento

0

Lorsqu’on a un site e-commerce, il est important de travailler le référencement. Nous allons découvrir comment booster ses ventes grâce à l’outil Google Shopping (ou Merchant Center)

Création de compte Google Merchant Center

Afin de vous lancer dans l’aventure Google Shopping, il vous faut tout d’abord un compte chez Google. Une fois celui-ci créé avec l’ensemble des informations de votre entreprise, vous pouvez commencer à utiliser l’outil en vous rendant sur http://www.google.fr/merchants/dashboard . Vour retrouverez dans vos paramètres les différentes informations que vous avez préalablement rempli. Pas de panique, vous pourrez les changer !

Formatages des flux

Google Merchant Center travaille avec les flux pour inscrire dans ses bases de données vos différents produits. Vous devez donc être capable de lui fournir un formattage précis afin qu’il puisse le lire. Nous détaillerons ci-dessous le formatage texte. Pour d’autres, notamment xml, je vous renvoie vers leur API.

Configuration de votre flux texte

  1. Rendez-vous dans votre tableau de bord Merchant Center
  2. Sélectionnez l’onglet « flux de données » dans le menu de gauche
  3. Cliquez sur Nouveaux flux de données
  4. Remplir le Pays cible ainsi que le nom de votre flux (sans espaces)
  5. Enregistrer les modifications. Votre flux sera créé !

Afin de minimiser les erreurs, vous pouvez lui indiquer comment vous aller formater votre fichier en cliquant sur le bouton Modifier a coté du nom de votre flux. Vous pourrez ainsi sélectionner le format du fichier, l’encodage, la langue, etc…Référer vous à l’API pour connaître le libéllé des champs en français. En détection automatique anglais, c’est assez simple !

Voici un exemple avec les champs obligatoires :

id    title    link    price    description    condition
1    "Niveau laser rotatif automatique"    http://www.topographie-laser.eu/nouveau-telemetre-leica-disto-d5/laser-de-chantier/laser-interieurexterieur-rotatif/niveau-laser-rotatif-automatique-grl300-hv-bosch-trepied-alu-mire-4m    795.00    "Niveau laser rotatif automatique"    new

On constate que :

  • La tabulation est le caractère de délimitation
  • les champs textes peuvent être entourés de quotes
  • Il est nécessaire d’indiquer les colonnes sur la première ligne

Cliquer maintenant sur Importation manuelle (sur le flux) > Sélectionner le fichier et Importer ! Vous pouvez constater les erreurs (ou pas) dans l’onglet Produit. La validation par Google de vos produits peut-être longue (sablier sur ligne produit).

Vous pouvez aussi programmer une importation automatique. Pour cela, sur le flux de donnés, cliquez sur Créer (à coté de Aucun) et renseignez l’adresse du fichier.

Merchant Center et Magento

L’outil de création de sites e-commerce que nous proposons, propose d’interfacer directement le site internet avec la base Google (Google Base). Plus besoin de configurer les flux et formatter les fichiers ! Magento se charge de le faire pour vous.

Comment réaliser cette liaison ?

  1. Tout d’abord, assurez vous d’avoir configurer votre Merchant Center comme vu ci-dessus.
  2. Suivre ce tutoriel si vous souhaitez inscrire des produits avec Pays = France pour Magento. Oui, c’est obligatoire sinon vos prix seront en $ !

Ensuite toutes les manipulations se font du coté de Magento.

  1. Se rendre dans l’administration du site
  2. Système > Configuration > API Google > Onglet Google Base
  3. Renseignez vos identifiants. Pour pouvoir sélectionner la France comme pays cible, (si vous avez bien suivi ce tutoriel).

Vous êtes donc prêt à créer le mapping pour la synchronisation avec Google Merchant Center. Pour celà :

  1. Assurez vous que vos jeux d’attributs possèdent tous les champs minimums (rappel). Généralement il manque l’attribut « condition » – mettez le à « new » par défaut.
  2. Puis Catalogue > Google Base > Gérer les Attributs : créez en un. Sur la version 1.4.0.1, en mettant France, le site plante. Laissez donc USA. Pas de soucis, vos prix seront tout de même en € ! Choisissez Products ensuite.
  3. Créez le mapping des champs que vous souhaitez lui transmettre. Pas besoin de préciser l’URL, Google la trouve tout seul ;)
  4. Validez puis Catalogue > Google Base > Gérer les articles : sélectionnez en bas les articles que vous souhaitez synchroniser puis cliquer sur ajouter (liste déroulante à droite)

Problèmes rencontrés avec Magento

Page blanche dans Google Base > Gérer les attributs => réindexer la base ( Configuration > Index management ) et vider le cache !

Ressources pour Magento Google Base

http://www.ehumeurs.com/google-base-et-shopping-sur-magento.html

http://www.jbcreation.fr/2011/02/22/google-base-et-pourquoi-pas-la-france-2/

http://www.google.com/support/merchants/bin/answer.py?answer=188494

Import Magento en arrière plan

1

Parfois Magento peut être lent à s’éxécuter. C’est d’ailleurs le cas sur les profils avancés d’import , export…

Pour palier à cet obstacle voilà un petit script, pouvant être lancé sans être connecté pour lancer l’import/export indépendamment de l’application. Attention à la sécurité tout de même…

Pour lancer ce script :

http://monsite.fr/monscript.php/?file=NomDuFichier.csv

Vous devez avoir au préalable placer votre fichier d’import dans /var/import/ ou un chemin particulier en fonction de votre profil

require_once 'app/Mage.php';
umask(0);
Mage::app();
$profileId = 17; //Insérer ici le profil d'import /export ( Système > Importer/Exporter > Colonne Id )
$filename = Mage::app()->getRequest()->getParam('files'); // set the filename that is to be imported - file needs to be present in var/import directory
if (!isset($filename))  {
die("No file has been set!");
}
$logFileName= $filename.'.log';
$recordCount = 0;
Mage::log("Import Started",null,$logFileName);
$profile = Mage::getModel('dataflow/profile');
$userModel = Mage::getModel('admin/user');
$userModel->setUserId(0);
Mage::getSingleton('admin/session')->setUser($userModel);
if ($profileId) {
$profile->load($profileId);
if (!$profile->getId()) {
Mage::getSingleton('adminhtml/session')->addError('The profile you are trying to save no longer exists');
}
}
Mage::register('current_convert_profile', $profile);
$profile->run();
$batchModel = Mage::getSingleton('dataflow/batch');
if ($batchModel->getId()) {
if ($batchModel->getAdapter()) {
$batchId = $batchModel->getId();
$batchImportModel = $batchModel->getBatchImportModel();
$importIds = $batchImportModel->getIdCollection();
$batchModel = Mage::getModel('dataflow/batch')->load($batchId);
$adapter = Mage::getModel($batchModel->getAdapter());
foreach ($importIds as $importId) {
$recordCount++;
try{
$batchImportModel->load($importId);
if (!$batchImportModel->getId()) {
$errors[] = Mage::helper('dataflow')->__('Skip undefined row');
continue;
}
$importData = $batchImportModel->getBatchData();
try {
$adapter->saveRow($importData);
} catch (Exception $e) {
Mage::log($e->getMessage(),null,$logFileName);
continue;
}
if ($recordCount%20 == 0) {
Mage::log($recordCount . ' - Completed!!',null,$logFileName);
}
} catch(Exception $ex) {
Mage::log('Record# ' . $recordCount . ' - SKU = ' . $importData['sku']. ' - Error - ' . $ex->getMessage(),null,$logFileName);
}
}
foreach ($profile->getExceptions() as $e) {
Mage::log($e->getMessage(),null,$logFileName);
}
}
}

Voilà pour votre prochain import ;) Enjoy !

Liens en rapport avec Magento

http://www.creation-site-lyon.com/tag/magento/

Besoin d’un site magento ?

http://www.applibox.com

Changer le design du back end Magento

1

Vous avez déja modifier le design de votre frontend Magento ? Vous souhaitez à présent modifier l’administration du site ? Voilà un tutoriel expliquant les étapes à suivre.

Commencez par créer l’arborescence

app/code/local/MonInterfaceAdmin/Adminhtml/Block

et copiez le fichier Page.php présent dans

/app/code/core/Mage/Adminhtml/Block/

Une fois copié, modifiez le nom de la classe en modifiant

Mage_Adminhtml_Block_Page par MonInterfaceAdmin_Adminhtml_Block_Page

et vider le contenu de la classe et insérer uniquement le constructeur

public function __construct(){
   Mage::getDesign()->setTheme('MonInterfaceAdmin');
}

On indique donc à Magento où aller chercher le dossier de design. Il se basera ainsi sur le dossier app/design/adminhtml/MonInterfaceAdmin.

Il faut aussi copier le dossier dans skin/adminhtml

Je vous conseille de copier le contenu du dossier default de adminhtml et de repartir de là.

La dernière étape consiste à rediriger magento sur votre classe Page.php. Je ne suis pas sur des modifications à effectuer selon les versions

Soit on surcharge le fichier Action.php dans app/code/local/Mage/Adminhtml/Controller et on change

Mage::getDesign()
 ->setArea($this->_currentArea)
 ->setPackageName((string)Mage::getConfig()->getNode('stores/admin/design/package/name'))
 ->setTheme((string)Mage::getConfig()->getNode('stores/admin/design/theme/default'))
 ;

par

Mage::getDesign()->setArea('MonInterfaceAdmin')
 ->setPackageName('MonInterfaceAdmin')
 ->setTheme('default');

Soit j’ai trouvé une autre solution (non testée)

Pour celà ouvrez le fichier /app/etc/local.xml

Dans le block adminhtml

<adminhtml>
          <rewrite>
                <page>Ami2CVAdmin_Adminhtml_Block_Page</page>
	</rewrite>          
</adminhtml>

Site Internet avec Django

0

Après Magento, eZPublish, Symfony nous voilà lancé dans l’aventure Django CMS. Ce logiciel s’appuie sur le framework Django écrit en python .

Comment installer le framework Django ?

L’installation du Framework est rapide. Il faut au préalable avoir installé un version de python ( déja installée sous Ubuntu ).

Commençons par télécharger et installer Django

#Après téléchargement ici http://www.djangoproject.com/download/1.2.4/tarball/
tar xzvf Django-1.2.4.tar.gz
cd Django-1.2.4
sudo python setup.py install

L’installation se fait dans /usr/local/lib/python2.6/dist-package/

Si vous n’etes pas sur que l’installation s’est bien déroulée, lancer python dans un terminal

python
# puis tapez
>>> import django
>>> print django.get_version()

Si aucun message d’erreur s’affiche, la version de Django installée devrait etre affichée.

Si vous souhaitez installer le mod_python pour apache ( plus d’informations : http://www.howtoforge.com/embedding-python-in-apache2-with-mod_python-debian-etch)

apt-get install libapache2-mod-python

Pour avoir des interactions avec la base de données vous aurez besoin du paquet python-mysqldb.

Installation de Django CMS

Maintenant que le framework est installé, il nous faut télécharger les plugins pour le module CMS

Avant celà, on va créér le dossier qui hébergera le site

#Se placer là où vous souhaiter installer le site
django-admin.py startproject MonPremierDjangoCms

Il faut maintenant télécharger le module CMS :http://www.django-cms.org/en/downloads/

Une fois téléchargé et décompressé, placez vous dans le dossier puis

sudo python setup.py install

Toutes les dépendances seront installées. (mptt, south, publisher, etc…)

Modifiez ensuite les fichiers de configuration (settings.py), comme dans cet article, pour lui indiquer quels plugins le projet doit utiliser.

Pour tester que tout fonctionne, lancer le serveur

#Lancement du serveur après s’etre placé dans le nouveau dossier
python manage.py runserver

Puis rendez-vous sur

http://localhost:8000

Si vous souhaitez démarer le serveur sur un autre port (ex : 8500 )

python manage.py runserver 8500

Liens pour Django

http://docs.djangoproject.com/en/1.2/

N’hésitez pas à nous contacter pour la création de votre site Internet !

Configuration de Django CMS

1

Après avoir installé le framework Django et téléchargé les plugins adéquats, il nous faut configurer les fichiers du projet settings.py et urls.py. Si vous ne modifiez par ces fichiers, rien ne fonctionnera. Pensez à bien installer toutes les dépendances en utilisant easy_install ou pip. http://django-cms.readthedocs.org/tutorial.html#templates

Le fichier settings.py

C’est le fichier principal de configuration du projet. Il permet à Django de connaitre les paramètres de connexion, de connaitre les plugins installés,etc…

Configuration de la connexion à la base de données ( PhpMyAdmin – MySql )

DATABASES = {
 'default': {
      'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
      'NAME': 'djangocms',   # Or path to database file if using sqlite3.
      'USER': 'utilisateuradmin',                      # Not used with sqlite3.
      'PASSWORD': 'motdepasseAdmin',                  # Not used with sqlite3.
      'HOST': 'localhost', # Set to empty string for localhost. Not used with sqlite3.
 'PORT': '', # Set to empty string for default. Not used with sqlite3.
    }
}

Ajout de nouvelle application

Par exemple pour le module CMS, vous pouvez ajouter 'cms','mptt'

INSTALLED_APPS = (
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.sites',
 'django.contrib.messages',
....
 # Décommentez bien cette ligne pour avoir l'interface d'adminstration
 'django.contrib.admin',
...
 # Puis ajouter vos applications
 'cms','mptt'
)
MIDDLEWARE_CLASSES = (

 'django.middleware.cache.UpdateCacheMiddleware',    'django.contrib.sessions.middleware.SessionMiddleware',    'django.contrib.auth.middleware.AuthenticationMiddleware',    'django.middleware.common.CommonMiddleware',    'django.middleware.doc.XViewMiddleware',    'django.middleware.csrf.CsrfViewMiddleware',    'cms.middleware.page.CurrentPageMiddleware',    'cms.middleware.user.CurrentUserMiddleware',    'cms.middleware.toolbar.ToolbarMiddleware',    'cms.middleware.media.PlaceholderMediaMiddleware',    'django.middleware.cache.FetchFromCacheMiddleware',)

Le fichier urls.py

Je vous suggère de commencer avec le urls.py suivant, auquel on a ajouté le plugin cms

from django.conf.urls.defaults import *
from django.contrib import admin
from django.conf import settings

admin.autodiscover()

urlpatterns = patterns('',
    (r'^admin/', include(admin.site.urls)),
url(r'^', include('cms.urls')),
)

Envoyer votre configuration en base de données

Pour que votre projet soit utilisable, il faut insérer ces modèles en base de données. Pour celà :

python manage.py syncdb

Si vous obtenez l’erreur Error loading MySQLdb module

–> Installer mysqldb pour python.

Lancement de votre serveur

#Dans le dossier où est installé votre projet
python manage.py runserver

Pour accéder à l’administration

http://localhost:8000

Liens utiles

http://django-cms.readthedocs.org/tutorial.html

http://fantomas.willbreak.it/blog/2009/03/10/un-cms-en-django-la-suite/

http://jagdeepmalhi.blogspot.com/2010/10/django-cms-installation-error.html

Haut de page