SMTP gmail en PHP

En deux secondes, un pti bout de script chippé de stackoverflow (encore!!)  permettant de vous connecter au SMTP de gmail pour envoyer vos mails.

C’est pratique, et pas simple. Ca permet d’historiser les mails envoyés et en plus ca peut permettre de passer au travers des problemes de spam pour un peu que vous utilisiez une boite bien sage habituellement.

<?php

require_once “Mail.php”;

$from = “<from.gmail.com>”;
$to = “<to.yahoo.com>”;
$subject = “Hi!”;
$body = “Hi,\n\nHow are you?”;

$host = “ssl://smtp.gmail.com”;
$port = “465″;
$username = “myaccount@gmail.com”; //<> give errors
$password = “password”;

$headers = array (‘From’ => $from,
‘To’ => $to,
‘Subject’ => $subject);
$smtp = Mail::factory(‘smtp’,
array (‘host’ => $host,
‘port’ => $port,
‘auth’ => true,
‘username’ => $username,
‘password’ => $password));

$mail = $smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {
echo(“<p>” . $mail->getMessage() . “</p>”);
} else {
echo(“<p>Message successfully sent!</p>”);
}

?>

Mettre a jour wordpress sans FTP

Si votre confituration est un peu compliquée, ou alors que vous n’avez pas de démon FTP qui tourne sur votre machine, vou spouvez néanmoins mettre a jour vos plugins au travers de l’interface d’admin de wordpress.

Pour cela il suffit d’ajouter

define('FS_METHOD', 'direct');

à votre wp-config.php. Attention, cela exigera que l’utilisateur sous lequel votre serveur web (apache ou autre) tourne  ait les droits d’écriture sur les répertoires.

via : stackoverflow

Configurer le multi-site sous Magento

Dans le cadre du déploiement d’une boutique Magento sur plusieurs sites, j’ai pas mal cherché avant d’arriver à trouver comment paramétrer le serveur et l’application correctement. Voila la méthode que j’ai utilisée pour arriver à mes fins. J’espère que cela pourra aider certains d’entre vous.

Au sein de la même installation de Magento, le but est de pouvoir vendre les produits sur plusieurs sites différents (www.site1.com et www.site2.com), ne partageant ni les noms de domaine ni la présentation. Tous les produits sont issus du même stock et sont donc gérés de manière unique.

ddb3e6e70fd73dedea0a63d32d6f86fa Configurer le multi site sous Magento


Créer les catégories

La première étape consiste assez étonnamment, à mon sens, à créer les catégories des produits que l’on souhaite vendre. En effet, les noms de ces catégories (root category) sont demandés lors de la création des boutiques au sein de Magento. Pour que les produits soient accessibles depuis toutes les boutiques, il faut prendre soin de sélectionner une catégorie racine commune pour chacune d’elle. Ces catégories sont créées dans Catalog -> Categories -> Manage Categories.

Bien entendu, pour être accessibles depuis chacun des sites, ces catégories doivent être positionnées à IsActive dans l’onglet General Information.

Si l’on ne souhaite pas partager les stocks entre les différentes boutiques, ou si on souhaite que certaines boutiques vendent des produits propres, on pourra créer des catégories actives uniquement sur une des boutiques.


Une fois les catégories créées, on peut créer les boutiques en trois étapes.

1/ Tout d’abord, référençons nos sites dans Magento, grâce au bouton “Create website” de  l’écran  System -> Manage Stores.
Name : Entrer le nom du domaine du nouveau site
Code : Paramètre utilisé pour configurer le serveur web (ex. Apache) pour qu’il pointe sur ce domaine

2/ Ensuite, on peut créer les boutiques relatives à nos nouveaux “website” grâce au bouton  “Crète Store” buttons toujours dans  System -> Manage Stores.
Website : site web auquel la boutique est associée
Name : Nom de la boutique, généralement le même nom que le site web (plus facile de s’y retrouver)
Root Category : La catégorie de base utilisé pour la boutique

3/ Enfin créons les vues des boutiques, qui représentent l’interface visible par nos utilisateurs de la boutique (bouton  “Create Store View” toujours dans  System -> Manage Stores.)

