<?xml 
version="1.0" encoding="utf-8"?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
>

<channel xml:lang="fr">
	<title>6tech, la solution webcreation</title>
	<link>http://6tech.net/</link>
	
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>




<item xml:lang="fr">
		<title>LIB</title>
		<link>http://6tech.net/LIB.html</link>
		<guid isPermaLink="true">http://6tech.net/LIB.html</guid>
		<dc:date>2009-09-19T09:36:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Yannick Domenjoud</dc:creator>



		<description>&lt;p&gt;P&#233;riode : Septembre 2009
&lt;br /&gt;Type : D&#233;veloppement SPIP
&lt;br /&gt;Description : Cr&#233;ation du site internet de LIB
&lt;br /&gt;Url : &lt;a href='http://www.lib.lu/' class='spip_out' rel='nofollow'&gt;http://www.lib.lu/&lt;/a&gt;&lt;/p&gt;

-
&lt;a href="http://6tech.net/-References-.html" rel="directory"&gt;R&#233;f&#233;rences&lt;/a&gt;


		</description>


 <content:encoded>&lt;img src=&quot;http://6tech.net/local/cache-vignettes/L150xH94/arton51-e4d32.png&quot; alt=&quot;&quot; align=&quot;right&quot; width='150' height='94' class='spip_logos' style='height:94px;width:150px;' /&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Ific Audio Test</title>
		<link>http://6tech.net/Ific-Audio-Test.html</link>
		<guid isPermaLink="true">http://6tech.net/Ific-Audio-Test.html</guid>
		<dc:date>2009-08-19T09:41:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Yannick Domenjoud</dc:creator>



		<description>&lt;p&gt;P&#233;riode : de F&#233;vrier &#224; Ao&#251;t 2009
&lt;br /&gt;Type : D&#233;veloppement PHP/JQuery/Mysql
&lt;br /&gt;Description : D&#233;veloppement d'une application de test auditif ( JQuery + flash )
&lt;br /&gt;Url : &lt;a href='http://www.implant-ific.org/audio' class='spip_out' rel='nofollow'&gt;http://www.implant-ific.org/audio&lt;/a&gt;&lt;/p&gt;

-
&lt;a href="http://6tech.net/-References-.html" rel="directory"&gt;R&#233;f&#233;rences&lt;/a&gt;


		</description>


 <content:encoded>&lt;img src=&quot;http://6tech.net/local/cache-vignettes/L150xH94/arton52-3c808.png&quot; alt=&quot;&quot; align=&quot;right&quot; width='150' height='94' class='spip_logos' style='height:94px;width:150px;' /&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Ecolambda</title>
		<link>http://6tech.net/Ecolambda,49.html</link>
		<guid isPermaLink="true">http://6tech.net/Ecolambda,49.html</guid>
		<dc:date>2009-05-19T09:26:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Yannick Domenjoud</dc:creator>



		<description>&lt;p&gt;P&#233;riode : F&#233;vrier 2009
&lt;br /&gt;Type : D&#233;veloppement SPIP
&lt;br /&gt;Description : Cr&#233;ation du site internet d'Ecolambda
&lt;br /&gt;Url : &lt;a href='http://www.ecolambda.org/' class='spip_out' rel='nofollow'&gt;http://www.ecolambda.org&lt;/a&gt;&lt;/p&gt;

-
&lt;a href="http://6tech.net/-References-.html" rel="directory"&gt;R&#233;f&#233;rences&lt;/a&gt;


		</description>


 <content:encoded>&lt;img src=&quot;http://6tech.net/local/cache-vignettes/L150xH94/arton49-791d1.png&quot; alt=&quot;&quot; align=&quot;right&quot; width='150' height='94' class='spip_logos' style='height:94px;width:150px;' /&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Tech-IT</title>
		<link>http://6tech.net/Tech-IT.html</link>
		<guid isPermaLink="true">http://6tech.net/Tech-IT.html</guid>
		<dc:date>2009-03-19T10:31:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Yannick Domenjoud</dc:creator>



		<description>&lt;p&gt;P&#233;riode : Mars 2009
