Blog Pro de Jean-Baptiste HEREN - développement Web http://blog.jbheren.com/? Notes d'un consultant Freelance en Informatique aa Tue, 03 Nov 2015 21:34:19 +0100 droits réservés à l'auteur http://blogs.law.harvard.edu/tech/rss Dotclear Configure Virtual Hosts in WAMP Server (MS Windows) http://blog.jbheren.com/?post/2011/01/25/configure-virtual-hosts-in-wamp-server urn:md5:8d152cf4bc7c3fe55ed53798cdb5bfb3 Mon, 24 Jan 2011 23:45:00 +0100 Jean-Baptiste Heren développement Web apachedéveloppement webMysqlPHP <p><img src="http://www.wampserver.com/data/image_menu_wamp.gif" alt="image_menu_wamp.gif" style="float:left; margin: 0 1em 1em 0;" title="image_menu_wamp.gif, janv. 2011" /><a href="http://www.wampserver.com/" hreflang="en">WAMP</a> is a standalone LAMP(Linux Apache Mysql Php) installation package for windows. It is very usefull when you want to try or develop something fast on your local machine.</p> <p>In the following example, WAMP is located on d:\wamp. This is not really important here, but I have four different hosts installed :</p> <ul> <li>sf.localhost : symfony project</li> <li>mag.localhost : Magento Installation</li> <li>a.localhost : Apostrophe CMS installation</li> <li>localhost : the default WAMP home page</li> </ul> <h2>1- Edit the httpd.conf</h2> <p>Uncomment the following line to inclute the httpd-vhosts.conf file.</p> <pre>[script] # Virtual hosts Include conf/extra/httpd-vhosts.conf </pre> <h2></h2> <p>2- Define your virtual hosts with the httpd-vhosts.conf The file is located in wamp\bin\apache\Apache2.2.11\conf\extra. Here is an example defining 3 virtualhosts plus the default localhost</p> <pre>[script] # # Virtual Hosts # # If you want to maintain multiple domains/hostnames on your # machine you can setup VirtualHost containers for them. Most configurations # use only name-based virtual hosts so the server doesn't need to worry about # IP addresses. This is indicated by the asterisks in the directives below. # # Please see the documentation at # &lt;URL:http://httpd.apache.org/docs/2.2/vhosts/&gt; # for further details before you try to setup virtual hosts. # # You may use the command line option '-S' to verify your virtual host # configuration. # # Use name-based virtual hosting. # NameVirtualHost *:80 # # VirtualHost example: # Almost any Apache directive may go into a VirtualHost container. # The first VirtualHost section is used for all requests that do not # match a ServerName or ServerAlias in any &lt;VirtualHost&gt; block. # # Magento &lt;VirtualHost *:80&gt; ServerAdmin webmaster@mag.localhost DocumentRoot &quot;D:\wamp\www\magento&quot; ServerName mag.localhost ErrorLog &quot;logs/mag.localhost-error.log&quot; CustomLog &quot;logs/mag.localhost-access.log&quot; common &lt;Directory &quot;D:\wamp\www\magento&quot;&gt; Options Indexes FollowSymLinks AllowOverride all Order Deny,Allow Deny from all Allow from 127.0.0.1 &lt;/Directory&gt; &lt;/VirtualHost&gt; # localhost &lt;VirtualHost *:80&gt; ServerAdmin webmaster@localhost DocumentRoot &quot;d:\wamp\www&quot; ServerName localhost ErrorLog &quot;logs/localhost-error.log&quot; CustomLog &quot;logs/localhost-access.log&quot; common &lt;Directory &quot;d:\wamp\www&quot;&gt; Options Indexes FollowSymLinks AllowOverride all Order Deny,Allow Deny from all Allow from 127.0.0.1 &lt;/Directory&gt; &lt;/VirtualHost&gt; # Symfony &lt;VirtualHost *:80&gt; ServerAdmin webmaster@sf.localhost DocumentRoot &quot;d:/wamp/www/sf_sandbox/web/&quot; ServerName sf.localhost ServerAlias www.sf.localhost ErrorLog &quot;logs/sf.localhost-error.log&quot; CustomLog &quot;logs/dummy-host.localhost-access.log&quot; common &lt;Directory &quot;d:/wamp/www/sf_sandbox/web/&quot;&gt; Options Indexes FollowSymLinks AllowOverride all Order Deny,Allow Deny from all Allow from 127.0.0.1 &lt;/Directory&gt; Alias /sf/ &quot;d:\wamp\www\sf_sandbox\lib\vendor\symfony\data\web\sf/&quot; &lt;Directory &quot;d:\wamp\www\sf_sandbox\lib\vendor\symfony\data\web\sf/&quot;&gt; Options Indexes FollowSymLinks MultiViews AllowOverride all Order allow,deny Allow from all &lt;/Directory&gt; &lt;/VirtualHost&gt; # Apostrophe Symfony &lt;VirtualHost *:80&gt; ServerAdmin webmaster@a.localhost DocumentRoot &quot;d:/wamp/www/asandbox/web/&quot; ServerName a.localhost ServerAlias www.a.localhost ErrorLog &quot;logs/sf.localhost-error.log&quot; CustomLog &quot;logs/dummy-host.localhost-access.log&quot; common &lt;Directory &quot;d:/wamp/www/asandbox/web/&quot;&gt; Options Indexes FollowSymLinks AllowOverride all Order Deny,Allow Deny from all Allow from 127.0.0.1 &lt;/Directory&gt; Alias /sf/ &quot;d:\wamp\www\asandbox\lib\vendor\symfony\data\web\sf/&quot; &lt;Directory &quot;d:\wamp\www\asandbox\lib\vendor\symfony\data\web\sf/&quot;&gt; Options Indexes FollowSymLinks MultiViews AllowOverride all Order allow,deny Allow from all &lt;/Directory&gt; &lt;/VirtualHost&gt; </pre> <h2>3- Add your virtual hosts to the local hosts.conf</h2> <p>Edit the file located in C:\WINDOWS\system32\drivers\etc\hosts, then add your virtual hosts.</p> <pre>[script] 127.0.0.1 localhost 127.0.0.1 sf.localhost 127.0.0.1 mag.localhost 127.0.0.1 a.localhost </pre> <h2>4- Start Wamp &amp; give a try</h2> <p>After you started wamp, you can now open your navigator an give a try to your dirrefent virtual hosts. Apache will recognize automatically the address you want to access, even if everything is hosted on the same machine.</p> désactiver le timeout avec sfGUardSecurityUser dans Symfony http://blog.jbheren.com/?post/2011/01/12/desactiver-le-timeout-avec-sfGUardSecurityUser-dans-Symfony urn:md5:9f869fc2f968652dc9f1b51dd751fcb7 Wed, 12 Jan 2011 21:55:00 +0100 Jean-Baptiste Heren développement Web <p>Voici comment désactiver le timeout des sessions Symony, utilisant une classe myUser dérivée de sfGuardSecurityUser.</p> <h2>Modifier la durée maximale de session dans php.ini</h2> <pre>[ini] session.gc_maxlifetime = 86400 </pre> <h2>Modifier la classe apps/votre_app/lib/myUser.class.php</h2> <pre>[php] class myUser extends sfGuardSecurityUser { // on surcharge le constructeur afin de fixer la valeur du timeout. public function initialize(sfEventDispatcher $dispatcher, sfStorage $storage, $options = array()) { // timeout est fixé à false. On peut également fixer une valeur en secondes. $options['timeout'] = false; parent::initialize($dispatcher, $storage, $options); } } </pre> <p>Merci à Blue Horn pour son <a href="http://bluehorn.co.nz/2010/03/26/how-to-make-symfony-session-to-never-timeout/" hreflang="en">précieux post</a>, ainsi que le <a href="https://groups.google.com/group/symfony-fr/browse_thread/thread/ff3809d1cb655ff4?hl=fr" hreflang="fr">groupe de discussion</a> Symfony :)</p> Symfony : une tâche pour recréer un index Lucene http://blog.jbheren.com/?post/2010/11/01/Symfony-une-tache-pour-recreer-un-index-Lucene urn:md5:3e721c2667558e93932292e0dc95cab3 Mon, 01 Nov 2010 20:25:00 +0100 Jean-Baptiste Heren développement Web développement webFramework WebPHPSymfony <p>Cela fait maintenant quelques mois que je travaille avec le framework PHP symfony, et j'en profite pour partager un peu.<br /> <br /> Si comme moi (et comme dans le <a href="http://www.symfony-project.org/jobeet/1_4/Doctrine/en/">tutoriel Jobeet</a>) vous utilisez les index <a href="http://framework.zend.com/manual/fr/zend.search.lucene.html">Lucene</a>, issus du Framework PHP Zend, vous avez certainement eu besoin de ré-indexer des données suite à un import de données ou à une erreur quelconque(!).<br /> <br /> Voici donc le code d'une <a href="http://blog.jbheren.com/public/tuto/symfony/tasks/userReindexTask.class.phps">tâche symfony</a>, qui reconstruit intégralement l'index Lucene d'une table à partir des données existantes.</p> <p><br />Dans cet exemple, je ré-indexe les champs d'une table user. Pour limiter l'utilisation de mémoire, je traite les données par paquets de 500 lignes.</p> <pre>-------------<br />|&nbsp; user&nbsp;&nbsp;&nbsp;&nbsp; |<br />-------------<br />| id (pk)&nbsp;&nbsp; |<br />| firstname |<br />| lastname&nbsp; |<br />| username&nbsp; |<br />| email&nbsp;&nbsp;&nbsp;&nbsp; |<br />-------------</pre><p><br />Le fichier <strong>userReindexTask.class.php</strong> se trouve dans le dossier <strong>/lib/Task</strong><br />Pour l'exécuter dans l'environnement de prod, par exemple: <strong>./symfony user:reindex --env=prod</strong></p> Elastic, le CSS devient un bonheur. http://blog.jbheren.com/?post/2010/10/18/Elastic%2C-le-CSS-devient-un-bonheur. urn:md5:fea6a899a4dc99bb886a3d81d91808c7 Mon, 18 Oct 2010 19:57:00 +0200 Jean-Baptiste Heren développement Web CSSdéveloppement webframeworks <h2>Pourquoi un Framework CSS ?</h2> <p>Aprés les FrameWork PHP et Javascript, il restait un élément à simplifier : CSS.<br /> Les frameworks CSS permettent de simplifier la définition de Modèles (ou &quot;layouts&quot;). il s'agit de<br /> - s'affranchir des interprétations des différents navigateurs.<br /> - améliorer la lisibilité du code et donc son maintien<br /> Tout cela permettant bien sûr d'accélérer le développement.</p> <br /> <h2>Un exemple de Framework <a href="http://blog.jbheren.com/tag/CSS">CSS</a> : Elastic</h2> <br /> <p><img alt="" src="http://elasticss.com/wp-content/themes/Elastic_CSS/images/header_elastic_css_logo.png" /></p> Vous trouverez sur le web, une liste foisonnante de <a href="http://blog.jbheren.com/tag/frameworks">frameworks</a> CSS, <a href="http://www.blueprintcss.org">blueprint</a> en tête.<br /> <p>Pour ma part, j'ai testé (et adopté) <a href="http://elasticss.com/">Elastic</a>. Un petit tour du côté des <a href="http://elasticss.com/demos/Examples_Web_Layouts.html">démos CSS</a> vous donnera certainement envie, j'ai particulièrement aimé les <a href="http://elasticss.com/demos/Examples_AutoLayouts.html">layouts adaptatifs</a>.<br /> <br /> Elastic utilise JQuery en interne, une preuve de bon goût, et sa prise en main est vraiment rapide. Je en saurai faire mieux que le site Elastic lui-même, commencez donc par les layouts web Typiques.</p> Une Alternative à la suite Graphique Adobe pour OSX ? http://blog.jbheren.com/?post/2010/07/19/Mon-Alternative-%C3%A0-la-suite-Graphique-Adobe-pour-OSX urn:md5:3158c9476d8dc7c73da665c114baf09a Tue, 20 Jul 2010 00:10:00 +0200 Jean-Baptiste Heren développement Web développement webleopardMacOSX <p>En tant que travailleurs du Web, nous sommes habitués à travailler avec les logiciels Adobe, même pour réaliser des tâches simples comme de petites illustrations vectorielles, ou simplement du découpage d'images avec optimisation pour le Web.</p> <p><img src="http://blog.jbheren.com/public/tuto/adobe_alternatives/.pixelmator_welcome_s.jpg" alt="" style="float: left; margin: 0 1em 1em 0;" title="pixelmator_welcome.png, juil. 2010" />En tant qu'indépendant ou pour un usage personnel, se pose d'un coup la question du coût des licences logicielles. Pourquoi donc dépenser 2000€ sans comparer les offres. N'existe-il pas des logiciels équivalents (voire meilleurs) et moins onéreux ?</p> <p>Après des mois de recherche pour monter une chaine logicielle alternative, à la fois fonctionnelle et pas cher,  voici ce que j'ai pu trouver :  nous verrons que, passé un petit temps d'adaptation, certaines de ces applications nous offrent beaucoup plus qu'un alternative.</p> <p>Chacun de ces logiciels est disponible en version d'essai. Un excellent moyen de se faire sa propre idée !</p> <h1>Remplacer Photoshop</h1> Pour la retouche d'image, le Mac n'est pas en reste, avec des applications très bien faites.<br /> <h2><a href="http://www.pixelmator.com/">Pixelmator</a> </h2> <a href="http://blog.jbheren.com/public/tuto/adobe_alternatives/pixelmator_opens_psd.jpg"><img src="http://blog.jbheren.com/public/tuto/adobe_alternatives/.pixelmator_opens_psd_s.jpg" alt="" style="float: right; margin: 0 0 1em 1em;" title="pixelmator_opens_psd.jpg, juil. 2010" /></a>Le logiciel le plus reconnu du secteur sur Mac. Son interface ne déroutera pas l'habitué de photoshop, les menus sont situés au même endroit et les fonctions sont similaires. Il dispose de tout le nécessaire pour la photo édition et le découpage. On trouve également une fonction d'export pour le web. <div>Pixelmator est capable d'ouvrir vos fichiers PSD, vous retrouverez vos calques, textes, tout cela en parfait état !</div> <div>On regrettera l'absence de certains outils comme le lasso magnétique, tellement pratique pour le détourage, peut-être dans une prochaine version ?<br /> <div><br /> Les Plus : </div> <div> <ul> <li>On garde nos habitudes issues de Photoshop.</li> <li>Interface soignée</li> <li>Tarif abordable : 49$</li> <li>Traduit en Français !</li> <li>Trés nombreux formats gérés, y compris RAW et PSD !</li> <li>Gestion des tablettes graphiques</li> <li>Documentation très riche (http://www.pixelmator.com/learn/)</li> </ul> les Moins :</div> <div> <ul> <li>Pas de lasso magnétique.</li> </ul> <h2><a href="http://flyingmeat.com/acorn/">Acorn</a></h2> <div><a href="http://blog.jbheren.com/public/tuto/adobe_alternatives/acord_opens_psd.jpg"><img src="http://blog.jbheren.com/public/tuto/adobe_alternatives/.acord_opens_psd_s.jpg" alt="" style="float: right; margin: 0 0 1em 1em;" title="acord_opens_psd.jpg, juil. 2010" /></a>A l'ouverture du logiciel, on remarque que les développeurs ont vraiment voulu faire un remplaçant allégé de photoshop. Les menu, comme pour Pixelmator, sont calqués sur le logiciel d'Adobe. On remarque simplement un moins grand nombre d'outils, mais des options assez poussées, par exemple dans le choix des pinceaux et encres. Il dispose aussi de plus nombreux effets.</div> <br /> Les Plus :</div> <div> <ul> <li>On garde nos habitudes issues de Photoshop.</li> <li>Tarif abordable : 29€</li> <li>Gestion des tablettes graphiques</li> <li>Boite à outil originale et simple d'utilisation</li> </ul> les Moins :</div> <div> <ul> <li>Pas de lasso magnétique.</li> <li>Pas de langue Française.</li> <li>Peu de documentation</li> </ul> <h2><span class="Apple-style-span" style="font-size: 24px;">Replacer Illustrator</span></h2> Pour quiconque travaille avec Illustrator sans y avoir été entrainé au berceau, ce logiciel est un calvaire. Absolument pas intuitif, lourd et instable, ce logiciel est en fait un incontournable du fait de sa présence historique dans le milieu de l'imprimerie et de la création graphique. Vous allez dire que je ne suis pas objectif ? C'est tout à fait exact, en fait je n'ai jamais réussi à faire quoi que ce soit avec Illustrator, sans doute n'y suis-je pas adapté ;).<br /> <br /> <h2><a href="http://www.bohemiancoding.com/drawit">Drawit</a></h2> <a href="http://blog.jbheren.com/public/tuto/adobe_alternatives/drawit_interface.jpg"><img src="http://blog.jbheren.com/public/tuto/adobe_alternatives/.drawit_interface_s.jpg" alt="" style="float: right; margin: 0 0 1em 1em;" title="drawit_interface.jpg, juil. 2010" /></a>Ce logiciel dont la licence &quot;à vie&quot; vous coutera 29$, est relativement atypique. Il s'agit en fait d'un logiciel de dessin vectoriel, mais avec la possibilité d'appliquer des effets bitmap. Certains le comparent plutôt à Fireworks. Il est parfait pour la création vectorielle et ne rebutera pas le débutant. Cela fait maintenant quelques mois que je l'utilise régulièrement et si son interface ne ressemble à rien que je connaisse, elle est très efficace et intuitive.</div> <div><br /> Les Plus :<br /> <ul> <li>Interface Novatrice, Simple et intuitive</li> <li>Vraiment pas cher pour une licence à vie : 29$</li> <li>Système de superposition d'effets</li> </ul> les Moins :<br /> <ul> <li>Pas d'export SVG (sans doute lié aux effets BItmap)</li> <li>Taille de Canva Fixe (on peut se débrouiller avec copier coller vers un nouveau projet)</li> <li>Quelques Bugs résiduels dans la gestion des groupes</li> </ul> <h2>LineForm</h2> <div><a href="http://blog.jbheren.com/public/tuto/adobe_alternatives/lineform_interface.jpg"><img src="http://blog.jbheren.com/public/tuto/adobe_alternatives/.lineform_interface_s.jpg" alt="" style="float: right; margin: 0 0 1em 1em;" title="lineform_interface.jpg, juil. 2010" /></a>Logiciel le plus connu dans ce secteur, j'avoue ne pas avoir accroché du tout. Il faut dire que je ne suis pas non plus un adepte de Illustrator. Il m'est donc difficile de donner un avis sur les différences / similitudes avec celui-ci.</div> <br /> Les Plus :</div> <div> <ul> <li>Gestion du SVG</li> <li>Dessin 100% Vectoriel</li> </ul> les Moins :</div> <div> <ul> <li>Tarif relativement élevé (comparé à drawit) : 79$</li> <li>Interface Old School</li> </ul> <h1>Conclusion</h1> <div>Cela reste un choix personnel, mais voici les logiciels que j'ai choisi : </div> <div> <ul> <li>Pixelmator : Beau, léger, rapide. J'espère un jour y voir le lasso magnétique :)</li> <li>Drawit : Interface efficace, outils faciles à apprivoiser, souple.</li> </ul> </div> <div>Côté Flash, malheureusement il n'y a pas vraiment d'alternative. Pour moi, pas question de développer des interface complexes avec Flash: Son usage se limite à des bannières, boutons ou menus améliorés. Toutes ces choses sont réalisables avec CSS/Javascript (http://script.aculo.us/), et je ne doute pas qu'un outil nous permettra bientôt de réaliser ce travail via une interface similaire à Flash.</div> <h1>Pour aller plus loin</h1> <div> <ul> <li>Très complet, voici un <a href="http://jonwhipple.com/blog/2007/10/29/image-is-everything/">comparatif entre PixelMator, Acorn et Drawit</a></li> </ul> </div> </div> </div>