Store : Boutique à laquelle la vue est  associée
Name : Nom de la vue magasin (souvent associée aux traductions)
Code : code de la vue
Status : La vue est accessible aux utilisateurs ou non


Configurer les accès aux sites web

Une fois les boutiques créées il faut en configurer l’accès, pour chacune d’elle. Pour cela deux étapes. Dans Magento configurer les URL d’accès Secure et unsecure ( System -> Configuration -> General -> Web).  Attention lorsque vous faite cette manipulation, a bien vérifier que le sélecteur a gauche est bien sur les site web site1.com. Pour paramétrer les URL il faut décocher “Use default [STORE VIEW]“, saisir l’URL du site et sauvegarder la configuration.

Il faut enfin configurer le serveur Apache afin de permettre à tous les domaines (vhosts) de pointer sur le même dossier, afin de partager l’installation de Magento, et éditer le fichier .htaccess de votre installation de Magento, pour y ajouter les lignes suivantes :


SetEnvIf Host www.site1.com MAGE_RUN_CODE=site1_com
SetEnvIf Host www.site1.com MAGE_RUN_TYPE=website
SetEnvIf Host ^site1.com MAGE_RUN_CODE=site1_com
SetEnvIf Host ^site1.com MAGE_RUN_TYPE=website

SetEnvIf Host www.site2.com MAGE_RUN_CODE=site2_com
SetEnvIf Host www.site2.com MAGE_RUN_TYPE=website
SetEnvIf Host ^site2.com MAGE_RUN_CODE=site2_com
SetEnvIf Host ^site2.com MAGE_RUN_TYPE=website

Redémarrez Apache et le tour est joué, vous devriez pourvoir maintenant disposer de vos deux boutiques séparées, mais vendant les mêmes produits.

Magento : beaucoup d’efforts et pour quel résultat !

Comme évoqué dans un post précédent, j’ai récemment mis en place  pour un client la suite de commerce electronique Magento. Cette solution éditée par Magento Inc. sous license Open Software License ( OSL 3.0) est utilisable gratuitement. Basée sur le framework PHP Zend (et son approche MVC)  cette solution modulaire est très puissante mais assez complexe à mettre en place si l’on souhaite aller au-delà de l’installation de base. Si vous souhaitez mettre en place une boutique électronique sans avoir de compétences informatiques : oubliez tout de suite ! Si vous souhaitez une solution légère à mettre en place, sans beaucoup de fonctionnalités, et que vous utilisez wordpress (comme 10% des sites mondiaux semble t il !!), peut etre pouvez vous trouver une extension wordpress qui vous conviendra. Pour une solution plus complète, il semble  bien plus sage de passer à une solution hébergée, clé en main, qui vous coutera probablement un peu plus cher au final, qui ne sera pas sur mesure, mais qui vous permettra vraisemblablement de gérer votre business.

A la différence d’un wordpress (permettant la gestion de blog) cependant, il me semble que cette suite n’est pas utilisable sans l’aide d’un prestataire informatique.La preuve en est l’écosysteme extrêmement riche (Magento Connect) qui s’est développé autour de cette solution pour aider les webmasters à déployer leur boutique. Nombre de prestataires vous proposent également de mettre en place cette solution pour vous, et un nombre encore plus grand de site vous propose de télécharger (gratuitement ou non) des modules ajoutant des fonctionnalités à celles de bases.

Les développements réalisés dans le cadre de cette mise en oeuvre sont très liés au domaine d’activité de mon client : La gestion d’une école et la vente de cours (à l’unité ou sous forme d’abonnement). Autant dire que Magento n’est pas nativement destiné à ce type d’activité. Il a donc fallu développer des modules permettant par exemple la  gestion de calendrier, la gestion de présence… C’est là, à mon sens, que réside la principale force de Magento : son adaptabilité. La plupart des modifications nécessaires sont à faire uniquement sur l’interface utilisateur (frontend) via des feuilles de styles un peu de jQuery, d’ajax. Cela permet de ne pas remettre en cause les foncitonnalités de Magento et de ne pas compromettre l’interface d’administration.
Les autres fonctionnalité plus pousées se font quant à elles via des modules activables et désactivables à volonté, ce qui permet ici encore, de ne pas toucher au noyau de l’application et doit donc permettre de continuer à faire évoluer les versions de Magento de manière assez régulière.

