From 19c978fc8a7433002499c2fbcc5ab0203f9896c1 Mon Sep 17 00:00:00 2001 From: Ihor Sychevskyi Date: Sun, 20 Feb 2022 11:07:30 +0200 Subject: [PATCH] update links (es, fr) (#19245) --- docs/guide-es/caching-data.md | 10 +++++----- docs/guide-es/concept-aliases.md | 2 +- docs/guide-es/concept-behaviors.md | 2 +- docs/guide-es/concept-di-container.md | 4 ++-- docs/guide-es/db-dao.md | 12 ++++++------ docs/guide-es/db-migrations.md | 2 +- docs/guide-es/db-query-builder.md | 2 +- docs/guide-es/input-validation.md | 2 +- docs/guide-es/rest-quick-start.md | 2 +- docs/guide-es/rest-resources.md | 2 +- docs/guide-es/rest-response-formatting.md | 2 +- docs/guide-es/rest-versioning.md | 2 +- docs/guide-es/runtime-responses.md | 8 ++++---- docs/guide-es/runtime-sessions-cookies.md | 2 +- docs/guide-es/security-authorization.md | 2 +- docs/guide-es/start-hello.md | 2 +- docs/guide-es/start-installation.md | 6 +++--- docs/guide-es/start-looking-ahead.md | 2 +- docs/guide-es/start-workflow.md | 2 +- docs/guide-es/structure-applications.md | 4 ++-- docs/guide-es/structure-assets.md | 12 ++++++------ docs/guide-es/structure-controllers.md | 2 +- docs/guide-es/structure-extensions.md | 24 ++++++++++++------------ docs/guide-es/structure-filters.md | 6 +++--- docs/guide-es/structure-models.md | 2 +- docs/guide-es/structure-overview.md | 2 +- docs/guide-es/structure-views.md | 4 ++-- docs/guide-es/test-acceptance.md | 4 ++-- docs/guide-es/test-fixtures.md | 2 +- docs/guide-es/test-functional.md | 4 ++-- docs/guide-es/test-unit.md | 6 +++--- docs/guide-es/tutorial-start-from-scratch.md | 2 +- docs/guide-es/tutorial-yii-integration.md | 2 +- docs/guide-fr/caching-data.md | 8 ++++---- docs/guide-fr/concept-aliases.md | 2 +- docs/guide-fr/concept-behaviors.md | 2 +- docs/guide-fr/concept-di-container.md | 4 ++-- docs/guide-fr/db-active-record.md | 4 ++-- docs/guide-fr/db-dao.md | 12 ++++++------ docs/guide-fr/db-migrations.md | 2 +- docs/guide-fr/db-query-builder.md | 2 +- docs/guide-fr/input-validation.md | 2 +- docs/guide-fr/output-data-widgets.md | 2 +- docs/guide-fr/output-formatting.md | 2 +- docs/guide-fr/runtime-responses.md | 8 ++++---- docs/guide-fr/runtime-sessions-cookies.md | 2 +- docs/guide-fr/security-authorization.md | 2 +- docs/guide-fr/start-forms.md | 2 +- docs/guide-fr/start-hello.md | 2 +- docs/guide-fr/start-installation.md | 6 +++--- docs/guide-fr/start-looking-ahead.md | 2 +- docs/guide-fr/start-workflow.md | 2 +- docs/guide-fr/structure-applications.md | 2 +- docs/guide-fr/structure-assets.md | 6 +++--- docs/guide-fr/structure-controllers.md | 2 +- docs/guide-fr/structure-extensions.md | 22 +++++++++++----------- docs/guide-fr/structure-filters.md | 4 ++-- docs/guide-fr/structure-models.md | 2 +- docs/guide-fr/structure-overview.md | 2 +- docs/guide-fr/structure-views.md | 4 ++-- docs/guide-fr/tutorial-i18n.md | 4 ++-- 61 files changed, 130 insertions(+), 130 deletions(-) diff --git a/docs/guide-es/caching-data.md b/docs/guide-es/caching-data.md index 9b986cb..1349865 100644 --- a/docs/guide-es/caching-data.md +++ b/docs/guide-es/caching-data.md @@ -28,7 +28,7 @@ representan diferentes tipos de almacenamiento en caché, como por ejemplo en me Los Componentes de Caché están normalmente registrados como [componentes de la aplicación](structure-application-components.md) para que de esta forma puedan ser configurados y accesibles globalmente. El siguiente código muestra cómo configurar el componente de aplicación -`cache` para usar [memcached](http://memcached.org/) con dos servidores caché: +`cache` para usar [memcached](https://memcached.org/) con dos servidores caché: ```php 'components' => [ @@ -73,14 +73,14 @@ Yii proporciona varios componentes de caché que pueden almacenar datos en difer se muestra un listado con los componentes de caché disponibles: * [[yii\caching\ApcCache]]: utiliza la extensión de PHP [APC](https://www.php.net/manual/es/book.apc.php). Esta opción puede ser considerada como la más rápida de entre todas las disponibles para una aplicación centralizada. (ej. un servidor, no dedicado al balance de carga, etc). -* [[yii\caching\DbCache]]: utiliza una tabla de base de datos para almacenar los datos. Por defecto, se creará y usará como base de datos [SQLite3](http://sqlite.org/) en el directorio runtime. Se puede especificar explícitamente que base de datos va a ser utilizada configurando la propiedad `db`. +* [[yii\caching\DbCache]]: utiliza una tabla de base de datos para almacenar los datos. Por defecto, se creará y usará como base de datos [SQLite3](https://sqlite.org/) en el directorio runtime. Se puede especificar explícitamente que base de datos va a ser utilizada configurando la propiedad `db`. * [[yii\caching\DummyCache]]: dummy cache (caché tonta) que no almacena en caché nada. El propósito de este componente es simplificar el código necesario para chequear la disponibilidad de caché. Por ejemplo, durante el desarrollo o si el servidor no tiene soporte de caché actualmente, puede utilizarse este componente de caché. Cuando este disponible un soporte en caché, puede cambiarse el componente correspondiente. En ambos casos, puede utilizarse el mismo código `Yii::$app->cache->get($key)` para recuperar un dato sin la preocupación de que `Yii::$app->cache` pueda ser `null`. * [[yii\caching\FileCache]]: utiliza un fichero estándar para almacenar los datos. Esto es adecuado para almacenar grandes bloques de datos (como páginas). * [[yii\caching\MemCache]]: utiliza las extensiones de PHP [memcache](https://www.php.net/manual/es/book.memcache.php) y [memcached](https://www.php.net/manual/es/book.memcached.php). Esta opción puede ser considerada como la más rápida cuando la caché es manejada en una aplicación distribuida (ej. con varios servidores, con balance de carga, etc..) -* [[yii\redis\Cache]]: implementa un componente de caché basado en [Redis](http://redis.io/) que almacenan pares clave-valor (requiere la versión 2.6.12 de redis). -* [[yii\caching\WinCache]]: utiliza la extensión de PHP [WinCache](http://iis.net/downloads/microsoft/wincache-extension) ([ver también](https://www.php.net/manual/es/book.wincache.php)). +* [[yii\redis\Cache]]: implementa un componente de caché basado en [Redis](https://redis.io/) que almacenan pares clave-valor (requiere la versión 2.6.12 de redis). +* [[yii\caching\WinCache]]: utiliza la extensión de PHP [WinCache](https://iis.net/downloads/microsoft/wincache-extension) ([ver también](https://www.php.net/manual/es/book.wincache.php)). * [[yii\caching\XCache]] _(deprecated)_: utiliza la extensión de PHP [XCache](https://en.wikipedia.org/wiki/List_of_PHP_accelerators#XCache). -* [[yii\caching\ZendDataCache]] _(deprecated)_: utiliza [Zend Data Cache](http://files.zend.com/help/Zend-Server-6/zend-server.htm#data_cache_component.htm) como el medio fundamental de caché. +* [[yii\caching\ZendDataCache]] _(deprecated)_: utiliza [Zend Data Cache](https://files.zend.com/help/Zend-Server-6/zend-server.htm#data_cache_component.htm) como el medio fundamental de caché. > Tip: Puedes utilizar diferentes tipos de almacenamiento de caché en la misma aplicación. Una estrategia común es la de usar almacenamiento de caché en memoria para almacenar datos que son pequeños pero que son utilizados constantemente (ej. datos estadísticos), y utilizar el almacenamiento de caché en archivos o en base de datos para guardar datos que son grandes y utilizados con menor frecuencia (ej. contenido de página). diff --git a/docs/guide-es/concept-aliases.md b/docs/guide-es/concept-aliases.md index bf95bb9..a617d2a 100644 --- a/docs/guide-es/concept-aliases.md +++ b/docs/guide-es/concept-aliases.md @@ -113,7 +113,7 @@ utilizadas regularmente. La siguiente es la lista de alias predefinidos por Yii: - `@webroot`: el directorio raíz Web de la aplicación Web se está ejecutando actualmente. - `@web`: la URL base de la aplicación web se ejecuta actualmente. Tiene el mismo valor que [[yii\web\Request::baseUrl]]. - `@vendor`: el [[yii\base\Application::vendorPath|directorio vendor de Composer]]. Por defecto `@app/vendor`. -- `@bower`, el directorio raíz que contiene [paquetes bower](http://bower.io/). Por defecto `@vendor/bower`. +- `@bower`, el directorio raíz que contiene [paquetes bower](https://bower.io/). Por defecto `@vendor/bower`. - `@npm`, el directorio raíz que contiene [paquetes npm](https://www.npmjs.com/). Por defecto `@vendor/npm`. El alias `@yii` se define cuando incluyes el archivo `Yii.php` en tu [script de entrada](structure-entry-scripts.md), diff --git a/docs/guide-es/concept-behaviors.md b/docs/guide-es/concept-behaviors.md index 32aaee1..f9347fc 100644 --- a/docs/guide-es/concept-behaviors.md +++ b/docs/guide-es/concept-behaviors.md @@ -2,7 +2,7 @@ Comportamientos =============== Comportamientos son instancias de [[yii\base\Behavior]] o sus clases "hija". Comportamientos, también conocido como -[mixins](http://en.wikipedia.org/wiki/Mixin), te permiten mejorar la funcionalidad de un [[yii\base\Component|componente]] +[mixins](https://en.wikipedia.org/wiki/Mixin), te permiten mejorar la funcionalidad de un [[yii\base\Component|componente]] existente sin necesidad de modificar su herencia de clases. Cuando un comportamiento se une a un componente, "inyectará" sus métodos y propiedades dentro del componente, y podrás acceder a esos métodos y propiedades como si hubieran estado definidos por la clase de componente. Además, un diff --git a/docs/guide-es/concept-di-container.md b/docs/guide-es/concept-di-container.md index d53c381..9c46419 100644 --- a/docs/guide-es/concept-di-container.md +++ b/docs/guide-es/concept-di-container.md @@ -2,7 +2,7 @@ Contenedor de Inyección de Dependencias ======================================= Un contenedor de Inyección de Dependencias (ID), es un objeto que sabe como instancias y configurar objetos y sus -objetos dependientes. El [articulo de Martin](http://martinfowler.com/articles/injection.html) contiene una buena +objetos dependientes. El [articulo de Martin](https://martinfowler.com/articles/injection.html) contiene una buena explicación de porque son útiles los contenedores de ID. A continuación explicaremos como usar el contenedor de ID que proporciona Yii. @@ -316,7 +316,7 @@ Resumen Tanto la inyección de dependencias como el [localizador de servicios](concept-service-locator.md) son patrones de diseño populares que permiten construir software con acoplamiento flexible y más fácil de testear. Se recomienda -encarecida la lectura del articulo de [Martin](http://martinfowler.com/articles/injection.html) para obtener una mejor +encarecida la lectura del articulo de [Martin](https://martinfowler.com/articles/injection.html) para obtener una mejor comprensión de la inyección de dependencias y de la localización de servicios. Yii implementa su propio [localizador de servicios](concept-service-locator.md) por encima del contenedor de ID. diff --git a/docs/guide-es/db-dao.md b/docs/guide-es/db-dao.md index 8e831a1..38cebce 100644 --- a/docs/guide-es/db-dao.md +++ b/docs/guide-es/db-dao.md @@ -11,11 +11,11 @@ Yii DAO también significa que tienes que tienes que tomar un esfuerzo adicional Yii DAO soporta las siguientes bases de datos: -- [MySQL](http://www.mysql.com/) +- [MySQL](https://www.mysql.com/) - [MariaDB](https://mariadb.com/) -- [SQLite](http://sqlite.org/) -- [PostgreSQL](http://www.postgresql.org/): versión 8.4 o superior. -- [CUBRID](http://www.cubrid.org/): versión 9.3 o superior. +- [SQLite](https://sqlite.org/) +- [PostgreSQL](https://www.postgresql.org/): versión 8.4 o superior. +- [CUBRID](https://www.cubrid.org/): versión 9.3 o superior. - [Oracle](https://www.oracle.com/database/) - [MSSQL](https://www.microsoft.com/en-us/sqlserver/default.aspx): versión 2008 o superior. @@ -396,7 +396,7 @@ En el momento de escribir esto, solo MSSQL y SQLite serán afectadas. puede especificar el nivel de aislamiento directamente cuando empieza la transacción. Se tiene que llamar a [[yii\db\Transaction::setIsolationLevel()]] después de que la transacción haya empezado. -[isolation levels]: http://en.wikipedia.org/wiki/Isolation_%28database_systems%29#Isolation_levels +[isolation levels]: https://en.wikipedia.org/wiki/Isolation_%28database_systems%29#Isolation_levels ### Transacciones Anidadas @@ -437,7 +437,7 @@ try { ## Replicación y División Lectura-Escritura -Muchos DBMS soportan [replicación de bases de datos](http://en.wikipedia.org/wiki/Replication_(computing)#Database_replication) para tener +Muchos DBMS soportan [replicación de bases de datos](https://en.wikipedia.org/wiki/Replication_(computing)#Database_replication) para tener una mejor disponibilidad de la base de datos y un mejor tiempo de respuesta del servidor. Con la replicación de bases de datos, los datos están replicados en los llamados *servidores maestros* (master servers) y *servidores esclavos* (slave servers). Todas las escrituras y actualizaciones deben hacerse en el servidor maestro, mientras que las lecturas diff --git a/docs/guide-es/db-migrations.md b/docs/guide-es/db-migrations.md index 2c44709..bb797bc 100644 --- a/docs/guide-es/db-migrations.md +++ b/docs/guide-es/db-migrations.md @@ -648,7 +648,7 @@ en `safeDown()`. En el ejemplo anterior primero creamos la tabla y luego inserta que en `safeDown()` primero eliminamos el registro y posteriormente eliminamos la tabla. > Note: No todos los DBMS soportan transacciones. Y algunas consultas a la BD no pueden ser puestas en transacciones. Para algunos ejemplos, - por favor lee acerca de [commits implícitos](http://dev.mysql.com/doc/refman/5.7/en/implicit-commit.html). En estos casos, + por favor lee acerca de [commits implícitos](https://dev.mysql.com/doc/refman/5.7/en/implicit-commit.html). En estos casos, deberías igualmente implementar `up()` y `down()`. diff --git a/docs/guide-es/db-query-builder.md b/docs/guide-es/db-query-builder.md index d09c5e3..0ca6212 100644 --- a/docs/guide-es/db-query-builder.md +++ b/docs/guide-es/db-query-builder.md @@ -241,7 +241,7 @@ El operando puede ser uno de los siguientes (ver también [[yii\db\QueryInterfac automáticamente entre un par de caracteres de porcentaje. > Note: Cuando se usa PostgreSQL también se puede usar -[`ilike`](http://www.postgresql.org/docs/8.3/static/functions-matching.html#FUNCTIONS-LIKE) en lugar de `like` para +[`ilike`](https://www.postgresql.org/docs/8.3/static/functions-matching.html#FUNCTIONS-LIKE) en lugar de `like` para filtrar resultados insensibles a mayúsculas (case-insensitive). - `or like`: similar al operando `like` exceptuando que se usa `OR` para concatenar los predicados `LIKE` cuando haya diff --git a/docs/guide-es/input-validation.md b/docs/guide-es/input-validation.md index 2f56fda..dd461e3 100644 --- a/docs/guide-es/input-validation.md +++ b/docs/guide-es/input-validation.md @@ -584,7 +584,7 @@ JS; ### Validación Diferida -Si necesitas realizar validación del lado del cliente asincrónica, puedes crear [Objetos Diferidos](http://api.jquery.com/category/deferred-object/). +Si necesitas realizar validación del lado del cliente asincrónica, puedes crear [Objetos Diferidos](https://api.jquery.com/category/deferred-object/). Por ejemplo, para realizar validación AJAX personalizada, puedes utilizar el siguiente código: ```php diff --git a/docs/guide-es/rest-quick-start.md b/docs/guide-es/rest-quick-start.md index 05b9844..06ae63d 100644 --- a/docs/guide-es/rest-quick-start.md +++ b/docs/guide-es/rest-quick-start.md @@ -9,7 +9,7 @@ En particular, Yii soporta las siguientes características sobre APIs RESTful; * Formato de respuesta de negocio (soporta JSON y XML por defecto); * Personalización de objetos serializados con soporte para campos de salida seleccionables; * Formateo apropiado de colecciones de datos y validación de errores; -* Soporte para [HATEOAS](http://en.wikipedia.org/wiki/HATEOAS); +* Soporte para [HATEOAS](https://en.wikipedia.org/wiki/HATEOAS); * Eficiente enrutamiento con una adecuada comprobación del verbo(verb) HTTP; * Incorporado soporte para las `OPTIONS` y `HEAD` verbos; * Autenticación y autorización; diff --git a/docs/guide-es/rest-resources.md b/docs/guide-es/rest-resources.md index b235310..18b4066 100644 --- a/docs/guide-es/rest-resources.md +++ b/docs/guide-es/rest-resources.md @@ -116,7 +116,7 @@ la petición `http://localhost/users?fields=id,email&expand=profile` puede devol ## Enlaces (Links) -[HATEOAS](http://en.wikipedia.org/wiki/HATEOAS), es una abreviación de Hipermedia es el Motor del Estado de la Aplicación (Hypermedia as the Engine of Application State), promueve que las APIs RESTfull devuelvan información que permita a los clientes descubrir las acciones que soportan los recursos devueltos. El sentido de HATEOAS es devolver un conjunto de hiperenlaces con relación a la información, cuando los datos de los recursos son servidos por las APIs. +[HATEOAS](https://en.wikipedia.org/wiki/HATEOAS), es una abreviación de Hipermedia es el Motor del Estado de la Aplicación (Hypermedia as the Engine of Application State), promueve que las APIs RESTfull devuelvan información que permita a los clientes descubrir las acciones que soportan los recursos devueltos. El sentido de HATEOAS es devolver un conjunto de hiperenlaces con relación a la información, cuando los datos de los recursos son servidos por las APIs. Las clases con recursos pueden soportar HATEOAS implementando el interfaz [[yii\web\Linkable]] . El interfaz contiene sólo un método [[yii\web\Linkable::getLinks()|getLinks()]] el cual debe de de devolver una lista de [[yii\web\Link|links]]. Típicamente, debes devolver al menos un enlace `self` representando la URL al mismo recurso objeto. Por ejemplo, diff --git a/docs/guide-es/rest-response-formatting.md b/docs/guide-es/rest-response-formatting.md index 7f967a5..c1727d9 100644 --- a/docs/guide-es/rest-response-formatting.md +++ b/docs/guide-es/rest-response-formatting.md @@ -5,7 +5,7 @@ Cuando se maneja una petición al API RESTful, una aplicación realiza usualment con el formato de la respuesta: 1. Determinar varios factores que pueden afectar al formato de la respuesta, como son el tipo de medio, lenguaje, versión, etc. - Este proceso es también conocido como [negociación de contenido (content negotiation)](http://en.wikipedia.org/wiki/Content_negotiation). + Este proceso es también conocido como [negociación de contenido (content negotiation)](https://en.wikipedia.org/wiki/Content_negotiation). 2. La conversión de objetos recurso en arrays, como está descrito en la sección [Recursos (Resources)](rest-resources.md). Esto es realizado por la clase [[yii\rest\Serializer]]. 3. La conversión de arrays en cadenas con el formato determinado por el paso de negociación de contenido. Esto es diff --git a/docs/guide-es/rest-versioning.md b/docs/guide-es/rest-versioning.md index 49ea108..504b677 100644 --- a/docs/guide-es/rest-versioning.md +++ b/docs/guide-es/rest-versioning.md @@ -5,7 +5,7 @@ Una buena API ha de ser *versionada*: los cambios y las nuevas características las APIs están destinadas a ser usadas por los clientes fuera de tu control. Por esta razón, compatibilidad hacia atrás (BC Backward compatibility) de las APIs ha de ser mantenida siempre que sea posible. Si es necesario un cambio que puede romper la BC, debes de introducirla en la nueva versión del API, e incrementar el número de versión. Los clientes que la usan pueden continuar usando la antigua versión de trabajo del API; los nuevos y actualizados clientes pueden obtener la nueva funcionalidad de la nueva versión del API. -> Tip: referirse a [Semántica del versionado](http://semver.org/) +> Tip: referirse a [Semántica del versionado](https://semver.org/) para más información en el diseño del número de versión del API. Una manera común de implementar el versionado de la API es embeber el número de versión en las URLs de la API. diff --git a/docs/guide-es/runtime-responses.md b/docs/guide-es/runtime-responses.md index 8c8ec0d..d5a7ee9 100644 --- a/docs/guide-es/runtime-responses.md +++ b/docs/guide-es/runtime-responses.md @@ -236,11 +236,11 @@ puede terminar antes mientras el servidor Web envía el fichero. Para usar esta [[yii\web\Response::xSendFile()]]. La siguiente lista resume como habilitar la característica `X-Sendfile` para algunos servidores Web populares. -- Apache: [X-Sendfile](http://tn123.org/mod_xsendfile) -- Lighttpd v1.4: [X-LIGHTTPD-send-file](http://redmine.lighttpd.net/projects/lighttpd/wiki/X-LIGHTTPD-send-file) -- Lighttpd v1.5: [X-Sendfile](http://redmine.lighttpd.net/projects/lighttpd/wiki/X-LIGHTTPD-send-file) +- Apache: [X-Sendfile](https://tn123.org/mod_xsendfile) +- Lighttpd v1.4: [X-LIGHTTPD-send-file](https://redmine.lighttpd.net/projects/lighttpd/wiki/X-LIGHTTPD-send-file) +- Lighttpd v1.5: [X-Sendfile](https://redmine.lighttpd.net/projects/lighttpd/wiki/X-LIGHTTPD-send-file) - Nginx: [X-Accel-Redirect](https://www.nginx.com/resources/wiki/start/topics/examples/xsendfile/) -- Cherokee: [X-Sendfile and X-Accel-Redirect](http://www.cherokee-project.com/doc/other_goodies.html#x-sendfile) +- Cherokee: [X-Sendfile and X-Accel-Redirect](https://www.cherokee-project.com/doc/other_goodies.html#x-sendfile) ## Enviar la Respuesta diff --git a/docs/guide-es/runtime-sessions-cookies.md b/docs/guide-es/runtime-sessions-cookies.md index 883c6f4..c409fa0 100644 --- a/docs/guide-es/runtime-sessions-cookies.md +++ b/docs/guide-es/runtime-sessions-cookies.md @@ -120,7 +120,7 @@ Por defecto la clase [[yii\web\Session]] almacena los datos de sesión como fich * [[yii\web\DbSession]]: almacena los datos de sesión en una tabla en la base de datos. * [[yii\web\CacheSession]]: almacena los datos de sesión en una caché con la ayuda de la configuración del [componente caché](caching-data.md#cache-components). -* [[yii\redis\Session]]: almacena los datos de sesión usando [redis](http://redis.io/) como medio de almacenamiento. +* [[yii\redis\Session]]: almacena los datos de sesión usando [redis](https://redis.io/) como medio de almacenamiento. * [[yii\mongodb\Session]]: almacena los datos de sesión en [MongoDB](https://www.mongodb.com/). Todas estas clases de sesión soportan los mismos métodos de la API. Como consecuencia, puedes cambiar el uso de diferentes almacenamientos de sesión sin la necesidad de modificar el código de tu aplicación que usa sesiones. diff --git a/docs/guide-es/security-authorization.md b/docs/guide-es/security-authorization.md index 213630c..2e7590f 100644 --- a/docs/guide-es/security-authorization.md +++ b/docs/guide-es/security-authorization.md @@ -153,7 +153,7 @@ class SiteController extends Controller ## Control de Acceso Basado en Roles (RBAC) El Control de Acceso Basado en Roles (RBAC) provee una simple pero poderosa manera centralizada de control de acceso. Por favos consulta -la [Wikipedia](http://en.wikipedia.org/wiki/Role-based_access_control) para más detalles sobre comparar RBAC +la [Wikipedia](https://en.wikipedia.org/wiki/Role-based_access_control) para más detalles sobre comparar RBAC con otros mecanismos de control de acceso más tradicionales. Yii implementa una Jerarquía General RBAC, siguiendo el [modelo NIST RBAC](https://csrc.nist.gov/CSRC/media/Publications/conference-paper/1992/10/13/role-based-access-controls/documents/ferraiolo-kuhn-92.pdf). diff --git a/docs/guide-es/start-hello.md b/docs/guide-es/start-hello.md index a75f400..84b3f96 100644 --- a/docs/guide-es/start-hello.md +++ b/docs/guide-es/start-hello.md @@ -88,7 +88,7 @@ es llamado en una acción, buscará un archivo PHP llamado `views/ControllerID/N Nota que en el código de arriba, el parámetro `message` es procesado por [[yii\helpers\Html::encode()|HTML-encoded]] antes de ser impreso. Esto es necesario ya que el parámetro viene de un usuario final, haciéndolo vulnerable a -[ataques cross-site scripting (XSS)](http://es.wikipedia.org/wiki/Cross-site_scripting) pudiendo inyectar código de Javascript malicioso dentro del parámetro. +[ataques cross-site scripting (XSS)](https://es.wikipedia.org/wiki/Cross-site_scripting) pudiendo inyectar código de Javascript malicioso dentro del parámetro. Naturalmente, puedes colocar mas contenido en la vista `say`. El contenido puede consistir de etiquetas HTML, texto plano, e inclusive código PHP. De hecho, la vista `say` es sólo un script PHP que es ejecutado por el método [[yii\web\Controller::render()|render()]]. diff --git a/docs/guide-es/start-installation.md b/docs/guide-es/start-installation.md index a685b96..be08e85 100644 --- a/docs/guide-es/start-installation.md +++ b/docs/guide-es/start-installation.md @@ -142,8 +142,8 @@ Configurar Servidores Web de poner la aplicación en un servidor de producción. La aplicación instalada siguiendo las instrucciones mencionadas debería estar lista para usar tanto -con un [servidor HTTP Apache](http://httpd.apache.org/) como con un [servidor HTTP Nginx](http://nginx.org/), -en Windows, Mac OS X, o Linux utilizando PHP 5.4 o mayor. Yii 2.0 también es compatible con [HHVM](http://hhvm.com/) +con un [servidor HTTP Apache](https://httpd.apache.org/) como con un [servidor HTTP Nginx](https://nginx.org/), +en Windows, Mac OS X, o Linux utilizando PHP 5.4 o mayor. Yii 2.0 también es compatible con [HHVM](https://hhvm.com/) de Facebook. De todos modos, hay algunos casos donde HHVM se comporta diferente del PHP oficial, por lo que tendrás que tener cuidados extra al utilizarlo. @@ -187,7 +187,7 @@ DocumentRoot "path/to/basic/web" ### Configuración Recomendada de Nginx -Para utilizar [Nginx](http://wiki.nginx.org/), debes instalar PHP como un [FPM SAPI](https://www.php.net/install.fpm). +Para utilizar [Nginx](https://wiki.nginx.org/), debes instalar PHP como un [FPM SAPI](https://www.php.net/install.fpm). Utiliza la siguiente configuración de Nginx, reemplazando `path/to/basic/web` con la ruta real a `basic/web` y `mysite.test` con el hostname real a servir. diff --git a/docs/guide-es/start-looking-ahead.md b/docs/guide-es/start-looking-ahead.md index 11d7656..a881087 100644 --- a/docs/guide-es/start-looking-ahead.md +++ b/docs/guide-es/start-looking-ahead.md @@ -32,4 +32,4 @@ Esta sección resumirá los recursos disponibles de Yii que te ayudarán a ser m - Facebook: - Twitter: - LinkedIn: - - Stackoverflow: + - Stackoverflow: diff --git a/docs/guide-es/start-workflow.md b/docs/guide-es/start-workflow.md index 4ab14c6..c25a180 100644 --- a/docs/guide-es/start-workflow.md +++ b/docs/guide-es/start-workflow.md @@ -63,7 +63,7 @@ basic/ base path de la aplicación En general, los archivos de la aplicación pueden ser divididos en dos: aquellos bajo `basic/web` y aquellos bajo otros directorios. Los primeros pueden accederse directo por HTTP (ej., en un navegador), mientras que los últimos no pueden ni deben ser accedidos así. -Yii implementa el patrón de diseño [modelo-vista-controlador (MVC)](http://wikipedia.org/wiki/Model-view-controller), +Yii implementa el patrón de diseño [modelo-vista-controlador (MVC)](https://wikipedia.org/wiki/Model-view-controller), que es reflejado en la estructura de directorios utilizada. El directorio `models` contiene todas las [clases del modelo](structure-models.md), el directorio `views` contiene todas las [vistas (templates)](structure-views.md), y el directorio `controllers` contiene todas las [clases de controladores](structure-controllers.md). diff --git a/docs/guide-es/structure-applications.md b/docs/guide-es/structure-applications.md index 5c07fbd..d01e1a6 100644 --- a/docs/guide-es/structure-applications.md +++ b/docs/guide-es/structure-applications.md @@ -255,7 +255,7 @@ incluido la traducción de mensajes, formato de fecha y números, etc. Por ejemp utilizará el valor de esta propiedad para determinar en qué idioma el calendario debe ser mostrado y cómo dar formato a la fecha. -Se recomienda que especifiques el idioma en términos de una [Código de idioma IETF](http://es.wikipedia.org/wiki/Código_de_idioma_IETF). +Se recomienda que especifiques el idioma en términos de una [Código de idioma IETF](https://es.wikipedia.org/wiki/Código_de_idioma_IETF). Por ejemplo, `en` se refiere a English, mientras que `en-US` se refiere a English (United States). Se pueden encontrar más detalles de este aspecto en la sección [Internacionalización](tutorial-i18n.md). @@ -326,7 +326,7 @@ sin necesidad de tocar el código que lo utiliza. Esta propiedad especifica el idioma en el cual la aplicación está escrita. El valor por defecto es `'en-US'`, referido a English (United States). Deberías configurar esta propiedad si el contenido de texto en tu código no está en inglés. -Como la propiedad [language](#language), deberías configurar esta propiedad siguiendo el [Código de idioma IETF](http://es.wikipedia.org/wiki/Código_de_idioma_IETF). +Como la propiedad [language](#language), deberías configurar esta propiedad siguiendo el [Código de idioma IETF](https://es.wikipedia.org/wiki/Código_de_idioma_IETF). Por ejemplo, `en` se refiere a English, mientras que `en-US` se refiere a English (United States). Puedes encontrar más detalles de esta propiedad en la sección [Internacionalización](tutorial-i18n.md). diff --git a/docs/guide-es/structure-assets.md b/docs/guide-es/structure-assets.md index 91b61ee..7edbf5d 100644 --- a/docs/guide-es/structure-assets.md +++ b/docs/guide-es/structure-assets.md @@ -74,7 +74,7 @@ A continuación se explicarán más detalladamente las propiedades del [[yii\web se puede determinar anteponiendo [[yii\web\AssetManager::basePath]] a la ruta relativa, y la URL actual de un archivo puede ser determinada anteponiendo [[yii\web\AssetManager::baseUrl]] a la ruta relativa. - una URL absoluta que represente un archivo JavaScript externo. Por ejemplo, - `http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js` o + `https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js` o `//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js`. * [[yii\web\AssetBundle::css|css]]: un array que lista los archivos CSS que contiene este bundle. El formato de este array es el mismo que el de [[yii\web\AssetBundle::js|js]]. @@ -207,7 +207,7 @@ la opción de publicación `beforeCopy`, solo los subdirectorios `fonts` y `css` ### Bower y NPM Assets -La mayoría de paquetes JavaScript/CSS se gestionan con [Bower](http://bower.io/) y/o [NPM](https://www.npmjs.com/). +La mayoría de paquetes JavaScript/CSS se gestionan con [Bower](https://bower.io/) y/o [NPM](https://www.npmjs.com/). Si tu aplicación o extensión usa estos paquetes, se recomienda seguir los siguientes pasos para gestionar los assets en la librería: @@ -393,8 +393,8 @@ personalizar como se describe en la subsección [Personalización de Asset Bundl En lugar de escribir código CSS y/o JavaScript directamente, los desarrolladores a menudo escriben código usando una sintaxis extendida y usan herramientas especiales para convertirlos en CSS/JavaScript. Por ejemplo, para código CSS se -puede usar [LESS](http://lesscss.org) o [SCSS](http://sass-lang.com/); y para JavaScript se puede usar -[TypeScript](http://www.typescriptlang.org/). +puede usar [LESS](https://lesscss.org) o [SCSS](https://sass-lang.com/); y para JavaScript se puede usar +[TypeScript](https://www.typescriptlang.org/). Se pueden listar los archivos asset con sintaxis extendida (extended syntax) en [[yii\web\AssetBundle::css|css]] y [[yii\web\AssetBundle::js|js]] en un asset bundle. Por ejemplo: @@ -460,7 +460,7 @@ Los tokens `{from}` y `{to}` en los comandos se reemplazarán por las rutas de o de destino de los archivos asset. > Info: Hay otras maneras de trabajar con las assets de sintaxis extendidas, además de la descrita - anteriormente. Por ejemplo, se pueden usar herramientas generadoras tales como [grunt](http://gruntjs.com/) para + anteriormente. Por ejemplo, se pueden usar herramientas generadoras tales como [grunt](https://gruntjs.com/) para monitorear y convertir automáticamente los assets de sintaxis extendidas. En este caso, se deben listar los archivos CSS/JavaScript resultantes en lugar de los archivos de originales. @@ -641,5 +641,5 @@ El archivo de configuración generado se puede incluir en la configuración de l anterior subsección. > Info: Usar el comando `asset` no es la única opción de automatizar el proceso de combinación y compresión. - Se puede usar la excelente herramienta de ejecución de tareas [grunt](http://gruntjs.com/) para lograr el mismo + Se puede usar la excelente herramienta de ejecución de tareas [grunt](https://gruntjs.com/) para lograr el mismo objetivo. diff --git a/docs/guide-es/structure-controllers.md b/docs/guide-es/structure-controllers.md index c9fb8b0..bbb9a4b 100644 --- a/docs/guide-es/structure-controllers.md +++ b/docs/guide-es/structure-controllers.md @@ -1,7 +1,7 @@ Controladores ============= -Los controladores son parte del patrón o arquitectura [MVC](http://es.wikipedia.org/wiki/Modelo%E2%80%93vista%E2%80%93controlador). +Los controladores son parte del patrón o arquitectura [MVC](https://es.wikipedia.org/wiki/Modelo%E2%80%93vista%E2%80%93controlador). Son objetos que extienden de [[yii\base\Controller]] y se encargan de procesar los `requests` (consultas) generando `responses` (respuestas). Particularmente, después de tomar el control desde las [aplicaciones](structure-applications.md), los controladores analizarán los datos que entran en el `request`, los pasan a los [modelos](structure-models.md), inyectan los diff --git a/docs/guide-es/structure-extensions.md b/docs/guide-es/structure-extensions.md index 4d399bf..b157a9f 100644 --- a/docs/guide-es/structure-extensions.md +++ b/docs/guide-es/structure-extensions.md @@ -81,7 +81,7 @@ En algunas ocasiones excepcionales es posible que tengamos que instalar alguna o 3. descargar e instalar todas las extensiones dependientes como siguiendo estas mismas instrucciones. Si una extensión no proporciona clase de autocarga pero sigue el estándar -[PSR-4](http://www.php-fig.org/psr/psr-4/), se puede usar la clase de autocarga proporcionada por Yii para cargar +[PSR-4](https://www.php-fig.org/psr/psr-4/), se puede usar la clase de autocarga proporcionada por Yii para cargar automáticamente las clases de las extensiones. Todo lo que se tiene que hacer es declarar un [alias de raíz (root)](concept-aliases.md#defining-aliases) para las extensiones del directorio raíz. Por ejemplo, asumiendo que tenemos instalada una extensión en el directorio `vendor/mycompany/myext`, y las clases de extensión se @@ -193,7 +193,7 @@ La extensión depende de Yii (por supuesto). Por ello se debe añadir (`yiisoft/ apropiadas (ej. `1.*`, `@stable`) para cada paquete dependiente. Se deben usar dependencias estables en versiones estables de nuestras extensiones. -La mayoría de paquetes JavaScript/CSS se gestionan usando [Bower](http://bower.io/) y/o [NPM](https://www.npmjs.com/), +La mayoría de paquetes JavaScript/CSS se gestionan usando [Bower](https://bower.io/) y/o [NPM](https://www.npmjs.com/), en lugar de Composer. Yii utiliza el [Composer asset plugin](https://github.com/fxpio/composer-asset-plugin) para habilitar la gestión de estos tipos de paquetes a través de Composer. Si la extensión depende de un paquete Bower, se puede, simplemente, añadir la dependencia de el archivo `composer.json` como se muestra a continuación: @@ -248,8 +248,8 @@ extensiones de alta calidad. #### Namespaces Para evitar colisiones de nombres y permitir que las clases usen la autocarga en extensiones propias, se deben usar -namespaces y nombres de clase siguiendo el [estándar PSR-4](http://www.php-fig.org/psr/psr-4/) o el -[estándar PSR-0](http://www.php-fig.org/psr/psr-0/). +namespaces y nombres de clase siguiendo el [estándar PSR-4](https://www.php-fig.org/psr/psr-4/) o el +[estándar PSR-0](https://www.php-fig.org/psr/psr-0/). Los namespaces de clases propias deben empezar por `NombreProveedor\NombreExtension` donde `NombreExtension` es similar al nombre del paquete pero este no debe contener el prefijo `yii2-`. Por ejemplo, para la extensión @@ -359,7 +359,7 @@ pruebas unitarias (unit tests), pruebas de aceptación (acceptance tests) y prue #### Versiones Se debe asignar un número de versión cada vez que se lance una nueva distribución. (ej. `1.0.1`). Recomendamos -seguir la práctica [Versionamiento Semántico](http://semver.org/lang/es/) para determinar que números se deben usar. +seguir la práctica [Versionamiento Semántico](https://semver.org/lang/es/) para determinar que números se deben usar. #### Lanzamientos @@ -375,7 +375,7 @@ En los lanzamientos de una extensión, además de archivos de código, también mencionados a continuación para facilitar a otra gente el uso de nuestra extensión: * Un archivo léame (readme) en el directorio raíz: describe que hace la extensión y como instalarla y utilizarla. - Recomendamos que se escriba en formato [Markdown](http://daringfireball.net/projects/markdown/) y llamarlo + Recomendamos que se escriba en formato [Markdown](https://daringfireball.net/projects/markdown/) y llamarlo `readme.md`. * Un archivo de registro de cambios (changelog) en el directorio raíz: enumera que cambios se realizan en cada lanzamiento. El archivo puede escribirse en formato Markdown y llamarlo `changelog.md`. @@ -406,7 +406,7 @@ se describe en la subsección [Uso de Extensiones](#using-extensions) - [yiisoft/yii2-authclient](https://github.com/yiisoft/yii2-authclient):proporciona un conjunto de clientes de autorización tales como el cliente OAuth2 de Facebook, el cliente GitHub OAuth2. - [yiisoft/yii2-bootstrap](https://github.com/yiisoft/yii2-bootstrap): proporciona un conjunto de widgets que - encapsulan los componentes y plugins de [Bootstrap](http://getbootstrap.com/). + encapsulan los componentes y plugins de [Bootstrap](https://getbootstrap.com/). - [yiisoft/yii2-debug](https://github.com/yiisoft/yii2-debug): proporciona soporte de depuración para aplicaciones Yii. Cuando se usa esta extensión, aparece una barra de herramientas de depuración en la parte inferior de cada página. La extensión también proporciona un conjunto de páginas para mostrar información detallada de depuración. @@ -421,18 +421,18 @@ se describe en la subsección [Uso de Extensiones](#using-extensions) - [yiisoft/yii2-httpclient](https://github.com/yiisoft/yii2-httpclient): provides an HTTP client. - [yiisoft/yii2-imagine](https://github.com/yiisoft/yii2-imagine): proporciona funciones comunes de manipulación de - imágenes basadas en [Imagine](http://imagine.readthedocs.org/). + imágenes basadas en [Imagine](https://imagine.readthedocs.org/). - [yiisoft/yii2-jui](https://github.com/yiisoft/yii2-jui): proporciona un conjunto de widgets que encapsulan las - iteraciones y widgets de [JQuery UI](http://jqueryui.com/). + iteraciones y widgets de [JQuery UI](https://jqueryui.com/). - [yiisoft/yii2-mongodb](https://github.com/yiisoft/yii2-mongodb): proporciona soporte para utilizar [MongoDB](https://www.mongodb.com/). incluye características como consultas básicas, Active Record, migraciones, caching, generación de código, etc. - [yiisoft/yii2-redis](https://github.com/yiisoft/yii2-redis): proporciona soporte para utilizar - [redis](http://redis.io/). incluye características como consultas básicas, Active Record, caching, etc. + [redis](https://redis.io/). incluye características como consultas básicas, Active Record, caching, etc. - [yiisoft/yii2-smarty](https://github.com/yiisoft/yii2-smarty): proporciona un motor de plantillas basado en - [Smarty](http://www.smarty.net/). + [Smarty](https://www.smarty.net/). - [yiisoft/yii2-sphinx](https://github.com/yiisoft/yii2-sphinx): proporciona soporte para utilizar - [Sphinx](http://sphinxsearch.com). incluye características como consultas básicas, Active Record, code generation, + [Sphinx](https://sphinxsearch.com). incluye características como consultas básicas, Active Record, code generation, etc. - [yiisoft/yii2-swiftmailer](https://github.com/yiisoft/yii2-swiftmailer): proporciona características de envío de correos electrónicos basadas en [swiftmailer](http://swiftmailer.org/). diff --git a/docs/guide-es/structure-filters.md b/docs/guide-es/structure-filters.md index a6be6c2..d096655 100644 --- a/docs/guide-es/structure-filters.md +++ b/docs/guide-es/structure-filters.md @@ -145,8 +145,8 @@ Para conocer más detalles acerca del control de acceso en general, refiérase a ### Filtros del Método de Autenticación Los filtros del método de autenticación se usan para autenticar a un usuario utilizando varios métodos, tales como la -[Autenticación de acceso básico HTTP](http://es.wikipedia.org/wiki/Autenticaci%C3%B3n_de_acceso_b%C3%A1sica), -[Oauth 2](http://oauth.net/2/). Estas clases de filtros se encuentran en el espacio de nombres `yii\filters\auth`. +[Autenticación de acceso básico HTTP](https://es.wikipedia.org/wiki/Autenticaci%C3%B3n_de_acceso_b%C3%A1sica), +[Oauth 2](https://oauth.net/2/). Estas clases de filtros se encuentran en el espacio de nombres `yii\filters\auth`. El siguiente ejemplo muestra como usar [[yii\filters\auth\HttpBasicAuth]] para autenticar un usuario usando un token de acceso basado en el método de Autenticación de acceso básico HTTP. Tenga en cuenta que para que esto funcione, la @@ -290,7 +290,7 @@ Por favor refiérase a [Caché de Páginas](caching-page.md) para obtener más d ### [[yii\filters\RateLimiter|RateLimiter]] RateLimiter implementa un algoritmo de para limitar la tasa de descarga basándose en -[leaky bucket algorithm](http://en.wikipedia.org/wiki/Leaky_bucket). Este se utiliza sobre todo en la implementación +[leaky bucket algorithm](https://en.wikipedia.org/wiki/Leaky_bucket). Este se utiliza sobre todo en la implementación de APIs RESTful. Por favor, refiérase a la sección [limite de tasa](rest-rate-limiting.md) para obtener más detalles acerca de el uso de este filtro. diff --git a/docs/guide-es/structure-models.md b/docs/guide-es/structure-models.md index fdd264d..d6dd7d8 100644 --- a/docs/guide-es/structure-models.md +++ b/docs/guide-es/structure-models.md @@ -2,7 +2,7 @@ Modelos ======= Los modelos forman parte de la arquitectura -[MVC](http://es.wikipedia.org/wiki/Modelo%E2%80%93vista%E2%80%93controlador). Son objetos que representan datos de +[MVC](https://es.wikipedia.org/wiki/Modelo%E2%80%93vista%E2%80%93controlador). Son objetos que representan datos de negocio, reglas y lógica. Se pueden crear clases modelo extendiendo a [[yii\base\Model]] o a sus clases hijas. La clase base [[yii\base\Model]] diff --git a/docs/guide-es/structure-overview.md b/docs/guide-es/structure-overview.md index e03c842..a8c1b76 100644 --- a/docs/guide-es/structure-overview.md +++ b/docs/guide-es/structure-overview.md @@ -1,7 +1,7 @@ Información general =================== -Las aplicaciones realizadas con Yii están organizadas de acuerdo al patrón de diseño [modelo-vista-controlador (MVC)](http://es.wikipedia.org/wiki/Modelo%E2%80%93vista%E2%80%93controlador). Los +Las aplicaciones realizadas con Yii están organizadas de acuerdo al patrón de diseño [modelo-vista-controlador (MVC)](https://es.wikipedia.org/wiki/Modelo%E2%80%93vista%E2%80%93controlador). Los [modelos](structure-models.md) representan datos, la lógica de negocios y sus reglas; las [vistas](structure-views.md) son la representación de salida de los modelos; y finalmente, los [controladores](structure-controllers.md) que toman datos de entrada y los convierten en instrucciones para los [modelos](structure-models.md) y [vistas](structure-views.md). diff --git a/docs/guide-es/structure-views.md b/docs/guide-es/structure-views.md index 7bc2066..e5a7068 100644 --- a/docs/guide-es/structure-views.md +++ b/docs/guide-es/structure-views.md @@ -1,7 +1,7 @@ Vistas ====== -Las Vistas (views) son una parte de la arquitectura [MVC](http://es.wikipedia.org/wiki/Modelo%E2%80%93vista%E2%80%93controlador). +Las Vistas (views) son una parte de la arquitectura [MVC](https://es.wikipedia.org/wiki/Modelo%E2%80%93vista%E2%80%93controlador). Estas son el código responsable de presentar los datos al usuario final. En una aplicación Web, las vistas son usualmente creadas en términos de *templates* que son archivos PHP que contienen principalmente HTML y PHP. Estas son manejadas por el [componente de la aplicación](structure-application-components.md) [[yii\web\View|view]], el cual provee los métodos comúnmente utilizados @@ -52,7 +52,7 @@ o algún otro objeto que dispara la [renderización de la vista](#rendering-view Al crear vistas que generan páginas HTML, es importante que codifiques (encode) y/o filtres los datos provenientes de los usuarios antes de mostrarlos. De otro modo, tu aplicación puede estar expuesta -a ataques tipo [cross-site scripting](http://es.wikipedia.org/wiki/Cross-site_scripting). +a ataques tipo [cross-site scripting](https://es.wikipedia.org/wiki/Cross-site_scripting). Para mostrar un texto plano, codifícalos previamente utilizando [[yii\helpers\Html::encode()]]. Por ejemplo, el siguiente código aplica una codificación del nombre de usuario antes de mostrarlo: diff --git a/docs/guide-es/test-acceptance.md b/docs/guide-es/test-acceptance.md index 8df65e4..f9e1608 100644 --- a/docs/guide-es/test-acceptance.md +++ b/docs/guide-es/test-acceptance.md @@ -9,8 +9,8 @@ servida por un servidor web. Los tests de aceptación se implementan con ayuda del _framework_ Codeception, que tiene una buena documentación: -- [Codeception para el _framework_ Yii](http://codeception.com/for/yii) -- [Tests funcionales de Codeception](http://codeception.com/docs/04-FunctionalTests) +- [Codeception para el _framework_ Yii](https://codeception.com/for/yii) +- [Tests funcionales de Codeception](https://codeception.com/docs/04-FunctionalTests) ## Ejecución de tests en las plantillas básica y avanzada diff --git a/docs/guide-es/test-fixtures.md b/docs/guide-es/test-fixtures.md index 24dc4da..c17a0fc 100644 --- a/docs/guide-es/test-fixtures.md +++ b/docs/guide-es/test-fixtures.md @@ -108,7 +108,7 @@ Arriba te mostramos cómo definir un fixture de BD. Para definir un fixture no r Utilizar Fixtures ----------------- -Si estás utilizando [Codeception](http://codeception.com/) para hacer tests de tu código, deberías considerar el utilizar +Si estás utilizando [Codeception](https://codeception.com/) para hacer tests de tu código, deberías considerar el utilizar la extensión `yii2-codeception`, que tiene soporte incorporado para la carga y acceso a fixtures. En caso de que utilices otros frameworks de testing, puedes usar [[yii\test\FixtureTrait]] en tus casos de tests para alcanzar el mismo objetivo. diff --git a/docs/guide-es/test-functional.md b/docs/guide-es/test-functional.md index b48238c..cf1eea4 100644 --- a/docs/guide-es/test-functional.md +++ b/docs/guide-es/test-functional.md @@ -14,8 +14,8 @@ web especial o una interfaz de usuario compleja en Javascript. Las pruebas funcionales se implementan con ayuda del _framework_ Codeception, que tiene una buena documentación: -- [Codeception para el _framework_ Yii](http://codeception.com/for/yii) -- [Tests funcionales de Codeception](http://codeception.com/docs/04-FunctionalTests) +- [Codeception para el _framework_ Yii](https://codeception.com/for/yii) +- [Tests funcionales de Codeception](https://codeception.com/docs/04-FunctionalTests) ## Ejecución de tests en las plantillas básica y avanzada diff --git a/docs/guide-es/test-unit.md b/docs/guide-es/test-unit.md index c6b47ad..d5054ed 100644 --- a/docs/guide-es/test-unit.md +++ b/docs/guide-es/test-unit.md @@ -8,9 +8,9 @@ Normalmente los tests unitarios son desarrollados por la persona que escribe las Los tests unitarios en Yii están construidos en base a PHPUnit y, opcionalmente, Codeception, por lo que se recomienda consultar su respectiva documentación: -- [Codeception para el _framework_ Yii](http://codeception.com/for/yii) -- [Tests unitarios con Codeception](http://codeception.com/docs/05-UnitTests) -- [Documentación de PHPUnit, empezando por el capítulo 2](http://phpunit.de/manual/current/en/writing-tests-for-phpunit.html) +- [Codeception para el _framework_ Yii](https://codeception.com/for/yii) +- [Tests unitarios con Codeception](https://codeception.com/docs/05-UnitTests) +- [Documentación de PHPUnit, empezando por el capítulo 2](https://phpunit.de/manual/current/en/writing-tests-for-phpunit.html) ## Ejecución de tests en las plantillas básica y avanzada diff --git a/docs/guide-es/tutorial-start-from-scratch.md b/docs/guide-es/tutorial-start-from-scratch.md index ca5e785..9633b99 100644 --- a/docs/guide-es/tutorial-start-from-scratch.md +++ b/docs/guide-es/tutorial-start-from-scratch.md @@ -39,7 +39,7 @@ Luego, pasa a modificar la estructura y contenido de la aplicación como te gust Hacer un Paquete ---------------- -Con el template definido, crea un repositorio Git a partir de él, y sube tus archivos ahí. Si tu template va a ser de código abierto, [Github](http://github.com) es el mejor lugar para alojarlo. Si tu intención es que el template no sea colaborativo, cualquier sitio de repositorios Git servirá. +Con el template definido, crea un repositorio Git a partir de él, y sube tus archivos ahí. Si tu template va a ser de código abierto, [Github](https://github.com) es el mejor lugar para alojarlo. Si tu intención es que el template no sea colaborativo, cualquier sitio de repositorios Git servirá. Ahora, necesitas registrar tu paquete para Composer. Para templates públicos, el paquete debe ser registrado en [Packagist](https://packagist.org/). Para templates privados, es un poco más complicado registrarlo. Puedes ver instrucciones para hacerlo en la [documentación de Composer](https://getcomposer.org/doc/05-repositories.md#hosting-your-own). diff --git a/docs/guide-es/tutorial-yii-integration.md b/docs/guide-es/tutorial-yii-integration.md index d8f6385..1140709 100644 --- a/docs/guide-es/tutorial-yii-integration.md +++ b/docs/guide-es/tutorial-yii-integration.md @@ -41,7 +41,7 @@ Si la librería lleva su propio cargador automático (autoloader), puedes instal Es recomendable que la instalación se termine antes de incluir el fichero `Yii.php` de forma que el cargador automático tenga precedencia al cargar de forma automática las clases. -Si la librería no provee un cargador automático de clases, pero la denominación de sus clases sigue el [PSR-4](http://www.php-fig.org/psr/psr-4/), +Si la librería no provee un cargador automático de clases, pero la denominación de sus clases sigue el [PSR-4](https://www.php-fig.org/psr/psr-4/), puedes usar el cargador automático de Yii para cargar de forma automática las clases. Todo lo que necesitas es declarar un [alias raíz](concept-aliases.md#defining-aliases) para cada espacio de nombres (namespace) raiz usado en sus clases. Por ejemplo, asume que has instalado una librería en el directorio `vendor/foo/bar`, y que las clases de la librería están bajo el espacio de nombres raiz `xyz`. diff --git a/docs/guide-fr/caching-data.md b/docs/guide-fr/caching-data.md index 9cfabfd..09a5c3d 100644 --- a/docs/guide-fr/caching-data.md +++ b/docs/guide-fr/caching-data.md @@ -49,7 +49,7 @@ $data = $cache->getOrSet($key, function () use ($user_id) { La mise en cache s'appuie sur ce qu'on appelle les *composants de mise en cache* qui représentent des supports de mise en cache tels que les mémoires, les fichiers et les bases de données. -Les composants de mise en cache sont généralement enregistrés en tant que [composants d'application](structure-application-components.md) de façon à ce qu'ils puissent être configurables et accessibles globalement. Le code qui suit montre comment configurer le composant d'application `cache` pour qu'il utilise [memcached](http://memcached.org/) avec deux serveurs de cache : +Les composants de mise en cache sont généralement enregistrés en tant que [composants d'application](structure-application-components.md) de façon à ce qu'ils puissent être configurables et accessibles globalement. Le code qui suit montre comment configurer le composant d'application `cache` pour qu'il utilise [memcached](https://memcached.org/) avec deux serveurs de cache : ```php 'components' => [ @@ -96,13 +96,13 @@ Yii prend en charge un large panel de supports de stockage pour cache. Ce qui su * [[yii\caching\DummyCache]]: tient lieu de cache à remplacer qui n'assure pas de mise en cache réelle. Le but de ce composant est de simplifier le code qui a besoin de vérifier la disponibilité du cache. Par exemple, lors du développement ou si le serveur ne dispose pas de la prise en charge d'un cache, vous pouvez configurer un composant de mise en cache pour qu'il utilise ce cache. Lorsque la prise en charge réelle de la mise en cache est activée, vous pouvez basculer sur le composant de mise en cache correspondant. Dans les deux cas, vous pouvez utiliser le même code `Yii::$app->cache->get($key)` pour essayer de retrouver les données du cache sans vous préoccuper du fait que `Yii::$app->cache` puisse être `null`. * [[yii\caching\FileCache]]: utilise des fichiers standards pour stocker les données en cache. Cela est particulièrement adapté à la mise en cache de gros blocs de données, comme le contenu d'une page. * [[yii\caching\MemCache]]: utilise le [memcache](https://www.php.net/manual/en/book.memcache.php) PHP et l'extension [memcached](https://www.php.net/manual/en/book.memcached.php). Cette option peut être considérée comme la plus rapide lorsqu'on utilise un cache dans des applications distribuées (p. ex. avec plusieurs serveurs, l'équilibrage de charge, etc.). -* [[yii\redis\Cache]]: met en œuvre un composant de mise en cache basé sur un stockage clé-valeur [Redis](http://redis.io/) +* [[yii\redis\Cache]]: met en œuvre un composant de mise en cache basé sur un stockage clé-valeur [Redis](https://redis.io/) (une version de redis égale ou supérieure à 2.6.12 est nécessaire). -* [[yii\caching\WinCache]]: utilise le [WinCache](http://iis.net/downloads/microsoft/wincache-extension) PHP +* [[yii\caching\WinCache]]: utilise le [WinCache](https://iis.net/downloads/microsoft/wincache-extension) PHP ([voir aussi l'extension](https://www.php.net/manual/en/book.wincache.php)). * [[yii\caching\XCache]] _(deprecated)_: utilise l'extension PHP [XCache](https://en.wikipedia.org/wiki/List_of_PHP_accelerators#XCache). * [[yii\caching\ZendDataCache]] _(deprecated)_: utilise le - [cache de données Zend](http://files.zend.com/help/Zend-Server-6/zend-server.htm#data_cache_component.htm) + [cache de données Zend](https://files.zend.com/help/Zend-Server-6/zend-server.htm#data_cache_component.htm) en tant que médium de cache sous-jacent. diff --git a/docs/guide-fr/concept-aliases.md b/docs/guide-fr/concept-aliases.md index c03103d..dabe0ab 100644 --- a/docs/guide-fr/concept-aliases.md +++ b/docs/guide-fr/concept-aliases.md @@ -100,7 +100,7 @@ Yii prédéfinit un jeu d'alias pour faire référence à des chemins de fichier - `@webroot`, le dossier Web racine de l'application en cours d'exécution. Il est déterminé en se basant sur le dossier qui contient le [script d'entrée](structure-entry-scripts.md). - `@web`, l'URL de base de l'application en cours d'exécution. Cet alias a la même valeur que [[yii\web\Request::baseUrl]]. - `@vendor`, le [[yii\base\Application::vendorPath|dossier vendor de Composer]]. Valeur par défaut `@app/vendor`. -- `@bower`, le dossier racine des [paquets bower](http://bower.io/). Valeur par défaut `@vendor/bower`. +- `@bower`, le dossier racine des [paquets bower](https://bower.io/). Valeur par défaut `@vendor/bower`. - `@npm`, le dossier racine des [paquets npm](https://www.npmjs.com/). Valeur par défaut `@vendor/npm`. L'alias `@yii` est défini lorsque vous incluez le fichier `Yii.php` dans votre [script d'entrée](structure-entry-scripts.md). Les alias restants sont définis dans le constructeur de l'application au moment où la [configuration](concept-configurations.md) de l'application est appliquée. diff --git a/docs/guide-fr/concept-behaviors.md b/docs/guide-fr/concept-behaviors.md index 23043be..4dc354c 100644 --- a/docs/guide-fr/concept-behaviors.md +++ b/docs/guide-fr/concept-behaviors.md @@ -1,7 +1,7 @@ Comportements ============= -Les comportements (*behaviors* sont des instances de la classe [[yii\base\Behavior]], ou de ses classes filles. Les comportements, aussi connus sous le nom de [mixins](http://en.wikipedia.org/wiki/Mixin), vous permettent d'améliorer les fonctionnalités d'une classe de [[yii\base\Component|composant]] existante sans avoir à modifier les héritages de cette classe. Le fait d'attacher un comportement à un composant injecte les méthodes et les propriétés de ce comportement dans le composant, rendant ces méthodes et ces propriétés accessibles comme si elles avaient été définies dans la classe du composant lui-même. En outre, un comportement peut répondre aux [événements](concept-events.md) déclenchés par le composant, ce qui permet aux comportements de personnaliser l'exécution normale du code du composant. +Les comportements (*behaviors* sont des instances de la classe [[yii\base\Behavior]], ou de ses classes filles. Les comportements, aussi connus sous le nom de [mixins](https://en.wikipedia.org/wiki/Mixin), vous permettent d'améliorer les fonctionnalités d'une classe de [[yii\base\Component|composant]] existante sans avoir à modifier les héritages de cette classe. Le fait d'attacher un comportement à un composant injecte les méthodes et les propriétés de ce comportement dans le composant, rendant ces méthodes et ces propriétés accessibles comme si elles avaient été définies dans la classe du composant lui-même. En outre, un comportement peut répondre aux [événements](concept-events.md) déclenchés par le composant, ce qui permet aux comportements de personnaliser l'exécution normale du code du composant. Définition des comportements diff --git a/docs/guide-fr/concept-di-container.md b/docs/guide-fr/concept-di-container.md index 6cba3d2..c547378 100644 --- a/docs/guide-fr/concept-di-container.md +++ b/docs/guide-fr/concept-di-container.md @@ -1,7 +1,7 @@ Conteneur d'injection de dépendances ==================================== -Un conteneur d'injection de dépendances (DI container) est un objet qui sait comment instancier et configurer des objets et tous leurs objets dépendants. [Cet article de Martin Fowler](http://martinfowler.com/articles/injection.html) explique très bien en quoi un conteneur d'injection de dépendances est utile. Ici nous expliquons essentiellement l'utilisation qui est faite du conteneur d'injection de dépendances que fournit Yii. +Un conteneur d'injection de dépendances (DI container) est un objet qui sait comment instancier et configurer des objets et tous leurs objets dépendants. [Cet article de Martin Fowler](https://martinfowler.com/articles/injection.html) explique très bien en quoi un conteneur d'injection de dépendances est utile. Ici nous expliquons essentiellement l'utilisation qui est faite du conteneur d'injection de dépendances que fournit Yii. Injection de dépendances @@ -461,7 +461,7 @@ Comme les dépendances sont nécessaires lorsque de nouveaux objets sont créés Résumé ------- -L'injection de dépendances et le [localisateur de services](concept-service-locator.md) sont tous deux des modèles de conception populaires qui permettent des construire des logiciels d'une manière faiblement couplée et plus testable. Nous vous recommandons fortement de lire [l'article de Martin](http://martinfowler.com/articles/injection.html) pour acquérir une compréhension plus profonde de l'injection de dépendances et du localisateur de services. +L'injection de dépendances et le [localisateur de services](concept-service-locator.md) sont tous deux des modèles de conception populaires qui permettent des construire des logiciels d'une manière faiblement couplée et plus testable. Nous vous recommandons fortement de lire [l'article de Martin](https://martinfowler.com/articles/injection.html) pour acquérir une compréhension plus profonde de l'injection de dépendances et du localisateur de services. Yii implémente son [localisateur de services](concept-service-locator.md) par dessus le conteneur d'injection de dépendances. Lorsqu'un localisateur de services essaye de créer une nouvelle instance d'un objet, il appelle le conteneur d'injection de dépendances. Ce dernier résout les dépendances automatiquement comme c'est expliqué plus haut. diff --git a/docs/guide-fr/db-active-record.md b/docs/guide-fr/db-active-record.md index 1c1016e..c858040 100644 --- a/docs/guide-fr/db-active-record.md +++ b/docs/guide-fr/db-active-record.md @@ -1,7 +1,7 @@ Enregistrement actif (*Active Record*) ===================================== -L'[enregistrement actif](http://en.wikipedia.org/wiki/Active_record_pattern) fournit une interface orientée objet pour accéder aux données stockées dans une base de données et les manipuler. +L'[enregistrement actif](https://en.wikipedia.org/wiki/Active_record_pattern) fournit une interface orientée objet pour accéder aux données stockées dans une base de données et les manipuler. Une classe d'enregistrement actif (ActiveRecord) est associée à une table de base de données, une instance de cette classe représente une ligne de cette table, et un *attribut* d'une instance d'enregistrement actif représente la valeur d'une colonne particulière dans cette ligne. Au lieu d'écrire des instructions SQL brutes, vous pouvez accéder aux attributs de l'objet enregistrement actif et appeler ses méthodes pour accéder aux données stockées dans les tables de la base de données et les manipuler. @@ -35,7 +35,7 @@ Yii assure la prise en charge de l'enregistrement actif (*Active Record*) pour l * Microsoft SQL Server 2008 ou versions postérieures : via [[yii\db\ActiveRecord]] * Oracle : via [[yii\db\ActiveRecord]] * CUBRID 9.3 ou versions postérieures : via [[yii\db\ActiveRecord]] - (Notez que, à cause d'un [bogue](http://jira.cubrid.org/browse/APIS-658) dans l'extension CUBRID 9.3, l'entourage des valeurs par des marques de citation ne fonctionne pas, c'est pourquoi vous avez besoin de CUBRID 9.3 à la fois comme client et comme serveur) + (Notez que, à cause d'un [bogue](https://jira.cubrid.org/browse/APIS-658) dans l'extension CUBRID 9.3, l'entourage des valeurs par des marques de citation ne fonctionne pas, c'est pourquoi vous avez besoin de CUBRID 9.3 à la fois comme client et comme serveur) * Sphinx : via [[yii\sphinx\ActiveRecord]], requiert l'extension `yii2-sphinx` * ElasticSearch : via [[yii\elasticsearch\ActiveRecord]], requiert l'extension `yii2-elasticsearch` diff --git a/docs/guide-fr/db-dao.md b/docs/guide-fr/db-dao.md index dabd159..e99a01a 100644 --- a/docs/guide-fr/db-dao.md +++ b/docs/guide-fr/db-dao.md @@ -7,11 +7,11 @@ Lorsque vous utilisez les objets d'accès aux bases de données de Yii, vous man Dans Yii 2.0, les objets d'accès aux bases de données prennent en charge les bases de données suivantes sans configuration supplémentaire : -- [MySQL](http://www.mysql.com/) +- [MySQL](https://www.mysql.com/) - [MariaDB](https://mariadb.com/) -- [SQLite](http://sqlite.org/) -- [PostgreSQL](http://www.postgresql.org/): version 8.4 ou plus récente. -- [CUBRID](http://www.cubrid.org/): version 9.3 ou plus récente. +- [SQLite](https://sqlite.org/) +- [PostgreSQL](https://www.postgresql.org/): version 8.4 ou plus récente. +- [CUBRID](https://www.cubrid.org/): version 9.3 ou plus récente. - [Oracle](https://www.oracle.com/database/) - [MSSQL](https://www.microsoft.com/en-us/sqlserver/default.aspx): version 2008 ou plus récente. @@ -366,7 +366,7 @@ Notez que quelques systèmes de gestion de base de données autorisent la défin > Note: PostgreSQL n'autorise pas la définition du niveau d'isolation tant que la transaction n'a pas démarré, aussi ne pouvez-vous pas spécifier le niveau d'isolation directement en démarrant la transaction. Dans ce cas, vous devez appeler [[yii\db\Transaction::setIsolationLevel()]] après que la transaction a démarré. -[isolation levels]: http://en.wikipedia.org/wiki/Isolation_%28database_systems%29#Isolation_levels +[isolation levels]: https://en.wikipedia.org/wiki/Isolation_%28database_systems%29#Isolation_levels ### Imbrication des transactions @@ -415,7 +415,7 @@ try { ## Réplication et éclatement lecture-écriture -Beaucoup de systèmes de gestion de bases de données prennent en charge la [réplication de la base de données](http://en.wikipedia.org/wiki/Replication_(computing)#Database_replication) pour obtenir une meilleure disponibilité et des temps de réponse de serveur plus courts. Avec la réplication de la base de données, les données sont répliquées depuis les serveurs dits *serveurs maîtres* vers les serveurs dit *serveurs esclaves*. Toutes les écritures et les mises à jour ont lieu sur les serveurs maîtres, tandis que les lectures ont lieu sur les serveurs esclaves. +Beaucoup de systèmes de gestion de bases de données prennent en charge la [réplication de la base de données](https://en.wikipedia.org/wiki/Replication_(computing)#Database_replication) pour obtenir une meilleure disponibilité et des temps de réponse de serveur plus courts. Avec la réplication de la base de données, les données sont répliquées depuis les serveurs dits *serveurs maîtres* vers les serveurs dit *serveurs esclaves*. Toutes les écritures et les mises à jour ont lieu sur les serveurs maîtres, tandis que les lectures ont lieu sur les serveurs esclaves. Pour tirer parti de la réplication des bases de données et réaliser l'éclatement lecture-écriture, vous pouvez configurer un composant [[yii\db\Connection]] comme le suivant : diff --git a/docs/guide-fr/db-migrations.md b/docs/guide-fr/db-migrations.md index 51cf22d..82c82e3 100644 --- a/docs/guide-fr/db-migrations.md +++ b/docs/guide-fr/db-migrations.md @@ -616,7 +616,7 @@ class m150101_185401_create_news_table extends Migration Notez que, généralement, si vous effectuez de multiples opérations de base de données dans `safeUp()`, vous devriez les défaire dans `safeDown()`. Dans l'exemple ci-dessus, dans `safeUp()`, nous créons d'abord la table puis nous insérons une ligne, tandis que, dans `safeDown`, nous commençons par supprimer la ligne, puis nous supprimons la table. -> Note: tous les systèmes de gestion de bases de données NE prennent PAS en charge les transactions. De plus, quelques requêtes de base de données ne peuvent être placées dans une transaction. Pour quelques exemples, reportez-vous à [entérinement implicite](http://dev.mysql.com/doc/refman/5.7/en/implicit-commit.html). Si c'est le cas, vous devez simplement mettre en œuvre `up()` et`down()`, à la place. +> Note: tous les systèmes de gestion de bases de données NE prennent PAS en charge les transactions. De plus, quelques requêtes de base de données ne peuvent être placées dans une transaction. Pour quelques exemples, reportez-vous à [entérinement implicite](https://dev.mysql.com/doc/refman/5.7/en/implicit-commit.html). Si c'est le cas, vous devez simplement mettre en œuvre `up()` et`down()`, à la place. ### Méthodes d'accès aux bases de données diff --git a/docs/guide-fr/db-query-builder.md b/docs/guide-fr/db-query-builder.md index 29450e5..ecfdc9c 100644 --- a/docs/guide-fr/db-query-builder.md +++ b/docs/guide-fr/db-query-builder.md @@ -296,7 +296,7 @@ L'opérande 2 peut être soit un tableau, soit un objet `Query`. Vous pouvez utiliser `false` ou un tableau vide pour indiquer que les valeurs sont déjà échappées et qu'aucun échappement ne doit être appliqué. Notez que lorsqu'un tableau de mise en correspondance pour l'échappement est utilisé (ou quand le troisième opérande n'est pas fourni), les valeurs sont automatiquement entourées par une paire de caractères `%`. - > Note: lors de l'utilisation de PostgreSQL vous pouvez aussi utiliser [`ilike`](http://www.postgresql.org/docs/8.3/static/functions-matching.html#FUNCTIONS-LIKE) + > Note: lors de l'utilisation de PostgreSQL vous pouvez aussi utiliser [`ilike`](https://www.postgresql.org/docs/8.3/static/functions-matching.html#FUNCTIONS-LIKE) >à la place de `like` pour une mise en correspondance insensible à la casse. - `or like`: similaire à l'opérateur `like` sauf que `OR`est utilisé pour concaténer les prédicats `LIKE` diff --git a/docs/guide-fr/input-validation.md b/docs/guide-fr/input-validation.md index f8fee37..2ac0c1d 100644 --- a/docs/guide-fr/input-validation.md +++ b/docs/guide-fr/input-validation.md @@ -494,7 +494,7 @@ JS; ### Validation différée -Si vous devez effectuer une validation asynchrone côté client, vous pouvez créer des [objets différés](http://api.jquery.com/category/deferred-object/). Par exemple, pour effectuer une validation AJAX personnalisée, vous pouvez utiliser le code suivant : +Si vous devez effectuer une validation asynchrone côté client, vous pouvez créer des [objets différés](https://api.jquery.com/category/deferred-object/). Par exemple, pour effectuer une validation AJAX personnalisée, vous pouvez utiliser le code suivant : ```php public function clientValidateAttribute($model, $attribute, $view) diff --git a/docs/guide-fr/output-data-widgets.md b/docs/guide-fr/output-data-widgets.md index fe70d29..c50b5c6 100644 --- a/docs/guide-fr/output-data-widgets.md +++ b/docs/guide-fr/output-data-widgets.md @@ -664,4 +664,4 @@ Qui génère un composant graphique [[yii\widgets\Pjax|Pjax]] enveloppant les co Lectures complémentaires ------------------------ -- [Rendering Data in Yii 2 with GridView and ListView](http://www.sitepoint.com/rendering-data-in-yii-2-with-gridview-and-listview/) d'Arno Slatius. +- [Rendering Data in Yii 2 with GridView and ListView](https://www.sitepoint.com/rendering-data-in-yii-2-with-gridview-and-listview/) d'Arno Slatius. diff --git a/docs/guide-fr/output-formatting.md b/docs/guide-fr/output-formatting.md index eb2f7e0..bfdef03 100644 --- a/docs/guide-fr/output-formatting.md +++ b/docs/guide-fr/output-formatting.md @@ -64,7 +64,7 @@ Le formateur prend en charge les formats de sortie suivants en relation avec les - [[yii\i18n\Formatter::asDate()|date]]: la valeur est formatée sous la forme d'une date, p. ex. `January 01, 2014`. - [[yii\i18n\Formatter::asTime()|time]]: la valeur est formatée sous la forme d'un temps, p. ex. `14:23`. - [[yii\i18n\Formatter::asDatetime()|datetime]]: la valeur est formatée sous la forme d'une date et d'un temps, p. ex. `January 01, 2014 14:23`. -- [[yii\i18n\Formatter::asTimestamp()|timestamp]]: la valeur est formatée sous la forme d'un [horodatage unix ](http://en.wikipedia.org/wiki/Unix_time), p. ex. `1412609982`. +- [[yii\i18n\Formatter::asTimestamp()|timestamp]]: la valeur est formatée sous la forme d'un [horodatage unix ](https://en.wikipedia.org/wiki/Unix_time), p. ex. `1412609982`. - [[yii\i18n\Formatter::asRelativeTime()|relativeTime]]: la valeur est formatée sous la forme d'un intervalle de temps entre un temps et le temps actuel dans une forme lisible par l'homme, p.ex. `1 hour ago`. - [[yii\i18n\Formatter::asDuration()|duration]]: la valeur est formatée comme une durée dans un format lisible par l'homme, p. ex. `1 day, 2 minutes`. diff --git a/docs/guide-fr/runtime-responses.md b/docs/guide-fr/runtime-responses.md index 26a7452..bd82c65 100644 --- a/docs/guide-fr/runtime-responses.md +++ b/docs/guide-fr/runtime-responses.md @@ -187,11 +187,11 @@ Si vous appelez la méthode d'envoi de fichiers dans des endroits autres qu'une Quelques serveurs Web assurent une prise en charge spéciale de l'envoi de fichiers appelée *X-Sendfile*. L'idée est de rediriger la requête d'un fichier sur le serveur Web qui sert directement le fichier. En conséquence, l'application Web peut terminer plus rapidement tandis que le serveur Web est en train d'envoyer le fichier. Pour utiliser cette fonctionnalité, vous pouvez appeler la méthode [[yii\web\Response::xSendFile()]]. La liste suivante résume, comment activer la fonctionnalité `X-Sendfile` pour quelques serveurs Web populaires : -- Apache: [X-Sendfile](http://tn123.org/mod_xsendfile) -- Lighttpd v1.4: [X-LIGHTTPD-send-file](http://redmine.lighttpd.net/projects/lighttpd/wiki/X-LIGHTTPD-send-file) -- Lighttpd v1.5: [X-Sendfile](http://redmine.lighttpd.net/projects/lighttpd/wiki/X-LIGHTTPD-send-file) +- Apache: [X-Sendfile](https://tn123.org/mod_xsendfile) +- Lighttpd v1.4: [X-LIGHTTPD-send-file](https://redmine.lighttpd.net/projects/lighttpd/wiki/X-LIGHTTPD-send-file) +- Lighttpd v1.5: [X-Sendfile](https://redmine.lighttpd.net/projects/lighttpd/wiki/X-LIGHTTPD-send-file) - Nginx: [X-Accel-Redirect](https://www.nginx.com/resources/wiki/start/topics/examples/xsendfile/) -- Cherokee: [X-Sendfile and X-Accel-Redirect](http://www.cherokee-project.com/doc/other_goodies.html#x-sendfile) +- Cherokee: [X-Sendfile and X-Accel-Redirect](https://www.cherokee-project.com/doc/other_goodies.html#x-sendfile) ## Envoi de la réponse diff --git a/docs/guide-fr/runtime-sessions-cookies.md b/docs/guide-fr/runtime-sessions-cookies.md index 092df61..b525205 100644 --- a/docs/guide-fr/runtime-sessions-cookies.md +++ b/docs/guide-fr/runtime-sessions-cookies.md @@ -120,7 +120,7 @@ La classe par défaut [[yii\web\Session]] stocke les données de session sous fo * [[yii\web\DbSession]]: stocke les données de session dans une base de données. * [[yii\web\CacheSession]]: stocke les données de session dans un cache avec l'aide d'un [composant cache](caching-data.md#cache-components) configuré. -* [[yii\redis\Session]]: stocke les données de session en utilisant le médium de stockage [redis](http://redis.io/) as the storage medium. +* [[yii\redis\Session]]: stocke les données de session en utilisant le médium de stockage [redis](https://redis.io/) as the storage medium. * [[yii\mongodb\Session]]: stocke les données de session dans une base de données de documents [MongoDB](https://www.mongodb.com/). Toutes ces classes de session prennent en charge le même jeu de méthodes d'API. En conséquence, vous pouvez changer de support de stockage sans avoir à modifier le code de votre application qui utilise ces sessions. diff --git a/docs/guide-fr/security-authorization.md b/docs/guide-fr/security-authorization.md index 6dfca73..9c12488 100644 --- a/docs/guide-fr/security-authorization.md +++ b/docs/guide-fr/security-authorization.md @@ -125,7 +125,7 @@ class SiteController extends Controller ## Contrôle d'accès basé sur les rôles -Le contrôle d'accès basé sur les rôles (Role-Based Access Control – RBAC) fournit un contrôle d'accès centralisé simple mais puissant. Reportez-vous à [Wikipedia](http://en.wikipedia.org/wiki/Role-based_access_control) pour des détails comparatifs entre le contrôle d'accès basé sur les rôles et d'autres schéma de contrôle d'accès plus traditionnels. +Le contrôle d'accès basé sur les rôles (Role-Based Access Control – RBAC) fournit un contrôle d'accès centralisé simple mais puissant. Reportez-vous à [Wikipedia](https://en.wikipedia.org/wiki/Role-based_access_control) pour des détails comparatifs entre le contrôle d'accès basé sur les rôles et d'autres schéma de contrôle d'accès plus traditionnels. Yii met en œuvre un contrôle d'accès basé sur les rôles général hiérarchisé, qui suit le [modèle NIST RBAC](https://csrc.nist.gov/CSRC/media/Publications/conference-paper/1992/10/13/role-based-access-controls/documents/ferraiolo-kuhn-92.pdf). Il fournit la fonctionnalité de contrôle d'accès basé sur les rôles via le [composant d'application](structure-application-components.md)[[yii\RBAC\ManagerInterface|authManager]]. diff --git a/docs/guide-fr/start-forms.md b/docs/guide-fr/start-forms.md index 63482d1..1072663 100644 --- a/docs/guide-fr/start-forms.md +++ b/docs/guide-fr/start-forms.md @@ -135,7 +135,7 @@ sera générée, dans laquelle le formulaire HTML sera affiché, ainsi que tout > Note: Dans cet exemple très simple, nous effectuons le rendu de la page de confirmation après soumission de données valides. En pratique, vous devriez envisager d'utiliser [[yii\web\Controller::refresh()|refresh()]] ou [[yii\web\Controller::redirect()|redirect()]] pour éviter les -[problèmes de multiple soumission de formulaire](http://fr.wikipedia.org/wiki/Post-Redirect-Get). +[problèmes de multiple soumission de formulaire](https://fr.wikipedia.org/wiki/Post-Redirect-Get). Créer des Vues diff --git a/docs/guide-fr/start-hello.md b/docs/guide-fr/start-hello.md index 10321f9..a7215af 100644 --- a/docs/guide-fr/start-hello.md +++ b/docs/guide-fr/start-hello.md @@ -71,7 +71,7 @@ La vue `dire` doit être enregistrée dans le fichier `views/site/dire.php`. Qua est appelée dans une action, elle cherchera un fichier PHP nommé `views/ControllerID/NomDeLaVue.php`. Notez que dans le code ci-dessus, le paramètre `message` est [[yii\helpers\Html::encode()|Encodé-HTML]] -avant d'être affiché. Cela est nécessaire car le paramètre vient de l'utilisateur, le rendant vulnérable aux [attaques cross-site scripting (XSS)](http://fr.wikipedia.org/wiki/Cross-site_scripting) en intégrant du code Javascript malicieux dans le paramètre. +avant d'être affiché. Cela est nécessaire car le paramètre vient de l'utilisateur, le rendant vulnérable aux [attaques cross-site scripting (XSS)](https://fr.wikipedia.org/wiki/Cross-site_scripting) en intégrant du code Javascript malicieux dans le paramètre. Bien entendu, vous pouvez insérer plus de contenu dans la vue `dire`. Le contenu peut être des tags HTMML, du texte brut, ou même des expressions PHP. En réalité, la vue `dire` est simplement un script PHP exécuté par la méthode [[yii\web\Controller::render()|render()]]. diff --git a/docs/guide-fr/start-installation.md b/docs/guide-fr/start-installation.md index 1058b9b..a989b7b 100644 --- a/docs/guide-fr/start-installation.md +++ b/docs/guide-fr/start-installation.md @@ -91,7 +91,7 @@ Mais il y a d'autres options d'installation disponibles : Installer les Assets (ici bibliothèques CSS et JavaScript) ----------------- -Yii s'appuie sur les paquets [Bower](http://bower.io/) et/ou [NPM](https://www.npmjs.com/) pour l'installation des bibliothèques CSS et JavaScript. +Yii s'appuie sur les paquets [Bower](https://bower.io/) et/ou [NPM](https://www.npmjs.com/) pour l'installation des bibliothèques CSS et JavaScript. Il utilise Composer pour les obtenir, permettant ainsi aux versions de paquet de PHP et à celles de CSS/JavaScript, d'être résolues en même temps. Cela peut être obtenue soit en utilisant [asset-packagist.org](https://asset-packagist.org) ou [composer asset plugin](https://github.com/fxpio/composer-asset-plugin). @@ -153,8 +153,8 @@ Configuration du serveur Web > Note: si vous voulez juste tester Yii sans intention de l'utiliser sur un serveur de production, vous pouvez ignorer ce paragraphe. -L'application installée selon les instructions ci-dessus devrait fonctionner *out of the box* (sans configuration supplémentaire) avec le [serveur HTTP Apache](http://httpd.apache.org/) ou le [serveur HTTP Nginx](http://nginx.org/), sous Windows, Mac OX X, ou Linux avec PHP 5.4 ou plus récent. Yii 2.0 est aussi compatible avec -[HHVM](http://hhvm.com/) de Facebook. Cependant, il existe des cas marginaux pour lesquels HHVM se comporte différemment du PHP natif; c'est pourquoi vous devez faire plus attention en utilisant HHVM.. +L'application installée selon les instructions ci-dessus devrait fonctionner *out of the box* (sans configuration supplémentaire) avec le [serveur HTTP Apache](https://httpd.apache.org/) ou le [serveur HTTP Nginx](https://nginx.org/), sous Windows, Mac OX X, ou Linux avec PHP 5.4 ou plus récent. Yii 2.0 est aussi compatible avec +[HHVM](https://hhvm.com/) de Facebook. Cependant, il existe des cas marginaux pour lesquels HHVM se comporte différemment du PHP natif; c'est pourquoi vous devez faire plus attention en utilisant HHVM.. Sur un serveur de production, vous pouvez configurer votre serveur Web afin que l'application soit accessible via l'URL `http://www.example.com/index.php` au lieu de `http://www.example.com/basic/web/index.php`. Cela implique que le dossier racine de votre serveur Web pointe vers le dossier `basic/web`. Vous pouvez également cacher `index.php` dans l'URL, comme décrit dans la partie [Génération et traitement des URL](runtime-url-handling.md), vous y apprendrez comment configurer votre serveur Apache ou Nginx pour atteindre ces objectifs. diff --git a/docs/guide-fr/start-looking-ahead.md b/docs/guide-fr/start-looking-ahead.md index 1e512a1..a4bdd9d 100644 --- a/docs/guide-fr/start-looking-ahead.md +++ b/docs/guide-fr/start-looking-ahead.md @@ -35,4 +35,4 @@ Cette section va résumer les ressources Yii disponibles pour vous aider à êtr - Facebook: - Twitter: - LinkedIn: - - Stackoverflow: + - Stackoverflow: diff --git a/docs/guide-fr/start-workflow.md b/docs/guide-fr/start-workflow.md index c68778c..545cd83 100644 --- a/docs/guide-fr/start-workflow.md +++ b/docs/guide-fr/start-workflow.md @@ -57,7 +57,7 @@ basic/ chemin de base de l'application Dans l'ensemble, les fichiers de l'application peuvent être séparés en deux types : ceux situés dans `basic/web` et ceux situés dans d'autres répertoires. Les premiers peuvent être atteints directement en HTTP (c'est à dire dans un navigateur), tandis que les seconds ne peuvent et ne doivent pas l'être. -Yii est mis en œuvre selon le modèle de conception [modèle-vue-contrôleur (MVC)](http://wikipedia.org/wiki/Model-view-controller), +Yii est mis en œuvre selon le modèle de conception [modèle-vue-contrôleur (MVC)](https://wikipedia.org/wiki/Model-view-controller), ce qui se reflète dans l'organisation des répertoires ci-dessus. Le répertoire `models` contient toutes les [classes modèles](structure-models.md), le répertoire `views` contient tous les [scripts de vue](structure-views.md), et le répertoire `controllers` contient toutes les [classes contrôleurs](structure-controllers.md). diff --git a/docs/guide-fr/structure-applications.md b/docs/guide-fr/structure-applications.md index 3814445..2d93660 100644 --- a/docs/guide-fr/structure-applications.md +++ b/docs/guide-fr/structure-applications.md @@ -234,7 +234,7 @@ La valeur par défaut de cette propriété est `en`, pour anglais. Vous devez c La valeur de cette propriété détermine des aspects variés de l'[internationalisation](tutorial-i18n.md) tels que la traduction des messages, le formatage des dates et des nombres, etc. Par exemple, l'objet graphique [[yii\jui\DatePicker]] utilise la valeur de cette propriété pour déterminer dans quelle langue le calendrier doit être affiché et comment les dates doivent être formatées. -La spécification de la langue par une [étiquette IETF d'identification de langue ](http://en.wikipedia.org/wiki/IETF_language_tag) est recommandée. Par exemple, `en` signifie anglais, tandis que `en-US` signifie anglais (États-Unis).. +La spécification de la langue par une [étiquette IETF d'identification de langue ](https://en.wikipedia.org/wiki/IETF_language_tag) est recommandée. Par exemple, `en` signifie anglais, tandis que `en-US` signifie anglais (États-Unis).. Pour plus d'informations sur cette propriété, reportez-vous à la section [Internationalisation](tutorial-i18n.md). diff --git a/docs/guide-fr/structure-assets.md b/docs/guide-fr/structure-assets.md index c0c6730..df87aee 100644 --- a/docs/guide-fr/structure-assets.md +++ b/docs/guide-fr/structure-assets.md @@ -79,7 +79,7 @@ Chaque fichier JavaScript peut être spécifié dans l'un des formats suivants  Le chemin réel du fichier peut être déterminé en préfixant le chemin relatif avec le [[yii\web\AssetManager::basePath| chemin de base]], et l'URL réelle du fichier peut être déterminée en préfixant le chemin relatif avec l'[[yii\web\AssetManager::baseUrl|URL de base]]. - Une URL absolue représentant un fichier JavaScript externe. -Par exemple , `http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js` ou +Par exemple , `https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js` ou `//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js`. * [[yii\web\AssetBundle::depends|depends (dépendances)]]: un tableau listant les paquets de ressources dont ce paquet dépend (brièvement expliqué). @@ -206,7 +206,7 @@ L'exemple ci-dessus définit un paquet de ressources pour le [paquet "fontawesom ### Installation des ressources Bower et NPM -La plupart des paquets JavaScript/CSS sont gérés par le gestionnaire de paquets [Bower](http://bower.io/) et/ou le gestionnaire de paquets [NPM](https://www.npmjs.com/). Dans le monde PHP, nous disposons de Composer, qui gère les dépendances, mais il est possible de charger des paquets Bower et NPM comme des paquets PHP en utilisant `composer.json`. +La plupart des paquets JavaScript/CSS sont gérés par le gestionnaire de paquets [Bower](https://bower.io/) et/ou le gestionnaire de paquets [NPM](https://www.npmjs.com/). Dans le monde PHP, nous disposons de Composer, qui gère les dépendances, mais il est possible de charger des paquets Bower et NPM comme des paquets PHP en utilisant `composer.json`. Pour cela, nous devons configurer quelque peu notre composer. Il y a deux options possibles : @@ -468,7 +468,7 @@ Si votre code dépend de jQuery, jQuery UI ou Bootstrap, vous devriez utiliser l ## Conversion de ressources -Au lieu d'écrire directement leur code CSS et/ou JavaScript, les développeurs l'écrivent souvent dans une syntaxe étendue et utilisent des outils spéciaux pour le convertir en CSS/JavaScript. Par exemple, pour le code CSS vous pouvez utiliser [LESS](http://lesscss.org/) ou [SCSS](http://sass-lang.com/); et pour JavaScript, vous pouvez utiliser [TypeScript](http://www.typescriptlang.org/). +Au lieu d'écrire directement leur code CSS et/ou JavaScript, les développeurs l'écrivent souvent dans une syntaxe étendue et utilisent des outils spéciaux pour le convertir en CSS/JavaScript. Par exemple, pour le code CSS vous pouvez utiliser [LESS](https://lesscss.org/) ou [SCSS](https://sass-lang.com/); et pour JavaScript, vous pouvez utiliser [TypeScript](http://www.typescriptlang.org/). Vous pouvez lister les fichiers de ressources écrits dans une syntaxe étendue dans les propriétés [[yii\web\AssetBundle::css|css]] et [[yii\web\AssetBundle::js|js]] d'un paquet de ressources. diff --git a/docs/guide-fr/structure-controllers.md b/docs/guide-fr/structure-controllers.md index 2970824..aa9fea4 100644 --- a/docs/guide-fr/structure-controllers.md +++ b/docs/guide-fr/structure-controllers.md @@ -1,7 +1,7 @@ Contrôleurs =========== -Les contrôleurs font partie du modèle d'architecture [MVC](http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller) (Modèle Vue Contrôleur). Ce sont des objets dont la classe étend [[yii\base\Controller]]. Ils sont chargés de traiter les requêtes et de générer les réponses. En particulier, après que l'objet [application](structure-applications.md) leur a passé le contrôle, ils analysent les données de la requête entrante, les transmettent aux [modèles](structure-models.md), injectent le résultat des modèles dans les [vues](structure-views.md) et, pour finir, génèrent les réponses sortantes. +Les contrôleurs font partie du modèle d'architecture [MVC](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller) (Modèle Vue Contrôleur). Ce sont des objets dont la classe étend [[yii\base\Controller]]. Ils sont chargés de traiter les requêtes et de générer les réponses. En particulier, après que l'objet [application](structure-applications.md) leur a passé le contrôle, ils analysent les données de la requête entrante, les transmettent aux [modèles](structure-models.md), injectent le résultat des modèles dans les [vues](structure-views.md) et, pour finir, génèrent les réponses sortantes. ## Actions diff --git a/docs/guide-fr/structure-extensions.md b/docs/guide-fr/structure-extensions.md index 6eb2b35..3331b25 100644 --- a/docs/guide-fr/structure-extensions.md +++ b/docs/guide-fr/structure-extensions.md @@ -59,7 +59,7 @@ Dans quelques cas rares, vous désirez installer quelques, ou toutes les, extens 2. Installer la classe *autoloader* procurée par les extensions, si elles en possèdent. 3. Télécharger et installer toutes les extensions dont vos extensions dépendent selon les instructions. -Si une extension ne possède pas de classe *autoloader* mais obéit à la [norme PSR-4](http://www.php-fig.org/psr/psr-4/), vous pouvez utiliser la classe *autoloader* procurée par Yii pour charger automatiquement les classes d'extension. Tout ce que vous avez à faire, c'est de déclarer un [alias racine](concept-aliases.md#defining-aliases) pour le dossier racine de l'extension. Par exemple, en supposant que vous avez installé une extension dans le dossier `vendor/mycompany/myext`, et que les classes d'extension sont sous l'espace de noms `myext`, alors vous pouvez inclure le code suivant dans la configuration de votre application : +Si une extension ne possède pas de classe *autoloader* mais obéit à la [norme PSR-4](https://www.php-fig.org/psr/psr-4/), vous pouvez utiliser la classe *autoloader* procurée par Yii pour charger automatiquement les classes d'extension. Tout ce que vous avez à faire, c'est de déclarer un [alias racine](concept-aliases.md#defining-aliases) pour le dossier racine de l'extension. Par exemple, en supposant que vous avez installé une extension dans le dossier `vendor/mycompany/myext`, et que les classes d'extension sont sous l'espace de noms `myext`, alors vous pouvez inclure le code suivant dans la configuration de votre application : ```php [ @@ -148,7 +148,7 @@ Losqu'un utilisateur exécute `composer install` pour installer une extension, l Bien sûr, votre extension dépend de Yii. C'est pourquoi, vous devez lister (`yiisoft/yii2`) dans l'entrée `require` dans `composer.json`. Si votre extension dépend aussi d'autres extensions ou bibliothèques de tierces parties, vous devez les lister également. Assurez-vous que vous de lister également les contraintes de versions appropriées (p. ex. `1.*`, `@stable`) pour chacun des paquets dont votre extension dépend. Utilisez des dépendances stables lorsque votre extension est publiée dans une version stable. -La plupart des paquets JavaScript/CSS sont gérés par [Bower](http://bower.io/) et/ou [NPM](https://www.npmjs.com/), +La plupart des paquets JavaScript/CSS sont gérés par [Bower](https://bower.io/) et/ou [NPM](https://www.npmjs.com/), plutôt que par Composer. Yii utilise le [greffon *assets* de Composer(https://github.com/fxpio/composer-asset-plugin) pour activer la gestion de ce genre de paquets par Composer. Si votre extension dépend d'un paquet Bower, vous pouvez simplement lister la dépendance dans `composer.json` comme ceci : ```json @@ -193,7 +193,7 @@ Parce que les extensions sont prévues pour être utilisées par d'autres person #### Espaces de noms -Pour éviter les collisions de noms et rendre le chargement des classes de votre extension automatique, vous devez utiliser des espaces de noms et nommer les classes de votre extension en respectant la [norme PSR-4](http://www.php-fig.org/psr/psr-4/) ou la [norme PSR-0](http://www.php-fig.org/psr/psr-0/). +Pour éviter les collisions de noms et rendre le chargement des classes de votre extension automatique, vous devez utiliser des espaces de noms et nommer les classes de votre extension en respectant la [norme PSR-4](https://www.php-fig.org/psr/psr-4/) ou la [norme PSR-0](https://www.php-fig.org/psr/psr-0/). Vos noms de classe doivent commencer par `vendorName\extensionName`, où `extensionName` est similaire au nom du projet dans le nom du paquet sauf qu'il doit contenir le préfixe `yii2-`. Par exemple, pour l'extension `yiisoft/yii2-imagine`, nous utilisons l'espace de noms `yii\imagine` pour ses classes. @@ -278,7 +278,7 @@ Il est recommandé que créiez des cas de test variés pour tester votre extensi #### Numérotation des versions -Vous devriez donner à chacune des versions publiées de votre extension un numéro (p. ex. `1.0.1`). Nous recommandons de suivre la pratique de la [numérotation sémantique des versions](http://semver.org) lors de la détermination d'un numéro de version. +Vous devriez donner à chacune des versions publiées de votre extension un numéro (p. ex. `1.0.1`). Nous recommandons de suivre la pratique de la [numérotation sémantique des versions](https://semver.org) lors de la détermination d'un numéro de version. #### Publication @@ -286,7 +286,7 @@ Vous devriez donner à chacune des versions publiées de votre extension un num Pour permettre aux autres personnes de connaître votre extension, vous devez la publier. Si c'est la première fois que vous publiez l'extension, vous devez l'enregistrer sur un dépôt Composer tel que [Packagist](https://packagist.org/). Ensuite, tout ce que vous avez à faire, c'est de créer une balise de version (p. ex. `v1.0.1`) sur le dépôt VCS de votre extension et de notifier au dépôt Composer la nouvelle version. Les gens seront capables de trouver votre nouvelle version et, soit de l'installer, soit de la mettre à jour via le dépôt Composer. Dans les versions de votre extension, en plus des fichiers de code, vous devez envisager d'inclure ce qui suit par aider les gens à connaître votre extension et à l'utiliser : -* Un ficher *readme* (lisez-moi) dans le dossier racine du paquet : il doit décrire ce que fait votre extension, comment l'installer et l'utiliser. Nous vous recommandons de l'écrire dans le format [Markdown](http://daringfireball.net/projects/markdown/) et de nommer ce fichier `readme.md`. +* Un ficher *readme* (lisez-moi) dans le dossier racine du paquet : il doit décrire ce que fait votre extension, comment l'installer et l'utiliser. Nous vous recommandons de l'écrire dans le format [Markdown](https://daringfireball.net/projects/markdown/) et de nommer ce fichier `readme.md`. * Un fichier *changelog* (journal des modifications) dans le dossier racine du paquet : il liste les changements apportés dans chacune des versions. Ce fichier peut être écrit dans le format Markdown et nommé `changelog.md`. * Un fichier *upgrade* (mise à jour) dans le dossier racine du paquet : il donne les instructions sur la manière de mettre l'extension à jour en partant d'une version précédente. Ce fichier peut être écrit dans le format Markdown et nommé `upgrade.md`. * Tutorials, demos, screenshots, etc.: ces derniers sont nécessaires si votre extension fournit de nombreuses fonctionnalités qui ne peuvent être couvertes dans le fichier readme. @@ -303,19 +303,19 @@ Yii fournit les extensions du noyau suivantes (ou ["les extensions officielles"] - [yiisoft/yii2-apidoc](https://www.yiiframework.com/extension/yiisoft/yii2-apidoc) : fournit un générateur d'API extensible et de haute performance. Elle est aussi utilisée pour générer l'API du noyau du framework. - [yiisoft/yii2-authclient](https://www.yiiframework.com/extension/yiisoft/yii2-authclient) : fournit un jeu de clients d'authentification courants tels que Facebook OAuth2 client, GitHub OAuth2 client. -- [yiisoft/yii2-bootstrap](https://www.yiiframework.com/extension/yiisoft/yii2-bootstrap) : fournit un jeu d'objets graphiques qui encapsulent les composants et les greffons de [Bootstrap](http://getbootstrap.com/). +- [yiisoft/yii2-bootstrap](https://www.yiiframework.com/extension/yiisoft/yii2-bootstrap) : fournit un jeu d'objets graphiques qui encapsulent les composants et les greffons de [Bootstrap](https://getbootstrap.com/). - [yiisoft/yii2-debug](https://www.yiiframework.com/extension/yiisoft/yii2-debug) : fournit la prise en charge du débogage des applications Yii. Lorsque cette extension est utilisée, une barre de débogage apparaît au pied de chacune des pages. Cette extension fournit aussi un jeu de pages autonomes pour afficher des informations de débogage plus détaillées. - [yiisoft/yii2-elasticsearch](https://www.yiiframework.com/extension/yiisoft/yii2-elasticsearch) : fournit la prise en charge d'[Elasticsearch](https://www.elastic.co/). Elle inclut un moteur de requêtes/recherches de base et met en œuvre le motif [Active Record](db-active-record.md) qui permet de stocker des enregistrement actifs dans Elasticsearch. - [yiisoft/yii2-faker](https://www.yiiframework.com/extension/yiisoft/yii2-faker) : fournit la prise en charge de [Faker](https://www.yiiframework.com/extension/fzaninotto/Faker) pour générer des données factices pour vous. - [yiisoft/yii2-gii](https://www.yiiframework.com/extension/yiisoft/yii2-gii) : fournit un générateur de code basé sur le Web qui est hautement extensible et peut être utilisé pour générer rapidement des modèles, des formulaires, des modules, des requêtes CRUD, etc. - [yiisoft/yii2-httpclient](https://www.yiiframework.com/extension/yiisoft/yii2-httpclient) : provides an HTTP client. - [yiisoft/yii2-imagine](https://github.com/yiisoft/yii2-imagine) : fournit des fonctionnalités couramment utilisées de manipulation d'images basées sur [Imagine](https://www.yiiframework.com/extension/yiisoft/yii2-imagine). -- [yiisoft/yii2-jui](https://www.yiiframework.com/extension/yiisoft/yii2-jui) : fournit un jeu d'objets graphiques qui encapsulent les interactions et les objets graphiques de [JQuery UI](http://jqueryui.com/). +- [yiisoft/yii2-jui](https://www.yiiframework.com/extension/yiisoft/yii2-jui) : fournit un jeu d'objets graphiques qui encapsulent les interactions et les objets graphiques de [JQuery UI](https://jqueryui.com/). - [yiisoft/yii2-mongodb](https://www.yiiframework.com/extension/yiisoft/yii2-mongodb) : fournit la prise en charge de [MongoDB](https://www.mongodb.com/). Elle inclut des fonctionnalités telles que les requêtes de base, les enregistrements actifs, les migrations, la mise en cache, la génération de code, etc. - [yiisoft/yii2-queue](https://www.yiiframework.com/extension/yiisoft/yii2-queue): fournit la prise en charge pour exécuter des tâches en asynchrone via des queues. Il prend en charge les queues en se basant sur, DB, Redis, RabbitMQ, AMQP, Beanstalk et Gearman. -- [yiisoft/yii2-redis](https://github.com/yiisoft/yii2-redis) : fournit la prise en charge de [redis](http://redis.io/). Elle inclut des fonctionnalités telles que les requêtes de base, les enregistrements actifs, la mise en cache, etc. -- [yiisoft/yii2-shell](https://www.yiiframework.com/extension/yiisoft/yii2-shell): fournit un interprète de commandes (shell) basé sur [psysh](http://psysh.org/). -- [yiisoft/yii2-smarty](https://www.yiiframework.com/extension/yiisoft/yii2-smarty) : fournit un moteur de modèles basé sur [Smarty](http://www.smarty.net/). +- [yiisoft/yii2-redis](https://github.com/yiisoft/yii2-redis) : fournit la prise en charge de [redis](https://redis.io/). Elle inclut des fonctionnalités telles que les requêtes de base, les enregistrements actifs, la mise en cache, etc. +- [yiisoft/yii2-shell](https://www.yiiframework.com/extension/yiisoft/yii2-shell): fournit un interprète de commandes (shell) basé sur [psysh](https://psysh.org/). +- [yiisoft/yii2-smarty](https://www.yiiframework.com/extension/yiisoft/yii2-smarty) : fournit un moteur de modèles basé sur [Smarty](https://www.smarty.net/). - [yiisoft/yii2-sphinx](https://github.com/yiisoft/yii2-sphinx) : fournit la prise en charge de [Sphinx](https://www.yiiframework.com/extension/yiisoft/yii2-sphinx). Elle inclut des fonctionnalités telles que les requêtes de base, les enregistrements actifs, la génération de code, etc. - [yiisoft/yii2-swiftmailer](https://www.yiiframework.com/extension/yiisoft/yii2-swiftmailer) : fournit les fonctionnalités d'envoi de courriels basées sur [swiftmailer](http://swiftmailer.org/). - [yiisoft/yii2-twig](https://www.yiiframework.com/extension/yiisoft/yii2-twig) : fournit un moteur de modèles basé sur [Twig](https://twig.symfony.com/). @@ -327,7 +327,7 @@ Les extensions officielles suivantes sont valables pour les versions Yii 2.1 et - [yiisoft/yii2-jquery](https://www.yiiframework.com/extension/yiisoft/yii2-jquery): fournit une prise en charge de [jQuery](https://jquery.com/). - [yiisoft/yii2-maskedinput](https://www.yiiframework.com/extension/yiisoft/yii2-maskedinput): - fournit un composant graphique de saisie masqué basé sur [jQuery Input Mask plugin](http://robinherbots.github.io/Inputmask/). + fournit un composant graphique de saisie masqué basé sur [jQuery Input Mask plugin](https://robinherbots.github.io/Inputmask/). - [yiisoft/yii2-mssql](https://www.yiiframework.com/extension/yiisoft/yii2-mssql): fournit la prise en charge de [MSSQL](https://www.microsoft.com/sql-server/). - [yiisoft/yii2-oracle](https://www.yiiframework.com/extension/yiisoft/yii2-oracle): diff --git a/docs/guide-fr/structure-filters.md b/docs/guide-fr/structure-filters.md index 1db3150..7b4a873 100644 --- a/docs/guide-fr/structure-filters.md +++ b/docs/guide-fr/structure-filters.md @@ -117,7 +117,7 @@ Pour plus de détails sur le contrôle d'accès en général, reportez-vous à l ### Filtres de méthodes d'authentification Les filtres de méthodes d'authentification sont utilisés pour authentifier un utilisateur qui utilise des méthodes d'authentification variées comme -[HTTP Basic Auth](http://en.wikipedia.org/wiki/Basic_access_authentication) ou [OAuth 2](http://oauth.net/2/). Les classes de filtre sont dans l'espace de noms `yii\filters\auth`. +[HTTP Basic Auth](https://en.wikipedia.org/wiki/Basic_access_authentication) ou [OAuth 2](https://oauth.net/2/). Les classes de filtre sont dans l'espace de noms `yii\filters\auth`. L'exemple qui suit montre comment vous pouvez utiliser [[yii\filters\auth\HttpBasicAuth]] pour authentifier un utilisateur qui utilise un jeton d'accès basé sur la méthode *HTTP Basic Auth*. Notez qu'afin que cela fonctionne, votre [[yii\web\User::identityClass|classe *identity* de l'utilisateur]] doit implémenter l'interface [[yii\web\IdentityInterface::findIdentityByAccessToken()|findIdentityByAccessToken()]]. @@ -250,7 +250,7 @@ Reportez-vous à la section [Page Caching](caching-page.md) pour plus de détail ### [[yii\filters\RateLimiter|RateLimiter]] -*RateLimiter* met en œuvre un algorithme de limitation de débit basé sur l'[algorithme leaky bucket](http://en.wikipedia.org/wiki/Leaky_bucket). On l'utilise en premier lieu dans la mise en œuvre des API pleinement REST. Reportez-vous à la section [limitation de débit](rest-rate-limiting.md) pour plus de détails sur l'utilisation de ce filtre. +*RateLimiter* met en œuvre un algorithme de limitation de débit basé sur l'[algorithme leaky bucket](https://en.wikipedia.org/wiki/Leaky_bucket). On l'utilise en premier lieu dans la mise en œuvre des API pleinement REST. Reportez-vous à la section [limitation de débit](rest-rate-limiting.md) pour plus de détails sur l'utilisation de ce filtre. ### [[yii\filters\VerbFilter|VerbFilter]] diff --git a/docs/guide-fr/structure-models.md b/docs/guide-fr/structure-models.md index 74bdab0..bf4f385 100644 --- a/docs/guide-fr/structure-models.md +++ b/docs/guide-fr/structure-models.md @@ -1,7 +1,7 @@ Modèles ======= -Les modèles font partie du modèle d'architecture [MVC](http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller) (Modèle Vue Contrôleur). +Les modèles font partie du modèle d'architecture [MVC](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller) (Modèle Vue Contrôleur). Ces objets représentent les données à traiter, les règles et la logique de traitement. Vous pouvez créer des classes de modèle en étendant la classe [[yii\base\Model]] ou ses classe filles. La classe de base [[yii\base\Model]] prend en charge des fonctionnalités nombreuses et utiles : diff --git a/docs/guide-fr/structure-overview.md b/docs/guide-fr/structure-overview.md index 0df348c..dd6e4ee 100644 --- a/docs/guide-fr/structure-overview.md +++ b/docs/guide-fr/structure-overview.md @@ -2,7 +2,7 @@ Vue d'ensemble ======== Les applications Yii sont organisées suivant le modèle de conception -[model-view-controller (MVC)](http://wikipedia.org/wiki/Model-view-controller). Les [Modèles](structure-models.md) +[model-view-controller (MVC)](https://wikipedia.org/wiki/Model-view-controller). Les [Modèles](structure-models.md) représentent les données, la logique métier et les règles; les [vues](structure-views.md) sont les représentations visuelles des modèles, et les [contrôleurs](structure-controllers.md) prennent une entrée et la convertissent en commandes pour les [modèles](structure-models.md) et les [vues](structure-views.md). diff --git a/docs/guide-fr/structure-views.md b/docs/guide-fr/structure-views.md index e23aa64..8f90ccc 100644 --- a/docs/guide-fr/structure-views.md +++ b/docs/guide-fr/structure-views.md @@ -1,7 +1,7 @@ Vues ===== -Les vues font partie du modèle d'architecture [MVC](http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller) (Modèle Vue Contrôleur). +Les vues font partie du modèle d'architecture [MVC](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller) (Modèle Vue Contrôleur). Elles sont chargées de présenter les données à l'utilisateur final. Dans une application Web, les vues sont ordinairement créées en termes de *modèles de vue* qui sont des script PHP contenant principalement du code HTML et du code PHP relatif à la présentation. Elles sont gérées par le [[yii\web\View|view]] [composant application](structure-application-components.md) qui fournit des méthodes d'usage courant pour faciliter la composition des vues et leur rendu. Par souci de simplicité, nous appellerons *vues* les modèles de vue et les fichiers de modèle de vue. @@ -42,7 +42,7 @@ En plus de `$this`, il peut aussi y avoir d'autres variables prédéfinies dans ### Sécurité -Lors de la création de vues qui génèrent des pages HTML, il est important que vous encodiez et/ou filtriez les données en provenance de l'utilisateur final avant des les présenter. Autrement, votre application serait sujette aux [attaques par injection de scripts (*cross-site scripting*)](http://en.wikipedia.org/wiki/Cross-site_scripting). +Lors de la création de vues qui génèrent des pages HTML, il est important que vous encodiez et/ou filtriez les données en provenance de l'utilisateur final avant des les présenter. Autrement, votre application serait sujette aux [attaques par injection de scripts (*cross-site scripting*)](https://en.wikipedia.org/wiki/Cross-site_scripting). Pour afficher du texte simple, commencez par l'encoder en appelant la méthode [[yii\helpers\Html::encode()]]. Par exemple, le code suivant encode le nom d'utilisateur (*username*) avant de l'afficher : diff --git a/docs/guide-fr/tutorial-i18n.md b/docs/guide-fr/tutorial-i18n.md index 34db0b1..55109ed 100644 --- a/docs/guide-fr/tutorial-i18n.md +++ b/docs/guide-fr/tutorial-i18n.md @@ -10,7 +10,7 @@ Une *locale* est un jeu de paramètres qui définissent la langue de l'utilisate Elle est généralement identifiée par un identifiant (ID), lui-même constitué par un identifiant de langue et un identifiant de région. Par exemple, l'identifiant `en-US` représente la locale *anglais* pour la langue et *États-Unis* pour la région. -Pour assurer la cohérence, tous les identifiants utilisés par les application Yii doivent être présentés sous leur forme canonique `ll-CC`, où `ll` est un code à 2 ou 3 lettres pour la langue conforme à la norme [ISO-639](http://www.loc.gov/standards/iso639-2/) et `CC` est un code à deux lettres pour le pays conforme à la norme [ISO-3166](http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html). +Pour assurer la cohérence, tous les identifiants utilisés par les application Yii doivent être présentés sous leur forme canonique `ll-CC`, où `ll` est un code à 2 ou 3 lettres pour la langue conforme à la norme [ISO-639](https://www.loc.gov/standards/iso639-2/) et `CC` est un code à deux lettres pour le pays conforme à la norme [ISO-3166](https://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html). Pour plus de détails sur les locales, reportez-vous à la [documentation du projet ICU](https://unicode-org.github.io/icu/userguide/locale/#the-locale-concept). Dans Yii, nous utilisons souvent le mot « langue » pour faire référence à la locale. @@ -327,7 +327,7 @@ tandis que `one` correspond à `21` ou `101`: ``` Ces noms d'arguments spéciaux tels que `other`, `few`, `many` et autres varient en fonction de la langue. Pour savoir lesquels utiliser pour une locale particulière, reportez-vous aux "Plural Rules, Cardinal" à [https://intl.rmcreative.ru/](https://intl.rmcreative.ru/). -En alternative, vous pouvez vous reporter aux [rules reference at unicode.org](http://cldr.unicode.org/index/cldr-spec/plural-rules). +En alternative, vous pouvez vous reporter aux [rules reference at unicode.org](https://cldr.unicode.org/index/cldr-spec/plural-rules). > Note: le message en russe ci-dessus est principalement utilisé comme message traduit, pas comme message source, sauf si vous définissez la [[yii\base\Application::$sourceLanguage|langue source]] de votre application comme étant `ru-RU` et traduisez à partir du russe. >