Permalink
Browse files

updated frz version

  • Loading branch information...
1 parent 2d5770f commit 95774e61ab784f3f64c54636f07df7aa59a5081f @peponi committed Oct 20, 2013
Showing with 105 additions and 42 deletions.
  1. +1 −1 index_de_2.html
  2. +104 −41 index_fr.html
View
@@ -535,7 +535,7 @@
<span class="g">< /</span><span class="c1">div</span>>
<span class="g">< /</span><span class="c1">div</span>>
</pre>
- <p>Und fertig. Jetzt k&ouml;nnen wir Restaurants eingeben und geordnet wieder ausgeben ohne den Browser zu verlassen.</p>
+ <p>Und fertig ist der Lack. Jetzt k&ouml;nnen wir Restaurants eingeben und geordnet wieder ausgeben ohne den Browser zu verlassen.</p>
</section>
</div>
View
@@ -62,7 +62,7 @@
</div>
<section id="download">
- <h1>Download von <span class="Symfony2">Symfony 2</span></h1>
+ <h1>Téléchargement de <span class="Symfony2">Symfony 2</span></h1>
<p>Pour commencer télécharge la version standarde avec tous les vendors et décompacte-les.</p>
<a href="http://symfony.com/download">Download ></a>
@@ -71,13 +71,12 @@
<dl class="accordion">
<dt class="virtualbox"><i class="icon-info-sign"></i> VirtualBox Image</dt>
<dd class="virtualbox">
- <p><a href="https://de.wikipedia.org/wiki/Virtualbox">VirtualBox</a> est vite et aisément <a href="http://VirtualBoxImages.com/GettingStarted">à installer</a>. L'avantage est que je ne dois pas chaque fois répéter les points 1 à 4 si je veux commencer avec un nouveau projet Symfony, là je peux recommencer directement. En outre j'ai une couverture de rollback additionnelle à celle de Git.</p>
- <p>Télécharge le fichier d'installation pour<a href="https://www.virtualbox.org/wiki/Downloads">OS X et Windows </a>et installe-la, ou pour ubuntu simplement:</p>
+ <p><a href="https://de.wikipedia.org/wiki/Virtualbox">VirtualBox</a> est vite et aisément <a href="http://VirtualBoxImages.com/GettingStarted">installé</a>. L'avantage est que je ne dois pas chaque fois répéter les points 1 à 4 si je veux commencer avec un nouveau projet Symfony, là je peux recommencer directement. En outre j'ai une couverture de rollback additionnelle à celle de Git.</p>
+ <p>Télécharge le fichier d'installation pour <a href="https://www.virtualbox.org/wiki/Downloads">OS X et Windows </a>et installe-la, ou pour ubuntu simplement:</p>
<code>sudo apt-get install virtualbox-4.1</code>
<p>Ensuite télécharge l'Image du VirtuelBox directement ou via Torrent. Double-clic dessus et la VM va s'installer soi-même.</p>
<a href="https://thepiratebay.se/torrent/7868410">Download Torrent ></a><br>
- <a href="http://ul.to/k71r2753">Download Image ></a>
<h5>Login</h5>
<ul class="nonstyletype">
@@ -102,19 +101,51 @@
<ul class="nonstyletype">
<li>SSH - ssh://ubuntu@IPADRESS/var/www/Symfony</li>
<li>FTP - ftp://ubuntu@IPADRESS/var/www/Symfony</li>
- <li>SMB - smb://ubuntu@IPADRESS</li>
+ <li>SMB - smb://ubuntu@IPADRESS</li>
<li>Git - git add remote virtualbox ssh://ubuntu@IPADRESS/var/www/Symfony</li>
</ul>
<dl class="accordion">
<dt class="connection"><i class="icon-info-sign"></i> Comment puis-je me connecter avec le serveur?</dt>
<dd class="connection">
<p>Sous ubuntu siplement avec <b>Ctrl+l</b> taper l'adresse ci-dessus</p>
- <img class="picture maxwidth600 border" src="img/how_to_add_the_box_in_Ubuntu.png" >
+ <div class="picture maxwidth600 pic2 border"></div>
<p>Sous Mac OS X avec <b>Apfel+k</b> taper l'adresse ci-dessus</p>
- <img class="picture" src="img/how_to_add_the_box_in_OSX1.png">
- <img class="picture" src="img/how_to_add_the_box_in_OSX2.png">
- <p>Si tu utilise Aptana Studio 3 ou Eclipse tu peux te servir de sa fonction FTP publishing. Juste un clic droit sur ton projet puis <b>Publish - Run Web Deployment Wizard ... - FTP/SFTP/FTPS</b>.</p>
- <img class="picture border" src="img/add_a_FTP_connection_in Aptana.png">
+ <div class="picture maxwidth600 pic3"></div>
+ <div class="picture maxwidth600 pic4"></div>
+ <p>Si tu utilise <b>Aptana Studio 3</b> ou <b>Eclipse</b> tu peux ajouter le dossier symfony directement par le Samba Share comme projet. </p>
+ <p>clic <b>File - import...</b></p>
+ <div class="picture maxwidth600 pic5 border"></div>
+ <ul class="nonstyletype">Dans <li>Ubuntu<b>/home/Username/.gvfs/</b></li>le Samba Share se trouve sous le lien. Dans <li>Mac OS X sous - <b>/Volumes/Symfony/</b></li>
+ </ul>
+ <br>
+ <p>Ou utiliser la fonction FTP publishing. Just un clic droit sur ton projet (vide) puis <b>Publish - Run Web Deployment Wizard ... - FTP/SFTP/FTPS</b>.</p>
+ <p></p>
+ <div class="picture maxwidth600 border pic6"></div>
+ </dd>
+ </dl>
+ <dl class="accordion">
+ <dt class="mysql blue"><i class="icon-info-sign"></i> Comment puis-je atteindre la base de données MySQL de dehors?</dt>
+ <dd class="mysql">
+ <p>Si tu veux te connecter au serveur avec MySQL Workbench ou un autre Tool, tu dois d'abord <a href="https://support.nbiserv.de/index.php?/Knowledgebase/Article/View/73/0/wie-kann-ich-meinen-mysql-server-von-extern-erreichbar-machen"> le configurer</a>. <br>Pour commencer connecte toi par SSH sur le serveur:</p>
+ <code>ssh ubuntu@192.168.xx.xx</code>
+ <p>Puis appelle le MySQL fichier de configuration </p>
+ <code>sudo vim /etc/mysql/my.cnf</code>
+ <p>et commente les deux lignes suivantes.</p>
+ <pre class="highlight">
+[...]
+#bind-address = 127.0.0.1
+#skip-networking
+[...]
+</pre>
+ <p>Maintenant tu dois encore déverrouiller un utilisateur MySQL <a href="http://svenkalinowski.de/linux-wiki/MySql#head-f4b336b581a6f8fb2acecaae6a983fc27b9f2df3"> d'extérieure</a>.</p>
+ <pre class="highlight">
+mysql -u root -p mysql
+mysql> grant all on symfony.* to 'root' identified by 'mypassword';
+mysql> flush privileges;
+quit;
+</pre> <p>et redémarrer.</p>
+ <code>sudo service mysql restart</code>
+ <p>Fini.</p>
</dd>
</dl>
</dd>
@@ -133,13 +164,27 @@
</p>
<br>
<p>La méthode la plus simple serait de ainsi configurer <a href="http://wiki.ubuntuusers.de/Apache#Benutzerspezifisch">Apache </a> que c'est possible d' avoir accès au répertoire domestique pour qu'on puisse mettre le code dans <b>ton répertoire domestique</b> sous <b>tes droits d'usager</b>.</p>
- <p>Qui aimerait utiliser Symfony dans <b>/var/www</b> doit s'occuper des droits d'accès <a href="http://symfony.com/doc/current/book/installation.html#configuration-and-setup"> </a>. </p>
+ <p>Qui aimerait utiliser Symfony dans <b>/var/www</b> doit s'occuper des droits d'accès <a href="http://symfony.com/doc/current/book/installation.html#configuration-and-setup"> Nous ajoutons <b>le nom d'usager</b> du groupe <b>www-data</b> et nous nous nommons titulaire du dossier symfony, pour que nous ayons droit d'écriture dans ce répertoire avec notre environnement de développement </a>. </p>
<pre class="highlight">
cd /var/www/Symfony
sudo usermod -aG Username www-data
sudo chown -R Username:www-data *
-sudo chmod -R 775 app/cache
-sudo chmod -R 775 app/logs</pre>
+
+sudo apt-get install acl
+sudo setfacl -R -m u:www-data:rwX -m u:`whoami`:rwX app/cache app/logs
+</pre>
+ <p>Si cela est fait tu peux contrôler
+ <code style="padding:4px">php app/check.php</code> oder unter <a href="http://127.0.0.1/Symfony/web/config.php">http://127.0.0.1/Symfony/web/config.php</a> si toutes les exigences pour le fonctionnement de Symfony sont accomplies.</p>
+ <b>Qui aimerait exécuter Symfony sur un service Hosting,</b>
+ <ul>
+ <li>
+ <p style="line-height: 1.7;">dois ajouter dans <b>Symfony/web/config.php</b> et <b>Symfony/web/app_dev.php</b> sa <a href="http://www.whatsmyip.org/">propre IP adresse externe </a> avec l'instruction <code style="padding:4px">if (!in_array(@$_SERVER['REMOTE_ADDR'], array( ...</code>.</p>
+ </li>
+ <li>
+ <p>éventuellement nous ne pouvons pas écrire dans la <b>php.ini</b> pour déclencher <b>short_open_tag</b>. Dans ce cas il faut aménager un <b>.htacces</b> fichier dans le dossier Symfony dans laquelle nous écrivons <b>php_value short_open_tag off</b>.</p>
+ <code>echo "php_value short_open_tag off" > .htaccess </code>
+ </li>
+ </ul>
</section>
<section id="osx">
<h2>Installation sous OS X</h2>
@@ -157,8 +202,7 @@
<li>MySQl = 3306</li>
<li>PostgreSQL = 5432</li>
</ul>
- <p>Si les droit d'accès dans <b>Symfony/app/config/parameters.ini</b> sont corrects, les relations de la base de données seront automatiquement actualisés de la web GUI.</p>
-
+ <p>Si les droit d'accès dans <b>Symfony/app/config/parameters.ini</b> sont corrects, les relations de la base de données seront automatiquement actualisés de la web GUI.</p>
</section>
<section id="git">
<h1>Installer Git </h1>
@@ -212,7 +256,7 @@
<p>L'espace de nom pourrait être par exemple le nom d' entreprise pour laquelle le projet Symfony est effectué, comme <b>Encom</b> ou <b>Cyberdyn</b>.</p>
<p>Le nom du bundle devrait décrire l' activité exécuté par le bundle, comme <b>Encom/TwitterApiConnectorBundle</b> ou <b>Cyberdyn/UserManagementBundle</b>.</p>
<br>
- <p>Laissez-nous réaliser encore une fois un programme pour évaluer des restaurants.</p>
+ <p>Laisse-nous réaliser encore une fois un programme pour évaluer des restaurants.</p>
<code>Symfony$ php app/console generate:bundle --namespace=YourCompany/RestaurantBundle</code><br>
<br>
<p>Dans mon exemple nous partons d'une structure de base de données suivante: </p>
@@ -222,7 +266,7 @@
<li>- description</li>
</ul>
<span class="db_list"><br>1 --- m</span>
- <ul class="db_list border"><b>Tabelle: Rating</b>
+ <ul class="db_list border"><b>Tableau: Rating</b>
<li>- restaurant_id</li>
<li>- date</li>
<li>- prix</li>
@@ -232,31 +276,32 @@
<br>
<br>
- <p><a href="http://www.doctrine-project.org/projects/orm.html">Doctrine</a> peut exécuter <a href="http://fr.wikipedia.org/wiki/Mapping_objet-relationnel"> ORM</a> pour nous:</p>
- <pre class="highlight">
-<code>Symfony$ php app/console doctrine:generate:entity --entity=<span class="s1">"YourCompanyRestaurantBundle:Restaurant"</span> --fields=<span class="s1">"name:string(255) startuptime:time location:string(255) description:text"</span></code><br>
-<code>Symfony$ php app/console doctrine:generate:entity --entity=<span class="s1">"YourCompanyRestaurantBundle:Rating"</span> --fields=<span class="s1">"day:date rating:integer price:float delivertime:time"</span></code>
+ <p id="entity">Il ne faut pas écrire manuel les classes, qui doivent reproduire les tableaux. <br><ahref="http://www.doctrine-project.org/projects/orm.html">Doctrine</a> peut exécuter le tout <a href="http://fr.wikipedia.org/wiki/Mapping_objet-relationnel"> ORM</a> pour nous avec un onliner:</p>
+ <pre class="highlight" id="trip_entity">
+Symfony$ php app/console doctrine:generate:entity --entity=<span class="s1">"YourCompanyRestaurantBundle:Restaurant"</span> --fields=<span class="s1">"name:string(255) startuptime:time location:string(255) description:text"</span><br>
+Symfony$ php app/console doctrine:generate:entity --entity=<span class="s1">"YourCompanyRestaurantBundle:Rating"</span> --fields=<span class="s1">"day:date rating:integer price:float delivertime:time"</span>
</pre>
<p>Doctrine nous a exécuté toutes les entités nécessaires dans <b>Symfony/src/YourCompany/RestaurantBundle/Entity</b> Répertoire exécuté.</p>
<p>Pour des projets qui devraient posséder plusieurs interfaces (iPhone,Web,API,etc.), il s'impose de ranger les documents d'accès de base de données dans un propre bundle, de sorte qu'il ne soit pas nécessaire de devoir toujours le redéfinir dans iPhone,Web et API.</p>
-
- <p>Il est aussi possible de générer l'ORM d'une <a href="http://symfony.com/doc/current/cookbook/doctrine/reverse_engineering.html"> base de données existant</a>.</p>
+ <p><i class="icon-info-sign"></i> C'est aussi possible de reproduire le ORM d'une <a href="http://symfony.com/doc/current/cookbook/doctrine/reverse_engineering.html"> base de données existant</a>.</p>
</section>
<section id="relations">
<h2>Installer des relations </h2>
<p>Ensuite nous disons à Symfony comment relier les différents entités par définir les connexions etrangers dans l'entité sois-même. </p>
<p>Cette notation se nomme Symfony <a href="http://fr.wikipedia.org/wiki/Annotation_(informatique)">Annotations</a>.
- Nous écrivons de la propriété, commenté en détail, quelle exception celle-là devrait avoir. Dans notre cas c'est une relation <b>de 1 à m</b> .
+ Nous écrivons de la propriété, commentée en détail, quelle exception celle-là devrait avoir. Dans notre cas c'est une relation <b>de 1 à m</b> .
Chaque restaurant peut avoir plusieurs évaluations, toute évaluation peut appartenir qu' à un seul restaurant.
Alors <a href="http://nubyonrails.com/tools/pluralize">nous réproduisons</a> le nom de la propertys -> <b>$ratings</b>.</p>
<p>Réalise les relations dans ta nouvelle classe d'entité par le modèle suivant: </p>
- <pre class="highlight">
-<span class="sd">// Symfony/src/YourCompanyBundle/Restaruant/Entity/<b>Restaurant</b>.php</span>
+ <pre class="highlight" id="trip_relation">
+<span class="sd">// Symfony/src/YourCompany/RestaurantBundle/Restaruant/Entity/<b>Restaurant</b>.php</span>
-<span class="k">use</span> Doctrine\Common\Collections\ArrayCollection;
+<span class="k">use</span> Doctrine\Common\Collections\ArrayCollection
<span class="k">class</span> Restaurant
{
+ .....
+
<span class="sd">/**
* @ORM\<b>OneToMany</b>(targetEntity="Rating", mappedBy="restaurant")
*/ </span>
@@ -268,16 +313,15 @@
}
}
</pre>
- <p>Et la même chose vice versa pour l' entité d'évaluation dépendant du restaurant:</p>
+ <p>Et vice versa en ce qui concerne la Rating Entity dépendant du Restaurant:</p>
<pre class="highlight">
-<span class="sd">
-// Symfony/src/YourCompanyBundleName/Restaruant/Entity/<b>Rating</b>.php
+<span class="sd">// Symfony/src/YourCompany/RestaurantBundle/Restaruant/Entity/<b>Rating</b>.php
/**
* @ORM\<b>ManyToOne</b>(targetEntity="Restaurant", inversedBy="ratings")
* @ORM\JoinColumn(name="restaurant_id", referencedColumnName="id")
*/
-</span>
+ </span>
<span class="k">protected</span> $restaurant;
</pre>
<p>Après avoir configuré les relations, tu dois réaliser les méthodes Getter- et Setter pour toutes les attribut de propertys.
@@ -292,27 +336,45 @@
<h1>Installer des trames</h1>
<p>Copier toutes les trames (Bootstrap CSS und JQuery Javascript Zeug) dans <b>/Symfony/src/YourCompany/RestaurantBundle/Resources/public</b> et réalise les liens du Sym dans le <b>/web</b> répertoire.</p>
<code>Symfony$ php app/console assets:install --symlink web</code>
- <p>Puis les liens de Sym apparaissent dans <b>Symfony/web/bundles/yourcompanyrestaurant</b> Dossier. Le <b>/web</b> Dossier est le seul à être joignable par le server web.</p>
+ <p>Puis les liens de Sym apparaissent dans le <b>Symfony/web/bundles/yourcompanyrestaurant</b> Dossier. Le <b>/web</b> Dossier est le seul à être joignable par le server web.</p>
<p>Par la suite nous disons à Symfony où il trouve les bundles de Stylesheets et de Javascripts.
<br>Cela tu vas exécuter avec le suivant <a href="http://twig.sensiolabs.org/doc/templates.html">Twig Syntax</a> dans ce fichier <b>Symfony/app/Resources/view/base.html.twig</b></p>
- <pre class="highlight">
+ <pre class="highlight" id="trip_templates">
{% <span class="k">stylesheets</span> <span class="s1">'@YourcompanyRestaurantBundle/Resources/public/stylesheets/*.css'</span> %}
- <link rel="stylesheet" type="text/css" href="{{ asset_url }}">
+ <<span class="c1">link</span> rel=<span class="s1">"stylesheet"</span> type=<span class="s1">"text/css"</span> href=<span class="s1">"{{ asset_url }}"</span >>
{% <span class="k">endstylesheets</span> %}
{% <span class="k">javascripts</span> <span class="s1">'@YourcompanyRestaurantBundle/Resources/public/javascripts/*.js'</span> %}
- <script src="{{ asset_url }}"></script>
+ <<span class="c1">script</span> src=<span class="s1">"{{ asset_url }}"</span><<span class="c1">/script</span>>
{% <span class="k">endjavascripts</span> %}
</pre>
+ <dl class="accordion">
+ <dt class="margintop20 info2 blue">
+ <p><i class="icon-info-sign"></i>
+ Attention! Les fichiers inclus sont insérés par Synfony en ordre alphabétique </p>
+ </dt>
+ <dd class="marginleft20px info2">Cela peut causer des <b>problèmes</b> si des <b>propres</b> Javascript ou CSS <b>fichiers sont utilisés</b>, qui par exemple érasent les classes de Bootstrap CSS, ou appellent les fonctions JQuery. Dans ce cas il faudrait assortir manuellement les Includes de manière qu'ils sont chargé dans l'ordre correct.</dd>
+ </dl>
<p>Et fini.</p>
<code>Symfony$ git commit -a -m "assatics are safe"</code>
- <p>Dans des projets qui ont plusieurs Interfaces il serait raisonnable de réaliser un <b>LayoutBundle</b> qui est was rersponsable pour le Layout.</p>
+ <br>
+ <br>
+
+
+ <p>Les images peuvent êtres intégrés par la fonction <b>asset()</b> de Twig par le schéma suivant.</p>
+ <code class="highlight">
+ <<span class="c1">img</span> src=<span class="s1">"{{ asset('bundles/YourcompanyRestaurant/images/logo.png') }}"</span> />
+ </code>
- <b><i class="icon-info-sign"></i> CSS background-image Bug</b>
- <p>Background-images dans CSS peuvent pas être appelé la notation @Bundlename.
- <br>Provisoirement le chemin relatif fonctionne.</p>
- <code class="highlight"><span class="k">background-image</span>: url(<span class="s1">"../../bundles/yourcompanyrestaurant/img/glyphicons-halflings.png"</span>);</code>
+ <h5 class="margintop20"><i class="icon-info-sign"></i> CSS background-image Bug</h5>
+ <p class="marginleft20px">Background-images dans CSS ne peuvent pas être appelé par la notation @Bundlename.
+ <br>Le chemin relatif fonctionne par commande.</p>
+ <code class="highlight marginleft20px"><span class="k">background-image</span>: url(<span class="s1">"../../bundles/YourcompanyRestaurant/img/logo.png"</span>);</code>
+ <br><br>
+ <p>Dans des projets qui ont plusieurs Interfaces il serait raisonnable de réaliser un <b>LayoutBundle</b> qui est rersponsable pour le Layout.</p>
+ <br>
+ <p><b>Parfait c'est fait, est puis?</b> <a href="index_de_2.html" id="trip_seite_2"> page 2 -></a></p>
</section>
</div>
</div>
@@ -327,7 +389,8 @@
<div class="phonenav navbar-fixed-bottom">
<div class="breath">
<a class="phonebutton" href="https://github.com/peponi/Symfony-for-absolute-beginners">Github</a>
- <span class="phonebutton" id="phonenavigation">Navigation</span>
+ | <a href="index_de_2.html" class="phonebutton"> page 2 -></a>
+ <span class="phonebutton" id="phonenavigation">navigation</span>
</div>
</div>
</body>

0 comments on commit 95774e6

Please sign in to comment.