<?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>Benjamin Agullana &#187; Tutoriaux</title>
	<atom:link href="http://www.benjamin-agullana.fr/category/tutoriaux/feed" rel="self" type="application/rss+xml" />
	<link>http://www.benjamin-agullana.fr</link>
	<description>Développeur - Intégrateur</description>
	<lastBuildDate>Wed, 19 Oct 2011 10:58:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Joomla 1.5! Utiliser l’API Joomla dans n’importe quelle page PHP externe à Joomla!</title>
		<link>http://www.benjamin-agullana.fr/joomla/tutoriaux/joomla-1-5-utiliser-l%e2%80%99api-joomla-dans-n%e2%80%99importe-quelle-page-php-externe-a-joomla.html</link>
		<comments>http://www.benjamin-agullana.fr/joomla/tutoriaux/joomla-1-5-utiliser-l%e2%80%99api-joomla-dans-n%e2%80%99importe-quelle-page-php-externe-a-joomla.html#comments</comments>
		<pubDate>Sun, 26 Sep 2010 20:56:48 +0000</pubDate>
		<dc:creator>benny</dc:creator>
				<category><![CDATA[Tutoriaux]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[Joomla! 1.5]]></category>

		<guid isPermaLink="false">http://localhost/benjamin-agullana.fr_2010/?p=49</guid>
		<description><![CDATA[Certaines personnes m’ont demandé comment faire pour intégrer l’API Joomla dans des pages PHP externes (standalone) et c’est donc tout logiquement que j’ai décidé d’écrire un petit article à ce sujet. Grâce à ces quelques lignes de codes vous pourrez utiliser pleinement l’API avec notamment les class d’accès à la Base de données, aux informations]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" title="joomla" src="http://www.benjamin-agullana.fr/images/articles/joomla_logo_vert_color.gif" alt="joomla" width="200" height="137" />Certaines personnes m’ont demandé  comment faire pour intégrer l’API Joomla dans des pages PHP externes  (standalone) et c’est donc tout logiquement que j’ai décidé d’écrire un  petit article à ce sujet.</p>
<p>Grâce à ces quelques lignes de codes  vous pourrez utiliser pleinement l’API avec notamment les class d’accès à  la Base de données, aux informations utilisateurs, aux informations  session etc… Bref tout ce qui existe dans Joomla pour vous faciliter la  tâche (merci JFactory).<span id="more-49"></span></p>
<p>Voici donc le code miraculeux :</p>
<div id="highlighter_107293">
<pre escaped="true">// On définie que c'est un fichier familier à Joomla
define('_JEXEC', 1 );

define('JPATH_BASE', '../../../' );

define( 'DS','/' );

// On inclue les constantes
require_once ( JPATH_BASE.DS.'includes'.DS.'defines.php' );
// On inclue le framework
require_once ( JPATH_BASE.DS.'includes'.DS.'framework.php' );

// On inclue la fameuse class JFactory
require(JPATH_BASE.DS.'libraries/joomla/factory.php');

$mainframe =&amp; JFactory::getApplication('site');
$mainframe-&gt;initialise();</pre>
</div>
<p>Cependant pour la constante JPATH c’est à  vous de trouver le bon chemin par rapport à là où vous exécutez votre  fichier (dans mon cas je suis dans dossier comme ça :  modules/mod_mon_module/dossier/mon_fichier.php)</p>
<p>Voilà j’espère que ça vous aura aidé autant que pour moi.</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http://www.benjamin-agullana.fr/joomla/tutoriaux/joomla-1-5-utiliser-l%e2%80%99api-joomla-dans-n%e2%80%99importe-quelle-page-php-externe-a-joomla.html&amp;layout=standard&amp;show_faces=1&amp;width=450&amp;action=like&amp;colorscheme=light&amp;font=" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:25px"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.benjamin-agullana.fr/joomla/tutoriaux/joomla-1-5-utiliser-l%e2%80%99api-joomla-dans-n%e2%80%99importe-quelle-page-php-externe-a-joomla.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Joomla! 1.5 : Utiliser son framework</title>
		<link>http://www.benjamin-agullana.fr/joomla/tutoriaux/joomla-1-5-utiliser-son-framework.html</link>
		<comments>http://www.benjamin-agullana.fr/joomla/tutoriaux/joomla-1-5-utiliser-son-framework.html#comments</comments>
		<pubDate>Sun, 26 Sep 2010 20:47:30 +0000</pubDate>
		<dc:creator>benny</dc:creator>
				<category><![CDATA[Tutoriaux]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[Joomla! 1.5]]></category>

		<guid isPermaLink="false">http://localhost/benjamin-agullana.fr_2010/?p=45</guid>
		<description><![CDATA[Ça fait un petit moment que je n’ai pas écrit d’article, il est donc temps de reprendre le pied ! (J’avoue qu’avec les vacances ça facilite les choses !). Aujourd’hui nous allons donc voir comment utiliser le framework de Joomla! 1.5. Je ne vais pas me lancer dans un étalage complet du framework mais plutôt]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" title="Joomla!" src="http://www.benjamin-agullana.fr/images/articles/joomla_logo_vert_color.gif" alt="" width="200" height="137" />Ça fait un petit moment que je n’ai pas écrit d’article,  il est donc temps de reprendre le pied ! (J’avoue qu’avec les vacances ça facilite les choses !).</p>
<p>Aujourd’hui nous allons donc voir <strong>comment utiliser le framework de Joomla! 1.5</strong>. Je ne vais pas me lancer dans un étalage  complet du framework mais plutôt du strict minimum, indispensable pour <strong>h</strong><strong>acker, ou même créer des modules ou composants</strong>.<span id="more-45"></span></p>
<h2><span style="color: #99cc00;">1. Se connecter à la base de données</span></h2>
<p>Rien de plus simple, il faut créer une instance de la class JFactory :</p>
<pre escaped="true">$database = &amp;JFactory::getDBO();</pre>
<h2><span style="color: #99cc00;">2. Exécuter une requête (insertion de données dans la base)</span></h2>
<p>Maintenant que nous avons notre objet $database il suffit d’appeler la méthode setQuery pour déterminer la requête à éxécuter :</p>
<pre escaped="true"><em>//j'insère dans la table users et dans le champ username, le pseudo TOTO.
</em>$database-&gt;setQuery("INSERT INTO #__users (`username`) VALUES ('TOTO')");</pre>
<p><strong>#__user</strong>s est en fait <strong>jos_users</strong> dans ma base de données, mais Joomla! reconnait <strong>#__ comme étant le préfixe de vos tables</strong> (le mien est jos, mais le votre peut être différent, cela permet donc à  Joomla! de s’adapter quelque soit le préfixe de vos tables).</p>
<p>Puis on éxécute la requête :</p>
<pre escaped="true">$database-&gt;query();</pre>
<h2><span style="color: #99cc00;">3. Exécuter une requête (sélection de données dans la base)</span></h2>
<p>C’est bien beau d’insérer des données  dans la base, mais il est parfois utile de récupérer des données, c’est  très simple encore une fois, toujours avec le même objet, il suffit  d’appeler la méthode setQuery encore une fois (cette fois je met la  requête dans une variable, que j’appelle dans la méthode setQuery :</p>
<pre escaped="true">$query = "SELECT username FROM #__user WHERE id=1"; <em>//Je sélectionne
le pseudo où le champs id vaut 1</em>
$database-&gt;setQuery($query); <em>//J'exécute la requête</em></pre>
<p>Ensuite on traite les données récupérées pour en faire quelque chose (par exemple dans ce cas précis, les afficher) :</p>
<pre escaped="true">echo $database-&gt;LoadResult(); <em>//Ce qui écrira toto si
l'utilisateur avec l'id 1 dans ma base s'appelle toto</em></pre>
<p>Par contre si vous faites une requête qui renvoie plusieurs résultats vous devez appeler la méthode loadObjectList :</p>
<pre escaped="true">$query = "SELECT * FROM #__categories"; <em>//On prépare la requête</em>
$database-&gt;setQuery($query); <em>//On éxécute la requête</em>
$rows = $database-&gt;loadObjectList(); <em>//On charge les
résultats de la requête dans l'objet $rows </em></pre>
<pre escaped="true">foreach ($rows as $row) {</pre>
<pre escaped="true">echo $row-&gt;title ." : ". $row-&gt;description."&lt;br /&gt;"; <em>//On affiche le
titre de chaque catégorie et sa description</em></pre>
<pre escaped="true">}</pre>
<p>Et voilà vous avez les cartes en main  pour effectuer des choses simples dans Joomla! 1.5 en utilisant son  Framework et donc en limitant les failles de sécurités.</p>
<p>Pour toutes questions ça se passe à la suite de l’article dans les commentaires.</p>
<p>Enjoy !</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http://www.benjamin-agullana.fr/joomla/tutoriaux/joomla-1-5-utiliser-son-framework.html&amp;layout=standard&amp;show_faces=1&amp;width=450&amp;action=like&amp;colorscheme=light&amp;font=" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:25px"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.benjamin-agullana.fr/joomla/tutoriaux/joomla-1-5-utiliser-son-framework.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Joomla! 1.5 : Utiliser les informations liées à un utilisateur</title>
		<link>http://www.benjamin-agullana.fr/joomla/tutoriaux/utiliser-les-informations-liees-a-un-utilisateur.html</link>
		<comments>http://www.benjamin-agullana.fr/joomla/tutoriaux/utiliser-les-informations-liees-a-un-utilisateur.html#comments</comments>
		<pubDate>Sun, 26 Sep 2010 20:35:32 +0000</pubDate>
		<dc:creator>benny</dc:creator>
				<category><![CDATA[Tutoriaux]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[Joomla! 1.5]]></category>

		<guid isPermaLink="false">http://localhost/benjamin-agullana.fr_2010/?p=32</guid>
		<description><![CDATA[Encore un article sur Joomla! 1.5 et son framework. Alors pourquoi autant d’articles sur ce CMS ? Tout simplement car je suis en train de développer un gros site basé sur ce dernier dans mon entreprise. Du coup j’ai pu me familiariser pus profondément avec cet outil puissant. Nous allons aborder un thème très utile]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" title="joomla" src="http://www.benjamin-agullana.fr/images/articles/joomla_logo_vert_color.gif" alt="joomla" width="200" height="137" />Encore un article sur <span style="color: #99cc00;"><strong>Joomla! 1.5 et son framework</strong></span>.  Alors pourquoi autant d’articles sur ce CMS ? Tout simplement car je  suis en train de développer un gros site basé sur ce dernier dans mon  entreprise. Du coup j’ai pu me familiariser pus profondément avec cet  outil puissant.</p>
<p>Nous allons aborder un thème très utile lorsque vous souhaitez <strong>créer</strong> des <strong>modules </strong>ou <strong>composants </strong>ou même <strong>plugins </strong>dans Joomla! 1.5. Il s’agit de <strong>travailler</strong> avec les <strong>données liées à la session de l’utilisateur connecté</strong> sur votre site. Ainsi vous pourrez effectuer des scripts en fonction du <strong>statut de l’utilisateur</strong> (registered,redactor etc…) ou encore affiché simplement son <strong>pseudo</strong>, son <strong>nom</strong>, son <strong>adresse mail </strong>etc.<span id="more-32"></span></p>
<p>Pour commencer vous devez créer une instance de la <strong>class <span style="color: #99cc00;">JFactory</span></strong><span style="color: #99cc00;"> </span>en appelant la méthode <strong>getUser()</strong>, comme suit :</p>
<pre escaped="true">$UserInfo =&amp; JFactory::getUser();</pre>
<p>Ensuite vous n’avez plus qu’à utiliser cet objet pour ressortir chacune des informations qui vous intéressent :</p>
<pre escaped="true">echo $UserInfo-&gt;id; <em>//Affichera l'id de l'utilisateur</em>
echo $UserInfo-&gt;name; <em>//Affichera le nom de l'utilisateur</em>
echo $UserInfo-&gt;username; <em>//Affichera le pseudo de
l'utilisateur</em>
echo $UserInfo-&gt;email <em>//Affichera son addresse e-mail</em>
echo $UserInfo-&gt;password <em>//Le mot de passe crypté de
l'utilisateur</em>
echo $UserInfo-&gt;usertype <em>//Permet de connaitre le
statut de l'utilisateur (registered, administrator etc.)</em>
echo $UserInfo-&gt;gid <em>//L'id du statut auquel il
appartient (si le statut Administrator est enregistré
avec l'id 1 dans la base de données, alors
echo $UserInfo-&gt;gid affichera 1)</em>
echo $UserInfo-&gt;registerDate <em>//Affiche la date a
laquelle l'utilisateur s'est enregistré sur le site</em>
echo $UserInfo-&gt;lastvisitDate <em>//Affiche la date
de dernière visite de l'utilisateur sur le site</em>
echo $UserInfo-&gt;block <em>//Affiche 1 si l'utilisateur
est bloqué (banni du site) ou 0 s'il ne l'est pas</em>
echo $UserInfo-&gt;guest <em>//Affiche 1 si l'utilisateur
est un simple visiteur sur le site, 0 s'il est membre.</em></pre>
<p>A partir de la on pourrait imaginer un  script qui testerait si l’utilisateur est enregistré sur le site et qui  auquel cas afficherait son nom, son pseudo, la date à laquelle il s’est  inscrit sur le site et la date de sa dernière visite (le script en  entier):</p>
<pre escaped="true"><em>//On créer l'objet $UserInfo</em>
$UserInfo =&amp; JFactory::getUser();</pre>
<pre escaped="true"><em>//Si l'utilisateur est enregistré on lui écrit ses informations</em>
if(!$UserInfo-&gt;guest)
{</pre>
<pre escaped="true">echo "Salut" . $UserInfo-&gt;name . " ou plutôt
 " . $UserInfo-&gt;username . "&lt;br /&gt;";
echo "Tu es membre de ce site depuis le
 " . $UserInfo-&gt;registerDate . " et ta
dernière visite date du " . $UserInfo-&gt;lastvisitDate;</pre>
<pre escaped="true"><em>//Si c'est un simple visiteur on lui demande de s'inscrire</em>
}else{</pre>
<pre escaped="true">echo "Vous n'êtes pas autorisé a
voir cette page, veuillez vous inscrire, merci";</pre>
<pre escaped="true">}</pre>
<p>Et voilà, ce n’est qu’un exemple, vous pouvez faire preuve de plus d’imagination.</p>
<p>Pour toute questions ça se passe à la suite de l’article, merci.</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http://www.benjamin-agullana.fr/joomla/tutoriaux/utiliser-les-informations-liees-a-un-utilisateur.html&amp;layout=standard&amp;show_faces=1&amp;width=450&amp;action=like&amp;colorscheme=light&amp;font=" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:25px"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.benjamin-agullana.fr/joomla/tutoriaux/utiliser-les-informations-liees-a-un-utilisateur.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

