Fan de Web, développeur, admin système, amateur de photo et apprenti entrepreneur.

Text

Un billet rapide pour vous faire partager un fonctionnement du YAML qui peut générer quelques résultats surprenants !

Prenons un fichier app.yml :

all:

  foo:

    bar: [1, 2, 3, 4, 5]

test:

  foo

    bar: [a, b, c]

Une fois mon application lancée en test, je m’attends à ce que sfConfig::get(‘app_foo_bar’) me retourne array(‘a’, ‘b’, ‘c’) ? 

Et bien non ! J’obtiens comme retour array(‘a’, ‘b’, ‘c’, 4, 5) … surprenant non ?

Pourtant, en changeant le formatage de mon YAML, on comprend mieux ce qu’il se passe :

all:

  foo:

    bar: 

      - 1

      - 2

      - 3

      - 4

      - 5

test:

  foo

    bar: 

      - a

      - b

      - c

L’environnement de test va donc seulement surcharger les 3 premières valeurs de la configuration foo_bar, laissant les valeurs 4 et 5 dans mon tableau.

Faites donc bien attention aux syntaxes dans les fichiers YAML, ça vous évitera des surprises !

Posted via email from Un blog ? Pour quoi faire ? | Comment »

Text

Il y a encore deux ans, développer une application mobile se résumait à coder une application pour Iphone, véritable révolution du mobile et des places de marché.

Depuis, d’autres acteurs importants se sont également lancés sur ce marché, créant un véritable cauchemar pour les développeurs. En effet, que ce soit Apple, Google, BlackBerry, Nokia, Palm ou maintenant Microsoft, chaque plateforme possède son propre écosystème d’outils et d’APIs, obligeant les développeurs à devoir faire des choix ou à coder plusieurs fois le même produit.

Le but de tout cela, pour les entreprises derrières ces places de marché, est bien évidemment de garder les développeurs sur leur plateforme pour que leurs applications attirent plus de consommateurs. Mais du point de vue du créateur d’application, l’intérêt est, au contraire, de publier sur un maximum d’environnement afin de maximiser ses revenues.

 

Un langage pour les gouverner tous

Heureusement, cette demande de plus en plus importante de la communauté commence à être entendue et des solutions arrivent. Adobe l’avait compris assez rapidement en proposant la compilation d’applications IPhone depuis son système AIR … c’était sans compter sur la faculté d’Apple à verrouiller ses systèmes.

D’autres entreprises, moins importante, se sont également fait une place comme Appcelerator avec leur Titanium ou encore le projet PhoneGap. Ces produits se positionnent comme des frameworks qui permettent, à partir du même code, de créer des applications sur plusieurs plateformes.

Un parenthèse sur ces solutions : elles sont pour la plupart une extension de technologie Web (HTML5, Flash, JavaScript) ce qui montre un peu plus le rapprochement des technologies mobiles et Web, le chaînons manquant étant les WebApp, encore bien trop méconnues, mais ou là encore, Apple possède une grande longueur d’avance.

Titanium, la solution toute en un

Commençons avec Appcelerator dont le produit Titanium Mobile est surement le plus avancé sur ce sujet. Ce dernier se présente sous la forme d’un framework JavaScript qui donne accès aux APIs d’IOS et d’Android. Une fois l’application codée, le programme s’occupe, via un compilateur local ou un service en cloud, de transcoder le JavaScript en langage natif de chaque plateforme. On obtient exactement le même résultat qu’une application codée nativement. Le framework est gratuit et Appcelerator propose des formations vidéos payantes, ce qui explique la documentation limitée et une prise en main difficile.

Il est également bon de noter qu’ils proposent également un Titanium Desktop qui reprend le même principe mais pour les ordinateurs personnels sous Windows, Mac ou Linux.

PhoneGap, un navigateur dans ton application

