Twitter

Les 100 plus grosses entreprises mondiales utilisent les réseaux sociaux et vous ?

1

Selon le classement des 100 plus grosses entreprises mondiales réalisées par Fortune en 2009 et une étude menée par l’agence Burson-Marsteller en 2010, les réseaux sociaux de type facebook, twitter ou encore les blogs sont de plus en plus utiliser.

Petit tour du monde sur ces 100 entreprises :

  • 29 sont aux USA,
  • 48 en Europe,
  • le reste réparti entre l’Asie Pacifique et l’Amérique latine.

Quels sont les réseaux sociaux les plus utilisés ?

Facebook : 69% des entreprises aux États-Unis, et 52% en Europe ont une page « fan ». Et parmi elles, seulement 60% l’animent réellement.

Twitter : 71% en Europe s’en servent, avec en moyenne 27 tweets par semaine. La moyenne de «followers» est de 1489 pour chaque entreprise qui suit elle-même 731 autres utilisateurs.

YouTube : ne compte qu’une entreprise sur 2 ayant un compte (dont 68% réellement actives).

Les blogs : Moins utilisés de part le temps qu’il faut pour les administrer sont plus actif en Asie-Pacifique (50%) qu’aux USA (34%) et surtout qu’en Europe (25%).
Le nombre moyen de billets mensuel est de 7.

Et vous utilisez-vous les réseaux sociaux pour faire connaitre votre entreprise ?

Forum Php 2010 2ème journée

3

Deuxième journée du forum qui a débuté (pour moi) sur une super présentation du framework Symfony.

Introduction à symfony (Hugo Hamon)

Tout d’abord, présentation du framework, son histoire, ses commandes utiles, son arborescence bien pensée. Le framework est basé sur le modèle MVC et met à disposition des développeurs tout un tas d’outils :

  • Configuration des URLs via des fichier yaml,
  • Possibilité d’utiliser Propel ou Doctrine pour la gestion de BDD,
  • Gestion des formulaires simplifiées,
  • Gestion d’authentification et des droits,
  • Gestion des normes i18n et l10n pour les langues,
  • Génération de BackOffice.
  • Gestion de l’envoi des mails avec la librairie swiftmailer qui gère les files d’attentes.

Le framework est très sécurisé, notamment contre les failles XSS et les injections SQL. Il est même possible (et recommandé) d’exposer qu’un seul dossier de l’application au web en modifiant la config Apache.

Il y a un millier de plugins disponibles pour apporter de nouvelles fonctionnalités.

Des frameworks pour les tests unitaires et fonctionnels sont incorporés et facilite la vie des développeurs.

Un inconvénient du framework est qu’il est très gourmand en ressources. Pour palier à ce problème il existe une batterie d’accessoires comme le cache APC, le cache de config yaml et le cache de requête SQL Doctrine.

La communauté est énorme et par conséquent on peut retrouver énormément de ressources sur la toile.

Quelques mots sur Symfony 2. Il utilisera nécesserement php 5.3 et utilisera un conteneur d’injection de dépendances qui permettra entre autre d’instancier uniquement les objets que l’on désire et donc de gagner en mémoire.

Introduction à Zend Framework (Gauthier Delamarre)

Contrairement à la précédente, j’ai trouvé beaucoup moins intéressant cette conférence.

Par principe nous avons eu droit à une présentation de l’histoire du Framework et son fonctionnement. Comme Symfony il utilise un design MVC et exploite au mieux php 5. Le couplage du code est faible et cela donne une extrême aisance aux développeurs.

ZF met à disposition un ensemble de fonctionnalités (Zend_Form, Zend_Db, Zend_ACl).

Le script Zf.sh (ou zf.bat pour les windows) permet, tout comme symfony, de créer sa structure de code. ZF met aussi à disposition une gestion d’erreurs qui récupère toutes les exceptions soulevées.

ZF 2 est prévu pour bientôt. Il sera lui aussi basé sur php 5.3 et il y aura normalement un moyen «facile» de faire migrer son code depuis l’ancienne version.

Et maintenant direction les nuages ;)

Le Cloud Computing pour PHP (Guillaume Plessis)

Un interlocuteur très captivant nous attendait à cette conférence.

