Mise à niveau de Magento en version 1.9

Procédure pas à pas de mise à jour d’une boutique en ligne sous Magento 1.7 vers la version 1.9.

Cela fait un moment que je n’écris que sporadiquement sur ce site, pour ceux qui me suivent un peu sur les réseaux sociaux, vous connaissez mon périple mauricien, pour les autres ce sera je pense l’objet d’un billet futur. Bref, je suis de retour en France, avec un nouveau job également. Cette petite introduction me permet d’en venir aux faits et de parler de la première grosse tâche pour laquelle j’ai été embauché à savoir mettre à jour une boutique Magento.

L’entreprise n’a pas été dénuée de stress car je n’avais pas vraiment d’expérience de Magento (ou de commerce en ligne en général) et la moindre erreur ou le moindre faux pas et le site marchand peut ne plus fonctionner. J’ai donc pris un peu de temps pour me familiariser avec le processus de mise à jour d’un site d’e-commerce en production sous Magento.

Ce document décrit le processus de mise à niveau de Magento d’une version 1.7 (1.7.0.2 en ce qui me concerne) vers la version 1.9 (1.9.2.1) que j’ai pratiqué. Ce n’est pas un guide bullet-proof et il ne correspond peut-être pas à tous les cas.
Il ne décrit pas comment mettre en place un environnement de développement / test, il suppose donc que celui-ci existe.

Continue reading « Mise à niveau de Magento en version 1.9 »

L’art de s’auto-bannir

Autoban

Petite prise de tête ce matin avec Sourcetree, impossible de pusher. Je sais que j’ai fait un changement de mot de passe récemment, mais je n’obtiens pas la boite de dialogue me demandant de rentrer le nouveau mot de passe SSH. Parallèlement, j’ai des déconnexions SSH intempestives, le serveur répond au ping, mais impossible de me reconnecter.
Après un bon moment, je jette un oeil à mes mails de log fail2ban pour me rendre compte que je me bannis – 10 minutes – à chaque tentative sans m’en rendre compte parbleu!

Solution, éditer le fichier /etc/fail2ban/jail.conf pour ajouter mon IP à la liste blanche ^.^

[DEFAULT]
# "ignoreip" can be an IP address, a CIDR mask or a DNS host. Fail2ban will not
# ban a host which matches an address in this list. Several addresses can be
# defined using space separator.

ignoreip = 127.0.0.1 192.168.1.0/24 8.8.8.8 mon-adresse-ip

Photo : Kennedy Library

Problème de nom de répertoire avec GIT

J’ai fait face à ce petit problème agaçant développant sous Windows avec GIT pour Windows et pushant mes modifications sur un serveur de staging sous CentOS : dans un projet Zend après avoir renommé un répertoire, en l’occurence feubapp en Feubapp – sous Windows donc – celui-ci était toujours vu comme feubapp pour GIT, cela semble un peu tordu, mais en gros GIT avait toujours l’ancienne version feubapp dans sa base même si un ls me montrait que le répertoire était renommé Feubapp. Ceci du à l’insensibilité de la casse sous Windows.
Après un push, je me retrouvais avec deux répertoires feubapp et Feubapp sur mon serveur GNU/Linux.

La solution consiste à renommer ces répertoires depuis GIT en 2 temps :

git mv feubapp Feubapp2
git mv Feubapp2 Feubapp

Le tour est joué, un git status montre bien que des répertoires ont été renommés. A noter que directement faire ce qui suit ne fonctionne bien entendu pas :

git mv feubapp Feubapp

Merci au post de msysgit.

GIT workflow : Créer un nouveau projet local et sur serveur distant

Ce tutoriel rapide explique comment débuter avec GIT en créant un nouveau projet local qui sera ensuite placer sur un serveur distant pour servir de dépôt.

Petit mémo rapide du workflow que j’utilise lorsque je commence un nouveau projet, que je l’ajoute à GIT ainsi que sur mon serveur distant qui servira de dépôt.

mkdir mon_nouveau_projet
cd mon_nouveau_projet
git init
git add .
git commit -m "Creation du projet, premier commit."

# Création d'un dépôt nu
git clone --bare /chemin/vers/mon_nouveau_projet mon_nouveau_projet_distant.git

Puis je copie le dossier de projet nu mon_nouveau_projet_distant.git sur le serveur (je le supprime en local).

De retour en local, j’attache le serveur GIT au dépôt :

git remote add origin \
    utilisateur@serveur.net:chemin/mon_nouveau_projet_distant.git

Je peux pousser le projet local (branche master) sur la machine distante :

git push -u origin master