Vidéo interactive

video-e-commerce-blog

L’idée proposée est de rendre une vidéo interactive et de lui conférer une autre vocation que le seul visionnage passif.

Concrètement, la vidéo est agrémentée de marqueurs qui permettent à celui qui la regarde de stopper le film sur des séquences spécifiques afin de réaliser tel ou tel type d’action, de récupérer de l’information ou de faire une action.

Le but étant d’y intégrer des fonctionnalités pratiques, de se servir d’une vidéo comme d’un support dédié à d’autres ambitions.

Ainsi la vidéo devient un support de e-commerce, un support d’information ludique, un support de e-booking…

Url de démonstration : CLIQUEZ ICI

Continue reading

Utiliser les widgets et images de l’éditeur WYSIWYG de Magento dans un module personnalisé

WYSIWYG Magento
WYSIWYG Magento

Beaucoup de développeurs se tirent les cheveux quand il s’agit d’inclure l’éditeur WYSIWYG dans Magento. Pourtant, il est possible d’utiliser l’ensemble des fonctionnalités de l’éditeur lorsque l’on a créé un module personnalisé.

Le tutoriel suivant permet de réaliser tout ceci. Il est cependant nécessaire d’avoir toutes les bases utiles de Magento pour réaliser ce tutoriel tout en se sentant à l’aise.

Purger un répertoire des traces de CVS et/ou SVN

La petite astuce rapide, sous linux, pour purger un répertoire de toutes les traces que laisse un système de versionning tels que CVS ou SVN :

find /<votre-chemin> -maxdepth 15 -type d -name *CVS | xargs -n 1 rm -rfv
find /<votre-chemin> -maxdepth 15 -type d -name *.svn | xargs -n 1 rm -rfv

Rapide et efficace !

Table MySQL des Pays !

Comme c’est souvent utile pour les développeurs, et que je n’ai trouvé aucun équivalent sur le web, voici en exclusivité mondiale une table MySQL reprenant la liste complète des pays du monde par :

- Dénominations Françaises, Anglo-saxonnes, italiennes, espagnoles et allemandes
- Continent Géographique d’appartenance (en français)
- Code ISO 3166 a 3 lettres
- Code ISO 3166 a 2 lettres
- Reconnaissance officielle par l’ONU
- Appartenance à l’union européenne
- Appartenance aux Départements d’Outre-Mer français
- Appartenance aux Collectivités d’Outre-Mer françaises

Remarque : La situation géopolitique mondiale changeant constamment, cette liste est le plus à jour possible :D (Mars 2010 !)

Continue reading

Expression régulière nommée avec PHP

Je connaissais déjà la fonction preg_match mais je viens de découvrir qu’en écrivant les expressions régulières comme ci dessous, on peut accéder à un tableau de résultat associatif (au lieu des indices 0,1,2 …).

En bref, avec le code ci dessous, vous pouvez accéder à l’heure recherchée par $matches['heures'] et aux minutes par $matches['minutes']

Sympa non ? ;)

<?php

$testtime = ’totgnoerbgo20H45ezfzef‘;
$pattern = ’/(?<heures>\d+)h(?<minutes>\d+)/i‘;
preg_match($pattern$testtime$matches);

// $matches['heures'] contient les heures

// $matches['minutes'] contient les minutes

?>

Utiliser le RAMDISK

Ramdisk
Ramdisk

Il est possible, pour certaines partie d’un site, d’utiliser le ramdisk, autrement dit, utiliser la mémoire vive comme système de fichier.
Par exemple dans un site qui possède des répertoires ou se produisent des écritures de cache ou de logs temporaires nous pouvons « monter » ces répertoires en RAM afin d’optimiser la vitesse des lectures/écritures.

Voici la commande à utiliser :

mount -t tmpfs -o size=500M,mode=0744 tmpfs /www/www.mysite.com/cache

Elle peut être répétée pour d”autres répertoires, en faisant bien attention a ne pas pénaliser la RAM pour le reste du système, évidemment…