Le cloud est très en vogue en ce moment mais suscite beaucoup d’interrogations.

Il existe 3 modèles de Cloud :

IaaS : Infrastructure As A Service

Souvent basé sur la virtualisation, il s’agit en fait d’instances virtuelles jetables type Amazon que l’on utilise lorsque la demande est trop élevée en terme de montée en charge. Les avantages d’une telle solution sont que le système est totalement scalable. Les coûts sont ajouté avec en général une facturation à l’heure utilisée. De même on se décharge de la gestion du matériel. Cependant il est indispensable d’avoir un architecte pour gérer l’ensemble.

Dans tout ceci Php joue un rôle de pilotage (ex durant la conférence avec Amazon et quelques lignes de codes).

D’autres acteurs sont sur le marché : RockSpace, Gandi, SoPrivé

PaaS : Platform As A Sevice

C’est un serveur d’application clé en main. Ici on ajoute la couche logiciel système c’est à dire que les offres sont dédiées à un certain langage.

Les acteurs dans le milieu sont Heroku, Google App Engine, Windows Azure et bientôt Baobapp (Inscription gratuite pour la beta : http://www.baobapp.com Profitez-en !)

SaaS : Software As A Service

On ajoute encore une couche, cette fois-ci la couche application. C’est en général des applications dédiées en ligne (ex : Gmail).

Dans le cas de SaaS le language Php est assez restreint il possède juste un rôle de pilotage (exemple avec Zend_GData et Google Apps).

Le cloud c’est bien, mais attention à quelques points :

  • Pas de support,
  • Attention à la sécurité, les données se «baladent» sur la toile,
  • Grosse dépendance vis à vis des fournisseurs, attention au taux d’indisponibilité

Le conseil de Guillaume est d’avoir un système hybride et donc des applications php capables d’être utilisées sur tous les types de cloud. Bien entendu cela nécessite un grand travail de réflexion avant d’avoir son application «cloud ready» ;)

Suivi de qualité – PIC, Plate-forme d’Intégration Continue (Gabriele Santini)

Présentation d’un membre de chez SQLi sur le travail qu’ils ont mené sur un projet de la Gendarmerie nationale.

Mr Santini a commencé par mettre  en avant toute la phase de réflexion qu’ils ont mené. Notamment de gros problèmes de code et de régressions au moment des livraisons. De même beaucoup de problèmes de maintenance sur l’application.

Une fois leur travail de réflexion terminé ils ont mis en place une plateforme d’intégration continue basée sur PhpUnderControl avec un ensemble de tests unitaires et fonctionnels exécutés à chaque build de l’application. Une grosse infrastructure a été mis en place pour l’occasion avec séparation des rôles sur les serveurs : seveur d’intégration, serveur PIC, serveur de versionning… L’objectif étant d’avoir un projet stable et sans régressions sur lequel la gendarmerie nationale peut avoir entièrement confiance. De même l’équipe doit avoir en temps réel des infos immédiates sur la structure du code.

Pour ce projet ils ont travaillé avec des partenaires comme Zend pour le côté structuration du code et AlterWay pour l’hébergement et la gestion des ressources matérielles.

Ils ont utilisé l’ensemble des modules présents dans PhpUnderControl (phpUnit, PMD, PHPCodeSniffer..) afin d’avoir des rapports quotidiens en xml adaptables en graph.

L’installation a été très difficile (cela me rappelle de bon souvenir chez Applibox ;) ) avec une documentation d’installation dépassant les 100 pages ! Ils ont aussi développé un applicatif afin d’avoir aussi des résultats sur les performances des équipes.

L’ensemble a été «débianisé» de manière à ce que tout leur travaille s’installe en deux lignes de commandes (pas bête !).

A ce jour l’application n’est pas totalement livrée mais est en phase de test. Les risques devraient être mieux maitrisés et les équipes ont gagné en compétence de façon extraordinaire.

Certains parlent de migrer l’application sous Hudson avec l’utilisation du module Sonar.

HTML 5 : prêt à l’usage ? (Stéphane Deschamps, Julien Wajsberg)

