<?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 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:51+02:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/fr/associations?rev=1271286043&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/fr/caching?rev=1238718467&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/fr/controllers?rev=1238718467&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/fr/db?rev=1238718467&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/fr/forms?rev=1240245660&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/fr/helpers?rev=1238718467&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/fr/index?rev=1249973661&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/fr/installation?rev=1238718467&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/fr/installationserveur?rev=1254801252&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/fr/introduction?rev=1238718467&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/fr/mailer?rev=1239062220&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/fr/migrations?rev=1238718467&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/fr/models?rev=1248181279&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/fr/pagination?rev=1238718467&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/fr/queries?rev=1249970387&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/fr/routing?rev=1238718467&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/fr/tutoriel?rev=1238718467&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/fr/tutoriel_part_1?rev=1249970702&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/fr/tutoriel_part_2?rev=1245081759&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/fr/unit_tests?rev=1239131816&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/fr/views?rev=1238718467&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.stato-framework.org/documentation/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/fr/associations?rev=1271286043&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-04-15T01:00:43+02:00</dc:date>
        <title>fr:associations</title>
        <link>http://www.stato-framework.org/documentation/fr/associations?rev=1271286043&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/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>fr:caching</title>
        <link>http://www.stato-framework.org/documentation/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/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>fr:controllers</title>
        <link>http://www.stato-framework.org/documentation/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/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>fr:db</title>
        <link>http://www.stato-framework.org/documentation/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/fr/forms?rev=1240245660&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-04-20T18:41:00+02:00</dc:date>
        <title>fr:forms</title>
        <link>http://www.stato-framework.org/documentation/fr/forms?rev=1240245660&amp;do=diff</link>
        <description>Stato dispose d'un ensemble de classes facilitant la mise en place des formulaires dans vos applications. Elles prennent en charge un bon nombre des tâches courantes comme :

	*  la génération automatique des éléments de formulaires
	*  la validation des données soumises
	*  le réaffichage du formulaire en cas d'erreurs de validation
	*  le filtrage des données soumises et leur conversion dans le type PHP adéquat</description>
    </item>
    <item rdf:about="http://www.stato-framework.org/documentation/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>fr:helpers</title>
        <link>http://www.stato-framework.org/documentation/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/fr/index?rev=1249973661&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-08-11T08:54:21+02:00</dc:date>
        <title>fr:index</title>
        <link>http://www.stato-framework.org/documentation/fr/index?rev=1249973661&amp;do=diff</link>
        <description>Ce manuel concerne la version de Stato en cours de développement (le trunk), qui peut être assez différente des versions précédentes. Vous pouvez également consulter le manuel des versions 0.8, 0.9 et 0.9.1.


	*  Introduction à Stato
	*   Installation d'un serveur de développement sous windows
	*  Installation et création d'un nouveau projet</description>
    </item>
    <item rdf:about="http://www.stato-framework.org/documentation/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>fr:installation</title>
        <link>http://www.stato-framework.org/documentation/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/fr/installationserveur?rev=1254801252&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-10-06T05:54:12+02:00</dc:date>
        <title>fr:installationserveur</title>
        <link>http://www.stato-framework.org/documentation/fr/installationserveur?rev=1254801252&amp;do=diff</link>
        <description>Il s'agit d'installer un envirronnement de développement pour un projet statoFramework sur un poste local.
Si vous disposez d'un serveur correctement configuré pour utiliser stato vous pouvez sauter cette étape.
Vous devez au minimum avoir 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'admini…</description>
    </item>
    <item rdf:about="http://www.stato-framework.org/documentation/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>fr:introduction</title>
        <link>http://www.stato-framework.org/documentation/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/fr/mailer?rev=1239062220&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-04-07T01:57:00+02:00</dc:date>
        <title>fr:mailer</title>
        <link>http://www.stato-framework.org/documentation/fr/mailer?rev=1239062220&amp;do=diff</link>
        <description>La classe SMailer vous permet, comme son nom l'indique, d'envoyer des mails depuis votre application. 2 modes d'envoi sont disponibles : le premier s'appuie sur la méthode mail() de PHP, le second utilise SMTP.

Votre classe de mailing (nous l'appellerons Notifier) peut être placée où vous le souhaitez dans l'arborescence de votre application (même si le dossier app/models est recommandé), l'essentiel est de lui préciser dans quel dossier trouver les templates :</description>
    </item>
    <item rdf:about="http://www.stato-framework.org/documentation/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>fr:migrations</title>
        <link>http://www.stato-framework.org/documentation/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/fr/models?rev=1248181279&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-07-21T15:01:19+02:00</dc:date>
        <title>fr:models</title>
        <link>http://www.stato-framework.org/documentation/fr/models?rev=1248181279&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/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>fr:pagination</title>
        <link>http://www.stato-framework.org/documentation/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/fr/queries?rev=1249970387&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-08-11T07:59:47+02:00</dc:date>
        <title>fr:queries</title>
        <link>http://www.stato-framework.org/documentation/fr/queries?rev=1249970387&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/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>fr:routing</title>
        <link>http://www.stato-framework.org/documentation/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/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>fr:tutoriel</title>
        <link>http://www.stato-framework.org/documentation/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/fr/tutoriel_part_1?rev=1249970702&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-08-11T08:05:02+02:00</dc:date>
        <title>fr:tutoriel_part_1</title>
        <link>http://www.stato-framework.org/documentation/fr/tutoriel_part_1?rev=1249970702&amp;do=diff</link>
        <description>Ce tutoriel concerne la version de Stato en cours de développement (le trunk), qui peut être assez différente des versions précédentes.

L'objectif de ce tutoriel est de vous montrer comment créer une application web de A à Z avec le framework Stato. Nous allons donc développer ensemble un site de recommandation de bières, à la sauce 2.0 bien sûr. Il existe déjà au moins un site de ce type, Coastr, mais cela reste un concept plus fun à implémenter qu'un moteur de blog ;)</description>
    </item>
    <item rdf:about="http://www.stato-framework.org/documentation/fr/tutoriel_part_2?rev=1245081759&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-06-15T18:02:39+02:00</dc:date>
        <title>fr:tutoriel_part_2</title>
        <link>http://www.stato-framework.org/documentation/fr/tutoriel_part_2?rev=1245081759&amp;do=diff</link>
        <description>Ce tutoriel concerne la version de Stato en cours de développement (le trunk), qui peut être assez différente des versions précédentes.

Nous nous sommes quittés après avoir créé une vue affichant les dernières bières ajoutées. Cette vue utilisait le helper link_to pour créer des liens vers la fiche de chaque bière :</description>
    </item>
    <item rdf:about="http://www.stato-framework.org/documentation/fr/unit_tests?rev=1239131816&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-04-07T21:16:56+02:00</dc:date>
        <title>fr:unit_tests</title>
        <link>http://www.stato-framework.org/documentation/fr/unit_tests?rev=1239131816&amp;do=diff</link>
        <description>Stato s'appuie sur l'excellente librairie PHPUnit pour vous fournir l'environnement nécessaire à l'écriture de tests pour vos applications.</description>
    </item>
    <item rdf:about="http://www.stato-framework.org/documentation/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>fr:views</title>
        <link>http://www.stato-framework.org/documentation/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/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>fr:webservices</title>
        <link>http://www.stato-framework.org/documentation/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>
