<?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>Blog de Thomas ZILLIOX</title>
	<atom:link href="https://blog.developpez.com/thomas-zilliox/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.developpez.com/thomas-zilliox</link>
	<description></description>
	<lastBuildDate>Tue, 07 Aug 2012 17:24:03 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>Réparer la BDD d&#8217;eZ Publish</title>
		<link>https://blog.developpez.com/thomas-zilliox/p9818/web/reparer_ez_publish</link>
		<comments>https://blog.developpez.com/thomas-zilliox/p9818/web/reparer_ez_publish#comments</comments>
		<pubDate>Fri, 18 Mar 2011 12:00:00 +0000</pubDate>
		<dc:creator><![CDATA[tzilliox]]></dc:creator>
				<category><![CDATA[Base de données]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[eZ Publish]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[J&#8217;ai réussi à mettre eZ Publish dans un état instable. J&#8217;avais quelques objets sans nœuds associés, ce qui provoque des comportements bizarres. J&#8217;avais alors corrigé ma BDD à la main. Mais suite à la rédaction de cet article, Alexandre SEBBANE m&#8217;a fait remarqué la présence du script bin/php/flatten.php. Ce script a pour but de supprimer de la BDD les informations non utilisées. Il peut s&#8217;agir des contentobject, contentclass, workflow, role ou de tout. Pour nettoyer [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>J&rsquo;ai réussi à mettre eZ Publish dans un état instable.<br />
J&rsquo;avais quelques objets sans nœuds associés, ce qui provoque des comportements bizarres.<br />
</p>
<p>J&rsquo;avais alors corrigé ma BDD à la main. Mais suite à la rédaction de cet article, <a href="http://twitter.com/#!/alexsebbane">Alexandre SEBBANE</a> m&rsquo;a fait remarqué la présence du script <strong>bin/php/flatten.php</strong>.<br />
Ce script a pour but de supprimer de la BDD les informations non utilisées. Il peut s&rsquo;agir des contentobject, contentclass, workflow, role ou de tout.</p>
<p>Pour nettoyer les objets sans nœuds associés, il faudrait essayer la ligne de commande ci-dessous.<br />
Par contre, vous allez supprimer toutes les anciennes versions des objets publiés et les brouillons encore non-publiés :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">bin/php/flatten.php -s admin contentobject</div></div>
<p></p>
<p>Si ça ne marche pas, vous pouvez toujours faire comme moi. Exécutez plusieurs fois la commande SQL ci-dessous pour supprimer les nœuds sans parent :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">DELETE FROM ezcontentobject_tree WHERE parent_node_id NOT IN <br />
&nbsp; &nbsp; ( SELECT * FROM <br />
&nbsp; &nbsp; &nbsp; &nbsp; (SELECT node_id FROM ezcontentobject_tree)<br />
&nbsp; &nbsp; tmp );</div></div>
<p>Puis exécutez les commandes SQL ci-dessous pour supprimer les objets qui n&rsquo;ont pas de nœuds associés :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">DELETE FROM ezcontentobject_attribute WHERE contentobject_id NOT IN <br />
&nbsp; &nbsp; (SELECT contentobject_id FROM ezcontentobject_tree);<br />
DELETE FROM ezcontentobject_version WHERE contentobject_id NOT IN <br />
&nbsp; &nbsp; (SELECT contentobject_id FROM ezcontentobject_tree);<br />
DELETE FROM ezcontentobject_name WHERE contentobject_id NOT IN <br />
&nbsp; &nbsp; (SELECT contentobject_id FROM ezcontentobject_tree);<br />
DELETE FROM ezcobj_state_link WHERE contentobject_id NOT IN <br />
&nbsp; &nbsp; (SELECT contentobject_id FROM ezcontentobject_tree);<br />
DELETE FROM ezcontentobject WHERE id NOT IN <br />
&nbsp; &nbsp; (SELECT contentobject_id FROM ezcontentobject_tree);<br />
DELETE FROM eznode_assignment WHERE contentobject_id NOT IN <br />
&nbsp; &nbsp; (SELECT contentobject_id FROM ezcontentobject_tree);<br />
DELETE FROM ezcontentobject_link WHERE from_contentobject_id NOT IN <br />
&nbsp; &nbsp; (SELECT contentobject_id FROM ezcontentobject_tree);<br />
DELETE FROM ezcontentobject_link WHERE to_contentobject_id NOT IN <br />
&nbsp; &nbsp; (SELECT contentobject_id FROM ezcontentobject_tree);<br />
DELETE FROM ezcontentobject_trash WHERE contentobject_id NOT IN <br />
&nbsp; &nbsp; (SELECT contentobject_id FROM ezcontentobject_tree);</div></div>
<p>Ce n&rsquo;est pas une solution propre, mais ça peut dépanner.<br />
</p>
<p>Pour éviter ce genre de soucis, prennez l&rsquo;habitude de faire <a href="http://blog.developpez.com/thomas-zilliox/p10151/web/sql/faire-un-dump-mysql/">des sauvegarder régulières de vos BDD</a> <img src="https://blog.developpez.com/thomas-zilliox/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /></p>
<p>En espérant que ça puisse vous aider,<br />
Thomas.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Garder une console distante ouverte</title>
		<link>https://blog.developpez.com/thomas-zilliox/p9811/linux/garder_une_console_distante_ouverte</link>
		<comments>https://blog.developpez.com/thomas-zilliox/p9811/linux/garder_une_console_distante_ouverte#comments</comments>
		<pubDate>Tue, 15 Mar 2011 18:00:00 +0000</pubDate>
		<dc:creator><![CDATA[tzilliox]]></dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Le problème lorsque l&#8217;on on perd notre connexion SSH, c&#8217;est que les scripts que l&#8217;on avait lancés s&#8217;arrêtent. Il existe une méthode pour pouvoir créer une console virtuelle. Celle-ci restera active même si notre ordinateur ou notre console plante. On peut alors se reconnecter et récupérer la console virtuelle. ssh example.com screen -S &#38;lt;nom&#38;gt; &#160;&#60;span style=&#34;color:#777;&#34;&#62;// Crée une console virtuelle nommée &#38;lt;nom&#38;gt;&#60;/span&#62; Ctrl+A D &#160; &#160; &#160; &#160; &#60;span style=&#34;color:#777;&#34;&#62;// Retour à votre console physique&#60;/span&#62; [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Le problème lorsque l&rsquo;on on perd notre connexion SSH, c&rsquo;est que les scripts que l&rsquo;on avait lancés s&rsquo;arrêtent.<br />
Il existe une méthode pour pouvoir créer une console virtuelle.<br />
Celle-ci restera active même si notre ordinateur ou notre console plante.<br />
On peut alors se reconnecter et récupérer la console virtuelle.</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">ssh example.com<br />
screen -S &amp;lt;nom&amp;gt; &nbsp;&lt;span style=&quot;color:#777;&quot;&gt;// Crée une console virtuelle nommée &amp;lt;nom&amp;gt;&lt;/span&gt;<br />
Ctrl+A D &nbsp; &nbsp; &nbsp; &nbsp; &lt;span style=&quot;color:#777;&quot;&gt;// Retour à votre console physique&lt;/span&gt;<br />
screen -r &amp;lt;nom&amp;gt; &nbsp;&lt;span style=&quot;color:#777;&quot;&gt;// Retrouve votre console virtuelle nommée &amp;lt;nom&amp;gt;&lt;/span&gt;<br />
exit &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;span style=&quot;color:#777;&quot;&gt;// Ferme votre console virtuelle.&lt;/span&gt;</div></div>
<p>En espérant que ça puisse vous aider,<br />
Thomas.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Afficher les erreurs PHP</title>
		<link>https://blog.developpez.com/thomas-zilliox/p11105/web/afficher_les_erreurs_php</link>
		<comments>https://blog.developpez.com/thomas-zilliox/p11105/web/afficher_les_erreurs_php#comments</comments>
		<pubDate>Wed, 20 Jun 2012 15:40:18 +0000</pubDate>
		<dc:creator><![CDATA[tzilliox]]></dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Il existe une propriété dans php.ini pour indiquer le niveau d&#8217;affichage des erreurs et alertes. De nombreuses installations de PHP n&#8217;affichent pas les erreurs ou pas toutes. En effet, cela peut causer des problèmes. Par exemple, il n&#8217;est pas possible de faire header() s&#8217;il y a déjà eu une sortie écran. Notamment, cela peut vous bloquer les redirections. Les alertes peuvent aussi donner un peu trop d&#8217;indications à un éventuel hacker Néanmoins, il souvent très [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Il existe une propriété dans php.ini pour indiquer le niveau d&rsquo;affichage des erreurs et alertes.<br />
De nombreuses installations de PHP n&rsquo;affichent pas les erreurs ou pas toutes.</p>
<p>En effet, cela peut causer des problèmes. Par exemple, il n&rsquo;est pas possible de faire header() s&rsquo;il y a déjà eu une sortie écran. Notamment, cela peut vous bloquer les redirections. Les alertes peuvent aussi donner un peu trop d&rsquo;indications à un éventuel hacker <img src="https://blog.developpez.com/thomas-zilliox/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /></p>
<p>Néanmoins, il souvent très pratique en période de développement d&rsquo;afficher ces erreurs.<br />
Vous pouvez le faire directement en PHP :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">error_reporting( E_ALL | E_STRICT );<br />
ini_set( 'display_errors', '1' );</div></div>
<p>J&rsquo;utilise le niveau E_STRICT et E_ALL. En effet, avant PHP 5.4, E_ALL ne contient pas les alertes de niveau E_STRICT.</p>
<p>C&rsquo;est à faire absolument, lorsque votre code génère une page blanche et que vous n&rsquo;avez pas accès aux logs.</p>
<p>En espérant que ça puisse vous aider,<br />
Thomas.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Se déclarer en tant qu&#8217;auto-entrepreneur pour un développeur web</title>
		<link>https://blog.developpez.com/thomas-zilliox/p10011/entreprendre/se_declarer_en_auto_entrepreneur</link>
		<comments>https://blog.developpez.com/thomas-zilliox/p10011/entreprendre/se_declarer_en_auto_entrepreneur#comments</comments>
		<pubDate>Tue, 24 May 2011 12:00:00 +0000</pubDate>
		<dc:creator><![CDATA[tzilliox]]></dc:creator>
				<category><![CDATA[Autoentrepreneur]]></category>
		<category><![CDATA[Entreprendre]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Si vous créez des sites web, vous voudrez peut-être vous déclarer en tant qu&#8217;auto-entrepreneur. Pour se déclarer, c&#8217;est très facile. On peut se déclarer gratuitement en ligne via ce formulaire. En suivant le tutoriel Devenir Auto-entrepreneur dans le domaine du web de la ferme du web, vous apprendrez : Les avantages de statut d&#8217;auto-entrepreneur ; Qu&#8217;un développeur de site web exerce des Activités libérales ; Que vous exercerez une Profession libérale rattachée à la CIPAV [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Si vous créez des sites web, vous voudrez peut-être vous déclarer en tant qu&rsquo;auto-entrepreneur.<br />
Pour se déclarer, c&rsquo;est très facile. On peut se déclarer gratuitement en ligne via <a href="https://www.cfe.urssaf.fr/autoentrepreneur/CFE_Bienvenue">ce formulaire</a>.</p>
<p>En suivant le tutoriel <a href="http://www.lafermeduweb.net/billet/devenir-auto-entrepreneur-dans-le-domaine-du-web-le-guide-157.html">Devenir Auto-entrepreneur dans le domaine du web</a> de la ferme du web, vous apprendrez :</p>
<ul>
<li>Les avantages de statut d&rsquo;auto-entrepreneur ;</li>
<li>Qu&rsquo;un développeur de site web exerce des <strong>Activités libérales</strong> ;</li>
<li>Que vous exercerez une <strong>Profession libérale rattachée à la CIPAV</strong> ;</li>
<li>Une description assez large de votre activité principale peut être <strong>PRESTATIONS DE SERVICE INFORMATIQUE</strong>.</li>
</ul>
<p>C&rsquo;est également assez difficile de choisir un organisme d&rsquo;assurance maladie. Les prestations sont assez équivalentes, ils vaut donc mieux choisir un organisme qui a une agence près de chez vous. Voici la listes des assurances maladies, ainsi qu&rsquo;un lien direct vers la liste de leurs agences :</p>
<ul>
<li>R.A.M PROFESSIONS LIBERALES PROVINCES : <a href="http://www.ramgamex.fr/portal/public/ramgamex/accueil/contacts/agence">des agences partout en France</a></li>
<li>PREVADIES &#8211; CAMPI : <a href="http://www.prevadies.fr/en-agence-@/index.jspz?id=221">des agences dans le nord de la France</a></li>
<li>MUT EST : <a href="http://www.mutuelle-est.fr/adresses/adresses_agences_me.php">des agences dans le Haut-Rhin et le Bas-Rhin</a></li>
<li>LES MUTUELLES DU SOLEIL : <a href="https://www.lesmutuellesdusoleil.fr/nos-agences-mutuelles-du-soleil.aspx">des agences dans le sud de la France</a></li>
</ul>
<p>Au final, après environ 2 semaines d&rsquo;attente, vous obtiendrez une numéro de SIRET.<br />
Pour information, je suis au total imposé à 23.5% de mon Chiffre d&rsquo;Affaire déclaré.</p>
<p>En espérant que ça puisse vous aider,<br />
Thomas.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bien démarrer avec SugarCRM</title>
		<link>https://blog.developpez.com/thomas-zilliox/p10399/web/bien_demarrer_avec_sugarcrm</link>
		<comments>https://blog.developpez.com/thomas-zilliox/p10399/web/bien_demarrer_avec_sugarcrm#comments</comments>
		<pubDate>Fri, 14 Oct 2011 11:00:00 +0000</pubDate>
		<dc:creator><![CDATA[tzilliox]]></dc:creator>
				<category><![CDATA[CRM]]></category>
		<category><![CDATA[Sugar CRM]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Voici quelques liens qui peuvent être utiles pour bien démarrer avec Sugar CRM : Installer SugarCRM : Installer sous Ubuntu : Billet de Marc Gomez Télécharger : Liste des téléchargement sur le site de SugarCRM Créer son premier module SugarCRM : Le Hello World Module : Tutoriel du site de SourceCreativity Ajouter un champs à un module : Billet sur le blog de LornaJane Les Forums en français SugarCRM : Developpez : Forum SugarCRM CRM-France [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Voici quelques liens qui peuvent être utiles pour bien démarrer avec Sugar CRM :</p>
<p>Installer SugarCRM :</p>
<ul>
<li>Installer sous Ubuntu : <a href="http://www.marcgomez.fr/archives/298">Billet de Marc Gomez</a></li>
<li>Télécharger : <a href="http://www.sugarforge.org/frs/?group_id=6">Liste des téléchargement sur le site de SugarCRM</a></li>
</ul>
<p>Créer son premier module SugarCRM :</p>
<ul>
<li>Le Hello World Module : <a href="http://www.sourcecreativity.com/sourcecreativity-free-extensions/articles/sugarcrm-tutorials-helloworld-module.html">Tutoriel du site de SourceCreativity</a></li>
<li>Ajouter un champs à un module : <a href="http://www.lornajane.net/posts/2008/sugarcrm-custom-fields">Billet sur le blog de LornaJane</a></li>
</ul>
<p>Les Forums en français SugarCRM :</p>
<ul>
<li>Developpez : <a href="http://www.developpez.net/forums/f1577/logiciels/solutions-dentreprise/crm/sugarcrm/">Forum SugarCRM</a></li>
<li>CRM-France : <a href="http://www.crm-france.com/forums/forum-problemes-developpements-bugs.html">Forum problèmes, développements, bugs &#8230;</a></li>
<li>Site officiel : <a href="http://www.sugarcrm.com/forums/f47/">Forum français</a></li>
</ul>
<p>Ressources officielles :</p>
<ul>
<li>Guide utilisateurs en <a href="http://www.sugarcrm.com/crm/support/documentation/SugarCommunityEdition/6.2/-docs-Application_Guides-Sugar_Community_Edition_Application_Guide_6.2.3GA-toc.html">HTML</a> ou en <a href="http://www.sugarcrm.com/network/help/OS/6.2/Application_Guides/Sugar_Community_Edition_Application_Guide_6.2.3/Sugar_Community_Edition_Application_Guide_6.2.3GA.pdf">PDF</a></li>
<li>Guide développeurs en <a href="http://www.sugarcrm.com/crm/support/documentation/SugarCommunityEdition/6.2/-docs-Developer_Guides-Sugar_Developer_Guide_6.2.0-toc.html">HTML</a> ou en <a href="http://www.sugarcrm.com/network/help/OS/6.2/Developer_Guides/Sugar_Developer_Guide_6.2.0/Sugar_Developer_Guide_6.2.0.pdf">PDF</a></li>
<li>Articles : <a href="http://www.sugarcrm.com/kb/">SugarCRM Knowledge Base</a></li>
<li>Blogs : <a href="http://developers.sugarcrm.com/wordpress/">SugarCRM Developer Blogs</a></li>
<li>Tutoriels : <a href="http://developers.sugarcrm.com/tutorials.php?id=recent">SugarCRM Tutorials</a></li>
<li>Podcasts : <a href="http://www.sugarforge.org/content/community/communications/podcasts.php">SugarCRM Podcasts</a></li>
<li>Actualités : <a href="http://www.sugarforge.org/content/open-source/news.php">SugarCRM News</a></li>
</ul>
<p>Schéma UML :</p>
<ul>
<li>Schéma simple : <a href="http://www.sugarcrm.com/forums/attachments/f6/2508d1178891935-entity-relationship-diagram-sugarcrm_erdiagram.jpg">Vu sur le forum SugarCRM</a></li>
<li>Schéma complet : <a href="http://media.sugarcrm.com/developer/tutorials/Sugar6.0.0_CE_Schema_Diagrams.pdf">fait par SugarCRM</a></li>
</ul>
<p>Ce billet est un billet vivant. Il sera donc complété au fur et à mesure de mes découvertes.<br />
N&rsquo;hésitez pas à m&rsquo;envoyer vos liens préférés !</p>
<p>En espérant que ça puisse vous être utile,<br />
Thomas.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Erreur sur le déploiement de package dans SugarCRM</title>
		<link>https://blog.developpez.com/thomas-zilliox/p10413/web/erreur_sur_le_deploiement_de_package_dan</link>
		<comments>https://blog.developpez.com/thomas-zilliox/p10413/web/erreur_sur_le_deploiement_de_package_dan#comments</comments>
		<pubDate>Mon, 17 Oct 2011 16:23:15 +0000</pubDate>
		<dc:creator><![CDATA[tzilliox]]></dc:creator>
				<category><![CDATA[CRM]]></category>
		<category><![CDATA[Sugar CRM]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Lors de mes premiers tests avec SugarCRM, j&#8217;ai essayé de déployer un Package créé avec Module Builder sans lui associer de module. Sans surprises ça ne fonctionne pas. Seulement les traces ne sont pas très explicites ! Voici les erreurs que l&#8217;on va rencontrer : Au déploiement, une popup dit &#171;&#160;An error has occured during deploy process, your package may not have installed correctly&#160;&#187; Au déploiement, les los disent &#171;&#160;PHP Warning: dir(/[&#8230;]/icons): failed to open [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Lors de mes premiers tests avec SugarCRM, j&rsquo;ai essayé de déployer un Package créé avec Module Builder sans lui associer de module.<br />
Sans surprises ça ne fonctionne pas. Seulement les traces ne sont pas très explicites !</p>
<p>Voici les erreurs que l&rsquo;on va rencontrer :</p>
<ul>
<li>Au déploiement, une popup dit &laquo;&nbsp;An error has occured during deploy process, your package may not have installed correctly&nbsp;&raquo;</li>
<li>Au déploiement, les los disent &laquo;&nbsp;PHP Warning:  dir(/[&#8230;]/icons): failed to open dir: No such file or directory in /[&#8230;]/dir_inc.php on line 52&Prime;</li>
<li>On peut quand même essayer de le charger avec Module Loader : &laquo;&nbsp;Failed to copy /[&#8230;]/themes&nbsp;&raquo;</li>
</ul>
<p>Donc si vous rencontrez ces erreurs, il s&rsquo;agit sûrement d&rsquo;un module cassé ou mal associé au votre Package.</p>
<p>En espérant que ça puisse vous aider,<br />
Thomas.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installer SugarCRM sous Ubuntu</title>
		<link>https://blog.developpez.com/thomas-zilliox/p10410/web/installer_sugarcrm_sous_ubuntu</link>
		<comments>https://blog.developpez.com/thomas-zilliox/p10410/web/installer_sugarcrm_sous_ubuntu#comments</comments>
		<pubDate>Mon, 17 Oct 2011 18:00:00 +0000</pubDate>
		<dc:creator><![CDATA[tzilliox]]></dc:creator>
				<category><![CDATA[CRM]]></category>
		<category><![CDATA[Sugar CRM]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Voici les quelques commandes à exécuter pour installer SugarCRM sous un Ubuntu. La procédure utilise les versions Ubuntu 11.10 et SugarCRM 6.2 . &#60;span style=&#34;color:#777;&#34;&#62;# Télécharger SugarCRM Community Edition 6.2&#60;/span&#62; cd /tmp wget http://www.sugarforge.org/frs/download.php/8507/SugarCE-6.2.3.zip cd /var/www unzip /tmp/SugarCE-6.2.3.zip mv SugarCE-Full-6.2.3 mon_projet &#60;span style=&#34;color:#777;&#34;&#62;# Mettre les bons droits&#60;/span&#62; sudo chown -R www-data: mon_projet sudo chmod -R 775 mon_projet Ensuite il faut aller, via son navigateur, sur l&#8217;url http://localhost/mon_projet/install.php Et suivre les instructions. En espérant que ça [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Voici les quelques commandes à exécuter pour installer SugarCRM sous un Ubuntu.<br />
La procédure utilise les versions Ubuntu 11.10 et SugarCRM 6.2 .</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;span style=&quot;color:#777;&quot;&gt;# Télécharger SugarCRM Community Edition 6.2&lt;/span&gt;<br />
cd /tmp<br />
wget http://www.sugarforge.org/frs/download.php/8507/SugarCE-6.2.3.zip<br />
cd /var/www<br />
unzip /tmp/SugarCE-6.2.3.zip<br />
mv SugarCE-Full-6.2.3 mon_projet<br />
<br />
&lt;span style=&quot;color:#777;&quot;&gt;# Mettre les bons droits&lt;/span&gt;<br />
sudo chown -R www-data: mon_projet<br />
sudo chmod -R 775 mon_projet</div></div>
<p>Ensuite il faut aller, via son navigateur, sur l&rsquo;url <em style="color:#777;">http://localhost/mon_projet/install.php</em><br />
Et suivre les instructions.</p>
<p>En espérant que ça puisse vous aider,<br />
Thomas.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Créer ses propres commandes shell</title>
		<link>https://blog.developpez.com/thomas-zilliox/p10275/linux/creer_ses_propres_commandes_shell</link>
		<comments>https://blog.developpez.com/thomas-zilliox/p10275/linux/creer_ses_propres_commandes_shell#comments</comments>
		<pubDate>Sat, 15 Oct 2011 11:00:00 +0000</pubDate>
		<dc:creator><![CDATA[tzilliox]]></dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Sous Linux, vous pouvez créer vos propres commandes shell. Ceci est un petit tutoriel pour savoir comment faire. Le but de ce tutoriel sera de recréer la commande pour connaître à quel groupe appartient un utilisateur. Habituellement, pour trouver dans quels groupes est un utilisateur Linux, il faut exécuter la commande suivante : groups username Pour définir notre nouvelle commande shell il faut ajouter le code ci-dessous au fichier ~/.bash_aliases : &#60;span style=&#34;color:#777;&#34;&#62;# WHICHGROUP&#60;/span&#62; &#60;span [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Sous Linux, vous pouvez créer vos propres commandes shell.<br />
Ceci est un petit tutoriel pour savoir comment faire.</p>
<p>Le but de ce tutoriel sera de recréer la commande pour connaître à quel groupe appartient un utilisateur.<br />
Habituellement, pour trouver dans quels groupes est un utilisateur Linux, il faut exécuter la commande suivante :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">groups username</div></div>
<p>
Pour définir notre nouvelle commande shell il faut ajouter le code ci-dessous au fichier <em style="color:#777;">~/.bash_aliases</em> :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;span style=&quot;color:#777;&quot;&gt;# WHICHGROUP&lt;/span&gt;<br />
&lt;span style=&quot;color:#777;&quot;&gt;# Définir une méthode whichgroup&lt;/span&gt;<br />
function whichgroup {<br />
&nbsp; &lt;span style=&quot;color:#777;&quot;&gt;# Afficher l'usage s'il n'y a pas assez d'arguments&lt;/span&gt;<br />
&nbsp; if [ $# -eq 0 ] <br />
&nbsp; then<br />
&nbsp; &nbsp; echo &quot;usage: whichgroup username&quot;;<br />
&nbsp; &lt;span style=&quot;color:#777;&quot;&gt;# Implémentation de la fonction s'il y a le bon nombre d'arguments&lt;/span&gt;<br />
&nbsp; else<br />
&nbsp; &nbsp; cat /etc/group | grep -E &quot;(:|;|,)$1&quot; | cut -f1 -d':';<br />
&nbsp; fi;<br />
}<br />
&lt;span style=&quot;color:#777;&quot;&gt;# Déclarer la fonction whichgroup en tant qu'alias de commande&lt;/span&gt;<br />
alias whichgroup=whichgroup $1</div></div>
<p>
La commande shell <em style="color:#777;">whichgroup username</em> sera alors disponible au prochain démarrage.<br />
Si vous ne voulez pas attendre, vous pouvez la charger en exécutant la commande suivante :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">source ~/.bash_aliases</div></div>
<p>
En espérant que ça puisse vous aider,<br />
Thomas.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bookmarklet de mise en forme des traces de debug sous eZ Publish</title>
		<link>https://blog.developpez.com/thomas-zilliox/p10213/web/bookmarklet_debug_ezpublish</link>
		<comments>https://blog.developpez.com/thomas-zilliox/p10213/web/bookmarklet_debug_ezpublish#comments</comments>
		<pubDate>Mon, 22 Aug 2011 20:00:00 +0000</pubDate>
		<dc:creator><![CDATA[tzilliox]]></dc:creator>
				<category><![CDATA[Bookmarklet]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[eZ Publish]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Sous eZ Publish, on peut afficher des traces de debug directement en front-office. Dans cet article je vous présente un petit Bookmarklet que j&#8217;ai fait pour améliorer leur rendu. Pour installer ce Bookmarklet, faîtes glisser ce lien dans votre barre de favoris : eZ Filter Debug Pour activer ce Bookmarklet, cliquez dessus lorsque vous êtes sur une page générée par eZ Publish avec les traces de debug activée Vous pouvez lire cette article, si vous [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Sous eZ Publish, on peut afficher des traces de debug directement en front-office.<br />
Dans cet article je vous présente un petit Bookmarklet que j&rsquo;ai fait pour améliorer leur rendu.</p>
<ul>
<li>Pour installer ce Bookmarklet, faîtes glisser ce lien dans votre barre de favoris : <a href="javascript:var%20e=document.createElement('script');e.setAttribute('language','javascript');e.setAttribute('src','http://zilliox.me/resource/bookmarklet/ezpublish-filter-debug.js');document.body.appendChild(e);void(0);">eZ Filter Debug</a></li>
<li>Pour activer ce Bookmarklet, cliquez dessus lorsque vous êtes sur une page générée par eZ Publish avec les traces de debug activée</li>
<li>Vous pouvez lire cette article, si vous voulez en savoir plus sur <a href="http://blog.developpez.com/thomas-zilliox/p10159/web/javascript/bookmarklet/javascript-et-bookmarklet/">comment faire un Bookmarklet</a></li>
</ul>
<p>
Le Bookmarklet &laquo;&nbsp;eZ Filter Debug&nbsp;&raquo; se résume en 3 fonctionnalités qui peuvent vous intéresser :</p>
<p>
<strong>1. Chargement de la feuille de style debug.css</strong></p>
<p>Pour mettre en forme les traces de debug, il faut charger la feuille de style debug.css.<br />
Mais on n&rsquo;a pas forcément envie de la charger tout le temps, surtout en production.<br />
C&rsquo;était l&rsquo;idée de départ : ce Bookmarklet charge à la volée la feuille de style de Debug.</p>
<p>
<strong>2. Afficher les traces de debug à la demande</strong></p>
<p>La deuxième idée est de pouvoir cacher les traces de debug par défaut.<br />
Pour cela, il suffit de rajouter dans votre feuille CSS la ligne suivante :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">#debug {display: none;}</div></div>
<p>Lorsque vous activerez le Bookmarklet, les traces de Debug s&rsquo;afficheront, et vous serez redirigé vers elles.</p>
<p>Ceci n&rsquo;est pas forcément utile, car eZ Publish vous permet déjà de n&rsquo;afficher les traces de Debug que pour une certaine liste d&rsquo;IP.<br />
Mais ça peut être pratique dans certains cas : IP dynamique, client interne, site mobile, etc.</p>
<p>
<strong>3. Permettre de filtrer les traces de debug</strong></p>
<p>Les traces de Debug affichent également les traces de Notice, Timing, Warning et Error.<br />
Pas toujours facile de s&rsquo;y retrouver en un coup d’oeil.<br />
Du coup le Bookmarklet &laquo;&nbsp;eZ Filter Debug&nbsp;&raquo; vous propose également une option de filtrage :</p>
<p><img src="http://zilliox.me/resource/bookmarklet/bookmarklet_ezpublish_filtrage.png" alt="Illustration du filtrage des traces de debug sous eZ Publish" title="Démonstration du filtrage des traces de debug sous eZ Publish" /></p>
<p>
Note 1 : ce Bookmarklet a été testé sous eZ Publish 4.3 &#8211; 4.5.<br />
Note 2 : Le code du Bookmarklet est diponible sur <a href="https://github.com/Open-Wide/eZ-Filter-Debug">GitHub</a>.<br />
N&rsquo;hésitez pas en me faire des remarques, soit par commentaire, soit par le <a href="http://zilliox.me/thomas/contact.htm">formulaire de contact de mon site</a>.</p>
<p>En espérant que ça puisse vous être utile,<br />
Thomas.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Connaître la version de jQuery, Mootools ou Prototype</title>
		<link>https://blog.developpez.com/thomas-zilliox/p9849/web/connaitre_sa_version_de_mootools</link>
		<comments>https://blog.developpez.com/thomas-zilliox/p9849/web/connaitre_sa_version_de_mootools#comments</comments>
		<pubDate>Wed, 30 Mar 2011 18:00:00 +0000</pubDate>
		<dc:creator><![CDATA[tzilliox]]></dc:creator>
				<category><![CDATA[Bookmarklet]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[J&#8217;ai récemment repris des &#171;&#160;vieux&#160;&#187; sites avec des scripts jQuery, Mootools ou Prototype. Le problème est que je ne savais pas toujours quelle version du framework était utilisée. J&#8217;ai donc créer le Bookmarklet WhatJS. Il permet de savoir quel framework JavaScript est utilisé sur une page. Pour l&#8217;utiliser, faîtes glisser le lien ci-dessus vers votre barre de favoris. Cliquez dessus une fois sur la page que vous voulez scanner. Vous pouvez le tester sur cette [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>J&rsquo;ai récemment repris des &laquo;&nbsp;vieux&nbsp;&raquo; sites avec des scripts jQuery, Mootools ou Prototype.<br />
Le problème est que je ne savais pas toujours quelle version du framework était utilisée.</p>
<p>J&rsquo;ai donc créer le Bookmarklet <a href="javascript:(function(s){s='';if(typeof(jQuery)!=='undefined'){s+='jQuery '+jQuery(document).jquery+'\r\n'}if(typeof(MooTools)!=='undefined'){s+='MooTools '+MooTools.version+'\r\n'}if(typeof(Prototype)!=='undefined'){s+='Prototype '+Prototype.Version+'\r\n'}if(s==''){s='Pas de framework JS sur cette page'}alert(s);})();">WhatJS</a>.</p>
<p>Il permet de savoir quel framework JavaScript est utilisé sur une page.<br />
Pour l&rsquo;utiliser, faîtes glisser le lien ci-dessus vers votre barre de favoris.<br />
Cliquez dessus une fois sur la page que vous voulez scanner.<br />
Vous pouvez le tester sur <a href="http://goo.gl/C0oYJ">cette page</a> par exemple.</p>
<p>Pour les plus curieux, voici les astuces que j&rsquo;ai utilisé pour identifier la version des framework.<br />
Vous pouvez copiez-collez les codes ci-dessous directement dans votre barre de navigation :</p>
<ul>
<li>Connaître la version de jQuery :
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">javascript:alert(jQuery(document).jquery);</div></div>
</li>
<li>
Connaître la version de Mootools :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">javascript:alert(MooTools.version);</div></div>
</li>
<li>
Connaître la version de Prototype :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">javascript:alert(Prototype.Version);</div></div>
</li>
</ul>
<p>En espérant que ça puisse vous aider,<br />
Thomas.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