Une présentation fort intéressante ayant pour but de faire le point sur cette nouvelle technologie dont tout le monde parle. Nous avons pu ainsi aborder rapidemment quelques notions :

  • Possibilité d’utiliser des balises de structure (<header></header>..) et non plus des divs,
  • Il existe des indicateurs de progression (barres de chargement),
  • Apparition de nouveaux champs de type date, tel.. qui s’avère très utiles (exemple un Champ Téléphone sur Iphone affiche le clavier numérique),
  • De même il est possible de donner des attributs de validation à ces nouveaux champs,
  • Possibilité d’utiliser des canvas,
  • Gestion Audio, Vidéo,
  • Possibilité d’utiliser des bases de données côté client (je ne me souviens plus du nom :( )

Le bon conseil est de commencer à « saupoudrer » nos sites d’html5, même si les navigateurs ne le gère pas tous, le code est conçu de telle manière que celà ne peut pas nuire à un site (un champ téléphone sera transformer en champ texte sur IE6).

Présentation de Doctrine 2 (Juozas Kaziukenas)

Salle comble pour la présentation de Juozas. Full english bien entendu ! Voilà ce qu’il en est resté :

Juozas a mis en avant le fait que Doctrine 1 était basé sur Active Record et que celà était très lent ! Malgré ceci Doctrine 1 est à ce jour et selon lui le meilleur ORM. Cette version était aussi très facile d’utilisation et surtout très stable.

Dans la version 2 tout est revu. Il est nécessaire d’utiliser php 5.3. Le découplage est parfait : «Doctrine2 is more clever than you» :)

Le fonctionnement est basé sur JPA 2 et donc fortement inspiré de Java.

4 points importants :

  • Utilisation de Common : Collection de classe de caching event. Avec le passage d’information directement dans les commentaires comme dans Symfony.
  • Utilisation de DBAL
  • EntityManager : Plus besoins du «extends» pour les classes Model. On utilise directement un composant EntityManager pour traiter les données. De ce fait il est aussi plus simple de réaliser des tests unitaires sur les classes models. Grâce à ce procéder une seule transaction peut générer un grand nombre de requêtes.
  • ODM NoSQL: Enfin il est aussi possible de lier des objets à une base NoSQL comme MongoDB par exemple en utilisant le composant DocumentManager.

La migration de 1 vers 2 risque d’être difficile et le refactoring sera nécessaire.

APC & Memcached the High Performance Duo (Ilia Alshanetsky)

Encore une fois une conférence de qualité (toujours in english ;) ). Ilia nous a présenté APC et Memcached. Voici ce que j’ai pu retenir :

APC est très simple à utiliser, stable et puissant. Cependant il n’est utilisable que pour Php, seulement en local. De plus il met dans le même panier le cache d’upcode et le cache utilisateur.

Memcached est une amélioration de Memcache. Comme APC il peut directement être utilisé depuis le code PHP. Il est cependant utilisé uniquement pour le cache Utilisateur. Il est aussi capable de gérer plusieurs serveurs en utilisant des sockets (et non pas le protocole TCP).

Memcached peut aussi utiliser IgBinary qui permet de sérialiser le code. Cet outil permet de gagner 45% de rapidité par rapport aux méthodes PHP Classique. A l’inverse d’APC il est aussi utilisable par d’autres langages.

State of the MySQL Ecosystem (Kaj Arnö & Rasmus Johansson)

Je n’ai pu assister qu’à la moitié de cette conférence (mon train m’attendait :) ). Comme pour l’ouverture, gros problème d’affichage des slides, donc uniquement basé sur l’écoute. Kaj Arnö (SkySQL) a mis en avant le statut de Mysql depuis sont « transfert » chez Oracle.

Présentation des divers partenaires et des autres technos comme MariaDb.

The End

Fin de ce forum. Superbe édition, avec beaucoup de retours d’expérience très intéressants. Merci l’AFUP !

Forum PHP 2010 : 1ère journée

1

Nous voici donc le jour du fameux Forum PHP.

Après quelques embuches sur le parcours, je suis arrivé entier à la Cité des Sciences et de l’industrie ou attendait toute l’équipe AFUP pour nous remettre nos badges et un petit sac rempli de choses « phpunny ».

Le temps de poser la veste et j’arrive juste après la KeyNote d’ouverture. Pour la présentation de Mr Rasmus Lerdorf (Le créateur de Php lui même).

