Skip to content

Commit

Permalink
Merge pull request cakephp#5053 from cakephp/3.0-fr
Browse files Browse the repository at this point in the history
[fr] Another batch of translations
  • Loading branch information
antograssiot authored Jun 23, 2017
2 parents bed5d7b + 09b01fd commit a621e05
Show file tree
Hide file tree
Showing 16 changed files with 183 additions and 64 deletions.
17 changes: 9 additions & 8 deletions en/console-and-shells/cron-jobs.rst
Original file line number Diff line number Diff line change
Expand Up @@ -26,16 +26,17 @@ Cron Jobs on Shared Hosting
---------------------------

On some shared hostings ``cd /full/path/to/root && bin/cake myshell myparam``
might not work. Instead you can use ``php /full/path/to/root/bin/cake.php
myshell myparam``.
might not work. Instead you can use
``php /full/path/to/root/bin/cake.php myshell myparam``.

.. note::
register_argc_argv has to be turned on by including ``register_argc_argv
= 1`` in your php.ini. If you cannot change register_argc_argv globally,
you can tell the cron job to use your own configuration file (php.ini) by
specifying it with ``-c /full/path/to/root/php.ini``. Example: ``php -c
/full/path/to/root/php.ini /full/path/to/root/bin/cake.php myshell
myparam``

register_argc_argv has to be turned on by including ``register_argc_argv
= 1`` in your php.ini. If you cannot change register_argc_argv globally,
you can tell the cron job to use your own configuration file (php.ini) by
specifying it with ``-c /full/path/to/root/php.ini``. Example: ``php -c
/full/path/to/root/php.ini /full/path/to/root/bin/cake.php myshell
myparam``

.. meta::
:title lang=en: Running Shells as cronjobs
Expand Down
3 changes: 2 additions & 1 deletion en/development/testing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1098,7 +1098,8 @@ helper methods for interacting with encrypted cookies in your test cases::

$this->assertCookieEncrypted('An updated value', 'my_cookie');

.. versionadded: 3.1.7
.. versionadded:: 3.1.7

``assertCookieEncrypted`` and ``cookieEncrypted`` were added in 3.1.7.

Testing Flash Messages
Expand Down
2 changes: 1 addition & 1 deletion en/orm/validation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -410,7 +410,7 @@ to exist as ``NULL`` is not equal to itself. While, allowing multiple null
values is the default behavior of CakePHP, you can include null values in your
unique checks using ``allowMultipleNulls``::