Autre solution mais avec un fonctionnement complètement différent : PhoneGap. Le projet est open-source et supporté par une entreprise qui propose du développement pour mobile ainsi qu’un tout nouveau service de compilation en cloud.

Ici, le fonctionnement est totalement différent et se repose simplement sur le moteur WebKit embarqué sur IOS et Android. L’application ne fait que lancer un navigateur sans décoration vers un répertoire local contenant les fichiers HTML, CSS et JavaScript. Il n’y a donc pas de compilation dans ce cas. Ce fonctionnement permet de créer des applications très rapidement et sans limite, car elles sont conçues comme des sites Internet. La simplicité de la solution permet également un fonctionnement sur beaucoup plus de plateformes, on retrouve donc, en plus d’IOS et d’Android, BlackBerry, Symbian, Palm et bientôt Microsoft.

Un inconvenant découle directement de ce fonctionnement très simple, les performances sont bien moins bonnes qu’une application native et aspect visuel doit être entièrement fait à la main, produisant souvent des applications peu attractives.

Et les autres

Je ne vais pas m’étendre plus loin sur les autres solutions car je ne les connais pas assez. Il est à parier que ces produits sont l’avenir du développement mobile car même si elle n’apporte pas une réponse à toutes les problématiques - et là je pense aux jeux vidéo sur mobile - elles permettent de déployer rapidement des applications sur un maximum de médias pour un cout faible, ce qui conviendra à la majorité des développeurs mobiles.

Apple a longtemps lutté contre ces solutions, avec l’exemple le plus marquant d’Adobe, ce qui a fait douter les développeurs sur la pérennité de ces technologies. Mais depuis leur dernier SDK, le géant à la pomme autorise les applications codé depuis d’autres langages, ce qui ouvre enfin la grande porte aux développements multi-plateforme.

 

Posted via email from Un blog ? Pour quoi faire ? | Comment »

Text

Et voici un nouveau billet sur ce blog un peu mis de côté … Syndrome d’un mec qui cherche un sujet pour écrire … et le sujet, justement, je l’ai trouvé !

En dehors de mes talents de geek, je suis également président d’une association de musique et la semaine dernière a eu lieu une réunion avec nos trois professeurs. Une occasion rêvée pour mettre en pratique ce que je ne suis pas arrivé à faire dans mon travail : l’agilité.

Je me suis donc amusé à tester quelques méthodes Scrum dans un environnement extérieur au développement informatique et les résultats sont très intéressants.

Première constatation, ou plutôt confirmation, l’agilité marche très bien partout et mes trois interlocuteurs ont même montrés un très grand intérêt au fonctionnement de cette réunion.

Mise en place

J’ai dû adapter légèrement quelques règles, car dans une école de musique, tout le monde est très indépendant et les horaires sont très variés. Impossible d’appliquer un daily Scrum ou une notion de sprint (d’ailleurs, il n’y a pas de réel notion d’objectif). On tente donc de se réunir pendant chaque vacances scolaires, seul moment ou tout le monde est disponible, ce qui nous donne environ deux mois entre chaque rendez-vous.

Donc après une rapide présentation du fonctionnement, j’ai récupéré le déroulement d’un daily Scrum et d’une Sprint rétrospective :

  • Chaque personne parle chacun son tour sans intervenir dans les propos des autres. 
  • Chaque personne répond à trois questions : ce que j’ai fait, ce que je vais faire, quels sont mes problèmes ? 
  • Une fois que tout le monde est passé, on regroupe les problèmes
  • On procède à la recherche collective de solutions

Je suis vite arrivé à une constatation, il est beaucoup plus facile pour un animateur d’interrompre une personne qui s’épanche trop sur un sujet technique qu’une personne qui vous parle de pédagogie avec passion. Résultat, un retard énorme par rapport à ce que j’avais prévu. Je n’avais pas voulu faire de timebox pour cette réunion afin de ne pas paraître trop strict, mais cela aurait surement évité ce problème  

 