&lt;br /&gt;Type : d&#233;veloppement SPIP
&lt;br /&gt;Description : Cr&#233;ation du site internet de Tech-it
&lt;br /&gt;Url : &lt;a href='http://www.tech-it.lu/' class='spip_out' rel='nofollow'&gt;http://www.tech-it.lu&lt;/a&gt;&lt;/p&gt;

-
&lt;a href="http://6tech.net/-References-.html" rel="directory"&gt;R&#233;f&#233;rences&lt;/a&gt;


		</description>


 <content:encoded>&lt;img src=&quot;http://6tech.net/local/cache-vignettes/L150xH94/arton50-d3da6.png&quot; alt=&quot;&quot; align=&quot;right&quot; width='150' height='94' class='spip_logos' style='height:94px;width:150px;' /&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Seedbox</title>
		<link>http://6tech.net/Seedbox.html</link>
		<guid isPermaLink="true">http://6tech.net/Seedbox.html</guid>
		<dc:date>2009-02-03T09:46:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Yannick Domenjoud</dc:creator>



		<description>&lt;p&gt;P&#233;riode : F&#233;vrier 2009
&lt;br /&gt;Type : D&#233;veloppement SPIP
&lt;br /&gt;Description : Cr&#233;ation du site internet de seedbox
&lt;br /&gt;Url : &lt;a href='http://www.seedbox.lu/' class='spip_out' rel='nofollow'&gt;http://www.seedbox.lu&lt;/a&gt;&lt;/p&gt;

-
&lt;a href="http://6tech.net/-References-.html" rel="directory"&gt;R&#233;f&#233;rences&lt;/a&gt;


		</description>


 <content:encoded>&lt;img src=&quot;http://6tech.net/local/cache-vignettes/L150xH93/arton47-d5b06.png&quot; alt=&quot;&quot; align=&quot;right&quot; width='150' height='93' class='spip_logos' style='height:93px;width:150px;' /&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Association France Presby Acousie</title>
		<link>http://6tech.net/Association-France-Presby-Acousie.html</link>
		<guid isPermaLink="true">http://6tech.net/Association-France-Presby-Acousie.html</guid>
		<dc:date>2009-01-15T10:23:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Yannick Domenjoud</dc:creator>



		<description>&lt;p&gt;P&#233;riode : Janvier 2009
&lt;br /&gt;Type : D&#233;veloppement SPIP
&lt;br /&gt;Description : Cr&#233;ation du site internet de l'association
&lt;br /&gt;Url : &lt;a href='http://www.francepresbyacousie.org/' class='spip_out' rel='nofollow'&gt;http://www.francepresbyacousie.org/&lt;/a&gt;&lt;/p&gt;

-
&lt;a href="http://6tech.net/-References-.html" rel="directory"&gt;R&#233;f&#233;rences&lt;/a&gt;


		</description>


 <content:encoded>&lt;img src=&quot;http://6tech.net/local/cache-vignettes/L150xH94/arton48-c49ec.png&quot; alt=&quot;&quot; align=&quot;right&quot; width='150' height='94' class='spip_logos' style='height:94px;width:150px;' /&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Packresto</title>
		<link>http://6tech.net/Packresto.html</link>
		<guid isPermaLink="true">http://6tech.net/Packresto.html</guid>
		<dc:date>2008-10-08T15:01:20Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Yannick Domenjoud</dc:creator>



		<description>&lt;p&gt;P&#233;riode : Septembre 2008 &#224; Octobre 2008
&lt;br /&gt;Type : D&#233;veloppement SPIP
&lt;br /&gt;Description : Cr&#233;ation du site internet de Packresto
&lt;br /&gt;Url : &lt;a href='http://www.packresto.com/' class='spip_out' rel='nofollow'&gt;http://www.packresto.com&lt;/a&gt;&lt;/p&gt;

