<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://www.stato-framework.org/documentation/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://www.stato-framework.org/documentation/feed.php">
        <title>Stato 0_9:fr</title>
        <description></description>
        <link>http://www.stato-framework.org/documentation/</link>
        <image rdf:resource="http://www.stato-framework.org/documentation/lib/images/favicon.ico" />
       <dc:date>2010-04-27T08:07:35+02:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/0_9/fr/associations?rev=1238718467&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/0_9/fr/caching?rev=1238718467&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/0_9/fr/controllers?rev=1238718467&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/0_9/fr/db?rev=1238718467&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/0_9/fr/helpers?rev=1238718467&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/0_9/fr/index?rev=1238718467&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/0_9/fr/installation?rev=1238718467&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/0_9/fr/introduction?rev=1238718467&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/0_9/fr/mailer?rev=1238718467&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/0_9/fr/migrations?rev=1238718467&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/0_9/fr/models?rev=1238718467&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/0_9/fr/pagination?rev=1238718467&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/0_9/fr/queries?rev=1238718467&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/0_9/fr/routing?rev=1238718467&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/0_9/fr/tutoriel?rev=1238718467&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/0_9/fr/tutoriel_part_2?rev=1238718467&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/0_9/fr/unit_tests?rev=1238718467&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/0_9/fr/views?rev=1238718467&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/0_9/fr/webservices?rev=1238718467&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://www.stato-framework.org/documentation/lib/images/favicon.ico">
        <title>Stato</title>
        <link>http://www.stato-framework.org/documentation/</link>
        <url>http://www.stato-framework.org/documentation/lib/images/favicon.ico</url>
    </image>
    <item rdf:about="http://www.stato-framework.org/documentation/0_9/fr/associations?rev=1238718467&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-04-03T02:27:47+02:00</dc:date>
        <title>0_9:fr:associations</title>
        <link>http://www.stato-framework.org/documentation/0_9/fr/associations?rev=1238718467&amp;do=diff</link>
        <description>Déclaration

Forme simplifiée :



class Product extends SActiveRecord
{
    public static $relationships = array
    (
        'group'   =&gt; 'belongs_to',
        'details' =&gt; 'has_many'
    );
}



Dans le cas de la forme simplifiée, la classe de destination (option class_name) sera supposée porter le même nom que l'association, ou le singulier de ce nom si l'association est de type has_many ou many_to_many.</description>
    </item>
    <item rdf:about="http://www.stato-framework.org/documentation/0_9/fr/caching?rev=1238718467&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-04-03T02:27:47+02:00</dc:date>
        <title>0_9:fr:caching</title>
        <link>http://www.stato-framework.org/documentation/0_9/fr/caching?rev=1238718467&amp;do=diff</link>
        <description>Caching de pages

La totalité des données générées par une action est mise en cache sous forme de page HTML, que le serveur web peut délivrer directement sans faire appel à Stato. Le gain de performance est bien sûr énorme, mais cette forme de mise en cache ne peut être utilisée que sur des contenus statiques, auxquels les utilisateurs peuvent accéder sans être loggés. L'expiration du cache se fait manuellement, en appelant la méthode expire_page.</description>
    </item>
    <item rdf:about="http://www.stato-framework.org/documentation/0_9/fr/controllers?rev=1238718467&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-04-03T02:27:47+02:00</dc:date>
        <title>0_9:fr:controllers</title>
        <link>http://www.stato-framework.org/documentation/0_9/fr/controllers?rev=1238718467&amp;do=diff</link>
        <description>Les contrôleurs vous permettent de définir des actions qui, après avoir rempli leur rôle, font le rendu d'un template ou redirigent vers une autre action. Chaque action est définie par une méthode publique qui sera rendu accessible lors d'une requête par le biais du Routing.</description>
    </item>
    <item rdf:about="http://www.stato-framework.org/documentation/0_9/fr/db?rev=1238718467&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-04-03T02:27:47+02:00</dc:date>
        <title>0_9:fr:db</title>
        <link>http://www.stato-framework.org/documentation/0_9/fr/db?rev=1238718467&amp;do=diff</link>
        <description>A l'heure actuelle, Stato ne peut fonctionner qu'avec MySQL. Des pilotes pour PostgreSQL et SQLLite sont toutefois en cours de développement.