Dernier avantage de Magento, sa capacité à gérer de manière simple le multi-site afin de vendre ses produits à partir de domaines différents, le tout administré depuis une console unique…

Si vous avez des besoisnde commerce électronique, allez voir du coté de Magento qui me semble être l’une des solutions les plus éprouvées à ce jour….et gratuite de surcroit !

Du travail mais peu de posts

Peu d’activité récemment sur betecommechou, mais ce n’est pas,  bien entendu, faute de travail et de recherches.
Dans le désordre voici mes derniers sujets de travail :

Syndicalisation des contenus sur wordpress

Comment contrôler plusieurs blogs à partir d’une seule installation de wordpress….grâce aux nouveautés de wordpress (fusion de WP avec WPMU) tout devient presque évident. Cela permet de n’avoir plus qu’une seule installation et de gérer les plugins de façon centrale, de ne plus avoir à “retaper” les articles sur chacun des posts.
Reste un petit plugin à développer pour permettre de différer la publication de certains articles d’un blog à un autre. Mais là réellement je n’ai pas le temps (vous avez peut être ca en stock, non)

Mise en place de commerce électronique

Ben oui ! Après 15 ans de développement web je n’avais jamais mis en place une telle solution. C’est maintenant chose faite…ou presque : les paiements ne sont font qu’en chèques. Le paiement par CB n’a pas été souhaité pour des raisons propres au site, mais cela devrait changer pour 2011. Le fait est que la solution que j’ai adoptée (Magento eCommerce) permet en théorie d’activer cette option via un module. Tout cela devrait donc être possible aisément. Quoiqu’il en soit pas mal de personnalisation des “templates” Magento et pas mal de développement autour d’un module spécifique au métier de mon client.

Réseaux sociaux

Comme mes derniers posts (aïe, le dernier date déjà de Juin) pouvaient le laisser penser, je regarde un peu plus attentivement en ce moment, les évolutions des réseaux sociaux. Loin de moi de me prétendre expert de quoi que ce soit, ce n’est pas le sujet. Dans un premier temps, je me suis intéressé aux usages que chacun d’entre nous peut titrer de ces nouveaux média. En plus de toutes ces problématiques, j’essaie maintenant de comprendre  l’usage qui peut être fait par les sociétés mettant à disposition des réseaux sociaux (publics ou intra entreprise) des données partagées et des comportements des usagers.

Retransmission en direct

Ustream et Justin.tv permettent de faire des miracles. Certes. Mais que puis-je en faire ?… Pour le moment pas de réponse très précise. Il est clair que retransmettre des évènements en temps réel peut permettre d’améliorer considérable la relation client/abonné/adhérent (suivant le type de structure dont vous vous occupez), mais bien entendu se pose rapidement des questions de droit à l’image. J’arrive tout juste sur ces problématique, donc si vous avez des pistes de recherche n’hésitez pas.


J’essaierai donc dans les prochains jours d’aborder ces points afin de partager mes lectures avec vous, histoire de confronter des idées.


Sphère publique à infrastructure médiatisée

Première réaction à l’article Michelle Blanc sur son blog suite à une lecture faite il y a un moment sur le site de Danah Boyd. Je consulte régulièrement les articles de madame Blanc et suis habituellement étonné de la complétude de ses analyses, cependant cette fois, je reste sur ma faim. Aie !


Madame Blanc y dresse un parallèle très parlant le couple téléphone-télévision et facebook-internet. Certes ces derniers sont les successeurs des premier, et bien entendu je partage l’opinion que diaboliser n’a pas de sens (voire même sera contre-productif). Il me semble par ailleurs qu’un des commentaire de cet article est plein de bon sens :
1 – Si tu n’as rien à dire de gentil, ne dis rien! En bref, aucun bitchage n’est toléré, sous peine de devoir s’excuser à la personne par le même média et de retirer les commentaires faits.
2- Aucune médisance sur sa propre personne n’est toléré, si qqn t’écrit qqc de méchant sur ton mur, tu l’enlèves illico de tes amis.
3- Aucun inconnu accepté dans le réseau.”.