PHP, son ecosystème : passé, présent et futur (Rasmus Lerdorf)

Début difficile avec des problèmes d’ordinateurs pendant une petite demi-heure, Mr PHP nous a présenté son parcours et l’ensemble des versions de php en relatant pour chacune d’elles les évolutions majeures.

Aux questions concernant l’avenir,  PHP a atteint selon lui sa maturité et son évolution (PHP 6) s’annonce difficile. Notamment dû à un manque de développeurs et à la gestion unicode pas super nécessaire..

Industrialisation PHP, l’exemple de Canal+ (Raphaël Carles)

Cette conférence a été très intéressante. Nous avons appris comment la société Interakting à utiliser l’industrilation du php afin de répondre aux besoins de la société Canal +.

Ceux-ci sont énormes, le taux de défaillance doit être faible avec des grands pics de visites et une multitude de sites à gérer. Pour celà la société Interacting à utiliser divers outils comme la virtualisation, la sélection de frameworks connus et de plateforme comme EzPublish et ZendPlateform. Beaucoup d’audits de sécurité et d’audits d’experts php (société Zend) afin d’obtenir des délais corrects avec un rendu de qualité (10 livraisons par semaine).

L’ensemble des applications est surveillé par un système de monitoring et des tests de montée en charge.

Le nombre de livraisons étant important ils utilisent un outil de workflow relié à chaque personne susceptible de valider la livraison. Ils gagnent ainsi un temps considérable.

Enfin pour terminer, ils sont en train de tester Hudson comme plateforme d’intégration continue.

Ligne de commande sous Linux : effrayant ? Non : indispensable ! (Pascal Martin)

Un petit passage dans cette conférence reprenant l’ensemble des commandes utiles linux. N’apprenant pas énormément plus, j’ai décidé de migrer pour la conf Prestathop.

e-commerce : Prestashop (Alain Folletête & Lucas Cherifi)

Présentation de la plateforme et surtout des dernières fonctionnalités. Etant arrivé en cours de route voici ce que j’ai retenu :

  • Prestashop met à disposition des développeurs des WebServices,
  • Gros boulot côté performances :
    • Nombre de requêtes divisé par 2 sur la Homepage,
    • Possibilité de mettre en place de la réplication SQL,
    • Possibilité de configurer memcache.
  • Travail aussi sur les perfomances navigateurs :
    • Objectif améliorer le google Page Speed à 98 dans la version 1.4,
    • Possibilité d’utiliser des serveurs de média différents pour les css, javascripts..
    • Smart Cache comme sous EzPublish,
    • Compression de css et JS.
  • Back Office Themable
  • Système d’onglet du Back Office revu
  • Facilité de modification du core. Un dossier est prévu à cet effet en surchageant simplement les classes.

A la question « Avez-vous une partie CMS efficace ? », Les intervenant ont répondu que oui et un système très simple à utiliser. Peut être plus simple que celle de magento !

Déjeuner

Petit break Quick avec la team de la Ferme du Web et M6 Web et direction la conférence sur Magento.

Magento, un framework de E-Commerce (Hubert Desmarest, Guillaume Babik & Roy Rubin !)

Un peu déçu de cette présentation mis à part l’intervention du fondateur Roy Rubin. Les interlocuteurs ont présentés les caractéristiques de Magento.

Magento est ainsi construit à l’aide du Zend Framework et sur le modèle EAV.

L’architecture de l’applicaition est modulaire et il est possible de surcharger les modules existants afin de les utiliser/modifier.

Petite présentation des avantages :

  • Modèle très souple,
  • Utilisation avec un large choix possible de types de catalogues produits,
  • Vente croisée, incitative.. génial pour les marketeux qui ont la main directement sur le backoffice.

Inconvénients :

  • Solution peu documentée,
  • Difficile à prendre en main (4 mois minimum pour un bon développeur),
  • Il faut un hébergement adapté à la solution. Le modèle EAV nécessite beaucoup de ressources pour l’accès en base.

Nous avons eu droit ensuite à la présentation d’un cas, celui de la start-up SmartBox. Il me semble que c’était la même présentation que pour le Bargento ? Puis à la présentation des projets futurs, notamment l’apparition d’application mobile, bref rien de nouveau à se mettre sous la dent ;)

