Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions en/appendices/glossary.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,6 @@ Glossary

.. glossary::


CSRF
Cross Site Request Forgery. Prevents replay attacks, double
submissions and forged requests from other domains.

CDN
Content Delivery Network. A 3rd party vendor you can pay to help
distribute your content to data centers around the world. This helps
Expand All @@ -17,6 +12,10 @@ Glossary
Used in the ORM when referring to the table columns in an database
table.

CSRF
Cross Site Request Forgery. Prevents replay attacks, double
submissions and forged requests from other domains.

DSN
Data Source Name. A connection string format that is formed like a URI.
CakePHP supports DSN's for Cache, Database, Log and Email connections.
Expand Down
4 changes: 2 additions & 2 deletions en/tutorials-and-examples/bookmarks/part-two.rst
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,8 @@ And in **src/Template/Users/login.ctp** add the following::

.. note::

The ``control()`` is available since 3.4. For prior versions you can use
the ``input()`` instead.
The ``control()`` method is available since 3.4. For prior versions you can
use the ``input()`` method instead.

Now that we have a simple login form, we should be able to log in with one of
the users that has a hashed password.
Expand Down
102 changes: 57 additions & 45 deletions fr/appendices/glossary.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,8 @@ Glossaire

.. glossary::

tableau de routing
Un tableau des attributs qui sont passés au :php:meth:`Router::url()`.
Typiquement, il ressemble à cela::

['controller' => 'Posts', 'action' => 'view', 5]

attributs HTML
Un tableau de clé => valeurs qui sont composées dans les attributs
Un tableau de clé => valeurs qui sont composées dans les attributs
HTML. Par exemple::

// Par exemple
Expand All @@ -19,30 +13,55 @@ Glossaire
// générerait
class="ma-classe" _target="blank"

Si une option peut être minimisée ou a le même nom que sa valeur, alors
Si une option peut être minimisée ou a le même nom que sa valeur, alors
``true`` peut être utilisée::

// Par exemple
['checked' => true]

// Générerait
checked="checked"

syntaxe de plugin
La syntaxe de Plugin fait référence au nom de la classe avec un point
en séparation indiquant que les classes sont une partie d'un plugin.
Par ex: ``DebugKit.Toolbar``, le plugin est DebugKit,
et le nom de classe est Toolbar.
CDN
Content Delivery Network. Une librairie tierce que vous pouvez payer
pour vous aider à distribuer votre contenu vers des centres de données
dans le monde entier. Cela aide à rapprocher géographiquement vos
assets static pour les utilisateurs.

champ(s)
Terme générique utilisé à la fois pour décrire des propriétés
d'entity ou des colonnes de base de données ; souvent utilisé avec
tout ce qui est lié au FormHelper.

colonnes
Utilisé dans l'ORM lorsqu'il est question de colonne de tables dans une
base de données.

CSRF
Les Requêtes de site croisées de Contrefaçon. Empêche les attaques de
replay, les soumissions doubles et les requêtes contrefaites provenant
d'autres domaines.

DSN
Nom de Source de Données (Data Source Name). Un format de chaîne de
connexion qui est formé comme un URI. CakePHP supporte les DSN pour
les connections Cache, base de données, Log et Email.

DRY
Ne vous répétez pas vous-même. C'est un principe de développement de
logiciel qui a pour objectif de réduire les répétitions d'information
de tout type. Dans CakePHP, DRY est utilisé pour vous permettre de
coder des choses et de les réutiliser à travers votre application.

notation avec points
La notation avec points définit un chemin de tableau, en séparant les
niveaux imbriqués avec ``.``
La notation avec points (ou *dot notation*) définit un chemin de tableau,
en séparant les niveaux imbriqués avec le caractère ``.``.
Par exemple::

Cache.default.engine

Pointerait vers la valeur suivante::