Il y a cependant une différence qui me semble essentielle entre les réseaux sociaux et le téléphone : le coté public des réseaux sociaux (“sphère publique à infrastructure  médiatisée, pour reprendre la terminologie de madame Boyd.)  Le téléphone relevait à l’époque de notre adolescence de la sphère privée. C’était une conversation point à point, sans personne d’autre pour écouter. Du fait de leur caractéristique publique les réseaux sociaux sont loin de cela.

Par ailleurs notre conversation n’était pas susceptible d’être enregistrée, et donc pas fouillée a posteriori, alors que l’un des aspect fondamentaux des réseaux sociaux est la persistance des discussions. Les conséquences à long terme de notre conversation facebookienne sont donc plus compliquées à évaluer que celle de notre coup de téléphone.


La véritable question (et, je l’espère la crainte des parents) n’est pas l’évolution de la technologie mais la différence de portée des actes des enfant et ados, beaucoup plus globale sur les réseaux sociaux qu’elle ne l’était au téléphone ou dans les séances de shopping.
Dans les réseaux sociaux nos jeunes se mettent en scène comme ils le font au lycée (15 à 18 ans) voire même avant. Ils trainent, papotent….bref se sociabilisent. Mais gardons en mémoire néanmoins que nos personnalités ne se sont pas construites au vu et su  de tous, à chaque instant, comme c’est le cas aujourd’hui. C’est en cela que le commentaire au post de Mme Blanc me paraît sage : il faut apprendre à nos enfants a faire supporter les conséquences de ce qu’ils disent et à faire le tri des propos qui les concernent. La seule analogie qui me vient est celle des enfants stars, exposés très tôt au regard du public. Ou celle d’ailleurs d’adultes catapultés du jour au lendemain au statut de star/célébrité (reality show par exemple). Il leur faut un réel accompagnement pour apprendre à gérer cette exposition et ses conséquences.


Faut il cependant diaboliser les réseaux sociaux : NON évidemment. Il faut accompagner et expliquer. Pour cela il faut que le parents comprennent les enjeux et surtout les règles des ces espaces, ce qui me semble être un enjeux plus ardu que le défi lancé à  nos ados. Ces derniers sont nés dans un monde complètement digital et pervasif, et il me semble que notre devoir est davantage de leur faire appréhender le lien entre ce monde et celui des générations précédentes, de juger des conséquences que leur vie publique numérique,  aura sur leur vie (tout court).

Dailymotion condamné mais conforté

