summaryrefslogtreecommitdiff
path: root/demos/quickstart/protected/pages
diff options
context:
space:
mode:
Diffstat (limited to 'demos/quickstart/protected/pages')
-rw-r--r--demos/quickstart/protected/pages/GettingStarted/fr/HelloWorld.page83
-rw-r--r--demos/quickstart/protected/pages/GettingStarted/fr/Upgrading.page63
2 files changed, 146 insertions, 0 deletions
diff --git a/demos/quickstart/protected/pages/GettingStarted/fr/HelloWorld.page b/demos/quickstart/protected/pages/GettingStarted/fr/HelloWorld.page
new file mode 100644
index 00000000..e0183bdb
--- /dev/null
+++ b/demos/quickstart/protected/pages/GettingStarted/fr/HelloWorld.page
@@ -0,0 +1,83 @@
+<com:TContent ID="body" >
+<h1 id="401">Ma première application PRADO</h1>
+<div id="hello1" class="block-content">
+<p id="50034">
+Dans cette partie, nous allons vous guider afin de créer votre première application PRADO, la fameuse application "Hello World".
+</p>
+<p id="50035">
+"Hello World" est peut-être l'application PRADO la plus simple et <i>interactive</i> que vous pouvez créer. Cela affiche une page avec un bouton où il est affiché <tt>Click Me</tt>. Lorsque l'utilisateur clicke sur la bouton, il est affiché <tt>Hello World</tt>.
+</p>
+<p id="50036">
+Il y a plusieurs approches afin d'arriver au but ci-dessus. On peut envoyer la page au serveur, vérifier le contenu de la variable POST, et générer une nouvelle page avec le texte du bouton modifié. On peut également simplement utiliser du javascript afin de mettre à jour le libellé du bouton après l'évènement <tt>onclick</tt>.
+</p>
+</div>
+<p id="50037" class="block-content">
+PRADO privilégie une programmation évènementielle basée sur des composants. Le bouton est représenté par un objet <tt>TButton</tt>. Celui-ci comprend le libellé du bouton en tant que propriété <tt>Text</tt> et associe l'évènement "click" avec un évènement serveur <tt>OnClick</tt>. Afin de répondre à l'action de l'utilisateur sur le click du bouton, il suffit simplement d'attacher une fonction à l'évènement <tt>OnClick</tt> du bouton. Dans cette fonction, la propriété <tt>Text</tt> est modifiée en "Hello World". Le diagramme suivant image la séquence ci-dessus :
+<img src="<%~sequence.gif%>" class="figure"/>
+</p>
+<p id="50038" class="block-content">
+Notre application PRADO sera composée de trois fichiers, <tt>index.php</tt>, <tt>Home.page</tt> et <tt>Home.php</tt>, qui sont organisés de la façon suivante :
+<img src="<%~directory.gif%>" class="figure"/>
+
+où chaque répertoire est expliqué comme suit. Notez que la structure des répertoire peut être personnalisée. Par example, le dossier <tt>protected</tt> peut se trouver hors du répertoire Web public. Vous saurez comment faire à la suite de ce tutorial.
+</p>
+<ul id="dir-struct" class="block-content">
+<li><tt>assets</tt> - dossier de stockage des fichiers publiés privés. Voir la partie <a href="?page=Advanced.Assets">"assets"</a> pour plus de détails. Le processus du serveur Web doit avoir les droits d'écriture sur ce répertoire.</li>
+<li><tt>protected</tt> - répertoire de base de l'application comprenant les données et fichiers privés. Ce répertoire se doit de ne pas être accessible au public.</li>
+<li><tt>runtime</tt> - répertoire de stockage des fichiers d'éxecution de l'application, comme des données de cache, etc. Le processus du serveur Web doit avoir les droits d'écriture sur ce répertoire.</li>
+<li><tt>pages</tt> - répertoire de base des pages PRADO.</li>
+</ul>
+
+<div class="tip">
+<b class="tip">Astuce :</b>Vous pouvez également utiliser le script <tt>framework/prado-cli.php</tt>
+<a href="?page=GettingStarted.CommandLine">en ligne de commande</a>
+afin de créer la structure de votre projet PRADO. Par exemple, tapez la commande
+<tt>php path/to/prado-cli.php -c helloworld</tt> dans le dossier où vous souhaitez créer votre projet <tt>helloworld</tt>.
+</div>
+
+<p id="50040">
+Les trois fichiers dont nous avons besoin sont expliqués comme suit.
+</p>
+<ul id="file-list" class="block-content">
+<li><tt>index.php</tt> - script d'entrée de notre application PRADO. Ce fichier est requis par toutes les applications PRADO et il s'agit du seul script accessible par les utilisateurs finaux. Le contenu du fichier <tt>index.php</tt> consiste principalement aux trois lignes suivantes :
+<com:TTextHighlighter CssClass="source block-content" id="code_50003">
+require_once('path/to/prado.php'); // include du script prado
+$application=new TApplication; // création de l'instance de l'application PRADO
+$application->run(); // démarrage de l'application
+</com:TTextHighlighter>
+</li>
+<li><tt>Home.page</tt> - template de la page par défaut retournée lorsque les utilisateurs ne spécifient pas de façon explicite la page demandée. Un template désigne la présentation des composants. Dans cet exemple, nous utiliserons deux composants,<tt>TForm</tt> et <tt>TButton</tt>, qui correspondent respectivement aux tags HTML &lt;form&gt; et &lt;input&gt;. Le fichier template contient le contenu suivant :
+<com:TTextHighlighter Language="prado" CssClass="source block-content" id="code_50004">
+<html>
+ <body>
+ &lt;com:TForm&gt;
+ &lt;com:TButton Text="Click me" OnClick="buttonClicked" /&gt;
+ &lt;/com:TForm&gt;
+ </body>
+</html>
+</com:TTextHighlighter>
+</li>
+<li><tt>Home.php</tt> - fichier de classe pour la page <tt>Home</tt> page. Celui-ci contient principalement la méthode répondant à l'évènement <tt>OnClick</tt> du bouton.
+<com:TTextHighlighter CssClass="source block-content" id="code_50005">
+class Home extends TPage
+{
+ public function buttonClicked($sender,$param)
+ {
+ // $sender se rapporte au composant bouton
+ $sender->Text="Hello World!";
+ }
+}
+</com:TTextHighlighter>
+</li>
+</ul>
+<div id="hello-end" class="block-content">
+<p id="50041">
+L'application is maintenant prête et est accesible à l'adresse
+The application is now ready and can be accessed via: <tt>http://Web-server-address/helloworld/index.php</tt>, en supposant que <tt>helloworld</tt> soit directement sous la racine de votre serveur. Essayez de modifier le <tt>TButton</tt> de la page <tt>Home.page</tt> en <tt>TLinkButton</tt> et voyez ce qui se produit.
+</p>
+<p id="50042">
+Le code source complet de cette démonstration peut être téléchargé dans la release de PRADO. Vous pouvez également essayer <a href="http://www.pradosoft.com/demos/helloworld/">la démonstration en ligne</a>.
+</p>
+</div>
+
+<div class="last-modified">$Id: HelloWorld.page 1712 2007-02-18 18:55:32Z mickymax $</div></com:TContent> \ No newline at end of file
diff --git a/demos/quickstart/protected/pages/GettingStarted/fr/Upgrading.page b/demos/quickstart/protected/pages/GettingStarted/fr/Upgrading.page
new file mode 100644
index 00000000..1a4e5690
--- /dev/null
+++ b/demos/quickstart/protected/pages/GettingStarted/fr/Upgrading.page
@@ -0,0 +1,63 @@
+<com:TContent ID="body" >
+
+<h1 id="501">Mise à jour à partir des versions v2.x et v1.x</h1>
+
+<div id="from-2-or-1" class="block-content">
+<p id="40023">
+PRADO v3.0 n'est pas rétro-compatible avec les versions précédents de PRADO.
+</p>
+<p id="40024">
+La bonne nouvelle est que les propriétés et que les évènements de la plupart des contrôles restent identiques ainsi que la syntaxe des templates qui reste largement inchangée. Par conséquent, les connaissances des développeurs des anciennes versions restent applicables dans la v3.0.
+</p>
+<p id="40025">
+Nous résumons ci-dessous les changements les plus significatifs de la v3.0 afin d'aider les développeurs à migrer leurs applications v2.x et v1.x plus facilement, si besoin est.
+</p>
+</div>
+
+<h2 id="502">Définition des composants</h2>
+<p id="40026" class="block-content">
+La version 3.0 a complètement changé de besoin de fichiers de spécifications des composants. Il se fonde davantage sur des conventions pour définir les propriétés et les événements des composants . En particulié, une propriété est définit par la présence d'une méthode getter et/ou setter, tandis qu'un évènement est définit par l'existance d'une méthode <tt>on</tt>... .Les noms des propriétés et évènements dans la v3.0 sont tous les deux case-insensitive. Par conséquence, les développeurs sont désormais obligés de faire attention aux conversions de type lorsque la propriété d'un composant est définie. Par example, le code suivant est utilisé afin de définir la propriété <tt>Enabled</tt> propriétaire d'un <tt>TControl</tt>, qui est un type <tt>booléen</tt>,
+</p>
+<com:TTextHighlighter Language="php" CssClass="block-content source" ID="code1">
+public function setEnabled($value)
+{
+ $value=TPropertyValue::ensureBoolean($value);
+ $this->setViewState('Enabled',$value,true);
+}
+</com:TTextHighlighter>
+<p id="40027" class="block-content">
+où la fonction <tt>TPropertyValue::ensureBoolean()</tt> est utilisée afin de s'assurer que la variable est bien un booléen. Ceci car lorsque la propriété est configurée dans un template, une chaîne de caractère est passée au setter. Dans les versions précédentes, PRADO connaissait le type de chaque propriété des composants grâce aux fichiers de spécifications et se chargeait de la conversion de type pour vous.
+</p>
+
+<h2 id="503">Contrôleur de l'application</h2>
+<p id="40028" class="block-content">
+Le contrôleur de l'application implémente désormais une architecture modulaire. Les modules peuvent être ajoutés et configurés dans la configuration de l'application. Chaque module assure une fonction particulière et ils peuvent être coordonnés entre eux par <a href="?page=Fundamentals.Applications">le cycle de vie de l'application</a>. Le concept des modules de la version 2.x a été replacé dans la v3.0 par <a href="?page=Configurations.PageConfig">les répertoires des pages</a>. En conséquence, le format de <a href="?page=Configurations.AppConfig">configuration de l'application</a> de la v3.0 est très différent des versions précédentes.
+</p>
+
+<h2 id="504">Pages</h2>
+<p id="40029" class="block-content">
+Les pages dans la version 3.0 sont organisés dans des répertoires qui peuvent être comparés au concept des modules de la v2.x. Les pages sont demandées selon leur structure. Par exemple, une URL <tt>index.php?page=Controls.Samples.Sample1</tt> sera utilisée pour servir une page nommée <tt>Sample1</tt> se trouvant dans le répertoire <tt>[BasePath]/Controls/Samples</tt>, où <tt>[BasePath]</tt> se réfère au répertoire racine des pages. Le nom d'un fichier template d'une page doit avoir comme extension <tt>.page</tt>, principalement pour différencier les templates des pages des templates des contrôles qui se termineront par l'extension <tt>.tpl</tt>.
+</p>
+
+<h2 id="505">Relation des contrôles</h2>
+<p id="40030" class="block-content">
+La version 3.0 redéfinit les relations entre les contrôles. En particulier, la relation parent-enfant se réfère désormais à la relation entre les contrôles et la présentation. Un nouveau nom de relation est introduit afin d'aider la gestion des identifiants des contrôles. Pour plus de détails, voir la section concernant les <a href="?page=Fundamentals.Controls">contrôles</a>.
+</p>
+
+<h2 id="506">Syntaxe des Templates</h2>
+<div id="template-syntax" class="block-content">
+<p id="40031">
+La syntaxe des contrôles dans les templates de la v3.0 est très similaire à celle des versions précédentes avec beaucoup d'améliorations. Un changement important est au sujet des expression dans le databinding. Dans la v3.0, cela est fait de la façon suivante,</p>
+<com:TTextHighlighter Language="prado" CssClass="source block-content" id="code_40002">
+&lt;com:MyComponent PropertyName=&lt;%# PHP expression %&gt; .../&gt;
+</com:TTextHighlighter>
+<p id="40032">
+Les expressions et les tags d'états ont aussi changé. Pour plus de détails, voir la section concernant la <a href="?page=Configurations.Templates1">définition des templates</a>.
+</p>
+</div>
+<h2 id="507">Syntaxe des Thèmes</h2>
+<p id="40033" class="block-content">
+Les thèmes dans la v3.0 sont définis comme les contrôles des templates avec quelques restrictions.
+</p>
+
+<div class="last-modified">$Id: Upgrading.page 1712 2007-02-18 18:55:32Z mickymax $</div></com:TContent> \ No newline at end of file