<?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>Vincent Composieux - Développeur web Symfony / Zend</title>
	<atom:link href="http://vincent.composieux.fr/feed/" rel="self" type="application/rss+xml" />
	<link>http://vincent.composieux.fr</link>
	<description>Développeur web PHP5 Symfony, Zend Framework, Propel, Doctrine, MySQL</description>
	<lastBuildDate>Thu, 10 Nov 2011 12:31:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
<meta xmlns="http://www.w3.org/1999/xhtml" name="robots" content="noindex,follow" />
		<item>
		<title>foREST &#8211; Framework léger d&#8217;API RESTful écrit en PHP 5.3</title>
		<link>http://vincent.composieux.fr/2011/10/22/forest-framework-leger-dapi-restful-ecrit-en-php-5-3/</link>
		<comments>http://vincent.composieux.fr/2011/10/22/forest-framework-leger-dapi-restful-ecrit-en-php-5-3/#comments</comments>
		<pubDate>Sat, 22 Oct 2011 17:55:59 +0000</pubDate>
		<dc:creator>Vincent</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[Symfony2]]></category>
		<category><![CDATA[5.3]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[light]]></category>
		<category><![CDATA[restful]]></category>

		<guid isPermaLink="false">http://vincent.composieux.fr/?p=369</guid>
		<description><![CDATA[Je vous présente aujourd&#8217;hui foREST, un petit framework d&#8217;API RESTful développé par mes soins durant quelques moments d&#8217;ennuis. Ce framework utilise les composants YAML et Console du framework Symfony2. Le projet est disponible sur Github, donc n&#8217;hésitez pas à participer. (&#8230;)</p><p><a href="http://vincent.composieux.fr/2011/10/22/forest-framework-leger-dapi-restful-ecrit-en-php-5-3/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Je vous présente aujourd&#8217;hui <a title="foREST - Framework API RESTful" href="https://github.com/eko/foREST" target="_blank">foREST</a>, un petit framework d&#8217;API RESTful développé par mes soins durant quelques moments d&#8217;ennuis.<br />
Ce framework utilise les composants YAML et Console du framework <a href="http://www.symfony.com" title="Symfony2 framework" target="_blank">Symfony2</a>.</p>
<p>Le projet est <a href="http://github.com/eko/foREST" title="foREST sur Github" target="_blank">disponible sur Github</a>, donc n&#8217;hésitez pas à participer.</p>
<p>Il vous permettra de réaliser des requêtes de type REST (<em>GET, POST, PUT, DELETE</em>), de gérer des utilisateurs et des droits d&#8217;accès à certaines ressources ainsi que de gérer des paramètres de différents types (string, integer, &#8230;) fournis dans vos requêtes.</p>
<h3>Fichiers de configuration</h3>
<p>Les fichiers de configuration utilisent le format YAML et j&#8217;ai utilisé le composant Symfony2 afin de parser le YAML dans ce projet.</p>
<p>Vous pouvez définir des connections à plusieurs bases de données nommées dans le fichier <em>config/databases.yml</em> comme suit pour la base de données nommée &laquo;&nbsp;main&nbsp;&raquo; :</p>
<pre class="brush:bash;">
main:
  dsn: mysql:host=localhost;dbname=forest
  username: root
  password: root
</pre>
<p>Les utilisateurs et roles d&#8217;accès à votre API peuvent être gérés simplement grâce à l&#8217;implémentation du composant Console de Symfony2 :</p>
<p>Pour ajouter un utilisateur, utilisez la commande :</p>
<pre class="brush:bash;">php console user:add username password role</pre>
<p>Pour supprimer un utilisateur :</p>
<pre class="brush:bash;">php console user:del username</pre>
<p>Enfin, il ne faut pas oublier de rafraîchir le fichier .htpasswd avec les nouvelles informations en tapant :</p>
<pre class="brush:bash;">php console user:refresh</pre>
<h3>Créer une nouvelle ressource</h3>
<p>Créer une ressource consiste à créer un répertoire du nom de votre ressource dans le répertoire &laquo;&nbsp;resources&nbsp;&raquo;. Par exemple : &laquo;&nbsp;resources/Books&nbsp;&raquo; et de créer à l&#8217;intérieur les 3 fichiers suivants :</p>
<p><strong>routing.yml</strong> : contient les routes d&#8217;accès à vos API pour cette ressource. Elles sont définies sous la forme suivante :</p>
<pre class="brush:bash;">
"get:/books":
  description: "List all books by specified filters"
  resource: \Forest\Resources\Books
  action: getBooks
  role: user
</pre>
<p><strong>queries.yml</strong> : contient les requêtes en bases de données, identifiées par une clé comme suit dans cet exemple :</p>
<pre class="brush:bash;">
"my.book.query":
  database: main
  query: >
         SELECT * FROM books
</pre>
<p>Vous pouvez ensuite appeller cette requête dans vos différentes ressources avec :</p>
<pre class="brush:php;">
        return $this->query('my.book.query');
</pre>
<p>Enfin, il ne vous reste plus qu&#8217;à créer la classe PHP de la ressource, qui doit comporter le même nom que le répertoire de la ressource, à savoir &laquo;&nbsp;<em>Books.php</em>&nbsp;&raquo; dans notre exemple. Ce fichier doit prendre la forme suivante :</p>
<pre class="brush:php;">
/**
 * foREST - a simple RESTful PHP API
 *
 * @version 1.0
 * @author Vincent Composieux - vincent.composieux@gmail.com
 */

namespace Forest\Resources;

use Forest\Core\Request,
    Forest\Core\Resource;

/**
 * Books
 */
class Books extends Resource {
    /**
     * List all books
     *
     * @param Request $request
     *
     * @return array
     */
    public function getBooks(Request $request) {
        return $this->query('my.book.query');
    }
</pre>
<p>Vous êtes maintenant prêt à utiliser l&#8217;API ! Je vous invite à me contacter si vous souhaitez plus de détails sur l&#8217;utilisation de l&#8217;API, des remarques ou encore participer sur Github.</p>
<div id="crp_related"><h4>Articles similaires:</h4><ul><li><a href="http://vincent.composieux.fr/2009/12/24/backup-de-fichiers-et-dune-base-de-donnees-mysql/" rel="bookmark" class="crp_title">Backup de fichiers et d&#8217;une base de données MySQL</a></li><li><a href="http://vincent.composieux.fr/2009/11/29/serialisation-java-serialiser-et-deserialiser-des-objets/" rel="bookmark" class="crp_title">Serialisation Java : Serialiser et Deserialiser des objets</a></li><li><a href="http://vincent.composieux.fr/2009/12/23/installer-et-configurer-mrtg-sous-debian/" rel="bookmark" class="crp_title">Installer et configurer MRTG sous Debian</a></li><li><a href="http://vincent.composieux.fr/2010/08/18/symfony-rsync-sous-windows/" rel="bookmark" class="crp_title">Symfony : Rsync sous Windows</a></li><li><a href="http://vincent.composieux.fr/2009/11/24/orm-designer-pour-doctrine-et-propel-symfony/" rel="bookmark" class="crp_title">ORM Designer pour Doctrine et Propel (Symfony)</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://vincent.composieux.fr/2011/10/22/forest-framework-leger-dapi-restful-ecrit-en-php-5-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Compiler PHP 5.4 sous Linux (Debian / Ubuntu)</title>
		<link>http://vincent.composieux.fr/2011/07/09/compiler-php-5-4-sous-linux-debian-ubuntu/</link>
		<comments>http://vincent.composieux.fr/2011/07/09/compiler-php-5-4-sous-linux-debian-ubuntu/#comments</comments>
		<pubDate>Sat, 09 Jul 2011 14:01:11 +0000</pubDate>
		<dc:creator>Vincent</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[5.4]]></category>
		<category><![CDATA[alpha]]></category>
		<category><![CDATA[compiler]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://vincent.composieux.fr/?p=362</guid>
		<description><![CDATA[Interessons-nous un peu à la toute dernière release alpha de PHP et testons-la sur nos serveurs, quelle bonne idée ? Voici pour vous la procédure de compilation : Préparation de l&#8217;installation / compilation wget http://snaps.php.net/php5.4-latest.tar.gz tar xzvf php5.4-latest.tar.gz cd php5.4-XXXXXXXXX/ (&#8230;)</p><p><a href="http://vincent.composieux.fr/2011/07/09/compiler-php-5-4-sous-linux-debian-ubuntu/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Interessons-nous un peu à la toute dernière release alpha de PHP et testons-la sur nos serveurs, quelle bonne idée ?</p>
<p>Voici pour vous la procédure de compilation :</p>
<h4>Préparation de l&#8217;installation / compilation</h4>
<pre class="brush:shell;">wget http://snaps.php.net/php5.4-latest.tar.gz
tar xzvf php5.4-latest.tar.gz
cd php5.4-XXXXXXXXX/</pre>
<p>Ensuite, pour le bon déroulement de la compilation, et parce-que j&#8217;ai eu quelques surprises, assurez-vous de bien disposer des paquets &laquo;&nbsp;apache2-threaded-dev&nbsp;&raquo; et &laquo;&nbsp;libxml2&#8243; d&#8217;installés. Sinon :</p>
<pre class="brush:shell;">apt-get install apache2-threaded-dev libxml2</pre>
<p>C&#8217;est installé ? Ok, on y est, passons à la compilation !</p>
<h4>Compilation !</h4>
<p>Exécutez désormais les 3 méthodes &laquo;&nbsp;classiques&nbsp;&raquo; de compilation via ./configure, make et make install :</p>
<pre class="brush:shell;">./configure --with-mysql=/usr/share/mysql  --with-pdo-mysql  --with-apxs2=/usr/bin/apxs2 --enable-xml --with-zlib
make
make install</pre>
<p>Vous pouvez également effectuer un &laquo;&nbsp;make test&nbsp;&raquo; si vous souhaitez exécuter les quelques 8000+ tests unitaires contenus dans PHP.</p>
<h4>Installation du module Apache</h4>
<p>À ce niveau là, un &laquo;&nbsp;php -v&nbsp;&raquo; doit vous donner le résultat suivant :</p>
<pre class="brush:shell;">composieux:~# php -v
PHP 5.4.0alpha2-dev (cli) (built: Jul  8 2011 13:10:31)
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2011 Zend Technologies</pre>
<p>Oui ? Parfait, copions donc notre extension PHP pour Apache afin de remplacer l&#8217;existante (en supposant que vous êtes toujours dans le répertoire) puis redémarrons Apache :</p>
<pre class="brush:shell;">cp libs/libphp5.so /usr/lib/apache2/modules/
/etc/init.d/apache2 restart</pre>
<p>Une petite page phpinfo(); sur votre serveur web afin de vérifier la version actuellement installée de PHP et celle-ci devrait être en 5.4.</p>
<div id="crp_related"><h4>Articles similaires:</h4><ul><li><a href="http://vincent.composieux.fr/2009/12/19/installer-facilement-php-5-3-1-sous-debian/" rel="bookmark" class="crp_title">Installer facilement PHP 5.3.1 sous Debian</a></li><li><a href="http://vincent.composieux.fr/2009/12/01/symfony-1-2-et-1-3-stables-disponibles/" rel="bookmark" class="crp_title">Symfony 1.3 et 1.4 stables disponibles !</a></li><li><a href="http://vincent.composieux.fr/2009/12/23/installer-et-configurer-mrtg-sous-debian/" rel="bookmark" class="crp_title">Installer et configurer MRTG sous Debian</a></li><li><a href="http://vincent.composieux.fr/2010/01/27/zend-framework-1-10-disponible/" rel="bookmark" class="crp_title">Zend Framework 1.10 disponible</a></li><li><a href="http://vincent.composieux.fr/2011/04/06/symfony-1-31-4-executer-une-tache-dans-un-controller/" rel="bookmark" class="crp_title">Symfony 1.3/1.4 : Exécuter une tâche dans un controller</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://vincent.composieux.fr/2011/07/09/compiler-php-5-4-sous-linux-debian-ubuntu/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Symfony 1.3/1.4 : Exécuter une tâche dans un controller</title>
		<link>http://vincent.composieux.fr/2011/04/06/symfony-1-31-4-executer-une-tache-dans-un-controller/</link>
		<comments>http://vincent.composieux.fr/2011/04/06/symfony-1-31-4-executer-une-tache-dans-un-controller/#comments</comments>
		<pubDate>Wed, 06 Apr 2011 18:19:20 +0000</pubDate>
		<dc:creator>Vincent</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[controller]]></category>
		<category><![CDATA[task]]></category>

		<guid isPermaLink="false">http://vincent.composieux.fr/?p=347</guid>
		<description><![CDATA[Si vous souhaitez exécuter une tâche créée par vos soins sous Symfony 1.3 et 1.4 dans un controller, rien de plus simple ! Commencez par dire à PHP que vous vous situez dans le répertoire &#171;&#160;root&#160;&#187; de votre application Symfony (&#8230;)</p><p><a href="http://vincent.composieux.fr/2011/04/06/symfony-1-31-4-executer-une-tache-dans-un-controller/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Si vous souhaitez exécuter une tâche créée par vos soins sous <a title="Symfony" href="http://www.symfony.com" target="_blank">Symfony</a> 1.3 et 1.4 dans un controller, rien de plus simple !</p>
<p>Commencez par dire à PHP que vous vous situez dans le répertoire &laquo;&nbsp;root&nbsp;&raquo; de votre application Symfony :</p>
<pre class="brush:php;">chdir(sfConfig::get('sf_root_dir'));</pre>
<p>puis exécutez votre tâche en l&#8217;instanciant puis en appellant la méthode <em>run()</em> de la méthode parente <em>sfTask</em> :</p>
<pre class="brush:php;">
$task = new sfMyTaskName($this->dispatcher, new sfFormatter());
$task->run();
</pre>
<div id="crp_related"><h4>Articles similaires:</h4><ul><li><a href="http://vincent.composieux.fr/2010/08/18/symfony-rsync-sous-windows/" rel="bookmark" class="crp_title">Symfony : Rsync sous Windows</a></li><li><a href="http://vincent.composieux.fr/2009/12/01/symfony-1-2-et-1-3-stables-disponibles/" rel="bookmark" class="crp_title">Symfony 1.3 et 1.4 stables disponibles !</a></li><li><a href="http://vincent.composieux.fr/2011/07/09/compiler-php-5-4-sous-linux-debian-ubuntu/" rel="bookmark" class="crp_title">Compiler PHP 5.4 sous Linux (Debian / Ubuntu)</a></li><li><a href="http://vincent.composieux.fr/2010/02/17/symfony-2-is-fast-as-hell/" rel="bookmark" class="crp_title">Symfony 2 is &laquo;&nbsp;fast as hell&nbsp;&raquo; !</a></li><li><a href="http://vincent.composieux.fr/2010/03/16/c-net-tri-dune-arraylist-sur-la-propriete-dun-objet/" rel="bookmark" class="crp_title">C# .Net &#8211; Tri d&#8217;une ArrayList sur la propriété d&#8217;un objet</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://vincent.composieux.fr/2011/04/06/symfony-1-31-4-executer-une-tache-dans-un-controller/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Hello 2011, petit review de mon année 2010</title>
		<link>http://vincent.composieux.fr/2011/01/09/hello-2011-petit-review-de-mon-annee-2010/</link>
		<comments>http://vincent.composieux.fr/2011/01/09/hello-2011-petit-review-de-mon-annee-2010/#comments</comments>
		<pubDate>Sat, 08 Jan 2011 23:44:57 +0000</pubDate>
		<dc:creator>Vincent</dc:creator>
				<category><![CDATA[Actualité]]></category>
		<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://vincent.composieux.fr/?p=323</guid>
		<description><![CDATA[Alors que nous sommes déjà en 2011 depuis quelques jours, il est temps de faire un petit bilan de cette année 2010 qui a été pour moi assez riche en événements. Après 1 an à l&#8217;ECTEI en option développement avancé, (&#8230;)</p><p><a href="http://vincent.composieux.fr/2011/01/09/hello-2011-petit-review-de-mon-annee-2010/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Alors que nous sommes déjà en 2011 depuis quelques jours, il est temps de faire un petit bilan de cette année 2010 qui a été pour moi assez riche en événements.</p>
<p>Après 1 an à l&#8217;<a href="http://www.ectei.fr">ECTEI</a> en option développement avancé, en alternance chez <a href="http://www.epixelic.com">Epixelic</a>, me voila dans la vie active.</p>
<p>Je suis en effet depuis fin Septembre employé en tant qu&#8217;<em>Ingénieur d&#8217;études et développement</em> chez <a href="http://www.degetel.com">Degetel</a>, et actuellement en mission dans la société <a href="http://www.smartbox.com">Smartbox</a>, leader en matière de coffrets cadeaux.</p>
<h3>L&#8217;ECTEI, la formation de Bachelor en alternance</h3>
<p><img class="alignright" title="ECTEI" src="http://vincent.composieux.fr/wp-content/uploads/logo_ectei.gif" alt="" width="100" height="100" />Malgré un mode d&#8217;alternance assez spécial (matin école, après-midi en entreprise), cette formation est tout de même très certifiante de par la quantité d&#8217;informations que nous apprenons au cours de l&#8217;année. En effet, cette formation vous propose de passer un diplôme universitaire de Java (en partenariat avec l&#8217;université Paris-Descartes), deux certifications sur le framework Microsoft .Net ainsi qu&#8217;une formation en Angleterre d&#8217;un mois avec des cours en université.</p>
<p>À la fin de cette année, une soutenance orale a lieue et vous permet de valider ou non votre année. Pour ma part, avec 18/20 à la soutenance, c&#8217;est dans la poche.</p>
<h3>Epixelic, une bonne expérience</h3>
<p><img class="alignleft" title="Epixelic" src="http://vincent.composieux.fr/wp-content/uploads/logo_epixelic_535038473d60e24d03f25bb85080123b-fr.jpg" alt="" width="100" height="66" /></p>
<p>Ma soutenance orale pouvait contenir le sujet souhaité. J&#8217;ai choisi d&#8217;y traiter le sujet qui m&#8217;intéressait et qui était en rapport avec ce que je faisais dans l&#8217;entreprise qui m&#8217;accueillait en alternance : <em>Zend Framework vs Symfony</em>. Ayant déjà une première expérience sous le framework Symfony durant mes deux précédents stages de BTS (chez <a href="http://www.anakrys.fr">Anakrys</a>, excellente agence web ou j&#8217;y ai rencontré des personnes passionnées), et quelques projets web personnels, Epixelic était pour moi l&#8217;occasion de me confronter au plus célèbre framework PHP : Zend Framework.</p>
<p>J&#8217;ai ainsi pu comparer assez efficacement les deux frameworks et me faire une idée des différents types d&#8217;usage.</p>
<h3>Degetel, premier emploi</h3>
<p><img class="size-full wp-image-335 alignright" title="Degetel" src="http://vincent.composieux.fr/wp-content/uploads/logo_groupe_degetel_web.jpg" alt="" width="130" height="39" />Avant la fin de mon alternance, j&#8217;ai été contacté par la société Degetel qui m&#8217;a proposé une mission de deux ans pour une grande chaine de télévision française. Malheureusement, la date de début de mission ne pouvait pas correspondre avec ma fin d&#8217;alternance, cette mission n&#8217;a donc pas pu se faire. C&#8217;est alors qu&#8217;une autre mission m&#8217;a été proposée : chez Smartbox, afin de migrer tous les sites internationaux vers la plateforme e-Commerce Magento, plateforme sous laquelle je n&#8217;avais aucune expérience, mais ce framework étant basé sous Zend Framework, j&#8217;ai pu m&#8217;adapter assez facilement.</p>
<p><img class="size-full wp-image-336  alignleft" title="Smartbox" src="http://vincent.composieux.fr/wp-content/uploads/ficheboutique_logo_smartbox.gif" alt="" width="155" height="74" />J&#8217;ai commencer par faire beaucoup de TMA (Tierce Maintenance Applicative) sous les plateformes internationales et finalement, étant donner que la plateforme Magento rencontrait quelques soucis de stabilité, il n&#8217;a pas encore été décidé de migrer les sites sous Magento. J&#8217;ai donc également effectué des corrections et évolutions sur la plateforme Magento et autres applications internes.</p>
<p>Aujourd&#8217;hui, avec le nouveau projet de migration d&#8217;ERP chez Smartbox, je travaille également au développement d&#8217;une API RESTful (respectant les standards du protocole HTTP) qui devrait voir le jour fin Mars. Ce projet est très intéressant car il me permet de travailler sur un projet vraiment très bien structuré, documenté, et surtout, from scratch.</p>
<h3>L&#8217;avenir ?</h3>
<div>Je continue tout de même à titre personnel à développer actuellement un Bundle pour <a href="http://www.symfony-reloaded.org">Symfony2</a> et à suivre l&#8217;actualité de beaucoup d&#8217;outils et frameworks web tous plus intéressants les uns que les autres.</div>
<div>Je pense aussi essayer de mettre à jour ce blog plus souvent avec des astuces de développement désormais.</div>
<div></div>
<div>Très bonne année à tous !</div>
<div id="crp_related"><h4>Articles similaires:</h4><ul><li><a href="http://vincent.composieux.fr/2009/11/07/mon-premier-article/" rel="bookmark" class="crp_title">Nouvelle année étudiante, nouveau blog</a></li><li><a href="http://vincent.composieux.fr/2009/11/30/microsoft-techdays-2010-la-machine-est-en-marche/" rel="bookmark" class="crp_title">Microsoft Techdays 2010 : La machine est en marche</a></li><li><a href="http://vincent.composieux.fr/2010/06/09/jquery-tools-des-outils-interessants-pour-jquery/" rel="bookmark" class="crp_title">jQuery Tools : Des outils intéressants pour jQuery</a></li><li><a href="http://vincent.composieux.fr/2009/11/22/lavenir-de-php-et-ses-frameworks/" rel="bookmark" class="crp_title">PHP : L&#8217;avenir du langage et ses frameworks d&#8217;ici fin 2010</a></li><li><a href="http://vincent.composieux.fr/2010/04/02/threadsy-decouverte-et-invitations-pour-beta-privee/" rel="bookmark" class="crp_title">Threadsy &#8211; Découverte et invitations pour beta privée</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://vincent.composieux.fr/2011/01/09/hello-2011-petit-review-de-mon-annee-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Doctrine : Comment effectuer un truncate table ?</title>
		<link>http://vincent.composieux.fr/2010/10/09/doctrine-comment-effectuer-un-truncate-table/</link>
		<comments>http://vincent.composieux.fr/2010/10/09/doctrine-comment-effectuer-un-truncate-table/#comments</comments>
		<pubDate>Sat, 09 Oct 2010 18:04:12 +0000</pubDate>
		<dc:creator>Vincent</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Doctrine]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[doctrine]]></category>
		<category><![CDATA[table]]></category>
		<category><![CDATA[truncate]]></category>

		<guid isPermaLink="false">http://vincent.composieux.fr/?p=320</guid>
		<description><![CDATA[Apparement, il n&#8217;existe à priori pas de fonction sous Doctrine permettant de faire un truncate sur une table. La solution d&#8217;effectuer des delete(); sur chaque élément de la table serait bien trop longue en terme de temps d&#8217;exécution je pense, (&#8230;)</p><p><a href="http://vincent.composieux.fr/2010/10/09/doctrine-comment-effectuer-un-truncate-table/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://vincent.composieux.fr/wp-content/uploads/png_doctrine_logo-70ea4.png"><img class="size-full wp-image-321 aligncenter" title="Doctrine" src="http://vincent.composieux.fr/wp-content/uploads/png_doctrine_logo-70ea4.png" alt="" width="191" height="53" /></a></p>
<p>Apparement, il n&#8217;existe à priori pas de fonction sous Doctrine permettant de faire un <strong>truncate</strong> sur une table. La solution d&#8217;effectuer des <em>delete</em>(); sur chaque élément de la table serait bien trop longue en terme de temps d&#8217;exécution je pense, tandis qu&#8217;un truncate effectue une destruction/recréation de la table, ce qui est beaucoup plus rapide et qui réinitialise également les auto increment au passage.</p>
<p>Je vous partage donc quelques lignes permettant d&#8217;effectuer un truncate sur votre ou vos tables via <a title="Doctrine" href="http://www.doctrine-project.org" target="_blank">Doctrine</a> :</p>
<pre class="brush:php;">
$doctrineManager = Doctrine_Manager::getInstance()->getCurrentConnection()->getDbh();
$doctrineManager->query('TRUNCATE TABLE matable');
</pre>
<div id="crp_related"><h4>Articles similaires:</h4><ul><li><a href="http://vincent.composieux.fr/2009/11/30/lorm-doctrine-maintenant-disponible-en-version-1-2-0/" rel="bookmark" class="crp_title">L&#8217;ORM Doctrine maintenant disponible en version 1.2.0</a></li><li><a href="http://vincent.composieux.fr/2009/11/24/orm-designer-pour-doctrine-et-propel-symfony/" rel="bookmark" class="crp_title">ORM Designer pour Doctrine et Propel (Symfony)</a></li><li><a href="http://vincent.composieux.fr/2010/07/05/devao-la-preview-est-ouverte/" rel="bookmark" class="crp_title">Devao : la preview est ouverte</a></li><li><a href="http://vincent.composieux.fr/2009/12/01/symfony-1-2-et-1-3-stables-disponibles/" rel="bookmark" class="crp_title">Symfony 1.3 et 1.4 stables disponibles !</a></li><li><a href="http://vincent.composieux.fr/2009/12/21/petit-memento-sur-les-nouveautes-css-3/" rel="bookmark" class="crp_title">Petit memento sur les nouveautés de CSS 3</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://vincent.composieux.fr/2010/10/09/doctrine-comment-effectuer-un-truncate-table/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Symfony : Rsync sous Windows</title>
		<link>http://vincent.composieux.fr/2010/08/18/symfony-rsync-sous-windows/</link>
		<comments>http://vincent.composieux.fr/2010/08/18/symfony-rsync-sous-windows/#comments</comments>
		<pubDate>Wed, 18 Aug 2010 19:48:26 +0000</pubDate>
		<dc:creator>Vincent</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://vincent.composieux.fr/?p=309</guid>
		<description><![CDATA[Ce soir, je cherchais à faire fonctionner le Rsync sous Windows, et particulièrement sous Symfony. En effet, un outil existant permet de faire fonctionner du Rsync sous Windows vers un serveur unix via le protocole SSH. Il est trouvable à (&#8230;)</p><p><a href="http://vincent.composieux.fr/2010/08/18/symfony-rsync-sous-windows/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://vincent.composieux.fr/wp-content/uploads/symfony.gif"><img class="size-full wp-image-310 aligncenter" title="Symfony" src="http://vincent.composieux.fr/wp-content/uploads/symfony.gif" alt="" width="200" height="55" /></a></p>
<p>Ce soir, je cherchais à faire fonctionner le <strong>Rsync </strong>sous <strong>Windows</strong>, et particulièrement sous <a href="http://www.symfony-project.org"><strong>Symfony</strong></a>.</p>
<p>En effet, un outil existant permet de faire fonctionner du Rsync sous Windows vers un serveur unix via le protocole SSH. Il est trouvable à l&#8217;adresse suivante : <a href="http://trac.symfony-project.org/wiki/SymfonySyncOnWindows">http://trac.symfony-project.org/wiki/SymfonySyncOnWindows</a></p>
<h2>Comment ça marche ?</h2>
<p>Téléchargez l&#8217;archive fournie sur le lien ci-dessus puis décompressez-la dans un répertoire. Nous prendrons comme exemple <em>C:\rsync</em>.</p>
<p>Il vous faut ensuite aller éditer les <em>variables d&#8217;environnement</em> de Windows et particulièrement la variable <em>PATH</em> à laquelle vous devez rajouter votre répertoire <em>C:\rsync</em>.</p>
<p>Vous pouvez désormais utiliser la commande via une invite de commande (console) (Démarrer &gt; Exécuter &gt; <em>cmd</em>).</p>
<h2>Modifier la librairie Symfony</h2>
<p>Oui mais voilà, la commande ne va pas fonctionner pour autant lorsque vous lancerez votre &#8216;<em>symfony project:deploy &lt;environment&gt; &#8211;go</em>&#8216;.</p>
<p>Pour celà, il vous faut aller modifier la ligne <strong>164</strong> du fichier <em>lib/vendor/symfony/lib/task/project/sfProjectDeployTask.class.php</em>.</p>
<p>Modifiez la ligne :</p>
<pre class="brush:php;">$this-&gt;getFilesystem()-&gt;execute($command, $options['trace'] ? array($this, 'logOutput') : null, array($this, 'logErrors'));</pre>
<p>en :</p>
<pre class="brush:php;">$this-&gt;getFilesystem()-&gt;execute('start cmd /k ' . $command, $options['trace'] ? array($this, 'logOutput') : null, array($this, 'logErrors'));</pre>
<p>La commande <em>start cmd /k</em> va nous permettre d&#8217;ouvrir une invite de commande qui se chargera d&#8217;exécuter le rsync.<br />
Ainsi, si vous synchronisez comme moi via SSH, vous n&#8217;aurez plus qu&#8217;à taper votre mot de passe qui ne peut pas être inscrit dans le fichier de configuration, par raisons de sécurité.<br />
En espérant que cette petite astuce puisse avoir aider certains d&#8217;entre vous <img src='http://vincent.composieux.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div id="crp_related"><h4>Articles similaires:</h4><ul><li><a href="http://vincent.composieux.fr/2009/12/01/symfony-1-2-et-1-3-stables-disponibles/" rel="bookmark" class="crp_title">Symfony 1.3 et 1.4 stables disponibles !</a></li><li><a href="http://vincent.composieux.fr/2011/04/06/symfony-1-31-4-executer-une-tache-dans-un-controller/" rel="bookmark" class="crp_title">Symfony 1.3/1.4 : Exécuter une tâche dans un controller</a></li><li><a href="http://vincent.composieux.fr/2010/07/05/devao-la-preview-est-ouverte/" rel="bookmark" class="crp_title">Devao : la preview est ouverte</a></li><li><a href="http://vincent.composieux.fr/2009/11/24/orm-designer-pour-doctrine-et-propel-symfony/" rel="bookmark" class="crp_title">ORM Designer pour Doctrine et Propel (Symfony)</a></li><li><a href="http://vincent.composieux.fr/2009/12/23/installer-et-configurer-mrtg-sous-debian/" rel="bookmark" class="crp_title">Installer et configurer MRTG sous Debian</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://vincent.composieux.fr/2010/08/18/symfony-rsync-sous-windows/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>HTML5 &#8211; Mediaelement.js : Balises video et audio sur tous les navigateurs</title>
		<link>http://vincent.composieux.fr/2010/08/01/html5-mediaelement-js-et-sur-tous-les-navigateurs/</link>
		<comments>http://vincent.composieux.fr/2010/08/01/html5-mediaelement-js-et-sur-tous-les-navigateurs/#comments</comments>
		<pubDate>Sun, 01 Aug 2010 11:01:45 +0000</pubDate>
		<dc:creator>Vincent</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Web design]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[elements]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[media]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://vincent.composieux.fr/?p=305</guid>
		<description><![CDATA[Vous souhaitez utiliser les balises &#60;video&#62; et &#60;audio&#62; apportées par HTML5 sur tous les navigateurs (oui oui, y compris les anciens) ? La solution Une solution vient d&#8217;être apportée en Javascript pour adapter tout ça sur les différents supports à (&#8230;)</p><p><a href="http://vincent.composieux.fr/2010/08/01/html5-mediaelement-js-et-sur-tous-les-navigateurs/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Vous souhaitez utiliser les balises <strong>&lt;video&gt;</strong> et <strong>&lt;audio&gt;</strong> apportées par <strong>HTML5</strong> sur tous les navigateurs (oui oui, y compris les anciens) ?</p>
<h3>La solution</h3>
<p>Une solution vient d&#8217;être apportée en Javascript pour adapter tout ça sur les différents supports à l&#8217;adresse suivante : <a title="MediaElements.js" href="http://mediaelementjs.com/" target="_blank">http://mediaelementjs.com/</a>.</p>
<p>Ainsi, vous pourrez utiliser ces nouvelles balises HTML5 sans soucis de compatibilité sur les différents navigateurs.</p>
<h3>Solutions de compatibilité utilisées pour les différents navigateurs</h3>
<ul>
<li><span style="text-decoration: underline;">Safari</span> : HTML5 natif</li>
<li><span style="text-decoration: underline;">Chrome</span> : HTML5 natif</li>
<li><span style="text-decoration: underline;">Internet Explorer 9</span> : HTML5 natif</li>
<li><span style="text-decoration: underline;">Internet Explorer 6,7,8</span> : Silverlight/Flash</li>
<li><span style="text-decoration: underline;">Firefox</span> : Silverlight/Flash</li>
<li><span style="text-decoration: underline;">Opera</span> : Silverlight/Flash</li>
<li><span style="text-decoration: underline;">iPhone, iPad</span> : HTML5 natif</li>
<li><span style="text-decoration: underline;">Android</span> : HTML5 natif</li>
</ul>
<p>De plus, plus besoin de vous soucier du format de vidéo, le <strong>H.264</strong> qui ne fonctionne pas sous Opéra et Firefox pourra désormais fonctionner car <strong>MediaElements.js</strong> s&#8217;occupe de modifier la source pour l&#8217;adapter en fonction des navigateurs.</p>
<p>À noter que la balise &lt;video&gt; peut contenir plusieurs éléments &lt;source&gt; qui ont comme source une vidéo de format différente afin que le navigateur puisse utiliser le format approprié.</p>
<h3>Exemple d&#8217;utilisation</h3>
<pre class="brush:html;">
<!-- Inclure jquery.js, mediaelement.js, et mediaelementplayer.js ainsi que mediaelementplayer.css -->

<!-- utilisez un seul format de fichier H.264 pour tous -->
video src="fichier.mp4" type="video/mp4" width="640" height="360"></video

<!-- ou utilisez des codecs multiples -->
video width="640" height="360"
        source src="fichier.mp4" type="video/mp4"
        source src="fichier.ogg" type="video/ogg"
        source src="fichier.webm" type="video/webm"
/video

script
jQuery(document).ready(function($) {
        $('video').mediaelementplayer();
});
/script
</pre>
<div id="crp_related"><h4>Articles similaires:</h4><ul><li><a href="http://vincent.composieux.fr/2009/11/28/les-videos-silverlight-sur-iphone-bientot-disponibles/" rel="bookmark" class="crp_title">Les vidéos Silverlight sur iPhone, bientôt disponibles !</a></li><li><a href="http://vincent.composieux.fr/2009/11/30/lorm-doctrine-maintenant-disponible-en-version-1-2-0/" rel="bookmark" class="crp_title">L&#8217;ORM Doctrine maintenant disponible en version 1.2.0</a></li><li><a href="http://vincent.composieux.fr/2009/12/19/wordpress-2-9-desormais-disponible-en-francais/" rel="bookmark" class="crp_title">WordPress 2.9 désormais disponible en français !</a></li><li><a href="http://vincent.composieux.fr/2010/06/20/sencha-premier-framework-html5-pour-mobiles/" rel="bookmark" class="crp_title">Sencha : premier framework HTML5 pour mobiles</a></li><li><a href="http://vincent.composieux.fr/2009/11/28/netvibes-wasabi-jai-teste-pour-vous/" rel="bookmark" class="crp_title">Netvibes Wasabi : J&#8217;ai testé pour vous &#8230;</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://vincent.composieux.fr/2010/08/01/html5-mediaelement-js-et-sur-tous-les-navigateurs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Devao : la preview est ouverte</title>
		<link>http://vincent.composieux.fr/2010/07/05/devao-la-preview-est-ouverte/</link>
		<comments>http://vincent.composieux.fr/2010/07/05/devao-la-preview-est-ouverte/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 21:44:45 +0000</pubDate>
		<dc:creator>Vincent</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Doctrine]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Symfony]]></category>
		<category><![CDATA[actualité]]></category>
		<category><![CDATA[devao]]></category>
		<category><![CDATA[doctrine]]></category>
		<category><![CDATA[projet]]></category>

		<guid isPermaLink="false">http://vincent.composieux.fr/?p=294</guid>
		<description><![CDATA[Et voila, en ce 5 Juillet, je viens d&#8217;ouvrir la preview de mon projet de fin d&#8217;année. Pas des masses de fonctionnalités pour le moment, mais elles vont rapidement arriver par la suite ! Devao, qu&#8217;est-ce ? C&#8217;est tout simplement (&#8230;)</p><p><a href="http://vincent.composieux.fr/2010/07/05/devao-la-preview-est-ouverte/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Et voila, en ce <strong>5 Juillet</strong>, je viens d&#8217;ouvrir la preview de mon projet de fin d&#8217;année. Pas des masses de fonctionnalités pour le moment, mais elles vont rapidement arriver par la suite !</p>
<p style="text-align: center;"><img class="size-full wp-image-295 aligncenter" title="devao_preview" src="http://vincent.composieux.fr/wp-content/uploads/devao_preview.jpg" alt="" width="500" height="208" /></p>
<h3>Devao, qu&#8217;est-ce ?</h3>
<p>C&#8217;est tout simplement un site agrégateur d&#8217;actualités en temps réel. Pour le moment, seulement certains blogs sont indexés mais par la suite, les utilisateurs auront la possibilité d&#8217;ajouter leurs propres blogs, des comptes Twitter et pleins d&#8217;autres petites choses en préparations <img src='http://vincent.composieux.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: center;"><a href="http://www.symfony-project.org"><img class="size-full wp-image-296 aligncenter" title="symfony-logo" src="http://vincent.composieux.fr/wp-content/uploads/symfony-logo.gif" alt="" width="201" height="55" /></a></p>
<p>Ce projet a été développé sous<strong> Symfony 1.4</strong> (<a title="Symfony" href="http://www.symfony-project.org" target="_blank">http://www.symfony-project.org</a>), le meilleur framework PHP selon moi et utilise l&#8217;<strong>ORM Doctrine</strong> (<a title="Doctrine" href="http://www.doctrine-project.org" target="_blank">http://www.doctrine-project.org</a>).</p>
<p>Rendez-vous sur <a title="Devao" href="http://www.devao.fr" target="_blank">http://www.devao.fr</a> pour la suite et à très bientôt pour le debriefing de la preview et le détail des nouvelles fonctionnalités !</p>
<div id="crp_related"><h4>Articles similaires:</h4><ul><li><a href="http://vincent.composieux.fr/2009/11/30/lorm-doctrine-maintenant-disponible-en-version-1-2-0/" rel="bookmark" class="crp_title">L&#8217;ORM Doctrine maintenant disponible en version 1.2.0</a></li><li><a href="http://vincent.composieux.fr/2009/12/01/symfony-1-2-et-1-3-stables-disponibles/" rel="bookmark" class="crp_title">Symfony 1.3 et 1.4 stables disponibles !</a></li><li><a href="http://vincent.composieux.fr/2009/11/24/orm-designer-pour-doctrine-et-propel-symfony/" rel="bookmark" class="crp_title">ORM Designer pour Doctrine et Propel (Symfony)</a></li><li><a href="http://vincent.composieux.fr/2010/06/20/sencha-premier-framework-html5-pour-mobiles/" rel="bookmark" class="crp_title">Sencha : premier framework HTML5 pour mobiles</a></li><li><a href="http://vincent.composieux.fr/2010/10/09/doctrine-comment-effectuer-un-truncate-table/" rel="bookmark" class="crp_title">Doctrine : Comment effectuer un truncate table ?</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://vincent.composieux.fr/2010/07/05/devao-la-preview-est-ouverte/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQnotice : mon petit plug-in de notifications jQuery</title>
		<link>http://vincent.composieux.fr/2010/06/20/jqnotice-mon-petit-plug-in-de-notifications-jquery/</link>
		<comments>http://vincent.composieux.fr/2010/06/20/jqnotice-mon-petit-plug-in-de-notifications-jquery/#comments</comments>
		<pubDate>Sun, 20 Jun 2010 14:20:30 +0000</pubDate>
		<dc:creator>Vincent</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Web design]]></category>
		<category><![CDATA[jqnotice]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[notice]]></category>
		<category><![CDATA[notification]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://vincent.composieux.fr/?p=288</guid>
		<description><![CDATA[En ce Dimanche matin, j&#8217;avais besoin de faire quelquechose pour avoir des notifications / alertes sur un projet web dont je vous reparlerais très prochainement. Je n&#8217;avais jamais créé de plug-in jQuery, c&#8217;est maintenant chose faite, même s&#8217;il n&#8217;est vraiment (&#8230;)</p><p><a href="http://vincent.composieux.fr/2010/06/20/jqnotice-mon-petit-plug-in-de-notifications-jquery/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>En ce Dimanche matin, j&#8217;avais besoin de faire quelquechose pour avoir des notifications / alertes sur un projet web dont je vous reparlerais très prochainement.</p>
<p>Je n&#8217;avais jamais créé de plug-in jQuery, c&#8217;est maintenant chose faite, même s&#8217;il n&#8217;est vraiment pas extraordinaire, il vous permettra de créer des petites notifications sympas en haut de votre site web ! Biensûr, il reste personnalisé pour mon projet mais est très facilement adaptable à votre sauce.</p>
<h3>Commençons par le code JavaScript (après avoir inclus la librairie jQuery) :</h3>
<pre class="brush:javascript;">(function($) {
	$.notice = {
		show: function(message) {
			/** Configuration */
			var top = 5;
			var left = 15;
			var fadeoutDuration = 1000;

			/** Launch the notification */
			$('html, body').animate({scrollTop:0});
			$('

').attr('id', 'notice').css('left', (50-left)+'%').css('top', (0+top)+'px').appendTo('body').text(message);

			/** Switch off the notification */
			setTimeout(function() {$('#notice').animate({ opacity: 0, top: '-20px' }, fadeoutDuration);}, 2000);
			setTimeout(function() {$('#notice').remove();}, 3000);
		}
	}

	jQnotice = function(message) { $.notice.show(message); };
})(jQuery);</pre>
<h3>Ajoutez à celà un petit bloc de CSS :</h3>
<pre class="brush:css;">#notice {
	position:absolute;
	background-image:url('/images/notice.png');
	width:250px;
	height:35px;
	text-align:center;
	padding:15px 0 0 0;
	font-size:11px;
	color:#467618;
}</pre>
<p>Vous aurez également besoin de cette image :</p>
<p><img class="alignnone size-full wp-image-289" title="notice" src="http://vincent.composieux.fr/wp-content/uploads/notice.png" alt="" width="250" height="50" /></p>
<h3>Enfin, terminons par l&#8217;appel de la méthode pour lancer une notification :</h3>
<pre class="brush:javascript;">jQnotice('Votre message de notification');</pre>
<p>- <strong>Adresse du plug-in</strong> : <a title="jQuery Plugin" href="http://plugins.jquery.com/project/jQnotice" target="_blank">http://plugins.jquery.com/project/jQnotice</a><br />
- <strong>Adresse de démonstration</strong> : <a title="Démonstration jQnotice" href="http://composieux.fr/jqnotice" target="_blank">http://composieux.fr/jqnotice</a></p>
<div id="crp_related"><h4>Articles similaires:</h4><ul><li><a href="http://vincent.composieux.fr/2010/06/09/jquery-tools-des-outils-interessants-pour-jquery/" rel="bookmark" class="crp_title">jQuery Tools : Des outils intéressants pour jQuery</a></li><li><a href="http://vincent.composieux.fr/2010/06/20/sencha-premier-framework-html5-pour-mobiles/" rel="bookmark" class="crp_title">Sencha : premier framework HTML5 pour mobiles</a></li><li><a href="http://vincent.composieux.fr/2010/08/01/html5-mediaelement-js-et-sur-tous-les-navigateurs/" rel="bookmark" class="crp_title">HTML5 &#8211; Mediaelement.js : Balises video et audio sur tous les navigateurs</a></li><li><a href="http://vincent.composieux.fr/2010/04/02/threadsy-decouverte-et-invitations-pour-beta-privee/" rel="bookmark" class="crp_title">Threadsy &#8211; Découverte et invitations pour beta privée</a></li><li><a href="http://vincent.composieux.fr/2009/12/21/petit-memento-sur-les-nouveautes-css-3/" rel="bookmark" class="crp_title">Petit memento sur les nouveautés de CSS 3</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://vincent.composieux.fr/2010/06/20/jqnotice-mon-petit-plug-in-de-notifications-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sencha : premier framework HTML5 pour mobiles</title>
		<link>http://vincent.composieux.fr/2010/06/20/sencha-premier-framework-html5-pour-mobiles/</link>
		<comments>http://vincent.composieux.fr/2010/06/20/sencha-premier-framework-html5-pour-mobiles/#comments</comments>
		<pubDate>Sat, 19 Jun 2010 22:16:13 +0000</pubDate>
		<dc:creator>Vincent</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[extjs]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[jqtouch]]></category>
		<category><![CDATA[raphael]]></category>
		<category><![CDATA[sencha]]></category>

		<guid isPermaLink="false">http://vincent.composieux.fr/?p=284</guid>
		<description><![CDATA[Depuis le 14 Juin est rendu disponible Sencha, premier framework HTML5 pour mobiles. Autrement dit, le premier outil qui vous permet de créer des applications web pour mobiles (aussi bien Android qu&#8217;iPhone ou même iPad !). La deuxième surprise est le fait (&#8230;)</p><p><a href="http://vincent.composieux.fr/2010/06/20/sencha-premier-framework-html5-pour-mobiles/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-285 alignright" title="Sencha" src="http://vincent.composieux.fr/wp-content/uploads/sencha-logo.png" alt="" width="100" height="100" /></p>
<p>Depuis le 14 Juin est rendu disponible <a title="Sencha" href="http://sencha.com" target="_blank">Sencha</a>, premier <strong>framework HTML5 pour mobiles</strong>. Autrement dit, le premier outil qui vous permet de créer des <strong>applications web</strong> pour <strong>mobiles</strong> (aussi bien Android qu&#8217;iPhone ou même iPad !).</p>
<p>La deuxième surprise est le fait que <strong>Sencha</strong> soit en fait un regroupement de <strong>trois frameworks</strong> Javascript assez énormes qui ont bien fait parler d&#8217;eux. Il s&#8217;agit en effet d&#8217;<a title="ExtJS" href="http://extjs.com" target="_blank">ExtJS</a> (qui est maintenant devenu <a title="Sencha" href="http://sencha.com" target="_blank">Sencha</a>), Raphaël et <a title="jQtouch" href="http://jqtouch.com/" target="_blank">jQtouch</a> (un plug-in <a title="jQuery" href="http://www.jquery.com" target="_blank">jQuery</a> permettant de construire des applications iPhone).</p>
<p style="text-align: center;"><img class="size-full wp-image-286 aligncenter" title="Sencha - Framework HTML5 pour mobiles" src="http://vincent.composieux.fr/wp-content/uploads/20100616family.png" alt="" width="400" height="239" /></p>
<p>Ce qui est intéressant, c&#8217;est la multitude de possibilités qu&#8217;offre le framework ainsi que les <strong>nombreuses démonstrations</strong> misent à disposition dans le package.</p>
<p>Je vous laisse donc vous amuser avec et personnellement, je l&#8217;utiliserais très certainement si j&#8217;en ai le temps lorsque j&#8217;aurais fini de développer <a title="Devao" href="http://www.devao.com" target="_blank">Devao</a> !</p>
<p>- <a title="http://www.sencha.com" href="http://www.sencha.com" target="_blank">Site web de Sencha</a></p>
<div id="crp_related"><h4>Articles similaires:</h4><ul><li><a href="http://vincent.composieux.fr/2010/07/05/devao-la-preview-est-ouverte/" rel="bookmark" class="crp_title">Devao : la preview est ouverte</a></li><li><a href="http://vincent.composieux.fr/2010/06/09/jquery-tools-des-outils-interessants-pour-jquery/" rel="bookmark" class="crp_title">jQuery Tools : Des outils intéressants pour jQuery</a></li><li><a href="http://vincent.composieux.fr/2010/08/01/html5-mediaelement-js-et-sur-tous-les-navigateurs/" rel="bookmark" class="crp_title">HTML5 &#8211; Mediaelement.js : Balises video et audio sur tous les navigateurs</a></li><li><a href="http://vincent.composieux.fr/2010/06/20/jqnotice-mon-petit-plug-in-de-notifications-jquery/" rel="bookmark" class="crp_title">jQnotice : mon petit plug-in de notifications jQuery</a></li><li><a href="http://vincent.composieux.fr/2011/01/09/hello-2011-petit-review-de-mon-annee-2010/" rel="bookmark" class="crp_title">Hello 2011, petit review de mon année 2010</a></li><li>Powered by <a href="http://ajaydsouza.com/wordpress/plugins/contextual-related-posts/">Contextual Related Posts</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://vincent.composieux.fr/2010/06/20/sencha-premier-framework-html5-pour-mobiles/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