7c41b8179bbe72cdffedb881ecf7ac9a Dailymotion condamné mais confortéLe site de partage de vidéos a été condamné à 30 000 euros d’amende par le tribunal de grande instance de Paris, pour ne pas avoir retiré suffisamment rapidement de sa plate-forme une vidéo présentant des extraits d’un film, et surtout, empêché leur réapparition.
blankpix1 Dailymotion condamné mais conforté
Si le TGI de Paris  a estimé que Dailymotion n’avait pas accompli les ” diligences nécessaires en vue de retirer promptement et de rendre impossible une nouvelle mise en ligne du film Sheitan signalé comme illicite “, il faut retenir que le  statut d’hébergeur des plateformes communautaire est ainsi conforté. Ces dernieres ne sont pas responsables du contenu qu’elles présentent. Leur responsabilité s’arretent à la mise en place de moyens efficaces et suffisants permettant de retirer les contenus illicites.
blankpix1 Dailymotion condamné mais conforté
Ce jugement n’intervient pas seul, puisque le 14 Avril dernier Dailymotion avait déjà été sanctionné suite à une plainte d’Omar et Fred pour avoir manqué à « à son obligation de retirer promptement du site les contenus illicites ou de leur en interdire l’accès ». La justice avait soulevé le fait que l’identification des ressources illicites aurait dû être assurée par la plateforme seule sans que les plaignants n’aient eu à coopérer.
blankpix1 Dailymotion condamné mais conforté
fd19a3f09bbf18a1ba482aa89853ff7c Dailymotion condamné mais confortéLa cour reconnaît par ces décisions que l’hébergeur fournit un service essentiellement technique de mise en ligne alors que l’éditeur a une intention de publication (choix des sources, assemblage et évaluation des informations). La justice a essentiellement pris Dailymotion en défaut pour ne pas avoir empêché des extraits de DVD de réapparaitre après l’assignation d’Ormar et Fred. Les dispositifs de dailymotion (on pense en particulier à la signature electronique mis en place avec le concours de l’INA) auraient du suffire à cette mission.
blankpix1 Dailymotion condamné mais conforté
Ce jugement renforce néanmoins la reconnaissance de son statut d’hébergeur. Cette décision semble donc être en passe de faire jurisprudence pour toutes les plateformes de réseaux sociaux. Il faut noter que cette décision est en contradiction avec celle de la cour de cassation qui avait jugé en Janvier 2010 que Tiscali était reponsable des contenus qu’il héberge (contrefacon de bande dessinée), qui semble dès lors en passe de devenir caduque.
blankpix1 Dailymotion condamné mais conforté
Si Dailymotion était en 2009 le 42eme site mondial en terme d’audience avec 55 millions de visiteurs uniques, Facebook est fréquenté par 540 millions de personnes chaque mois, soit un peu plus de 35% des internautes. Outre les problématiques techniques de filtrage des contenus (par modération humaine, communautaire ou par signature numérique), on comprend que ces batailles sur la responsabilité des plateformes sociales est d’une importance capitale dans le monde des média.

Evolution de l’utilisation des réseaux sociaux

783f67896b24647503507fde1321ec4a Evolution de lutilisation des réseaux sociaux

Répartition des utilisateurs par réseau social  SNS en aout 2009 :

  • 73% un un compte Facebook
  • 48% ont un profil MySpace
  • 14% ont un compte LinkedIn
  • 1% sur chacun de Yahoo, YouTube, Tagged, Flickr and Classmates.com
  • 10-12% sont sur d’autres sites tels que Bebo, Last.FM, Digg, Blackplanet, Orkut, Hi5 et Match.com

L’étude releve qu’en 2005 la proportion de gens diplomé sur les réseaux sociaux était supérieure de 10 points à celle sur internet, et que la proportion de citadins sur les réseaux sociaux était supérieure de 9 points à celle de l’internet dans sa totalité. Enfin 75% des utilisateurs de réseaux sociaux ont moins de 45 ans. Ces différence ont été effacées en 2009, tant concernant le rapport citadins/ruraux que concernant les niveaux d’éducation.  Le différences sont maintenant plus proche de 3 points.

Il y a dorénavant plus de femmes que d’homme sur les sites de réseaux sociaux (confirmé par l’étude de  …).

Le ratio de personne âgées de moins de 45 ans est maintenant de 79%, et les jeunes adultes y sont sur-représentés.

La consumérisation

La consumérisation de la technologie est un néologisme décrivant la tendance des sociétés de technologies à cibler le marché personnel avant le marché professionnel lors des developpements de leurs nouveaux produits. Il en résulte un changement des équilibres entre les environnements domestiques et les environnement professionnels. En effet, aujourd’hui, les équipements personnels de beaucoup de consommateurs leur offrent plus de possibilité que ce que leur permet leur environnement informatique professionnel.

Ce terme a été popularisé par John Taylor et Douglas Neal du CSC’s Leading Edge Forum. Il est l’un des vecteurs majeurs de transformation du Web 2.0.

Les 20 ans d’innovation a venir

Je reprends ici un article posté en Novembre 2009 par Martin DUURSMA, Vice Président de Citrix Labs et de de la “Chair of the Citrix CTO Office”. Il ne s’agit pas que d’une traduction dans le sens ou je résume également l’article, sans en déformer je l’espère le propos.