-
&lt;a href="http://6tech.net/-References-.html" rel="directory"&gt;R&#233;f&#233;rences&lt;/a&gt;


		</description>


 <content:encoded>&lt;img src=&quot;http://6tech.net/local/cache-vignettes/L150xH93/arton46-44717.jpg&quot; alt=&quot;&quot; align=&quot;right&quot; width='150' height='93' class='spip_logos' style='height:93px;width:150px;' /&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>A4traduction</title>
		<link>http://6tech.net/A4traduction.html</link>
		<guid isPermaLink="true">http://6tech.net/A4traduction.html</guid>
		<dc:date>2008-09-08T14:55:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Yannick Domenjoud</dc:creator>



		<description>&lt;p&gt;P&#233;riode : Septembre 2008
&lt;br /&gt;Type : Audit/Conseil - D&#233;veloppement SPIP
&lt;br /&gt;Description : D&#233;veloppement squelettes et assainissement de l'installation.
&lt;br /&gt;Url : &lt;a href='http://www.a4traduction.com/' class='spip_out' rel='nofollow'&gt;http://www.a4traduction.com/&lt;/a&gt;&lt;/p&gt;

-
&lt;a href="http://6tech.net/-References-.html" rel="directory"&gt;R&#233;f&#233;rences&lt;/a&gt;


		</description>


 <content:encoded>&lt;img src=&quot;http://6tech.net/local/cache-vignettes/L150xH93/arton45-a716e.jpg&quot; alt=&quot;&quot; align=&quot;right&quot; width='150' height='93' class='spip_logos' style='height:93px;width:150px;' /&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Pool de connexion</title>
		<link>http://6tech.net/Pool-de-connexion.html</link>
		<guid isPermaLink="true">http://6tech.net/Pool-de-connexion.html</guid>
		<dc:date>2008-04-08T22:14:57Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Yannick Domenjoud</dc:creator>


		<dc:subject>J2EE</dc:subject>
		<dc:subject>Struts</dc:subject>

		<description>La gestion des base de donn&#233;es sous Struts est un vrai probl&#232;me. Les tags du framework ( tel &lt;sql:setDataSource&gt; ) commence &#224; perturber l'id&#233;e originelle de Struts. Struts n'est qu'un framework de pr&#233;sentation, et le fait de lui permettre de g&#233;rer les bases de donn&#233;es revient &#224; m&#233;langer les diff&#233;rentes couches d'une application MVC2 . Il est donc conseill&#233; de ne pas utiliser cette librairie de tag ( qui devrait dispara&#238;tre dans les versions futures ) Une meilleur approche serait de configurer la (...)

-
&lt;a href="http://6tech.net/-Tutoriaux-.html" rel="directory"&gt;Tutoriaux&lt;/a&gt;