[
'Cache' => [
'default' => [
Expand All @@ -51,40 +70,33 @@ Glossaire
]
]

CSRF
Les Requêtes de site croisées de Contrefaçon. Empêche les attaques de
replay, les soumissions doubles et les requêtes contrefaites provenant
d'autres domaines.
PaaS
Plate-forme en tant que service (Platform as a Service). Les fournisseurs
de plate-forme en tant que service fournissent des hébergements, des
bases de données et des ressources de caching basés sur le Cloud. Quelques
fournisseurs populaires sont Heroku, EngineYard et PagodaBox

CDN
Content Delivery Network. Une librairie tierce que vous pouvez payer
pour vous aider à distribuer votre contenu vers des centres de données
dans le monde entier. Cela aide à rapprocher géographiquement vos
assets static pour les utilisateurs.
propriétés
Utilisé pour parler de colonnes mappées à des objets ``Entity`` de l'ORM

routes.php
Un fichier dans APP/Config qui contient la configuration de routing.
Ce fichier est inclus avant que chaque requête soit traitée.
Il doit connecter toutes les routes dont votre application a besoin
afin que les requêtes puissent être routées aux controllers + actions
Il doit connecter toutes les routes dont votre application a besoin
afin que les requêtes puissent être routées aux controllers + actions
correctes.

DRY
Ne vous répétez pas vous-même. C'est un principe de développement de
logiciel qui a pour objectif de réduire les répétitions d'information
de tout type. Dans CakePHP, DRY est utilisé pour vous permettre de
coder des choses et de les réutiliser à travers votre application.

PaaS
Plate-forme en tant que service (Platform as a Service). Les fournisseurs
de plate-forme en tant que service fournissent des hébergements, des
bases de données et des ressources de caching basés sur le Cloud. Quelques
fournisseurs populaires sont Heroku, EngineYard et PagodaBox
syntaxe de plugin
La syntaxe de Plugin fait référence au nom de la classe avec un point
en séparation indiquant que les classes sont une partie d'un plugin.
Par ex: ``DebugKit.Toolbar``, le plugin est DebugKit,
et le nom de classe est Toolbar.

DSN
Nom de Source de Données (Data Source Name). Un format de chaîne de
connexion qui est formé comme un URI. CakePHP supporte les DSN pour
les connections Cache, base de données, Log et Email.
tableau de routing
Un tableau des attributs qui sont passés au :php:meth:`Router::url()`.
Typiquement, il ressemble à cela::

['controller' => 'Posts', 'action' => 'view', 5]

.. meta::
:title lang=fr: Glossaire
Expand Down
6 changes: 2 additions & 4 deletions fr/controllers/components.rst
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ via le tableau ``$components``::
'authorize' => ['controller'],
'loginAction' => ['controller' => 'Users', 'action' => 'login']
]);
$this->loadComponent('Cookie', ['expiry' => '1 day']);
$this->loadComponent('Cookie', ['expires' => '1 day']);
}

}
Expand Down Expand Up @@ -135,8 +135,7 @@ Utiliser les Components
Une fois que vous avez inclus quelques components dans votre controller, les
utiliser est très simple. Chaque component que vous utilisez est enregistré
comme propriété dans votre controller. Si vous avez chargé la
:php:class:`Cake\\Controller\\Component\\FlashComponent` et le
:php:class:`Cake\\Controller\\Component\\CookieComponent` dans votre controller,
:php:class:`Cake\\Controller\\Component\\FlashComponent` dans votre controller,
vous pouvez y accéder comme ceci::

class PostsController extends AppController
Expand All @@ -145,7 +144,6 @@ vous pouvez y accéder comme ceci::
{
parent::initialize();
$this->loadComponent('Flash');
$this->loadComponent('Cookie');
}

public function delete()
Expand Down
4 changes: 1 addition & 3 deletions fr/controllers/components/authentication.rst
Original file line number Diff line number Diff line change
Expand Up @@ -250,9 +250,7 @@ connexion pourrait ressembler à cela::
$this->Auth->setUser($user);
return $this->redirect($this->Auth->redirectUrl());
} else {
$this->Flash->error(__("Nom d'utilisateur ou mot de passe incorrect"), [
'key' => 'auth'
]);
$this->Flash->error(__("Nom d'utilisateur ou mot de passe incorrect"));
}
}
}
Expand Down
9 changes: 8 additions & 1 deletion fr/controllers/components/pagination.rst
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,14 @@ Requêtes de Paginating Multiple
===============================

Vous pouvez paginer plusieurs models dans une unique action de controller en
utilisant l'option ``scope``::
utilisant l'option ``scope``, à la fois via la propriété ``$paginate`` d'un
controller et dans l'appel à la méthode ``paginate()``::

// Paginate property
public $paginate = [
'Articles' => ['scope' => 'article'],
'Tags' => ['scope' => 'tag']
];