Il y a 20 on pensait que le futur de l’IT résiderait dans la standardisation des pratiques de développement logiciel et dans la programmation en langage naturel. Bien peu de personnes prêtaient attention à l’émergence des technologies de communication en ligne, alors que ces dernières ont transformé notre monde en devenant ce que nous appelons aujourd’hui Internet. Ce manque de vision vient probablement de la propension naturelle des techniciens et ingénieurs à se concentrer sur les technologies (comment faire plus puissant, plus rapide) alors que ces questions de spécification techniques ne sont pas seules au  cœur du problème. En prenant un peu de recul sur les outils que nous créons mais également sur l’usage qui en est fait, il apparait que le prochain défi de l’innovation IT est l’interface homme-machine : transformer la puissance brute afin d’en permettre une meilleure intégration dans les vies et le travail des utilisateurs.

Des machines qui écoutent
Le clavier est considéré comme allant de soi et efficace, mais ce dernier est assez peu intuitif. Cet appareil a été inventé en 1874 et continue à limiter les utilisateurs. En effet, il n’y a aucune relation entre la vitesse de pensée et la vitesse de frappe. Les systèmes de reconnaissance vocale font l’objet de recherches depuis de nombreuses années, cependant même leur introduction récente dans les terminaux mobiles ne marquent toujours pas une adoption massive. Lorsque les évolutions issues des recherches auront été implémentées et adoptées, le champ de leur usage s’accroitra de bien des manières.

De la souris au multi-touch
Après le clavier, il est naturel de se tourner vers ce mécanisme de pointage inventé  en 1968 par Douglas Engelbart du Stanford Research Institute. Ce dispositif qui a permis ne grande avancée dans le monde des interfaces homme-machine, n’est cependant pas aussi intuitif qu’on a l’habitude de le penser. En effet, il oblige à coordonner les mouvements d’un dispositif à coté de l’ordinateur, alors que le mouvement se fait sur l’écran. Le touchpad n’est pas plus aisé à utiliser, il est assez peu précis et trop facilement touché par inadvertance. La réelle innovation dans ce domaine est l’essor des écrans tactiles (touch et multi touch) popularisés par l’iPhone et maintenant l’iPad. Cette idée est fondamentalement plus intuitive dans le sens ou il est possible pointer sans intermédiaire (stylet), la chose-même qui vous intéresse (sur l’écran), comme on montrerait du doigt dans la “vraie vie”. Cette évolution est d’une magnitude aussi importante que l’informatique en langage naturel.

Retisser les liens sociaux distendus
L’une des plus grandes évolutions de ces dernières années a été la mobilité : permettre à chacun de travailler d’où et quand il le souhaite. De cette évolution découle le fait que tout peut être décentralisé, et que les sociétés n’ont plus besoin de siège (quartier général). Et pourtant ces derniers existent toujours et nous continuons à aller tous les jours au travail. Tout simplement parce que l’aspect technologique n’est pas, loin s’en faut, le seul qui compte. Une très grande partie de la communication humaine est non verbale (langage du corps, expression faciales…). Une grande partie des découvertes est faite par hasard, grâce aux interactions entre les collaborateurs au sein d’un même bureau. Ce type de contacts informels et de contacts non structurés aide les individus à travailler ensemble de manière plus efficace en renforçant les liens interpersonnels, la culture d’entreprise et l’esprit d’équipe. Cela réaffirme la notion de but commun.

Par le développement actuel de la mobilité nous sommes en train de créer une génération de personne qui travaillent de manière isolée ne développent pas les compétences nécessaires à la mise en place d’un lieu de travail efficace.
Notre challenge pour les 20 années à venir sera donc de recréer ces moments d’interaction de vis-à-vis, quel que soit l’éloignement  entre les collaborateurs. Les réseaux, qui sont déjà en train de s’établir au sein des entreprises, comme ils l’ont fait dans la sphère privée permettent de renouveler les moyens de partager l’information et d’entrer en relation, afin d’amplifier la notion de collaboration, au point de la réelle collaboration physique.