Autre problème en lien direct avec le point précédent, nous n’avons pas pu faire correctement le regroupement des problèmes et leurs résolutions collectives. La réunion s’est donc terminé avec encore beaucoup de points en suspends ce qui se révèle très embêtant sachant qui faudra attendre deux mois pour en rediscuter.

Conclusion

Ce que je retire de cette expérience :

  • Les méthodes agiles s’adapte parfaitement dans n’importe quelle situation du moment où il faut travailler à plusieurs
  • Beaucoup de personnes sont en demande d’organisation et d’amélioration dans leur travail collectif. 
  • Il est important d’appliquer des limites de temps au risque de perdre le contrôle de la réunion. 

Nouvelle tentative et amélioration dans deux mois :)  

Posted via email from Un blog ? Pour quoi faire ? | Comment »

Text

Un nouveau billet avec pas mal de retard sur la conférence Symfony Live, planning d’été oblige :)

Cette conférence avait l’originalité de se dérouler entièrement en ligne, un format de plus en plus à la mode qui a de nombreux avantages. Plus besoin de se déplacer et donc des frais réduits, une très bonne idée pour rendre les conférences accessibles au plus grand nombre.

Petite parenthèse technique, j’aurais aimé que les différents intervenants investissent dans du matériel de qualité car le résultat était très inégal.

Comme j’en parlais dans un précèdent billet, la direction que prend Symfony dans sa mouture 2.0 me laisse un peu perplexe et c’est pour cela que je tenais à participer à cette conférence.

State of Symfony (Fabien Potencier)

On commence donc avec Fabien qui nous parle justement de l’état d’avancement de Symfony2 et malheureusement il n’y avait pas grand-chose à se mettre sous la dent.

Il nous présente surtout des composants que l’on connaissait déjà pour peu qu’on le suive sur Twitter, nous avons donc :

On apprend également que la philosophie Symfony2 ne bougera plus même si le code n’est pas encore stable, qu’une version finale sera disponible avant la fin de l’année et que, pour le moment, aucun plan de migration pour les versions Symfony 1.x n’est prévu.

J’en reviens sur ce point, qui me semble pourtant important, dans des entreprises comme la mienne où 90% du chiffre d’affaire passe par des projets Symfony, la question de la migration est un point vital sachant que la fin du support Symfony 1.4 est planifié dans 2 ans et que le temps de migration de certains gros projets n’est pas négligeable. J’estime que, malheureusement, beaucoup de société vont se retrouver trop juste pour migrer leur produit en 2.0 et que beaucoup tourneront encore sous 1.4 après la fin du support.

J’ai été assez déçu de cette intervention, j’en attendais beaucoup d’éclaircissements mais rien de réellement neuf n’a été présenté.

Doctrine 2 (Johnathan Wage)

Un autre projet avec lequel j’ai quelques soucis, l’intervention m’intéressait donc beaucoup.

Johnathan Wage nous présente donc la version 2 de cet ORM avec comme grande avancé l’apparition d’un ODM (Object Document Mapper) qui permet de manipuler des documents issus de base NoSQL comme MongoDB. Je trouve cette fonctionnalité très prometteuse car le NoSQL se prête très bien à l’utilisation que l’on a des ORMs dans PHP.

Là où les choses se compliquent, c’est le nouveau système de “configuration” par annotation. J’ai vraiment du mal avec ce concept pour plusieurs raisons : l’absence de support directe dans PHP, dans les IDEs et le cauchemar pour le débogage. Autre point surprenant, l’obligation d’utiliser un contrôleur Doctrine pour pouvoir profiter de l’ORM, comment ce système va fonctionner lorsqu’on voudra utiliser un autre contrôleur en même temps ?