Comprendre pour choisir son hébergement (Sébastien Lucas)

Petit tour ensuite dans cette conférence dont le but était d’aider à choisir un bon hébergement pour son application web. Rien de bien spécifique mis à part quelques conseils et une démarcation des offres d’infrastuctures (type Ovh) et des offres de Services (Type Alterway) ou les sociétés sont là pour amener un réel service à l’entreprise et la conseiller. Un petit chiffre marquant : un taux de disponibilité de 99% correspond à une indisponibilité des sites pendant 7h18 dans un mois. Soyez donc prudent et visez les 99,99% ;)

Optimisation des performances LAMP (Guillaume Plessis & Cyril Pierre de Geyer)

Conférence super intéressante sur les optimisations des solutions LAMP. En parallèle une présentation d’un site drupal hébergé sur Amazon pour l’occasion. Les intervenants ont ajoutés des optimisations et fait augmenter le nombre de requêtes possibles sur le site drupal.

Ainsi au premier test le nombre de requêtes par seconde sans optimisations était de 15 requêtes.

Après l’ajout de cache d’upcode avec des solutions comme APC, Xcache et Zend Optimizer le nombre de requêtes est passé à 45 (x3) !

Ensuite à l’aide des optimisations spécifiées par Yahoo (Compression Gzip, Expiration dans les en têtes, Etags, Server limit..) nous sommes arrivés à 55 requêtes.

Un tas de conseils a été donné durant cette conférence, en voici quelques uns :

  • Utiliser des profiler pour améliorer les performances des applications,
  • Utiliser des caches de code,
  • Desinstaller les modules apache et extensions linux qui ne sont pas utilisées,
  • Selon l’usage (serveur medias) utiliser des serveur comme nGinx,
  • Améliorer la BDD et utiliser un noyau Linux 2.6 en 64 bits pour allouer au mieux la mémoire de mysql (limiter sous les autres noyaux).

Introduction au monde No-SQL (Damien Tournoud)

Pour terminer je suis aller voir la conférence sur les technos dites « No-SQL ». Damien Tournoud nous a montré les avantages de Mongo DB. Base de données non relationnelle ou l’on stocke les objets directement (sans structure relationnelle).  Cet outil va être utilisé dans la nouvelle de version de Drupal qui devrait être sortie d’ici la fin de l’année.

D’autres outils on été présentés ; couchDb, pheantalk, Redis.. L’attention n’était plus trop présente ;)

Voilà pour cette première journée. Je pense avoir fait un résumé assez succinct montrant les principales idées dévoilées. Il est temps d’aller se coucher pour une présentation du framwork Symfony demain à 9h ;)

N’oubliez pas rendez vous sur notre twitter ;)

Compter les clics sur vos liens dans Twitter grâce à bit.ly

0

Si vous vous servez de Twitter à des fins de e-marketing ou de communication web pour votre entreprise, il est important de pouvoir suivre le nombre de clics sur les liens que vous placez en twittant. Pour cela, une solution relativement simple (si c’est trop compliqué faites appel à nous) de d’utiliser les services conjoints de Twitterfeed et bit.ly (qui sert à raccourcir les URLs, pour respecter la règle des 140 caractères dans Twitter) :

  1. Créez vous un compte dans bit.ly (sign up) en indiquant aussi votre nom d’utilisateur et votre mot de passe Twitter (champs à droite). Si vous n’avez pas indiqué les identifiants Twitter au moment de l’inscription (pas très intuitif), vous pouvez le faire après en allant dans votre compte « Account ».
  2. Notez dans votre compte votre API Key (ou laissez la page ouverte), vous en aurez besoin dans Twitterfeed pour lier les deux.
  3. Créez un compte dans Twitterfeed si ce n’est pas encore fait (et créez vos flux).
  4. Depuis votre « Dashboard », éditez votre flux. Afficher les paramètres avancés, et vérifiez que vous utilisez bit.ly pour poster vos liens, saisissez votre API Key et votre login bit.ly dans « bit.ly settings » (Accessible depuis « Advanced Settings »), puis sauvegardez.
Haut de page