// Dans une action de controller
$articles = $this->paginate($this->Articles, ['scope' => 'article']);
Expand Down
4 changes: 2 additions & 2 deletions fr/core-libraries/collections.rst
Original file line number Diff line number Diff line change
Expand Up @@ -642,7 +642,7 @@ utiliser pour comparer deux valeurs différentes dans la collection::
Afin de spécifier la direction dans laquelle la collection doit être triée, vous
devez fournir soit ``SORT_ASC`` soit ``SORT_DESC`` en deuxième paramètre pour
trier respectivement par ordre croissant ou décroissant. Par défaut, les
collections sont triées par ordre croissant::
collections sont triées par ordre décroissant::

$collection = new Collection($people);
$sorted = $collection->sortBy('age', SORT_ASC);
Expand Down Expand Up @@ -1118,7 +1118,7 @@ De plus, l'évaluation lazy aide à accélérer certaines operations. Considére
l'exemple suivant::

$collection = new Collection($oneMillionItems);
$collection->map(function ($item) {
$collection = $collection->map(function ($item) {
return $item * 2;
});
$itemsToShow = $collection->take(30);
Expand Down
6 changes: 3 additions & 3 deletions fr/core-libraries/form.rst
Original file line number Diff line number Diff line change
Expand Up @@ -195,9 +195,9 @@ formulaire HTML. FormHelper comprend les objets Form de la même manière que de
entities de l'ORM::

echo $this->Form->create($contact);
echo $this->Form->input('name');
echo $this->Form->input('email');
echo $this->Form->input('body');
echo $this->Form->control('name');
echo $this->Form->control('email');
echo $this->Form->control('body');
echo $this->Form->button('Submit');
echo $this->Form->end();

Expand Down
14 changes: 8 additions & 6 deletions fr/core-libraries/hash.rst
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ Types d'expression
| | valeur de chaîne y compris les valeurs de |
| | chaîne numérique. |
+--------------------------------+--------------------------------------------+
| ``{*}`` | Toutes les valeurs seront *matchées* |
+--------------------------------+--------------------------------------------+
| ``Foo`` | Matche les clés avec exactement la même |
| | valeur. |
+--------------------------------+--------------------------------------------+
Expand Down Expand Up @@ -83,7 +85,7 @@ Les Types d'Attribut Correspondants
.. php:staticmethod:: get(array|\ArrayAccess $data, $path, $default = null)

``get()`` est une version simplifiée de ``extract()``, elle ne supporte
que les expressions de chemin direct. Les chemins avec ``{n}``, ``{s}``
que les expressions de chemin direct. Les chemins avec ``{n}``, ``{s}``, ``{*}``
ou les matchers ne sont pas supportés. Utilisez ``get()`` quand vous
voulez exactement une valeur sortie d'un tableau. Si un chemin correspondant
n'est pas trouvé, la valeur par défaut sera retournée.
Expand Down Expand Up @@ -128,8 +130,8 @@ Les Types d'Attribut Correspondants
]
]

Vous pouvez utiliser les chemins en utilisant ``{n}`` et ``{s}`` pour
insérer des données dans des points multiples::
Vous pouvez utiliser les chemins en utilisant ``{n}``, ``{s}`` et ``{*}``
pour insérer des données dans des points multiples::

$users = Hash::insert($users, '{n}.new', 'value');

Expand Down Expand Up @@ -171,9 +173,9 @@ Les Types d'Attribut Correspondants
]
*/

L'utilisation de ``{n}`` et ``{s}`` vous autorisera à retirer les valeurs
multiples en une fois. Vous pouvez aussi utiliser les matchers d'attribut
avec ``remove()``::
L'utilisation de ``{n}``, ``{s}`` et ``{*}`` vous autorisera à retirer les
valeurs multiples en une fois. Vous pouvez aussi utiliser les matchers
d'attribut avec ``remove()``::