Enfin, on finit avec une présentation du Database Migration System, un outil qui permet de mettre à jour la base de données en suivant les modifications du schéma Doctrine. Même si je comprends l’idée de facilitation de la gestion de sa base de données pour des développeurs ne voulant pas toucher à leur serveur MySQL, ce genre d’automatisation peut être très dangereux en terme de coupure de service et de pertes de données. L’outil devrai, selon moi, se limiter à la génération des fichiers SQL et ne pas proposer l’exécution de ces derniers.

Test (Fabien Potencier)

On continue avec le nouveau module de test de Symfony2 et l’intégration du célèbre PHPUnit. Cela va apporter une intégration plus facile de ses projets Symfony2 dans les différents outils d’intégration continue et c’est une très bonne chose. On retrouve ici les composants présentés par Fabien en début de conférence et qui servent pour les tests fonctionnels.

On découvre aussi une fonctionnalité très pratique de PHPUnit, l’isolation des processus via un fork() pour empêcher les tests de tuer l’ensemble du système en cas d’erreurs fatales et de paralléliser ces derniers afin accélérer le processus. D’ailleurs, malgré l’affirmation de Fabien sur le fonctionnement de ce système sur Windows, cela risque de poser par mal de problème car le support du fork() n’est pas disponible sur cet environnement.

Fabien nous parle ensuite du très intéressant profiler qui va permettre de tester les performances de son application avec les temps d’exécutions et des statistiques sur les appels à la base de données, etc…

Finalement, une petite pensée pour le projet Sismo clairement abandonné.

Cache (Fabien Potencier)

Sûrement le point qui a fait le plus de bruits sur Internet, la présentation du nouveau système de cache de Symfony2.

Fabien commence très fort avec des benchmark : Symfony2 traitent 5 fois plus de requêtes que Symfony 1 … Impressionnant mais complètement inutilisable hors contexte ! On aurait aimé avoir les conditions du test, les sources de l’application qui a servi à les réaliser.

Vient ensuite la clé de ces statistiques incroyables : l’utilisation d’un reverse proxy directement dans le moteur Symfony2. L’idée est très intéressante même si je doute qu’elle soit réellement utilisée. Les sites assez gros pour être confrontés à la question de la cache auront déjà intégrés des solutions identiques au niveau de leurs serveurs HTTP, les autres n’auront sûrement pas besoin de ce genre de solutions.

Avec l’arrivée de ce reverse proxy, on découvre l’utilisation du protocole ESI d’Akamai qui permet de mettre en cache que quelques portions de ses pages et ainsi d’optimiser au mieux la gestion des éléments en caches. Il faut avouer qu’à part Akamai, à l’origine de la spécification, il y a encore peu de logiciel qui supportent complètement ce mode, limitant donc son utilisation.

Form FrameWork (Bernhard Schussek)

Le module qui me pose le plus de problèmes et qui me fait perdre le plus de temps dans mes applications Symfony actuelles est sûrement le Form FrameWork. Parti d’une très bonne idée, l’ensemble devient ingérable dès que l’on cherche à réaliser des formulaires un peu exotiques. J’attendais donc cette présentation espérant une remise à plat.

On retrouve une liste de Widget intéressant allant des classiques Text, Password, Hidden, etc… à ceux plus typés comme les Integer, Date, Percent, etc… L’ensemble est cohérent et l’utilisation est très agréable. On découvre également les Fields Group et Fields Collection qui permettent une gestion très simple des relations 1-n et n-n dans ces formulaires.

Vient ensuite la gestion des validations et là c’est la catastrophe ! On retrouve ici le fameux système d’annotation mais dans une version encore plus sournoise car elle embarque un pseudo langage … des heures de torture pour déboguer en perspective :)

Propel (François Zaninotto)

La surprise de cette conférence. Avec tout le buzz autour de Doctrine 2, je commençais à me faire à l’idée de voir disparaître cet ORM que j’utilise pourtant tous les jours.