/ 
&lt;a href="http://6tech.net/+-J2EE-+.html" rel="tag"&gt;J2EE&lt;/a&gt;, 
&lt;a href="http://6tech.net/+-Struts-+.html" rel="tag"&gt;Struts&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;span class='csfoo somm'&gt;&lt;/span&gt;&lt;div class=&quot;cs_sommaire cs_sommaire_avec_fond&quot; id=&quot;outil_sommaire&quot;&gt; &lt;div class=&quot;cs_sommaire_inner&quot;&gt; &lt;div class=&quot;cs_sommaire_titre_avec_fond&quot;&gt; Sommaire &lt;/div&gt; &lt;ul&gt; &lt;li&gt;&lt;a title=&quot;Configuration du pool&quot; href=&quot;http://6tech.net/spip.php?page=backend&amp;id_auteur[]=3#outil_sommaire_0&quot;&gt;Configuration du pool&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a title=&quot;Lier le pool &#224; l&amp;#39;application&quot; href=&quot;http://6tech.net/spip.php?page=backend&amp;id_auteur[]=3#outil_sommaire_1&quot;&gt;Lier le pool &#224; l'application&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a title=&quot;L&amp;#39;utilisation dans vos servlets&quot; href=&quot;http://6tech.net/spip.php?page=backend&amp;id_auteur[]=3#outil_sommaire_2&quot;&gt;L'utilisation dans vos (&#8230;)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a title=&quot;Erreurs fr&#233;quentes&quot; href=&quot;http://6tech.net/spip.php?page=backend&amp;id_auteur[]=3#outil_sommaire_3&quot;&gt;Erreurs fr&#233;quentes&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a title=&quot;Derni&#232;res pr&#233;cisions&quot; href=&quot;http://6tech.net/spip.php?page=backend&amp;id_auteur[]=3#outil_sommaire_4&quot;&gt;Derni&#232;res pr&#233;cisions&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;/div&gt;&lt;span class='csfoo somm'&gt;&lt;/span&gt;&lt;p&gt;La gestion des base de donn&#233;es sous Struts est un vrai probl&#232;me. Les tags du framework ( tel &lt;span class='csfoo htmla'&gt;&lt;/span&gt;&lt;sql:setDataSource&gt;&lt;span class='csfoo htmlb'&gt;&lt;/span&gt; ) commence &#224; perturber l'id&#233;e originelle de Struts. Struts n'est qu'un framework de pr&#233;sentation, et le fait de lui permettre de g&#233;rer les bases de donn&#233;es revient &#224; m&#233;langer les diff&#233;rentes couches d'une application MVC2 .
Il est donc conseill&#233; de ne pas utiliser cette librairie de tag ( qui devrait dispara&#238;tre dans les versions futures )&lt;/p&gt; &lt;p&gt;Une meilleur approche serait de configurer la gestion de ses bases de donn&#233;es par tomcat lui m&#234;me gr&#226;ce encore une fois au fameux fichier de context : &lt;strong&gt;/META-INF/context.xml&lt;/strong&gt; . Quelques lignes permettront de peaufiner toute une gestion tel que le nombre de connexion maximale, le nombre minimal &#224; pr&#233;voir, le timeout, etc. Ce que l'on appel un pool de connexion !&lt;/p&gt; &lt;h3 class=&quot;spip&quot; id=&quot;outil_sommaire_0&quot;&gt;&lt;a title=&quot;Sommaire&quot; href=&quot;http://6tech.net/spip.php?page=backend&amp;id_auteur[]=3#outil_sommaire&quot; class=&quot;sommaire_ancre&quot;&gt; &lt;/a&gt;Configuration du pool&lt;/h3&gt; &lt;p&gt;La configuration commence donc par ces quelques lignes dans un fichier context.xml :&lt;/p&gt; &lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;&lt;Context reloadable=&quot;true&quot;&gt;&lt;br /&gt; &lt;Resource name=&quot;jdbc/myProject&quot; auth=&quot;Container&quot;&lt;br /&gt; type=&quot;javax.sql.DataSource&quot;&lt;br /&gt; username=&quot;database_user&quot; password=&quot;database_passwd&quot;&lt;br /&gt; driverClassName=&quot;com.mysql.jdbc.Driver&quot;&lt;br /&gt; url=&quot;jdbc:mysql://localhost:3306/database_base&quot; maxActive=&quot;8&quot; maxIdle=&quot;8&quot;&lt;br /&gt; removeAbandoned=&quot;true&quot; removeAbandonedTimeout=&quot;30&quot; logAbandoned=&quot;true&quot; /&gt;&lt;br /&gt; &lt;/Context&gt;&lt;/code&gt;&lt;/div&gt; &lt;p&gt;Pour la signification des attributs je vous sugg&#232;re d'aller voir : &lt;a href='http://commons.apache.org/dbcp/configuration.html' class='spip_out'&gt;common apache&lt;/a&gt;&lt;/p&gt; &lt;h3 class=&quot;spip&quot; id=&quot;outil_sommaire_1&quot;&gt;&lt;a title=&quot;Sommaire&quot; href=&quot;http://6tech.net/spip.php?page=backend&amp;id_auteur[]=3#outil_sommaire&quot; class=&quot;sommaire_ancre&quot;&gt; &lt;/a&gt;Lier le pool &#224; l'application&lt;/h3&gt; &lt;p&gt;Une fois ce pool cr&#233;&#233;, il peut &#234;tre int&#233;ressant de le lier &#224; l'application dans son fichier web.xml par la balise resource-ref :&lt;/p&gt; &lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt; &lt;resource-ref&gt;&lt;br /&gt; &lt;description&gt;&lt;br /&gt; Pool de connexion &#224; la base de donn&#233;es&lt;br /&gt; &lt;/description&gt;&lt;br /&gt; &lt;res-ref-name&gt;jdbc/myProject&lt;/res-ref-name&gt;&lt;br /&gt; &lt;res-type&gt;javax.sql.DataSource&lt;/res-type&gt;&lt;br /&gt; &lt;res-auth&gt;Container&lt;/res-auth&gt;&lt;br /&gt; &lt;/resource-ref&gt;&lt;/code&gt;&lt;/div&gt;
&lt;h3 class=&quot;spip&quot; id=&quot;outil_sommaire_2&quot;&gt;&lt;a title=&quot;Sommaire&quot; href=&quot;http://6tech.net/spip.php?page=backend&amp;id_auteur[]=3#outil_sommaire&quot; class=&quot;sommaire_ancre&quot;&gt; &lt;/a&gt;L'utilisation dans vos servlets&lt;/h3&gt; &lt;p&gt;Ensuite pour l'utiliser, il vous suffira de r&#233;cup&#233;rer une connexion du context par ces quelques lignes :&lt;/p&gt; &lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt; try {&lt;br /&gt; Context initCtx = new InitialContext(); // r&#233;cup&#233;ration du context&lt;br /&gt; DataSource ds = (DataSource) initCtx.lookup(&quot;java:comp/env/jdbc/myProject&quot;); // r&#233;cup&#233;ration de la source&lt;br /&gt; Connection con = ds.getConnection(); // r&#233;cup&#233;ration de la connexion&lt;br /&gt; .....&lt;br /&gt; } catch (Exception e) {&lt;br /&gt; Logger.getLogger(this.CLASS).error(&quot;DATABASE : &quot;+e.getMessage());&lt;br /&gt; }&lt;/code&gt;&lt;/div&gt; &lt;p&gt;Il pourra &#234;tre subtil de cr&#233;er une classe s'occupant de r&#233;cup&#233;rer cette connexion et d'effectuer une requ&#234;te dessus.&lt;/p&gt; &lt;h3 class=&quot;spip&quot; id=&quot;outil_sommaire_3&quot;&gt;&lt;a title=&quot;Sommaire&quot; href=&quot;http://6tech.net/spip.php?page=backend&amp;id_auteur[]=3#outil_sommaire&quot; class=&quot;sommaire_ancre&quot;&gt; &lt;/a&gt;Erreurs fr&#233;quentes&lt;/h3&gt; &lt;p&gt;Attention toute fois &#224; bien comprendre ce que vous faites. La cr&#233;ation d'un pool de connexion et sa limitation implique de fermer correctement toute demande de connexion une fois la requ&#234;te achev&#233;e. Un appel &#224; con.close() terminera la connexion courrante, mais prenez garde &#224; bien fermer vos ResultSet et PreparedStatement dans le bon ordre et avant la fermeture de la connexion principale.&lt;/p&gt; &lt;p&gt;Si votre script se bloque ou se met en pause ; cela est g&#233;n&#233;ralement du &#224; l'oubli de fermeture de connexion. Le pool de connexion voyant son capital de connexions s'amenuiser, ne distribuera plus de nouvelles connexions tant que les pr&#233;c&#233;dentes n'auront pas &#233;t&#233; lib&#233;r&#233;es ..&lt;/p&gt; &lt;h3 class=&quot;spip&quot; id=&quot;outil_sommaire_4&quot;&gt;&lt;a title=&quot;Sommaire&quot; href=&quot;http://6tech.net/spip.php?page=backend&amp;id_auteur[]=3#outil_sommaire&quot; class=&quot;sommaire_ancre&quot;&gt; &lt;/a&gt;Derni&#232;res pr&#233;cisions&lt;/h3&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; Si vraiment, vraiment, vraiment vous pr&#233;f&#233;rez quand m&#234;me, contre toute opposition sens&#233;e et argument&#233;e, utiliser la taglib 'sql' de struts, vous pouvez en haut de vos pages renseigner la source pr&#233;c&#233;demment configur&#233;e dans le web.xml et dans le context.xml par &lt;span class='csfoo htmla'&gt;&lt;/span&gt;&lt;code class='spip_code' dir='ltr'&gt;&lt;sql:setDataSource dataSource=&quot;jdbc/myProject&quot; /&gt;&lt;/code&gt;&lt;span class='csfoo htmlb'&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; Vous pouvez &#233;galement vouloir configurer un pool de connexion au niveau du serveur tomcat directement, et partager ce pool avec plusieurs applications en cr&#233;ant une section ressource dans le server.xml (plus facilement faisable par l'administration de tomcat ) ; ensuite il conviendra de sp&#233;cifier dans chaque contexte le pool &#224; utiliser par :
&lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;&lt;ResourceLink&lt;br /&gt; name=&quot;jdbc/myProject&quot;&lt;br /&gt; global=&quot;jdbc/myProject&quot;&lt;br /&gt; type=&quot;javax.sql.DataSource&quot;/&gt;&lt;/code&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Cette solution &#233;carte l'&#233;tape de configuration du web.xml&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Paradigme des fonctions</title>
		<link>http://6tech.net/Paradigme-des-fonctions.html</link>
		<guid isPermaLink="true">http://6tech.net/Paradigme-des-fonctions.html</guid>
		<dc:date>2008-04-08T21:28:16Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Yannick Domenjoud</dc:creator>


		<dc:subject>PHP</dc:subject>
		<dc:subject>Fonctions</dc:subject>

		<description>Ceci est un post &#224; vues p&#233;dagogiques sur la cr&#233;ation de fonctions php. Tout le monde utilise les fonctions de php telles que explode(), strpos(), mysql_db_query(), etc . Mais qui n'a jamais voulu en cr&#233;er lui m&#234;me ? la cr&#233;ation/utilisation de fonctions suit 2 &#233;tapes : Tout d'abord, commen&#231;ons par le commencement : la d&#233;claration Elle ( la d&#233;claration [1]) commence par le mot-cl&#233; : function et ce, selon la syntaxe suivante : function NomDeLaFonction(arg1,arg2,arg3 .... ) corps de la (...)

