<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Christophe Le Bot &#187; Barcamp</title>
	<atom:link href="http://blog.christophelebot.fr/tag/barcamp/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.christophelebot.fr</link>
	<description>Pratique de la conception numérique</description>
	<lastBuildDate>Wed, 07 Sep 2011 19:28:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Barcamp PHP toulousain : la synthèse</title>
		<link>http://blog.christophelebot.fr/2009/11/05/barcamp-php-toulousain-la-synthese/</link>
		<comments>http://blog.christophelebot.fr/2009/11/05/barcamp-php-toulousain-la-synthese/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 23:22:29 +0000</pubDate>
		<dc:creator>Christophe</dc:creator>
				<category><![CDATA[Bases de données]]></category>
		<category><![CDATA[Bonnes pratiques]]></category>
		<category><![CDATA[Développement web]]></category>
		<category><![CDATA[Evénements]]></category>
		<category><![CDATA[Génie logiciel]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Inspiration]]></category>
		<category><![CDATA[Outils du développeur]]></category>
		<category><![CDATA[Programmation avancée]]></category>
		<category><![CDATA[Qualité]]></category>
		<category><![CDATA[Recherche et innovation]]></category>
		<category><![CDATA[Se former]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Serveurs]]></category>
		<category><![CDATA[AFUP]]></category>
		<category><![CDATA[Barcamp]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tests]]></category>

		<guid isPermaLink="false">http://blog.christophelebot.fr/?p=570</guid>
		<description><![CDATA[Jeudi dernier se tenait le Barcamp PHP Cheese &#38; Wine. Même si le vin et le fromage ont été très appréciés, nous n&#8217;étions pas venus (seulement) pour ça. Alors pour les absents qui ont eu tort de l&#8217;être, voici une petite synthèse de cette longue soirée. Un vrai barcamp Premier bon point : c&#8217;est un [...]]]></description>
			<content:encoded><![CDATA[<div class="asset-frame"><img class="alignnone size-medium wp-image-531" title="Bacrcamp PHP Toulouse" src="http://blog.christophelebot.fr/wp-content/uploads/2009/10/barcampPHP01-06629-420x251.jpg" alt="Bacrcamp PHP Toulouse" width="420" height="251" /></div>
<p>Jeudi dernier se tenait le <a title="Barcamp PHP à Toulouse le 29 octobre" href="/2009/10/06/barcamp-php-linagora-toulouse/">Barcamp PHP Cheese &amp; Wine</a>. Même si le vin et le fromage ont été très appréciés, nous n&#8217;étions pas venus (seulement) pour ça. Alors pour les absents qui ont eu tort de l&#8217;être, voici une petite synthèse de cette longue soirée.</p>
<h3>Un vrai barcamp</h3>
<p>Premier bon point : c&#8217;est un vrai barcamp où les participants se présentent et définissent le contenu des ateliers. Tous les barcamps ne respectent pas cette règle de base&#8230; Xavier Gorse, président de l&#8217;<a title="Site officiel de l'AFUP" href="http://www.afup.org/">AFUP</a>, a donc joué le rôle de &laquo;&nbsp;maître de cérémonie&nbsp;&raquo; pour établir le programme d&#8217;après les souhaits de chacun  :</p>
<ul>
<li>PHP et sécurité</li>
<li>PHP 5.3</li>
<li>Déploiement d&#8217;applications PHP</li>
<li>PHP et les bases de données &laquo;&nbsp;NoSQL&nbsp;&raquo;</li>
<li>Outillage PHP</li>
<li>PHP et testing</li>
<li>Frameworks PHP</li>
</ul>
<p>Pour ma part, j&#8217;ai participé aux ateliers :</p>
<ul>
<li>Déploiement d&#8217;applications PHP</li>
<li>PHP et les bases de données &laquo;&nbsp;NoSQL&nbsp;&raquo;</li>
<li>PHP et testing</li>
</ul>
<p>Je limite donc mon article à ces sujets, sachant que d&#8217;autres synthèses ont déjà été publiées :</p>
<ul>
<li><a title="Synthèse du Barcamp PHP toulousain" href="http://www.raphael-rougeron.com/post/2009/11/02/Synth%C3%A8se-du-Barcamp-PHP-toulousain">Synthèse du Barcamp PHP toulousain</a>, par Raphaël Rougeron</li>
<li><a title="Synthèse du Barcamp PHP toulousain" href="http://methylbro.titaxium.org/post/2009/11/04/synthese-du-barcamp-php-toulousain">Synthèse du Barcamp PHP toulousain</a>, par Thomas Gasc</li>
</ul>
<h3>Déploiement d&#8217;applications PHP</h3>
<p>Cet atelier a mis en évidence la <strong>difficulté de déployer des applications web</strong> en général (technologies nombreuses et environnement hétérogène). Tous les outils existants ont été passés en revue, du paquet Linux (.deb) aux outils spécifiques à PHP (<a title="Projet PEAR" href="http://pear.php.net/">PEAR</a>, <a title="Projet Phing" href="http://www.phing.info/">Phing</a>, <a title="Phar sur php.net" href="http://php.net/manual/fr/intro.phar.php">Phar</a>) en passant par des intermédiaires parfois plus adaptés (makefile, <a title="Puppet" href="http://reductivelabs.com/products/puppet/">Puppet</a>, <a title="Capistrano" href="http://www.capify.org/">Capistrano</a>, <a title="Projet Apache Ant" href="http://ant.apache.org/">Ant</a>). Deux groupes de participants étaient clairement représentés, avec des besoins très différents :</p>
<ul>
<li><strong>Déploiement d&#8217;une solution sur un parc important et hétérogène</strong> (cas des éditeurs de solutions, comme <a title="Linagora" href="http://www.linagora.com/">Linagora</a> avec <a title="Site officiel OBM" href="http://pro.obm.org/">OBM</a>)</li>
<li><strong>Déploiement d&#8217;un projet sur-mesure sur un ou quelques serveurs, mais très fréquemment et avec des contraintes d&#8217;intégration de contenus externes</strong> (cas des agences web, avec plusieurs déploiements par jour).</li>
</ul>
<p>Dans le premier cas, la difficulté est d&#8217;identifier la configuration des serveurs cibles et de préparer les paquets d&#8217;installation correspondants (.deb pour chaque distribution Linux, .msi pour chaque version de Windows, etc.), tout en assurant la compatibilité des données sans toujours les connaître (tests de régression).</p>
<p>Dans le second cas, il faut savoir intégrer pendant le déploiement les données du site en exploitation (base de données, templates gérés par un web designer externe, etc.), avec d&#8217;éventuelles transformations (ETL, Extract Transform Load).</p>
<p>J&#8217;ai ajouté qu&#8217;un déploiement ne se limite pas à la livraison de la partie applicative mais doit aussi <strong>savoir traiter la mise à jour des outils liés au projet</strong> (plate-forme de gestion de tickets, extranet, feuille de route, tests, sauvegardes, alertes, etc.).</p>
<p>En dehors de <a title="Projet PEAR" href="http://pear.php.net/">PEAR</a>, trés utilisé et qui est un outil de déploiement à l&#8217;origine, j&#8217;ai une préférence pour <a title="Projet Apache Ant" href="http://ant.apache.org/">Ant</a> + <a title="Projet Phing" href="http://www.phing.info/">Phing</a> et <a title="Capistrano" href="http://www.capify.org/">Capistrano</a>.</p>
<h3>Bases de données &laquo;&nbsp;NoSQL&nbsp;&raquo;</h3>
<p>Là, on entre dans une autre dimension. Les bases &laquo;&nbsp;NoSQL&nbsp;&raquo; sont des <strong>bases de données non relationnelles</strong>. En gros, on ne retrouve pas le schéma habituel &laquo;&nbsp;tables contenant des champs et étant reliées entre elles&nbsp;&raquo;. L&#8217;avantage est d&#8217;<strong>obtenir des performances exceptionnelles sur des entrepôts de données énormes</strong>. Parmi les acteurs majeurs qui développent et utilisent des bases &laquo;&nbsp;NoSQL&nbsp;&raquo;, on peut citer : Google (projet Big Table qui a inspiré le <a title="Projet Apache Cassandra" href="http://incubator.apache.org/cassandra/">projet Cassandra</a>), Facebook ou Linkedin.</p>
<p>Si on revient à la dure réalité d&#8217;un acteur de dimension modeste, on constate que ces technologies émergentes et prometteuses sont encore très spécifiques. Les bases relationnelles ont de beaux jours devant elles. La difficulté est notamment de <strong>réintégrer dans l&#8217;application PHP ce qui fait la force des systèmes SQL</strong> : sélection, jointures, intégrité référentielle, etc. Le volet <em>testing </em>des projets en prend un coup&#8230;</p>
<h3>PHP et testing</h3>
<p>Atelier en petit comité (6 personnes), en concurrence déloyale avec l&#8217;atelier Frameworks qui a fait le plein ! Nous avons tenté de lister les types de tests liés à une application web, en dépassant autant que possible la simple vue du développeur :</p>
<ul>
<li>Tests unitaires (PHP et Javascript)</li>
<li>Tests fonctionnels</li>
<li>Tests d&#8217;IHM (via <a title="Selenium Core" href="http://seleniumhq.org/projects/core/">Selenium Core</a>, <a title="Selenium Remote Control" href="http://seleniumhq.org/projects/remote-control/">Selenium RC</a> et <a title="Selenium IDE" href="http://seleniumhq.org/projects/ide/">Selenium IDE</a>)</li>
<li>Tests de recette</li>
<li>Tests de non régression</li>
<li>Tests de performance</li>
<li>Tests de charge</li>
<li>Tests de conformité (normes, W3C, accessibilité, etc.)</li>
<li>Tests ergonomiques (tri par cartes, paper prototyping, tests utilisateurs, etc.)</li>
<li>A/B testing</li>
</ul>
<p>Les échanges sur nos expériences ont été très instructifs. Nous étions tous d&#8217;accord pour insister sur la définition précise des cas d&#8217;utilisation qui facilite la gestion des tests pendant toute la durée du projet<strong> avec le client</strong>. D&#8217;où une phase de spécifications sérieuse qui conditionne la qualité du travail livré. Certains tests peuvent faire l&#8217;objet de validation contractuelle, comme les wireframes issus de tests ergonomiques qui servent ensuite de feuille de route aux intégrateurs et développeurs.</p>
<p>La difficulté avec les tests, c&#8217;est de savoir placer le curseur pour ne pas s&#8217;y noyer. <strong>Il n&#8217;est pas réaliste d&#8217;appliquer les tests de façon exhaustive</strong>. C&#8217;est un idéal en contradiction avec les budgets et les délais imposés en pratique. Il faut donc savoir réaliser les bons tests, au bon endroit et au bon moment. Par exemple, sur le calcul des prix d&#8217;un panier de site e-commerce, sur l&#8217;intégration des données lors d&#8217;un couplage entre deux systèmes, sur l&#8217;ergonomie d&#8217;une interface riche, etc.</p>
<h3>En résumé</h3>
<p>Une excellente soirée qui a largement dépassée les 5 heures prévues ! L&#8217;accueil de <a title="Linagora" href="http://www.linagora.com/">Linagora </a>et de l&#8217;<a title="Site officiel de l'AFUP" href="http://www.afup.org/">AFUP</a> était parfait, l&#8217;ambiance très sympathique et le niveau des échanges très pointu. Il y a des gens qui savent faire des choses avec PHP en Midi-Pyrénées ! Je pense qu&#8217;on remettra ça sous peu. Prochaine étape : le <a title="Bargento 3" href="http://www.bargento.fr/">Bargento, lundi 9 novembre à Paris</a>. Je serai présent avec l&#8217;équipe de l&#8217;AFUP pour organiser et animer cette journée qui s&#8217;annonce exceptionnelle. Et à la suite, le <a title="Forum PHP 2009" href="http://afup.org/pages/forumphp2009/">Forum PHP 2009</a>, tout aussi exceptionnel. Sur ce coup-là, je déclare forfait. Il faut bien travailler un peu !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.christophelebot.fr/2009/11/05/barcamp-php-toulousain-la-synthese/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Barcamp PHP à Toulouse le 29 octobre</title>
		<link>http://blog.christophelebot.fr/2009/10/06/barcamp-php-linagora-toulouse/</link>
		<comments>http://blog.christophelebot.fr/2009/10/06/barcamp-php-linagora-toulouse/#comments</comments>
		<pubDate>Tue, 06 Oct 2009 21:15:29 +0000</pubDate>
		<dc:creator>Christophe</dc:creator>
				<category><![CDATA[Développement web]]></category>
		<category><![CDATA[Evénements]]></category>
		<category><![CDATA[Génie logiciel]]></category>
		<category><![CDATA[Se former]]></category>
		<category><![CDATA[Veille économique]]></category>
		<category><![CDATA[AFUP]]></category>
		<category><![CDATA[Barcamp]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.christophelebot.fr/?p=530</guid>
		<description><![CDATA[Linagora GSO, société spécialisée dans les Logiciels Libres, organise avec la participation de l’AFUP (Association Française d’Utilisateurs de PHP), son premier Barcamp sur le thème de PHP autour d’un Cheese and Wine. Une bonne occasion de voir ce que le Sud-Ouest est capable de faire avec PHP, le tout chez mes amis de Linagora. Une [...]]]></description>
			<content:encoded><![CDATA[<div class="asset-frame"><a title="Linagora - Barcamp PHP Toulouse" href="http://www.linagora.com/spip.php?article560#form16"><img class="alignnone size-medium wp-image-531" title="Bacrcamp PHP Toulouse" src="http://blog.christophelebot.fr/wp-content/uploads/2009/10/barcampPHP01-06629-420x251.jpg" alt="Bacrcamp PHP Toulouse" width="420" height="251" /></a></div>
<p>Linagora GSO, société spécialisée dans les Logiciels Libres, organise avec la participation de l’AFUP (Association Française d’Utilisateurs de PHP), son premier Barcamp sur le thème de PHP autour d’un Cheese and Wine.</p>
<p>Une bonne occasion de voir ce que le Sud-Ouest est capable de faire avec PHP, le tout chez mes amis de Linagora. Une excellente soirée en perspective !</p>
<p><a title="Linagora - Barcamp PHP Toulouse" href="http://www.linagora.com/spip.php?article560#form16">&gt; Informations et inscription</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.christophelebot.fr/2009/10/06/barcamp-php-linagora-toulouse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bien préparer le barcamp Magento</title>
		<link>http://blog.christophelebot.fr/2009/01/23/bien-preparer-le-barcamp-magento/</link>
		<comments>http://blog.christophelebot.fr/2009/01/23/bien-preparer-le-barcamp-magento/#comments</comments>
		<pubDate>Fri, 23 Jan 2009 01:02:36 +0000</pubDate>
		<dc:creator>Christophe</dc:creator>
				<category><![CDATA[Concevoir]]></category>
		<category><![CDATA[Evénements]]></category>
		<category><![CDATA[Génie logiciel]]></category>
		<category><![CDATA[Qualité]]></category>
		<category><![CDATA[Savoir]]></category>
		<category><![CDATA[Barcamp]]></category>
		<category><![CDATA[Conférence]]></category>
		<category><![CDATA[E-commerce]]></category>
		<category><![CDATA[E-marketing]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.christophelebot.fr/?p=378</guid>
		<description><![CDATA[203 participants enregistrés pour le barcamp Magento du 2 février ! Un résultat complètement fou pour un événement improvisé autour d&#8217;une idée d&#8217;Olivier, Daniel et François. Tout est parti du constat que les échanges entre les utilisateurs de Magento devenaient nécessaires pour partager nos expériences et améliorer cette plate-forme e-commerce aussi exceptionnelle par sa puissance [...]]]></description>
			<content:encoded><![CDATA[<p><strong>203 participants enregistrés pour le <a title="Barcamp Magento - 02/02/09" href="http://www.amiando.com/bargento.html?page=246756">barcamp Magento du 2 février</a> !</strong> Un résultat complètement fou pour un événement improvisé autour d&#8217;une idée d&#8217;<a title="Capitaine Commerce" href="http://www.capitaine-commerce.com/">Olivier</a>, <a title="Daniel Broche" href="http://www.danielbroche.com/">Daniel</a> et <a title="François Ziserman" href="http://www.ziserman.com/blog/">François</a>.</p>
<p>Tout est parti du constat que les échanges entre les utilisateurs de <a title="Site officiel Magento" href="http://www.magentocommerce.com/">Magento</a> devenaient nécessaires pour partager nos expériences et améliorer cette plate-forme e-commerce aussi exceptionnelle par sa puissance que par son exigence. Il faut croire que tout le monde attendait la petite étincelle pour s&#8217;agiter !</p>
<p>Maintenant que l&#8217;envie de partager est évidente, il va falloir gérer ce barcamp à 203 personnes. D&#8217;autant que les profils sont très variés : au-delà de l&#8217;éditeur (Roy Rubin, le CEO de <a title="Site officiel Varien" href="http://www.varien.com/">Varien</a> sera présent) et des intégrateurs Magento (partenaires officiels, agences web, développeurs freelance, consultants), on y trouvera aussi des utilisateurs (actuels ou futurs) en recherche d&#8217;informations pour exploiter leur site e-commerce. J&#8217;y rencontrerai même certains clients !</p>
<p><strong>Que va donner ce joyeux mélange ?</strong> C&#8217;est tout le mystère d&#8217;un barcamp. <strong>Il peut prendre trois orientations :</strong></p>
<ul>
<li><strong>une grande messe marketing à la gloire de la solution</strong></li>
<li><strong>un séminaire hyper-technique animé par des experts</strong></li>
<li><strong>une place de marché pour les porteurs de projets e-commerce et les prestataires concernés</strong></li>
</ul>
<p>Il sera sans doute les trois à la fois, parce que les sujets ne vont pas manquer et que des groupes vont rapidement se former autour de certains points-clés (performances, TVA, marché européen, fiscalité, livraison, échanges de données, optimisation du référencement).</p>
<p>Chacun apportant sa pierre à l&#8217;édifice (c&#8217;est le principe du barcamp), il me paraît important de bien préparer ce rendez-vous et donc d&#8217;avoir une idée claire des sujets que l&#8217;on souhaite partager. [Note aux organisateurs : peut-être aura-t-on un outil avant le barcamp pour évaluer les principaux sujets et donc le nombre et le type de groupes ?]. Après les débats, il serait intéressant d&#8217;avoir des comptes-rendus des différentes discussions, mais à 203, je ne vois pas vraiment comment ce sera possible. A moins de s&#8217;inspirer des méthodes agiles en nommant un rapporteur dans chaque groupe.</p>
<p>Pour ma part, j&#8217;ai bien envie de prendre un chemin à contre-courant de l&#8217;enthousiasme ambiant. <strong>Je vais me concentrer sur les aspects techniques et notamment les erreurs de jeunesse de Magento.</strong> Cela peut sembler provocateur, mais l&#8217;occasion est trop belle pour ne pas en profiter. Le but n&#8217;est pas de descendre en flèche une solution que je trouve exceptionnelle. Non, il est simplement de <strong>consolider rapidement Magento pour rendre son exploitation totalement compatible avec nos contraintes européennes</strong>.</p>
<p>Comme je le mentionnais dans un <a title="Magento et la TVA : bientôt la fin du casse-tête" href="http://blog.christophelebot.fr/2008/10/17/magento-et-la-tva-bientot-la-fin-du-casse-tete/">précédent billet</a> (et <a title="Dabiel Broche - Magento et l'Europe" href="http://www.danielbroche.com/daniel_broche/2008/10/magento-et-leur.html">je ne suis pas le seul</a>), Magento a été conçu aux Etats-Unis, loin des contraintes (parfois absurdes) de notre marché. Varien fait un travail exceptionnel pour adapter Magento à nos besoins. Mais il reste encore quelques points très gênants, en particulier les calculs de TVA pour les sites B2C dont les prix de référence comprennent les taxes (loi Chatel oblige). Appliquez une remise sur un panier dont les produits n&#8217;ont pas tous le même taux de TVA et vous comprendrez assez vite ce que je veux dire&#8230; Ces faiblesses nous contraignent à sous-exploiter certaines fonctionnalités en attendant leur correction.</p>
<p>Ce grand rendez-vous serait alors l&#8217;occasion de <strong>travailler ces questions pour proposer à Varien l&#8217;ensemble des cas d&#8217;utilisation et les solutions techniques. Une sorte de consensus global qui contenterait tous les intégrateurs et faciliterait la tâche d&#8217;adaptation pour l&#8217;équipe de développement de Magento.</strong></p>
<p>Je me lance ! Qui me suit ?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.christophelebot.fr/2009/01/23/bien-preparer-le-barcamp-magento/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