On découvre la version 1.5 qui apporte pas mal de bonne idée tout en restant compatible 1.3 et 1.4. Il semble que les équipes de Propel ont à coeur d’aider au mieux la migration des projets anciens vers leurs nouvelles versions, chose que j’aurai aimé retrouver avec Symfony2.

Niveau requête, le Model Queries vient remplacer le vieillissant Criteria par un système découlant naturellement du plugin DbFinder de Francois Zaninotto, maintenant à la tête du projet Propel.

L’apparition de la Concrete Table dans Propel va permettre de gérer des héritages entre les tables et ainsi pourvoir créer des structures de bases qui colleront parfaitement à nos modèles PHP.

On trouve également l’Aggregate Table qui fonctionne comme des Triggers très simple côté PHP. Je trouve l’idée très bonne car, malgré l’avantage des Triggers, je me suis toujours refusé à ajouter de la programmabilité dans ma base de données, je trouve donc ici un compromis très utile. Reste à savoir comment le système gérera les corruptions de table.

Conclusion

Je n’ai malheureusement pas trouvé les réponses que j’espérais dans cette conférence Symfony Live, au contraire, je me trouve à nouveau dans une situation de doute qui m’oblige à jeter un oeil sur d’autre FrameWork et d’autres langages car quitte à devoir reprendre nos projets à zéro, autant trouver quelque chose de neuf.
 
Je trouve de plus en plus de monde qui semble également douter de l’avenir de Symfony, ce qui me réconforte dans l’idée qu’il y a peut-être un autre avenir dans le PHP.
 
Affaire à suivre.

Posted via email from Un blog ? Pour quoi faire ? | Comment »

Text

Juste un billet rapide en espérant qu’un jour quelqu’un sera heureux de trouver ici ce que je n’ai pas pu trouver sur Internet.

J’ai amené Symfony dans mon entreprise il y a 3 ans maintenant et presque tous nos projets tournent avec. Pourtant, la gestion de la cache a toujours été un cauchemar.

Comme sûrement beaucoup de sites à gros trafic, nous travaillons avec des grappes de frontaux Web raccordés à un serveur NFS afin de distribuer les sources PHP.

Nous avons vite compris que mettre la cache Symfony sur un montage NFS était de la folie et c’est avec joie que nous avons accueilli l’arrivée de Symfony 1.1 et sa configuration du répertoire de cache, mais depuis, chaque “symfony cc” restait un moment délicat car il arrivait régulièrement qu’un serveur ne reconstruise pas sa cache correctement … et là, la page blanche, des alertes partout et des développeurs en train de faire des cc frénétiquement en surveillant la porte du patron.

Chose étrange, personne ne semble avoir le même problème, je me permets donc de contacter directement Sensio Labs (éditeur du Framework) qui m’explique que même en dehors de la cache, Symfony n’aime pas NFS et que pour une solution, il fallait mieux contacter leur service commercial (sic … mais je ne peux pas leur en vouloir :)). Je m’exécute donc et, dans l’urgence, je me débarrasse de nos serveurs NFS … c’est mieux, mais la cache continue de temps en temps à nous faire peur.

C’est seulement cette semaine, dans une ultime tentative, que je m’attaque à notre cache OPCODE : Xcache.

Il y a quelques années, Xcache était la référence de la cache OPCODE, rapide, simple, stable. Mais depuis, il faut l’avouer, le projet n’a pas vraiment évolué, pris de vitesse par APC qui s’impose aujourd’hui comme la solution de référence.

Avec APC, le miracle s’accomplit, j’ai beau faire des cc en masse, rien ne semble altérer la stabilité de notre application malgré des centaines de hits client.

Mais la véritable surprise, ce sont les performances : 30% de gain sur nos graphes CPU, il était vraiment temps de changer.

Conclusion, pour vos projets Symfony, oubliez NFS, copiez vos sources en local sur cache machine, oubliez Xcache, utilisez APC !