2 pilotes sont disponibles pour MySQL : le premier utilise l'extension MySQL standard, le second utilise PDO. Le choix du pilote et la saisie des paramètres de connexion se font dans le fichier conf/database.php :</description>
    </item>
    <item rdf:about="http://www.stato-framework.org/documentation/0_9/fr/helpers?rev=1238718467&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-04-03T02:27:47+02:00</dc:date>
        <title>0_9:fr:helpers</title>
        <link>http://www.stato-framework.org/documentation/0_9/fr/helpers?rev=1238718467&amp;do=diff</link>
        <description>Helpers de formulaires

Ces helpers sont conçus pour générer des éléments de formulaires en relation avec des objets assignés au template. Voici un exemple (l'objet $this-&gt;person ayant été assigné dans une action du controller) :



// on définit un objet dans le controller
$this-&gt;person = new Person();
$this-&gt;person-&gt;name = 'Batman';
$this-&gt;person-&gt;password = 'secret';
$this-&gt;person-&gt;single = true;
$this-&gt;person-&gt;description = 'dark superhero';

// le formulaire ainsi défini
&lt;form action=&quot;save_…</description>
    </item>
    <item rdf:about="http://www.stato-framework.org/documentation/0_9/fr/index?rev=1238718467&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-04-03T02:27:47+02:00</dc:date>
        <title>0_9:fr:index</title>
        <link>http://www.stato-framework.org/documentation/0_9/fr/index?rev=1238718467&amp;do=diff</link>
        <description>Ce manuel concerne la version 0.9 de Stato. Vous pouvez également consulter le manuel de la version en cours de développement.


	*  Introduction à Stato
	*  Installation et création d'un nouveau projet
	*  Tutoriel : création d'un blog
		*  1ère partie
		*  2ème partie</description>
    </item>
    <item rdf:about="http://www.stato-framework.org/documentation/0_9/fr/installation?rev=1238718467&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-04-03T02:27:47+02:00</dc:date>
        <title>0_9:fr:installation</title>
        <link>http://www.stato-framework.org/documentation/0_9/fr/installation?rev=1238718467&amp;do=diff</link>
        <description>Configuration requise

Vous devez utiliser au minimum PHP 5.1, avec les extensions dom, simplexml, pcre, session, spl, mbstring et mcrypt (seules les 2 dernières ne sont en général pas installées par défaut). La version ligne de commande de PHP (PHP-CLI) est également nécessaire pour utiliser les scripts d'administration.</description>
    </item>
    <item rdf:about="http://www.stato-framework.org/documentation/0_9/fr/introduction?rev=1238718467&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-04-03T02:27:47+02:00</dc:date>
        <title>0_9:fr:introduction</title>
        <link>http://www.stato-framework.org/documentation/0_9/fr/introduction?rev=1238718467&amp;do=diff</link>
        <description>Convention over configuration

Stato repose en grande partie sur ce principe de “conventions, plutôt que configuration”, inspiré par RubyOnRails. L'intérêt majeur est de pouvoir écrire moins de code ! Stato se repose sur des conventions de nommage pour déduire les relations entre les divers composants de votre application. Par exemple, une action nommée view() dans un controller PostsController sera suivie du rendu d'un template nommé view.php dans le dossier app/views/posts (à moins que vous ne…</description>
    </item>
    <item rdf:about="http://www.stato-framework.org/documentation/0_9/fr/mailer?rev=1238718467&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-04-03T02:27:47+02:00</dc:date>
        <title>0_9:fr:mailer</title>
        <link>http://www.stato-framework.org/documentation/0_9/fr/mailer?rev=1238718467&amp;do=diff</link>
        <description>La classe SMailer vous permet, comme son nom l'indique, d'envoyer des mails depuis votre application. Pour l'instant, un seul mode d'envoi est disponible, qui s'appuie sur la méthode mail() de PHP.

Vous pouvez générer une sous-classe de SMailer à l'aide de la commande suivante :</description>
    </item>
    <item rdf:about="http://www.stato-framework.org/documentation/0_9/fr/migrations?rev=1238718467&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-04-03T02:27:47+02:00</dc:date>
        <title>0_9:fr:migrations</title>
        <link>http://www.stato-framework.org/documentation/0_9/fr/migrations?rev=1238718467&amp;do=diff</link>
        <description>Les migrations vous permettent de gérer plus facilement les évolutions du schéma de votre base de données. Vous pouvez par exemple créer un fichier de migration pour ajouter un nouveau champ à l'une des tables, tester votre code en local, puis déployer le changement sur le serveur de production, tout en conservant la possibilité de revenir à une version antérieure de votre schéma.</description>
    </item>
    <item rdf:about="http://www.stato-framework.org/documentation/0_9/fr/models?rev=1238718467&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-04-03T02:27:47+02:00</dc:date>
        <title>0_9:fr:models</title>
        <link>http://www.stato-framework.org/documentation/0_9/fr/models?rev=1238718467&amp;do=diff</link>
        <description>ActiveRecord est un des designs patterns les plus simples pour faire de l'Object Relational Mapping. La définition qu'en donne Martin Fowler est : 

An object that wraps a row in a database table or view, encapsulates the database access, and adds domain logic on that data.</description>
    </item>
    <item rdf:about="http://www.stato-framework.org/documentation/0_9/fr/pagination?rev=1238718467&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-04-03T02:27:47+02:00</dc:date>
        <title>0_9:fr:pagination</title>
        <link>http://www.stato-framework.org/documentation/0_9/fr/pagination?rev=1238718467&amp;do=diff</link>
        <description>Pagination dans une action


class PhotosController extends ApplicationController
{
    public function index()
    {
        list($this-&gt;photos_pages, $this-&gt;photos) = $this-&gt;paginate(Photo::$objects-&gt;all(), 20);
    }
}


La méthode paginate() retourne un tableau contenant une instance de SPaginator ($this-&gt;photos_pages) ainsi qu'une instance de SQuerySet représentant la page en cours.</description>
    </item>
    <item rdf:about="http://www.stato-framework.org/documentation/0_9/fr/queries?rev=1238718467&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-04-03T02:27:47+02:00</dc:date>
        <title>0_9:fr:queries</title>
        <link>http://www.stato-framework.org/documentation/0_9/fr/queries?rev=1238718467&amp;do=diff</link>
        <description>La classe SQuerySet vous permet de récupérer des enregistrements dans votre base de données. Une instance de cette classe représente une collection d'objets issus de la base, filtrés par certains critères. En fait, cette classe permet d'opérer des SELECT, et les filtres sont des clauses de type WHERE ou LIMIT.</description>
    </item>
    <item rdf:about="http://www.stato-framework.org/documentation/0_9/fr/routing?rev=1238718467&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-04-03T02:27:47+02:00</dc:date>
        <title>0_9:fr:routing</title>
        <link>http://www.stato-framework.org/documentation/0_9/fr/routing?rev=1238718467&amp;do=diff</link>
        <description>Le système de routing de Stato vous offre la possibilité de faire de l'URL rewriting en PHP, c'est à dire de faire correspondre une requête entrante à un contrôleur et une action. Les routes sont définies dans le fichier conf/routes.php. A l'ouverture de ce fichier, vous trouverez le code suivant :</description>
    </item>
    <item rdf:about="http://www.stato-framework.org/documentation/0_9/fr/tutoriel?rev=1238718467&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-04-03T02:27:47+02:00</dc:date>
        <title>0_9:fr:tutoriel</title>
        <link>http://www.stato-framework.org/documentation/0_9/fr/tutoriel?rev=1238718467&amp;do=diff</link>
        <description>Préliminaires

Afin de suivre ce tutoriel, vous devez avoir un environnement de développement adéquat : consultez la doc concernant l'installation et créez un nouveau projet nommé blog.

Hello World !

Le but de ce tutoriel est de créer un petit moteur de blog. Si vous avez correctement créé votre appli comme indiqué dans les préliminaires, vous devez avoir un dossier blog/ à la racine de votre serveur web. Nous supposerons que vous avez créé un alias blog plutôt qu'un virtualhost.</description>
    </item>
    <item rdf:about="http://www.stato-framework.org/documentation/0_9/fr/tutoriel_part_2?rev=1238718467&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-04-03T02:27:47+02:00</dc:date>
        <title>0_9:fr:tutoriel_part_2</title>
        <link>http://www.stato-framework.org/documentation/0_9/fr/tutoriel_part_2?rev=1238718467&amp;do=diff</link>
        <description>Nous allons maintenant améliorer le template correspondant à notre action view, soit le fichier app/views/posts/view.php. En effet, nous allons afficher en plus du billet, une liste des commentaires associés, ainsi qu'un formulaire d'ajout de commentaire.</description>
    </item>
    <item rdf:about="http://www.stato-framework.org/documentation/0_9/fr/unit_tests?rev=1238718467&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-04-03T02:27:47+02:00</dc:date>
        <title>0_9:fr:unit_tests</title>
        <link>http://www.stato-framework.org/documentation/0_9/fr/unit_tests?rev=1238718467&amp;do=diff</link>
        <description>Stato s'appuie sur l'excellent librairie SimpleTest pour vous fournir l'infrastructure nécessaire à l'écriture de tests pour vos applications.

Ecrire un test est très simple :


// fichier test/hello_world_test.php
class HelloWorld
{
    public static function write()
    {
        return 'hello world';
    }
}

class HelloWorldTest extends UnitTestCase
{
    public function testWriteMethod()
    {
        $this-&gt;assertEqual('hello world', HelloWorld::write());
    }
}</description>
    </item>
    <item rdf:about="http://www.stato-framework.org/documentation/0_9/fr/views?rev=1238718467&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-04-03T02:27:47+02:00</dc:date>
        <title>0_9:fr:views</title>
        <link>http://www.stato-framework.org/documentation/0_9/fr/views?rev=1238718467&amp;do=diff</link>
        <description>Les views sont en fait des templates PHP. Il s'agit donc d'un mélange de HTML et de PHP, le PHP étant délimité par des tags &lt;? ?&gt; ou &lt;?= ?&gt; (le = remplaçant en fait la fonction echo). Vous pouvez également utiliser les tags ASP/Ruby &lt;% %&gt; et &lt;%= %&gt;. Attention : n'oubliez pas de mettre un espace entre les tags et le code PHP.</description>
    </item>
    <item rdf:about="http://www.stato-framework.org/documentation/0_9/fr/webservices?rev=1238718467&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-04-03T02:27:47+02:00</dc:date>
        <title>0_9:fr:webservices</title>
        <link>http://www.stato-framework.org/documentation/0_9/fr/webservices?rev=1238718467&amp;do=diff</link>
        <description>Utilisation d'un client

Stato dispose d'un ensemble de classes client vous permettant d'accéder à des web services. Pour l'instant, seul le protocole XMLRPC est utilisable.

La conversion entre les types XMLRPC et PHP est automatique, et l'appel d'une méthode dans un espace de noms XMLRPC se fait dans la notation objet de PHP.</description>
    </item>
</rdf:RDF>