-
&lt;a href="http://6tech.net/-Tutoriaux-.html" rel="directory"&gt;Tutoriaux&lt;/a&gt;

/ 
&lt;a href="http://6tech.net/+-PHP-+.html" rel="tag"&gt;PHP&lt;/a&gt;, 
&lt;a href="http://6tech.net/+-Fonctions-+.html" rel="tag"&gt;Fonctions&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;span class='csfoo somm'&gt;&lt;/span&gt;&lt;div class=&quot;cs_sommaire cs_sommaire_avec_fond&quot; id=&quot;outil_sommaire&quot;&gt; &lt;div class=&quot;cs_sommaire_inner&quot;&gt; &lt;div class=&quot;cs_sommaire_titre_avec_fond&quot;&gt; Sommaire &lt;/div&gt; &lt;ul&gt; &lt;li&gt;&lt;a title=&quot;la d&#233;claration&quot; href=&quot;http://6tech.net/spip.php?page=backend&amp;id_auteur[]=3#outil_sommaire_0&quot;&gt;la d&#233;claration&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a title=&quot;L&amp;#39;appel de la fonction&quot; href=&quot;http://6tech.net/spip.php?page=backend&amp;id_auteur[]=3#outil_sommaire_1&quot;&gt;L'appel de la fonction&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;/div&gt;&lt;span class='csfoo somm'&gt;&lt;/span&gt;&lt;p&gt;Ceci est un post &#224; vues p&#233;dagogiques sur la cr&#233;ation de fonctions php.&lt;/p&gt; &lt;p&gt;Tout le monde utilise les fonctions de php telles que &lt;i&gt;explode()&lt;/i&gt;, &lt;i&gt;strpos()&lt;/i&gt;, &lt;i&gt;mysql_db_query()&lt;/i&gt;, etc .
Mais qui n'a jamais voulu en cr&#233;er lui m&#234;me ? la cr&#233;ation/utilisation de fonctions suit 2 &#233;tapes :&lt;/p&gt; &lt;p&gt;Tout d'abord, commen&#231;ons par le commencement :&lt;/p&gt; &lt;h3 class=&quot;spip&quot; id=&quot;outil_sommaire_0&quot;&gt;&lt;a title=&quot;Sommaire&quot; href=&quot;http://6tech.net/spip.php?page=backend&amp;id_auteur[]=3#outil_sommaire&quot; class=&quot;sommaire_ancre&quot;&gt; &lt;/a&gt;la d&#233;claration&lt;/h3&gt; &lt;p&gt;Elle ( la d&#233;claration&lt;span class='csfoo htmla'&gt;&lt;/span&gt; [&lt;a href='#nb1' class='spip_note' rel='footnote' title='doit se faire obligatoirement avant l'appel de la fonction' id='nh1'&gt;1&lt;/a&gt;]&lt;span class='csfoo htmlb'&gt;&lt;/span&gt;) commence par le mot-cl&#233; : &lt;i&gt;function&lt;/i&gt; et ce, selon la syntaxe suivante :&lt;/p&gt; &lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt; function NomDeLaFonction(arg1,arg2,arg3 .... ){&lt;br /&gt; corps de la fonction;&lt;br /&gt; }&lt;/code&gt;&lt;/div&gt; &lt;p&gt;La fonction peut tr&#232;s bien ne prendre aucun argument.
Dans le corps de la fonction vous mettez les instructions destin&#233;es &#224; &#234;tre ex&#233;cut&#233;es.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Exemple de fonction&lt;/strong&gt;&lt;/p&gt; &lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;function affiche_text_gras($texte){&lt;br /&gt; echo &quot;&lt;b&gt;&quot;.$texte.&quot;&lt;/b&gt;&quot;; &lt;br /&gt; }&lt;/code&gt;&lt;/div&gt; &lt;p&gt; // affiche un texte en gras&lt;/p&gt; &lt;p&gt;Une fonction peut &#233;galement renvoyer une valeur &#224; son ex&#233;cution gr&#226;ce au mot-cl&#233; : &lt;i&gt;return&lt;/i&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Exemple de fonction&lt;/strong&gt;&lt;/p&gt; &lt;div style='text-align: left;' class='spip_code' dir='ltr'&gt;&lt;code&gt;function carre($nb){&lt;br /&gt; return $nb*$nb; //retourne le carr&#233; d'un nombre&lt;br /&gt; }&lt;/code&gt;&lt;/div&gt;
&lt;h3 class=&quot;spip&quot; id=&quot;outil_sommaire_1&quot;&gt;&lt;a title=&quot;Sommaire&quot; href=&quot;http://6tech.net/spip.php?page=backend&amp;id_auteur[]=3#outil_sommaire&quot; class=&quot;sommaire_ancre&quot;&gt; &lt;/a&gt;L'appel de la fonction&lt;/h3&gt; &lt;p&gt;l'appel se fait de fa&#231;on explicite :&lt;/p&gt; &lt;ul class=&quot;spip&quot;&gt;&lt;li&gt; Si la fonction retourne une variable, il faut affecter &#224; une variable le r&#233;sultat de la fonction : $variable = NomDeLaFonction($arg1,$arg2, &#8230;.) ; // autant de $arg que d'argument&lt;/li&gt;&lt;li&gt; Si la fonction n'en retourne pas :
NomDeLaFonction($arg1,$arg2&#8230;) ; // autant de $arg que d'argument&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;p&gt;&lt;span class='csfoo htmla'&gt;&lt;/span&gt;[&lt;a href='#nh1' id='nb1' class='spip_note' title='Notes 1' rev='footnote'&gt;1&lt;/a&gt;] &lt;span class='csfoo htmlb'&gt;&lt;/span&gt;doit se faire obligatoirement avant l'appel de la fonction&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