// Only only null value can exist in `parent_id` and `site_id`
// Only one null value can exist in `parent_id` and `site_id`
$rules->add($rules->existsIn(
['parent_id', 'site_id'],
'ParentNodes',
Expand Down
16 changes: 16 additions & 0 deletions fr/console-and-shells/cron-jobs.rst
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,22 @@ Vous pouvez avoir plus d'infos ici: http://fr.wikipedia.org/wiki/Cron
Utilisez ``-q`` (or `--quiet`) pour ne pas afficher de sortie pour les
cronjobs.

Tâches Cron sur des serveurs mutualisés
---------------------------------------

Sur certains serveurs mutualisés ``cd /full/path/to/root && bin/cake myshell myparam``
pourrait ne pas fonctionner. Vous pouvez à la place utiliser
``php /full/path/to/root/bin/cake.php myshell myparam``.

.. note::

register_argc_argv a besoin d'être activé en incluant
``register_argc_argv = 1`` dans votre php.ini. Si vous ne pouvez pas
changer register_argc_argv de manière globale, vous pouvez préciser à la
tâche cron d'utiliser votre propre php.ini en le spécifiant via
``-c /full/path/to/root/php.ini``. Exemple :
``php -c /full/path/to/root/php.ini /full/path/to/root/bin/cake.php myshell myparam``.

.. meta::
:title lang=fr: Lancer des Shells en tant que cronjobs
:keywords lang=fr: tâche cron,cronjob,crontab
2 changes: 1 addition & 1 deletion fr/controllers.rst
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ manuellement. Au lieu de ça, une fois qu'une action du controller est terminée
CakePHP va gérer le rendu et la livraison de la Vue.

Si pour certaines raisons, vous voulez éviter le comportement par défaut, vous
pouvez retourner un objet de :php:class:`Cake\\Network\\Response` de l'action
pouvez retourner un objet de :php:class:`Cake\\Http\\Response` de l'action
avec la response complètement créée.

Afin que vous utilisiez efficacement le controller dans votre propre
Expand Down
2 changes: 1 addition & 1 deletion fr/controllers/components/csrf.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ deux valeurs ne correspondent pas, le component lancera une
.. note::
Vous devez toujours vérifier les méthodes HTTP utilisées avant d'exécuter
d'autre code. Vous devez :ref:`vérifier la méthode HTTP <check-the-request>`
ou utiliser :php:meth:`Cake\\Network\\Request::allowMethod()` pour vous
ou utiliser :php:meth:`Cake\\Http\\ServerRequest::allowMethod()` pour vous
assurer que la bonne méthode HTTP est utilisée.

.. versionadded:: 3.1
Expand Down
2 changes: 1 addition & 1 deletion fr/controllers/components/security.rst
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ avant ces components dans la méthode ``initialize()``.

Vous devez toujours vérifier les méthodes HTTP utilisées avant d'exécuter
d'autre code. Vous devez :ref:`vérifier la méthode HTTP <check-the-request>`
ou utiliser :php:meth:`Cake\\Network\\Request::allowMethod()` pour vous
ou utiliser :php:meth:`Cake\\Http\\ServerRequest::allowMethod()` pour vous
assurer que la bonne méthode HTTP est utilisée.

Gestion des callbacks Blackhole
Expand Down
21 changes: 8 additions & 13 deletions fr/core-libraries/email.rst
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ sont utilisées:
``Email::theme()``.
- ``'layout'``: Si vous utilisez un contenu rendu, définissez le layout à
rendre. Si vous voulez rendre un template sans layout, définissez ce champ
à null. Regardez ``Email::layout()``.
à null. Regardez ``Email::template()``.
- ``'viewVars'``: Si vous utilisez un contenu rendu, définissez le tableau avec
les variables devant être rendus dans la vue. Regardez
``Email::viewVars()``.
Expand Down Expand Up @@ -272,8 +272,7 @@ templates normales::

$email = new Email();
$email
->template('welcome')
->layout('fancy')
->template('welcome', 'fancy')
->emailFormat('html')
->to('[email protected]')
->from('[email protected]')
Expand All @@ -285,8 +284,7 @@ aussi envoyer des messages email templaté multipart::

$email = new Email();
$email
->template('welcome')
->layout('fancy')
->template('welcome', 'fancy')
->emailFormat('both')
->to('[email protected]')
->from('[email protected]')
Expand Down Expand Up @@ -325,8 +323,7 @@ Si vous voulez envoyer un email en utilisant templates dans un plugin, vous
pouvez utiliser la :term:`syntaxe de plugin` familière pour le faire::

$email = new Email();
$email->template('Blog.new_comment');
$email->layout('Blog.auto_message');
$email->template('Blog.new_comment', 'Blog.auto_message');

Ce qui est au-dessus utiliserait les templates à partir d'un plugin de Blog par
exemple.
Expand All @@ -336,8 +333,7 @@ les plugins. Vous pouvez faire ceci en utilisant les themes en disant à Email
d'utiliser le bon theme en utilisant la méthode ``Email::theme()``::

$email = new Email();
$email->template('Blog.new_comment');
$email->layout('Blog.auto_message');
$email->template('Blog.new_comment', 'Blog.auto_message');
$email->theme('TestTheme');

Ceci vous permet de remplacer le template `new_comment` dans votre theme sans
Expand All @@ -347,8 +343,8 @@ chemin suivant:

.. deprecated:: 3.4.0
Utilisez ``setTemplate()`` à la place de ``template()``. Utilisez
``setLayout()`` à la place de ``layout()``. Utilisez ``setTheme()`` à la
place de ``theme()``.
``setLayout()`` à la place de l'argument layout de ``template().
Utilisez ``setTheme()`` à la place de ``theme()``.


Envoyer les pièces jointes
Expand Down Expand Up @@ -556,8 +552,7 @@ aux utilisateurs. Pour créer votre ``UserMailer``, créez un fichier
$this
->to($user->email)
->subject(sprintf('Welcome %s', $user->name))
->template('welcome_mail') // Par défaut le template avec le même nom que le nom de la méthode est utilisé.
->layout('custom');
->template('welcome_mail', 'custom'); // Par défaut le template avec le même nom que le nom de la méthode est utilisé.
}

public function resetPassword($user)
Expand Down
6 changes: 3 additions & 3 deletions fr/core-libraries/httpclient.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Faire des Requêtes
Faire des requêtes est simple et direct. Faire une requête GET ressemble à
ceci::

use Cake\Network\Http\Client;
use Cake\Http\Client;

$http = new Client();

Expand Down Expand Up @@ -93,10 +93,10 @@ Construire des Corps de Requête Multipart à la Main

Il peut arriver que vous souhaitiez construire un corps de requête d'une
façon très spécifique. Dans ces situations, vous pouvez utiliser
``Cake\Network\Http\FormData`` pour fabriquer la requête HTTP multipart
``Cake\Http\Client\FormData`` pour fabriquer la requête HTTP multipart
spécifique que vous souhaitez::

use Cake\Network\Http\FormData;
use Cake\Http\Client\FormData;

$data = new FormData();

Expand Down
6 changes: 3 additions & 3 deletions fr/development/dispatch-filters.rst
Original file line number Diff line number Diff line change
Expand Up @@ -151,9 +151,9 @@ filtres de dispatcher suivent quelques conventions:
sous-classes qui sont ``beforeDispatch()`` et ``afterDispatch()``. Ces méthodes
sont exécutées respectivement avant et après l'exécution de tout controller.
les deux méthodes reçoivent un objet :php:class:`Cake\\Event\\Event` contenant
les objets ``request`` et ``response``
(instances de :php:class:`Cake\\Network\\Request` et
:php:class:`Cake\\Network\\Response`) dans la propriété ``data``.
les objets ``ServerRequest`` et ``Response``
(instances de :php:class:`Cake\\Http\\ServerRequest` et
:php:class:`Cake\\Http\\Response`) dans la propriété ``data``.

Alors que notre filtre était relativement simple, il y a quelques autres choses
intéressantes que nous pouvons réaliser dans les méthodes de filtre. En
Expand Down
132 changes: 112 additions & 20 deletions fr/development/testing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1102,41 +1102,133 @@ bonnes variables d'environnement::
Les méthodes ``enableCsrfToken()`` et ``enableSecurityToken()`` ont été
ajoutées dans la version 3.1.2.

Integration Testing PSR-7 Middleware
------------------------------------
Test d'intégration sur les middlewares PSR-7
--------------------------------------------

Integration testing can also be used to test your entire PSR-7 application and
:doc:`/controllers/middleware`. By default ``IntegrationTestCase`` will
auto-detect the presence of an ``App\Application`` class and automatically
enable integration testing of your Application. You can toggle this behavior
with the ``useHttpServer()`` method::
Les tests d'intégration peuvent aussi être utilisés pour tester entièrement vos
applications PSR-7 et les :doc:`/controllers/middleware`. Par défaut,
``IntegrationTestCase`` détectera automatiquement la présence d'une classe
``App\Application`` et activera automatiquement les tests d'intégration sur
votre Application. Vous pouvez activer / désactiver ce comportement avec la
méthode ``useHttpServer()``::

public function setUp()
{
// Enable PSR-7 integration testing.
// Active les tests d'intégration PSR-7
$this->useHttpServer(true);

// Disable PSR-7 integration testing.
// Désactive les tests d'intégration PSR-7
$this->useHttpServer(false);
}

You can customize the application class name used, and the constructor
arguments, by using the ``configApplication()`` method::
Vous pouvez personnaliser le nom de la classe Application utilisé ainsi que les
arguments du contructeur en utilisant la méthode ``configApplication()``::

public function setUp()
{
$this->configApplication('App\App', [CONFIG]);
}

After enabling the PSR-7 mode, and possibly configuring your application class,
you can use the remaining ``IntegrationTestCase`` features as normal.
Après avoir activé le mode PSR-7 (et avoir peut-être configuré la classe
d'Application), vous pouvez utiliser le reste des fonctionnalités de
``IntegrationTestCase`` normalement.

You should also take care to try and use :ref:`application-bootstrap` to load
any plugins containing events/routes. Doing so will ensure that your
events/routes are connected for each test case.
Vous devriez également faire en sorte d'utiliser :ref:`application-bootstrap`
pour charger les plugins qui contiennent des événements et des routes. De cette
manière, vous vous assurez que les événements et les routes seront connectés pour
chacun de vos "test case".

.. versionadded:: 3.3.0
PSR-7 Middleware and the ``useHttpServer()`` method were added in 3.3.0.
Les Middleware PSR-7 et la méthode ``useHttpServer()`` ont été ajoutée avec 3.3.0.

Tester avec des cookies chiffrés
--------------------------------

Si vous utilisez le :php:class:`Cake\\Controller\\Component\\CookieComponent`
dans vos controllers, vos cookies sont probablement chiffrés. Depuis 3.1.7,
CakePHP met à votre disposition des méthodes pour intéragir avec les cookies
chiffrés dans vos "test cases"::

// Définit un cookie en utilisant AES et la clé par défaut.
$this->cookieEncrypted('my_cookie', 'Some secret values');

// Partons du principe que cette requête modifie le cookie.
$this->get('/bookmarks/index');

$this->assertCookieEncrypted('An updated value', 'my_cookie');

.. versionadded:: 3.1.7

``assertCookieEncrypted`` et ``cookieEncrypted`` ont été ajoutées dans 3.1.7.

Tester les Messages Flash
-------------------------

Si vous souhaitez faire une assertion sur la présence de messages Flash en
session et pas sur le rendu du HTML, vous pouvez utiliser ``enableRetainFlashMessages()``
dans vos tests pour que les messages Flash soient conservés dans la session
pour que vous puissez écrire vos assertions::

$this->enableRetainFlashMessages();
$this->get('/bookmarks/delete/9999');

$this->assertSession('That bookmark does not exist', 'Flash.flash.0.message');

.. versionadded:: 3.4.7

``enableRetainFlashMessages()`` a été ajoutée dans 3.4.7

Tester un controller retournant du JSON
---------------------------------------

JSON est un format commun lors de la conception de web service. Tester les
endpoints de votre web service est très simple avec CakePHP. Commençons avec
un exemple simple de controller qui renvoie du JSON::

class MarkersController extends AppController
{
public function initialize()
{
parent::initialize();
$this->loadComponent('RequestHandler');
}

public function view($id)
{
$marker = $this->Markers->get($id);
$this->set([
'_serialize' => ['marker'],
'marker' => $marker,
]);
}
}

Créons maintenant le fichier **tests/TestCase/Controller/MarkersControllerTest.php**
et assurons-nous que le web service répond correctement::

class MarkersControllerTest extends IntegrationTestCase
{

public function testGet()
{
$this->configRequest([
'headers' => ['Accept' => 'application/json']
]);
$result = $this->get('/markers/view/1.json');

// Vérification que la réponse était bien une 200
$this->assertResponseOk();

$expected = [
['id' => 1, 'lng' => 66, 'lat' => 45],
];
$expected = json_encode($expected, JSON_PRETTY_PRINT);
$this->assertEquals($expected, $this->_response->body());
}
}

Nous utilisons l'option ``JSON_PRETTY_PRINT`` car la JsonView intégrée à CakePHP
utilise cette option quand le mode ``debug`` est activé.

Méthodes d'Assertion
--------------------
Expand Down Expand Up @@ -1406,8 +1498,8 @@ dans notre component. Nous créons le fichier
use Cake\Controller\Controller;
use Cake\Controller\ComponentRegistry;
use Cake\Event\Event;
use Cake\Network\Request;
use Cake\Network\Response;
use Cake\Http\ServerRequest;
use Cake\Http\Response;
use Cake\TestSuite\TestCase;

class PagematronComponentTest extends TestCase
Expand All @@ -1420,7 +1512,7 @@ dans notre component. Nous créons le fichier
{
parent::setUp();
// Configuration de notre component et de notre faux controller de test.
$request = new Request();
$request = new ServerRequest();
$response = new Response();
$this->controller = $this->getMockBuilder('Cake\Controller\Controller')
->setConstructorArgs([$request, $response])
Expand Down
4 changes: 2 additions & 2 deletions fr/orm/database-basics.rst
Original file line number Diff line number Diff line change
Expand Up @@ -469,12 +469,12 @@ Vous pouvez utiliser les types personnalisés créés en faisant la correspondan
des types dans la :ref:`méthode _initializeSchema() <saving-complex-types>` de
votre Table::

use Cake\Database\Schema\Table as Schema;
use Cake\Database\Schema\TableSchema;

class WidgetsTable extends Table
{

protected function _initializeSchema(Schema $schema)
protected function _initializeSchema(TableSchema $schema)
{

$schema->columnType('widget_prefs', 'json');
Expand Down
3 changes: 1 addition & 2 deletions fr/orm/entities.rst
Original file line number Diff line number Diff line change
Expand Up @@ -166,8 +166,7 @@ get() et set(). Par exemple::

protected function _setTitle($title)
{
$this->set('slug', Text::slug($title));
return $title;
return Text::slug($title);
}

}
Expand Down
Loading

0 comments on commit a621e05

Please sign in to comment.