Il faut faire attention toutefois car les données en RAM seront bien évidement perdues au reboot de la machine. A utiliser donc pour des répertoires particuliers et non-vitaux !

 

 

Un “workaround” pour Magmi & Magento Enterprise 12.x

Magento
Logo Magento

Magmi est un bel outil. Je l’utilise déjà depuis quelque mois pour pouvoir importer un grand nombre d’articles dans Magento de façon rapide et facile.

J’ai été vite confronté à un problème spécifique à mon environnement (Magento version Enterprise 12) car dans mon cas, Magento EE et Magmi ne font pas bon ménage dans un cas particulier : en effet, bien que l’import massif de produits fonctionne parfaitement bien, le moteur de recherche natif de Magento EE n’indexe aucun de ces produits, malgré mes tentatives de ré-indexations répétées.

Or, chose étrange, lorsque j’éditais un produit, ô miracle, il était indexé immédiatement après dans la base de recherche !

J’ai mis beaucoup de temps a solutionner le problème, car il fallait se plonger dans les arcanes des tables MySQL de Magento pour en comprendre le sens. En comparant un produit importé “brut” par Magmi, et un produit modifié post-import, j’ai pu découvrir que dans la structure EAV, il était parfois nécéssaire a Magmi de référencer des valeurs nulles aux attributs pour qu’ils soient pris en compte dans l’indexation de la recherche.

Voici donc un petit “workaround” PHP a appliquer après chaque import et donc avant chaque indexation, afin de faire marcher tout ça !

MySQL : Logger les requêtes longues à s’exécuter

MySQL
MySQL

Tout simplement pour logger les requêtes lentes.

Par exemple, pour voir celles qui mettent plus de 3 secondes à s’exécuter. Ajouter ceci dans le fichier de conf MySQL –> /etc/my.cnf

 

log-slow-queries = /var/log/mysql-slow.log
long_query_time = 3

Detecter les capacités du navigateur client

get_browser()
Détection des capacités du navigateur client

Si dans le passé on pestait contre la nécessite de différencier des portions de codes suivant les navigateurs à coup de condition HTML pour afficher telle ou telle feuille de style, aujourd’hui, les développeurs et intégrateurs doivent jouer avec différents supports qui permettent d’accéder au web. Il devient donc nécessaire de détecter facilement le navigateur client ainsi que la machine qui accède au site internet. A mon sens, le meilleur outil pour cela est l’extension PHP get_browser().

L’extension PHP get_browser() essaie de déterminer les capacités du navigateur client. Cela ce fait en lisant les informations dans un fichier ini. L’intérêt d’utiliser une telle extension côté serveur permet d’éviter d’utiliser du code PHP tiers pour obtenir les capacités du navigateur client. De plus son utilisation simple permet de pouvoir négocier ses développements en fonction des capacités navigateurs client. De nos jours, de nombreux médias accèdent au web : de la tablette tactile en passant par les différents smartphones du marché ou tout simplement par un ordinateur.

On pourra donc filtrer par le biais du code l’inclusion de nos feuilles de styles pour par exemple charger uniquement une feuille de style responsive dans le cas où get_browser() aurait détecté que le visiteur utilise un smartphone ou une tablette. Mais également d’utiliser ses informations à des fins statistiques…

Seule l’imagination des développeurs pourra fixer une limite à une telle utilisation.

Colibri sur le toit du monde

Colibri l'agence au sommet

Colibri porté au sommet de l’Everest par Jean-Marc Nowak.

Partenaire du célèbre alpiniste monégasque, Colibri est très honoré de supporter Jean-Marc Nowak dans ses difficiles expéditions.

C’est toujours une grande joie que d’assister aux nouvelles conquêtes des plus hauts sommets du monde au travers de Jean-Marc Nowak.

Dans le cadre de son partenariat, Colibri assure la création des sites Web de chacune de ses expéditions.

Encore bravo Jean-Marc.