Et pour les curieux, voici la configuration APC retenue :

[apc] apc.enabled=1 ; 1 segments of 60Mo apc.shm_segments=1 apc.shm_size=60 ; No optimization apc.optimization=0 ; Never expire apc.ttl=0 apc.user_ttl=0 ; workaround for CLI apc.enable_cli=1 ; Symfony make lot of path lookups, try to optimize apc.include_once_override=1 apc.canonicalize=1 ; Wait 2 seconds to rebuild cache apc.file_update_protection=2

Posted via web from Un blog ? Pour quoi faire ? | Comment »

Text

Voici mon petit résumé de la conférence E1 qui s’est tenu à Toulon fin de semaine dernière.

C’était une grande première pour moi car je n’avais encore jamais eu l’occasion d’assister à ce genre d’évènement et je ne l’aurai sûrement pas fait si l’ami Sébastien ne m’avait pas poussé un peu. Je dois avouer que je ne suis pas déçu, l’ambiance était terrible, l’organisation au top et j’ai eu l’occasion de discuter avec quelques intervenants qui ont du déjà m’oublier depuis :)

Il en ressort une envie sans borne de me lancer à fond sur Internet, de sortir moi aussi mes idées, d’échanger, de partager et d’assister à d’autre évènement du même calibre !
Donc, qui dit première conférence, dit premier résumé … et le voilà :

Financement :
Premier atelier qui m’intéressait au plus haut point car si je veux moi aussi me lancer dans l’aventure Internet, c’est sûrement l’un des premiers problèmes que je vais rencontrer.

Interviennent Jean Christophe Capelli de FriendsClear et Pierre Olivier Carles qui ont l’air de connaître leurs affaires.
Ils nous parlent des différentes étapes de financement de sa start-up. De la Love Money sous forme de prêt par la famille, les amis ou les proches pour se lancer, en passant par les Business Angels par si “chevaliers blancs” que la légende le veut et en finissant par les VCs lorsque le projet arrive à maturité.

Ce que je retiens :
  • La Love Money est la bonne solution pour démarrer son projet même s’il est pas bon de faire rentrer n’importe qui.
  • Les BAs sont souvent des personnes en recherche de plans fiscaux pour réduire leurs ISF, dans ce cas, ils peuvent être plus bloquant qu’autre chose.
  • S’ils sont bons, ils peuvent par contre être d’une grande aide en vous ouvrant leurs réseaux et en vous conseillant pour votre business plan.
  • Toujours se lancer avec des associées avec qui on partage les mêmes valeurs si on veut éviter le clash au bout de 3 ans.
  • Penser à Pôle Emploi qui est le meilleur moyen de financer son lancement.
Ergonomie :
Deuxième atelier sur l’ergonomie des sites. Étant développeur, j’ai la fâcheuse tendance à négliger cette partie pourtant si important … petit cours de rattrapage :
  • Jamais de textes de moins de 12px, le 14px étant le mieux.
  • Penser au Fold : ce sont les 600 premiers pixels d’une page, ce que l’internaute voit en premier.
  • La taille moyenne des écrans : 1024x768.
  • S’inspirer du top 15 Alexia.
  • Le principe de la pyramide inversée : le plus important en haut.
  • Utiliser les persona: ce sont des clients virtuels qui représentent notre cible, il faut évaluer chaque modification en la confrontant à eux.
  • Faire des tests d’ergonomie maison: un PC, une webcam, un screencast et un proche, lui demander de dire tout haut ce qu’il fait. Très instructif.
  • Lorsqu’on propose un choix, toujours en mettre un en avant pour pas perdre le client.
  • Toujours mettre le label au-dessus des champs dans un formulaire.
  • Encore dans le formulaire : rassurer tout le temps le client, lui rappeler l’offre, les avantages.