$data = [
0 => ['clear' => true, 'Item' => ['id' => 1, 'title' => 'first']],
Expand Down
25 changes: 20 additions & 5 deletions fr/development/routing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -712,24 +712,39 @@ Routing des Extensions de Fichier

.. php:staticmethod:: extensions(string|array|null $extensions, $merge = true)


Pour manipuler différentes extensions de fichier avec vos routes, vous pouvez
ajouter ce qui suit dans votre fichier de config des routes::
définir vos extensions de manière globale ou dans un *scope*. Définir des
extensions globales peut se faire via la méthode static :php:meth:`Router::extensions()`

Router::extensions(['json', 'xml']);
// ...

Ceci affectera **toutes** les routes qui seront connectées **après** cet appel,
quelque soit leur *scope*.

Pour restreindre les extensions à un *scope* spécifique, vous pouvez les définir
en utilisant la méthode :php:meth:`Cake\\Routing\\RouteBuilder::extensions()`::

Router::scope('/', function ($routes) {
$routes->extensions(['json', 'xml']);
...
// ...
});

Cela activera les extensions de nom pour toutes les routes déclarées **après**
l'appel de cette méthode. Par défaut, les extensions que vous avez déclarées
seront fusionnées avec la liste des extensions existantes.
Cela activera les extensions pour toutes les routes qui seront définies dans ce
scope **après** l'appel à ``extensions()``, tout en incluant les routes inclus
dans les scopes imbriqués. De la même manière que la méthode :php:meth:`Router::extensions()`,
toutes les routes connectées avant cet appel n'hériteront pas de ces extensions.

.. note::

Le réglage des extensions devrait être la première chose que vous devriez
faire dans un scope, car les extensions seront appliquées uniquement aux
routes qui sont définies **après** la déclaration des extensions.

Lorsque vous définissez des routes dans le même scope mais dans deux appels
différents, les extensions ne seront pas héritées d'un appel à l'autre.

En utilisant des extensions, vous dites au router de supprimer toutes les
extensions de fichiers correspondant, puis d'analyser le reste. Si vous
souhaitez créer une URL comme ``/page/title-of-page.html`` vous devriez créer
Expand Down
4 changes: 2 additions & 2 deletions fr/elasticsearch.rst
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,8 @@ Nous devrons aussi créer une vue basique pour nos articles indexés::

// Dans src/Template/Articles/add.ctp
<?= $this->Form->create($article) ?>
<?= $this->Form->input('title') ?>
<?= $this->Form->input('body') ?>
<?= $this->Form->control('title') ?>
<?= $this->Form->control('body') ?>
<?= $this->Form->button('Save') ?>
<?= $this->Form->end() ?>

Expand Down
1 change: 0 additions & 1 deletion fr/intro/conventions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,6 @@ essayer de dérouler
:doc:`le tutoriel du Blog CakePHP </tutorials-and-examples/bookmarks/intro>`
pour voir comment les choses s'articulent.


.. meta::
:title lang=fr: Conventions de CakePHP
:keywords lang=fr: expérience de développement web,maintenance cauchemard,méthode index,systèmes légaux,noms de méthode,classe php,système uniforme,fichiers de config,tenets,articles,conventions,controller conventionel,bonnes pratiques,maps,visibilité,nouveaux articles,fonctionnalité,logique,cakephp,développeurs
8 changes: 4 additions & 4 deletions fr/orm/behaviors/translate.rst
Original file line number Diff line number Diff line change
Expand Up @@ -446,13 +446,13 @@ Vous pouvez créer des inputs de formulaire pour vos champs traduits::
<?= $this->Form->create($article); ?>
<fieldset>
<legend>French</legend>
<?= $this->Form->input('_translations.fr.title'); ?>
<?= $this->Form->input('_translations.fr.body'); ?>
<?= $this->Form->control('_translations.fr.title'); ?>
<?= $this->Form->control('_translations.fr.body'); ?>
</fieldset>
<fieldset>
<legend>Spanish</legend>
<?= $this->Form->input('_translations.es.title'); ?>
<?= $this->Form->input('_translations.es.body'); ?>
<?= $this->Form->control('_translations.es.title'); ?>
<?= $this->Form->control('_translations.es.body'); ?>
</fieldset>

Dans votre controller, vous pouvez marshal les données comme d'habitude, mais
Expand Down
2 changes: 1 addition & 1 deletion fr/orm/behaviors/tree.rst
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ dans un select HTML par exemple, il est préférable d'utiliser le finder
$list = $categories->find('treeList');

// Dans un fichier template de CakePHP:
echo $this->Form->input('categories', ['options' => $list]);
echo $this->Form->control('categories', ['options' => $list]);

// Ou vous pouvez l'afficher en texte, par exemple dans un script de CLI
foreach ($list as $categoryName) {
Expand Down
Loading