Réseaux sociaux :
Encore un atelier ! Cette fois, on s’attaque aux fameux réseaux sociaux, domaine que je pensais maîtriser alors que j’ai tout à apprendre encore:
  • Ne jamais se fixer sur sois-même, être généraliste, parler de ce qu’il se passe dans le secteur.
  • Toujours garder des réserve de contenue, il faut produire régulièrement.
  • Laisser sa communauté s’auto-gérer.
  • Détecter les éléments moteurs de sa communauté et les mettre en avant.
  • Éviter les relances constante.
  • Permettre aux clients de facilement faire partager sa fierté de consommer son produit (Bouton “J’aime” en fin de commande).
  • Ne pas automatiser ses messages sur les réseaux, ne pas faire de liens entre les réseaux sociaux.
  • Penser aux vidéos Youtube, c’est un moyen simple de faire du référencement.

Application mobiles :
Un autre atelier sur un secteur qui me passionne en ce moment : les applications mobiles.
  • 7 millions de smartphones en France aujourd’hui soit 14% des téléphones, ça sera 45% en 2014.
  • Importance de la geolocalisation (ex: FourSquare).
  • Publier souvent des mises à jour pour remonter les téléchargements et donc la visibilité de son application.
  • Passer par des sociétés comme appVip qui accélèrent les téléchargements d’applications.

E-commerce :
Et pour finir une conférence sur l’E-commerce, un sujet qui ne me motive pas beaucoup, mais il est bon de se tenir au courant :
  • Il représente 3% des commerces en France (soit 16 000 sites).
  • 30% d’augmentation du nombre de nouveaux sites en 2009.
  • Un client multi-canal reporte plus qu’un client mono-canal.
  • Les boutique multi-canal (Interne + physique) ont une croissance 2 fois plus importante en 2010 que les sites Internet seuls.

Et voilà pour une journée bien remplie, me voici remonté pour une futur conférence !

Posted via email from Un blog ? Pour quoi faire ? | Comment »

Text

Voilà, maintenant que mon blog est sur Posterous, il est grand temps de réapprendre le web !

Ce week-end, j’étais à l‘E1 à Toulon et lors de l’atelier sur les réseaux sociaux, j’ai posé une question toute bête : comment bien utiliser les réseaux sociaux ?

Comme beaucoup, j’utilise les réseaux sociaux pour maximiser la diffusion de contenus sans l’adapter au réseau … être présent partout pour une meilleure visibilité.

Concrètement, j’ai un blog, qui publie automatiquement sur Twitter, Facebook, MySpace, etc… Je n’utilise que mon blog en pensant bêtement que, via les “notification” sur les différents réseaux, cela allait me ramener du monde sur le blog erreur

Comme me l’a expliqué François d’HelloTipi, chaque réseau a son écosysteme et doit donc être traité différemment et Frédéric  d’OverBlog de rajouter qu’il n’y a rien de plus d’affreux qu’un Twitter ou un Facebook qui ne font que renvoyer sur un blog.

C’est pourquoi j’ai décidé de changer ma façon de travailler, en commençant par faire le ménage dans mes réseaux : je vais me concentrer sur mon blog et Twitter, et si le temps me le permet, je m’attaquerai à Viadeo ou LinkedIn ( lequel choisir ? ).

Autre point, créer du contenu dédié au média : fini les retwitts et les petites découvertes qui envahissent mon blog !

Enfin, produire du contenu de qualité, je m’en doutais déjà, mais on ne peut pas se contenter de relayer de l’information.

Voilà le programme, me reste plus qu’à commencer, prochaine étape, un compte rendu de ce super E1 !

Posted via web from Un blog ? Pour quoi faire ? | Comment »

On comprend mieux pourquoi BP a tant de mal à boucher leur puit …

On comprend mieux pourquoi BP a tant de mal à boucher leur puit …

Et voila, c’est fini !

Et voila, c’est fini !

BP met le bordel partout avec son pétrole !

BP met le bordel partout avec son pétrole !