# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2013, Various
# This file is distributed under the same license as the Elgg package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
# 
# Translators:
# Jerôme Bakker, 2021
# Florian DANIEL aka Facyla <i.daniel.florian@gmail.com>, 2021
# 
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Elgg master\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-06-11 11:12+0200\n"
"PO-Revision-Date: 2021-06-09 13:32+0000\n"
"Last-Translator: Florian DANIEL aka Facyla <i.daniel.florian@gmail.com>, 2021\n"
"Language-Team: French (https://www.transifex.com/elgg/teams/11337/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"

#: ../../guides/access.rst:2
msgid "Access Control Lists"
msgstr "Listes de Contrôle d'Accès"

#: ../../guides/access.rst:4
msgid ""
"An Access Control List (or ACL) can grant one or more users access to an "
"entity or annotation in the database."
msgstr ""
"Une Liste de Contrôle d'Accès (ACL - Access Control Lists) permet d'octroyer"
" à un ou plusieurs utilisateurs l'accès à une entité ou à une annotation "
"dans la base de données."

#: ../../guides/access.rst:8 ../../guides/actions.rst:16
#: ../../guides/ajax.rst:8 ../../guides/database.rst:8
#: ../../guides/email.rst:10 ../../guides/events-list.rst:8
#: ../../guides/file-system.rst:6 ../../guides/guidelines.rst:18
#: ../../guides/helpers.rst:6 ../../guides/javascript.rst:6
#: ../../guides/menus.rst:12 ../../guides/notifications.rst:10
#: ../../guides/plugins.rst:8 ../../guides/plugins/bootstrap.rst:13
#: ../../guides/plugins/dependencies.rst:8 ../../guides/search.rst:7
#: ../../guides/settings.rst:6 ../../guides/themes.rst:14
#: ../../guides/views.rst:6 ../../guides/web-services.rst:24
#: ../../guides/web-services/result.rst:6 ../../guides/widgets.rst:8
msgid "Contents"
msgstr "Contenu"

#: ../../guides/access.rst:12
msgid ":ref:`Database Access Control <database-access-control>`"
msgstr ":ref:`Database Access Control <database-access-control>`"

#: ../../guides/access.rst:15
msgid "Creating an ACL"
msgstr "Créer une ACL"

#: ../../guides/access.rst:17
msgid ""
"An access collection can be create by using the function "
"`create_access_collection()`."
msgstr ""
"Une collection d'accès peut être créée en utilisant la fonction "
"`create_access_collection()`."

#: ../../guides/access.rst:26
msgid "ACL subtypes"
msgstr "Sous-types d'ACL"

#: ../../guides/access.rst:28
msgid ""
"ACLs can have a subtype, this is to help differentiate between the usage of "
"the ACL. It's higly recommended to set a subtype for an ACL."
msgstr ""
"Les ACLs peuvent avoir un sous-type, ceci permet de différencier différents "
"usages de l'ACL. Il est fortement recommandé de définir un sous-type pour un"
" ACL."

#: ../../guides/access.rst:31
msgid "Elgg core has three examples of subtype usage"
msgstr "Le noyau de Elgg a trois exemples d'usage de sous-types"

#: ../../guides/access.rst:33
msgid ""
"``group_acl`` an ACL owned by an ``ElggGroup`` which grants group members "
"access to content shared with the group"
msgstr ""
"``group_acl`` un ACL détenu par un ``ElggGroup`` qui donne aux membres du "
"groupe l'accès aux contenus partagés dans le groupe"

#: ../../guides/access.rst:34
msgid ""
"``friends`` an ACL owned by an ``ElggUser`` which grant friends of a user "
"access to content shared with friends"
msgstr ""
"``friends`` un ACL détenu par un ``ElggUser`` qui donne aux contacts de "
"l'utilisateur l'accès aux contenus partagés avec les contacts"

#: ../../guides/access.rst:35
msgid ""
"``friends_collection`` an ACL owned by an ``ElggUser`` which grant specific "
"friends access to content shared with the ACL"
msgstr ""
"``friends_collection`` un ACL détenu par un ``ElggUser`` qui donne à des "
"contacts spécifiques l'accès aux contenus partagés avec cet ACL"

#: ../../guides/access.rst:38
msgid "Adding users to an ACL"
msgstr "Ajouter des membres à une ACL"

#: ../../guides/access.rst:40
msgid ""
"If you have an ACL you still need to add users to it in order to grant those"
" users access to content with the `access_id` of the ACLs `id`."
msgstr ""
"Si vous avez un ACL vous devez encore lui ajouter des utilisateurs pour "
"donner accès à ces utilisateurs au contenu avec l'`access_id` de l'ACL `id`."

#: ../../guides/access.rst:60
msgid "Removing users from an ACL"
msgstr "Retirer des membres d'une ACL"

#: ../../guides/access.rst:62
msgid ""
"If you no longer wish to allow access for a given user in an ACL you can "
"easily remove that user from the list."
msgstr ""
"Si vous souhaitez ne plus donner l'accès à un utilisateur donné dans un ACL,"
" vous pouvez facilement ertirer cet utilisateur de la liste."

#: ../../guides/access.rst:76
msgid "Retrieving an ACL"
msgstr "Récupérer une ACL"

#: ../../guides/access.rst:78
msgid ""
"In order to manage an ACL, or add the ID of an ACL to an access list there "
"are several functions available to retrieve an ACL from the database."
msgstr ""
"Afin de gérer un ACL, ou ajouter l'ID d'un ACL à une liste d'accès il existe"
" plusieurs fonctions disponibles pour récupérer un ACL depuis la base de "
"données."

#: ../../guides/access.rst:112
msgid "Read access"
msgstr "Accès en lecture"

#: ../../guides/access.rst:114
msgid ""
"The access system of Elgg automaticly adds all the ACLs a user is a member "
"of to the access checks. For example a user is a member of a group and is "
"friends with 3 other users, all the corresponding ACLs are added in order to"
" check access to entities when retrieving them (eg. listing all blogs)."
msgstr ""
"Le système d’accès d’Elgg ajoute automatiquement toutes les ACL dont un "
"utilisateur est membre aux contrôles d’accès. Par exemple, si un utilisateur"
" est membre d’un groupe et est en contact avec 3 autres utilisateurs, tous "
"les ACL correspondants sont ajoutés afin de vérifier l’accès aux entités "
"lors de leur récupération (par exemple, la liste de tous les articles de "
"blog)."

#: ../../guides/access.rst:119
msgid "Ignoring access"
msgstr "Ignorer l’accès"

#: ../../guides/access.rst:121
msgid ""
"If for some case you need entities retrieved ignoring the access rules you "
"can wrap your code in ``elgg_call``. There are different flags you can use."
msgstr ""
"Si dans certains cas vous avez besoin d’entités récupérées en ignorant les "
"règles d’accès, vous pouvez envelopper votre code dans ``elgg_call``. Il "
"existe différents drapeaux que vous pouvez utiliser."

#: ../../guides/access.rst:124
msgid "ELGG_IGNORE_ACCESS: no access rules are applied"
msgstr "ELGG_IGNORE_ACCESS : aucune règle d’accès n’est appliquée"

#: ../../guides/access.rst:125
msgid "ELGG_ENFORCE_ACCESS: access rules are forced to be applied"
msgstr ""
"ELGG_ENFORCE_ACCESS : les règles d’accès sont forcées à être appliquées"

#: ../../guides/access.rst:126
msgid "ELGG_SHOW_DISABLED_ENTITIES: will retrieve entities that are disabled"
msgstr "ELGG_SHOW_DISABLED_ENTITIES : récupérera les entités désactivées"

#: ../../guides/access.rst:127
msgid ""
"ELGG_HIDE_DISABLED_ENTITIES: will never retrieve entities that are disabled"
msgstr ""
"ELGG_HIDE_DISABLED_ENTITIES : ne récupérera jamais les entités désactivées"

#: ../../guides/access.rst:139
msgid "You can also combine flags."
msgstr "Vous pouvez également combiner des drapeaux."

#: ../../guides/accessibility.rst:2
msgid "Accessibility"
msgstr "Accessibilité"

#: ../../guides/accessibility.rst:4
msgid ""
"This page aims to list and document accessibility rules and best practices, "
"to help core and plugins developpers to make Elgg the most accessible social"
" engine framework that everyone dreams of."
msgstr ""
"Cette page a pour but d'énumérer et de documenter les règles d'accessibilité"
" et les meilleures pratiques pour aider les développeur du noyau et des "
"plugins à faire de Elgg le meilleur framework applicatif de moteur social "
"dont tout le monde rêve."

#: ../../guides/accessibility.rst:8
msgid ""
"This is an ongoing work, please contribute on `Github "
"<https://github.com/Elgg/Elgg>`_ if you have some skills in this field!"
msgstr ""
"Il s'agit d'un travail en cours, veuillez contribuer sur `Github "
"<https://github.com/Elgg/Elgg>`_ si vous avez des compétences dans ce "
"domaine !"

#: ../../guides/accessibility.rst:11
msgid "Resources + references"
msgstr "Ressources + références"

#: ../../guides/accessibility.rst:13
msgid ""
"`Official WCAG Accessibility Guidelines Overview "
"<http://www.w3.org/WAI/WCAG20/glance/>`_"
msgstr ""
"`Aperçu des guides d'accessibilité officiels WCAG - Official WCAG "
"Accessibility Guidelines Overview <http://www.w3.org/WAI/WCAG20/glance/>`_"

#: ../../guides/accessibility.rst:14
msgid "`Official WCAG Accessibility Guidelines <http://www.w3.org/TR/WCAG/>`_"
msgstr ""
"`Guides d'accessibilité officiels WCAG - Official WCAG Accessibility "
"Guidelines <http://www.w3.org/TR/WCAG/>`_"

#: ../../guides/accessibility.rst:15
msgid ""
"`Resources for planning and implementing for accessibility "
"<http://www.w3.org/WAI/managing>`_"
msgstr ""
"`Ressources pour préparer et implémenter l'accessibilité "
"<http://www.w3.org/WAI/managing>`_"

#: ../../guides/accessibility.rst:16
msgid ""
"`Practical tips from the W3C for improving accessibility "
"<http://www.w3.org/WAI/impl/improving>`_"
msgstr ""
"`Astuces pratiques du W3C pour améliorer l'accessibilité "
"<http://www.w3.org/WAI/impl/improving>`_"

#: ../../guides/accessibility.rst:17
msgid ""
"`Preliminary review of websites for accessibility "
"<http://www.w3.org/WAI/eval/preliminary.html>`_"
msgstr ""
"`Revue préliminaire de sites pour l'accessibilité "
"<http://www.w3.org/WAI/eval/preliminary.html>`_"

#: ../../guides/accessibility.rst:18
msgid ""
"`Tools for checking the accessibility of websites "
"<http://www.w3.org/WAI/ER/tools/>`_"
msgstr ""
"`Outils pour vérifier l'accessibilité des sites web "
"<http://www.w3.org/WAI/ER/tools/>`_"

#: ../../guides/accessibility.rst:19
msgid ""
"`List of practical techniques for implementing accessibility "
"<http://www.w3.org/TR/WCAG20-TECHS/Overview.html#contents>`_ (It would be "
"great if someone could go through this and filter out all the ones that are "
"relevant to Elgg)"
msgstr ""
"`Liste de techniques pratiques pour implémenter l'accessibilité "
"<http://www.w3.org/TR/WCAG20-TECHS/Overview.html#contents>`_ (Ce serait "
"génial si quelqu'un pouvait les examiner et filtrer celles qui sont "
"pertinentes pour Elgg)"

#: ../../guides/accessibility.rst:22
msgid "Tips for implementing accessibility"
msgstr "Astuces pour implémenter l'accessibilité"

#: ../../guides/accessibility.rst:24
msgid ""
"All accessibility-related tickets reported to trac should be tagged with "
"\"a11y\", short for \"accessibility\""
msgstr ""
"Tous les tickets relatifs à l'accessibilité devraient être taggués avec "
"\"a11y\", raccourci pour \"accessibility\" (accessibilité)"

#: ../../guides/accessibility.rst:25
msgid ""
"Use core views such as ``output/*``, and ``input/*`` to generate markup, "
"since we can bake a11y concerns into these views"
msgstr ""
"Utilisez les vues du cœur telles que ``output/*``, et ``input/*`` pour "
"générer le balisage, dans la mesure où nous pouvons intégrer les règles "
"d'accessibilité dans ces vues"

#: ../../guides/accessibility.rst:26
msgid ""
"All images should have a descriptive ``alt`` attribute. Spacer or purely "
"decorative graphics should have blank ``alt`` attributes"
msgstr ""
"Toutes les images doivent avoir un attribut descriptif ``alt``. Les "
"graphiques d'espacement ou purement décoratifs doivent avoir un attribut "
"``alt`` vide"

#: ../../guides/accessibility.rst:27
msgid ""
"All ``<a>`` tags should have text or an accessible image inside. Otherwise "
"screen readers will have to read the URL, which is a poor experience ``<a>``"
" tags should contain descriptive text, if possible, as opposed to generic "
"text like \"Click here\""
msgstr ""
"Toutes les balises ``<a>`` doivent avoir du texte ou une image accessible à "
"l’intérieur. Sinon, les lecteurs d’écran devront lire l’URL, ce qui est une "
"mauvaise expérience. Les balises ``<a>`` devraient contenir du texte "
"descriptif, si possible, par opposition au texte générique comme \"Cliquez "
"ici\""

#: ../../guides/accessibility.rst:28
msgid "Markup should be valid"
msgstr "Le balisage devrait être valide"

#: ../../guides/accessibility.rst:29
msgid ""
"Themes should not reset \"outline\" to nothing. ``:focus`` deserves a "
"special visual treatment so that handicapped users can know where they are"
msgstr ""
"Les thèmes de doivent pas réinitialiser \"outline\" à rien. ``:focus`` "
"mérite un traitement visuel spécial afin que les utilisateurs handicapés "
"puissent savoir où ils se trouvent"

#: ../../guides/accessibility.rst:32
msgid "Tips for testing accessibility"
msgstr "Astuces pour tester l'accessibilité"

#: ../../guides/accessibility.rst:34
msgid ""
"Use the tools linked to from the resources section. `Example report for "
"community.elgg.org on June 16, 2012 "
"<http://try.powermapper.com/Reports/a6276098-0883-4d04-849e-"
"8c05999812f2/report/map.htm>`_"
msgstr ""
"Utilisez les outils disponibles à partir de la section ressources. `Exemple "
"de rapport pour community.elgg.org du 16 juin 2012 "
"<http://try.powermapper.com/Reports/a6276098-0883-4d04-849e-"
"8c05999812f2/report/map.htm>`_"

#: ../../guides/accessibility.rst:35
msgid ""
"Try different font-size/zoom settings in your browser and make sure the "
"theme remains usable"
msgstr ""
"Essayez différentes configurations de taille de police et de zoom dans votre"
" navigateur pour être sûr que votre thème reste utilisable"

#: ../../guides/accessibility.rst:36
msgid "Turn off css to make sure the sequential order of the page makes sense"
msgstr ""
"Désactivez css pour vous assurer que l'ordre séquentiel de la page est "
"logique"

#: ../../guides/accessibility.rst:39
msgid "Documentation objectives and principles"
msgstr "Objectifs et principes de la documentation"

#: ../../guides/accessibility.rst:41
msgid "Main accessibility rules"
msgstr "Principales règles d'accessibilité"

#: ../../guides/accessibility.rst:42
msgid "collect and document best practices"
msgstr "collecter et documenter les bonnes pratiques"

#: ../../guides/accessibility.rst:43
msgid "Provide code examples"
msgstr "Fournissez des exemples de code"

#: ../../guides/accessibility.rst:44
msgid "Keep the document simple and usable"
msgstr "Conservez le document simple et utilisable"

#: ../../guides/accessibility.rst:45
msgid ""
"Make it usable for both beginner developpers and experts (from most common "
"and easiest changes to elaborate techniques)"
msgstr ""
"Rendez-le utilisable à la fois pour les développeurs débutants et les "
"experts (des changements les plus courants et les plus faciles aux "
"techniques élaborées)"

#: ../../guides/actions.rst:2
msgid "Forms + Actions"
msgstr "Formulaires + Actions"

#: ../../guides/actions.rst:4
msgid "Create, update, or delete content."
msgstr "Créer, mettre à jour, ou supprimer du contenu."

#: ../../guides/actions.rst:6
msgid ""
"Elgg forms submit to actions. Actions define the behavior for form "
"submission."
msgstr ""
"Les formulaires Elgg sont envoyés aux actions. Les actions définissent le "
"comportement pour l'envoi des formulaires."

#: ../../guides/actions.rst:8
msgid "This guide assumes basic familiarity with:"
msgstr "Ce guide suppose une familiarité de base avec :"

#: ../../guides/actions.rst:10 ../../guides/themes.rst:9
msgid ":doc:`/admin/plugins`"
msgstr ":doc:`/admin/plugins`"

#: ../../guides/actions.rst:11 ../../guides/themes.rst:10
msgid ":doc:`views`"
msgstr ":doc:`views`"

#: ../../guides/actions.rst:12
msgid ":doc:`i18n`"
msgstr ":doc:`i18n`"

#: ../../guides/actions.rst:19
msgid "Registering actions"
msgstr "Enregistrer des actions"

#: ../../guides/actions.rst:21
msgid "Actions must be registered before use."
msgstr ""
"Les actions doivent être enregistrées avant de pouvoir être utilisées."

#: ../../guides/actions.rst:23
msgid "There are two ways to register actions:"
msgstr "Il existe deux manières d'enregistrer des actions :"

#: ../../guides/actions.rst:25
msgid "Using ``elgg_register_action()``"
msgstr "Utilisez ``elgg_register_action()``"

#: ../../guides/actions.rst:31
msgid ""
"The ``mod/example/actions/example.php`` script will now be run whenever a "
"form is submitted to ``http://localhost/elgg/action/example``."
msgstr ""
"Le fichier de script ``mod/example/actions/example.php`` sera maintenant "
"utilisé à chaque fois qu'un formulaire est envoyé vers "
"``http://localhost/elgg/action/example``."

#: ../../guides/actions.rst:33
msgid "Use ``elgg-plugin.php``"
msgstr "Utilisez ``elgg-plugin.php``"

#: ../../guides/actions.rst:59
msgid ""
"A stumbling point for many new developers is the URL for actions. The URL "
"always uses ``/action/`` (singular) and never ``/actions/`` (plural). "
"However, action script files are usually saved under the directory "
"``/actions/`` (plural) and always have an extension. Use "
"``elgg_generate_action_url()`` to avoid confusion."
msgstr ""
"Un point d’achoppement pour de nombreux nouveaux développeurs est l’URL pour"
" les actions. L’URL utilise toujours ``/action/`` (singulier) et jamais "
"``/actions/`` (pluriel). Toutefois, les fichiers de script d’action sont "
"généralement enregistrés dans le répertoire ``/actions/`` (pluriel) et ont "
"toujours une extension. Utilisez ``elgg_generate_action_url()`` pour éviter "
"toute confusion."

#: ../../guides/actions.rst:64
msgid "Registering actions using plugin config file"
msgstr ""
"Enregistrer des actions en utilisant le fichier de configuration du plugin"

#: ../../guides/actions.rst:65
msgid ""
"You can also register actions via the :doc:`elgg-plugin</guides/plugins>` "
"config file. To do this you need to provide an action section in the config "
"file. The location of the action files are assumed to be in the plugin "
"folder  ``/actions``."
msgstr ""
"Vous pouvez également enregistrer des actions via le :doc:`elgg-"
"plugin</guides/plugins>` fichier de configuration. Pour cela vous devez "
"fournir une section action dans le fichier de configuration. L’emplacement "
"des fichiers d’action est situé dans le dossier ``/actions`` du plugin."

#: ../../guides/actions.rst:84
msgid "Permissions"
msgstr "Permissions"

#: ../../guides/actions.rst:85
msgid "By default, actions are only available to logged in users."
msgstr ""
"Par défaut, les actions ne sont accessibles qu'aux utilisateurs connectés."

#: ../../guides/actions.rst:87
msgid ""
"To make an action available to logged out users, pass ``\"public\"`` as the "
"third parameter:"
msgstr ""
"Pour qu'une action soit disponible pour des utilisateurs non identifiés, "
"passez ``\"public\"`` comme troisième argument :"

#: ../../guides/actions.rst:93
msgid ""
"To restrict an action to only administrators, pass ``\"admin\"`` for the "
"last parameter:"
msgstr ""
"Pour restreindre l'action aux seuls administrateurs, passez ``\"admin\"`` "
"pour le dernier paramètre :"

#: ../../guides/actions.rst:100
msgid "Writing action files"
msgstr "Écrire des fichiers d'action"

#: ../../guides/actions.rst:102
msgid "Use the ``get_input()`` function to get access to request parameters:"
msgstr ""
"Utilisez la fonction ``get_input()`` pour accéder aux paramètres de la "
"requête :"

#: ../../guides/actions.rst:108
msgid ""
"You can then use the :doc:`database` api to load entities and perform "
"actions on them accordingly."
msgstr ""
"Vous pouvez ensuite utiliser l'api :doc:`database` pour charger des entités "
"et effectuer des actions dessus en conséquence."

#: ../../guides/actions.rst:110
msgid ""
"To indicate a successful action, use ``elgg_ok_response()``. This function "
"accepts data that you want to make available to the client for XHR calls "
"(this data will be ignored for non-XHR calls)"
msgstr ""
"Pour indiquer une action réussie, utilisez ``elgg_ok_response()``. Cette "
"fonction accepte comme paramètre les données que vous souhaitez mettre à la "
"disposition du client pour les appels XHR (ces données seront ignorées pour "
"les appels non XHR)"

#: ../../guides/actions.rst:128
msgid "To indicate an error, use ``elgg_error_response()``"
msgstr "Pour indiquer une erreur utilisez ``elgg_error_response()``"

#: ../../guides/actions.rst:146
msgid "Customizing actions"
msgstr "Personnaliser des actions"

#: ../../guides/actions.rst:148
msgid "Before executing any action, Elgg triggers a hook:"
msgstr "Avant d'exécuter une action, Elgg déclenche un hook :"

#: ../../guides/actions.rst:154
msgid ""
"Where ``$action`` is the action being called. If the hook returns ``false`` "
"then the action will not be executed. Don't return anything if your "
"validation passes."
msgstr ""
"Où ``$action`` est l’action appelée. Si le hook renvoie ``false`` alors "
"l’action ne sera pas exécutée. Ne retournez rien si votre validation passe."

#: ../../guides/actions.rst:158
msgid "Example: Captcha"
msgstr "Exemple : Captcha"

#: ../../guides/actions.rst:160
msgid ""
"The captcha module uses this to intercept the ``register`` and "
"``user/requestnewpassword`` actions and redirect them to a function which "
"checks the captcha code. This check returns ``false`` if the captcha "
"validation fails (which prevents the associated action from executing)."
msgstr ""
"Le module captcha utilise ceci pour intercepter les actions ``register`` et "
"``user/requestnewpassword`` et les rediriger vers une fonction qui vérifie "
"le code captcha. Cette vérification renvoie ``false`` si la validation "
"captcha échoue (ce qui bloque l’exécution de l’action associée)."

#: ../../guides/actions.rst:164
msgid "This is done as follows:"
msgstr "Ceci est fait comme suit :"

#: ../../guides/actions.rst:186
msgid ""
"This lets a plugin extend an existing action without the need to replace the"
" whole action. In the case of the captcha plugin it allows the plugin to "
"provide captcha support in a very loosely coupled way."
msgstr ""
"Cela permet à un plugin d'étendre une action existante sans qu'il soit "
"nécessaire de remplacer l'ensemble de l'action. Dans le cas du plugin "
"captcha, cela permet de proposer un support captcha couplé de façon souple."

#: ../../guides/actions.rst:190
msgid "Actions available in core"
msgstr "Actions disponibles dans le noyau"

#: ../../guides/actions.rst:193
msgid "``entity/delete``"
msgstr "``entity/delete``"

#: ../../guides/actions.rst:195
msgid ""
"If your plugin does not implement any custom logic when deleting an entity, "
"you can use bundled delete action"
msgstr ""
"Si votre plugin n’implémente aucune logique personnalisée lors de la "
"suppression d’une entité, vous pouvez utiliser l’action de suppression "
"intégrée"

#: ../../guides/actions.rst:211
msgid ""
"You can customize the success message keys for your entity type and subtype,"
" using ``\"entity:delete:$type:$subtype:success\"`` and "
"``\"entity:delete:$type:success\"`` keys."
msgstr ""
"Vous pouvez personnaliser les clés du message de succès pour votre type "
"d’entité et votre sous-type, en utilisant les clefs "
"``\"entity:$type:$subtype:success\"`` et "
"``''entity:delete:$type:success''``."

#: ../../guides/actions.rst:224
msgid "Forms"
msgstr "Formulaires"

#: ../../guides/actions.rst:226
msgid "To output a form, use the elgg_view_form function like so:"
msgstr ""
"Pour afficher un formulaire, utilisez la fonction elgg_view_form function "
"comme ceci :"

#: ../../guides/actions.rst:232
msgid "Doing this generates something like the following markup:"
msgstr "Faire ceci génère quelque chose comme le balisage suivant :"

#: ../../guides/actions.rst:243
msgid ""
"Elgg does some things automatically for you when you generate forms this "
"way:"
msgstr ""
"Elgg fait automatiquement plusieurs choses pour vous quand vous générez un "
"formulaire de cette manière :"

#: ../../guides/actions.rst:245
msgid ""
"It sets the action to the appropriate URL based on the name of the action "
"you pass to it"
msgstr ""
"Il définit l'action vers l'URL appropriée, sur la base du nom de l'action "
"que vous lui avez passé"

#: ../../guides/actions.rst:246
msgid ""
"It adds some anti-csrf tokens (``__elgg_ts`` and ``__elgg_token``) to help "
"keep your actions secure"
msgstr ""
"Il ajoute des jetons anti-csrf (``__elgg_ts`` et ``__elgg_token``) pour "
"aider à garder vos action sûres"

#: ../../guides/actions.rst:247
msgid ""
"It automatically looks for the body of the form in the ``forms/example`` "
"view."
msgstr ""
"Il recherche automatiquement le corps du formulaire dans la vue "
"``forms/example``."

#: ../../guides/actions.rst:249
msgid "Put the content of your form in your plugin’s ``forms/example`` view:"
msgstr ""
"Ajoutez le contenu de votre formulaire dans la vue ``forms/example`` de "
"votre plugin :"

#: ../../guides/actions.rst:260
msgid "Now when you call ``elgg_view_form('example')``, Elgg will produce:"
msgstr ""
"Désormais quand vous appelez ``elgg_view_form('example')``, Elgg va produire"
" :"

#: ../../guides/actions.rst:277
msgid "Inputs"
msgstr "Entrées"

#: ../../guides/actions.rst:279
msgid ""
"To render a form input, use one of the bundled input views, which cover all "
"standard HTML input elements. See individual view files for a list of "
"accepted parameters."
msgstr ""
"Pour rendre une entrée de formulaire, utilisez l’une des vues d’entrée "
"intégrées, qui couvrent tous les éléments d’entrée HTML standard. Voyez les "
"fichiers individuels des vues pour une liste complète des paramètres "
"acceptés."

#: ../../guides/actions.rst:296
msgid "The above example will render a dropdown select input:"
msgstr "L’exemple ci-dessus va afficher une liste déroulante :"

#: ../../guides/actions.rst:305
msgid ""
"To ensure consistency in field markup, use ``elgg_view_field()``, which "
"accepts all the parameters of the input being rendered, as well as "
"``#label`` and ``#help`` parameters (both of which are optional and accept "
"HTML or text)."
msgstr ""
"Pour assurer la cohérence du balisage du champ, utilisez les paramètres "
"``elgg_view_field()``, qui accepte tous les paramètres de l’entrée à "
"afficher, ainsi que les paramètres ``#label`` et ``#help`` (qui sont tous "
"deux facultatifs et acceptent du HTML ou du texte)."

#: ../../guides/actions.rst:324
msgid "The above will generate the following markup:"
msgstr "Ce qui précède générera le balisage suivant :"

#: ../../guides/actions.rst:342
msgid "Input types"
msgstr "Types d'entrées"

#: ../../guides/actions.rst:344
msgid "A list of bundled input types/views:"
msgstr "Une liste des types/vues de saisie inclus :"

#: ../../guides/actions.rst:346
msgid "``input/text`` - renders a text input ``<input type=\"text\">``"
msgstr "``input/text`` - afficher une entrée texte ``<input type=\"text\">``"

#: ../../guides/actions.rst:347
msgid "``input/plaintext`` - renders a textarea ``<textarea></textarea>``"
msgstr ""
"``input/plaintext`` - affiche une zone de texte brut "
"``<textarea></textarea>``"

#: ../../guides/actions.rst:348
msgid "``input/longtext`` - renders a WYSIWYG text input"
msgstr ""
"``input/longtext`` - affiche une zone de texte riche - avec éditeur WYSIWYG"

#: ../../guides/actions.rst:349
msgid "``input/url`` - renders a url input ``<input type=\"url\">``"
msgstr ""
"``input/url`` - affiche une entrée d'adresse web - URL ``<input "
"type=\"url\">``"

#: ../../guides/actions.rst:350
msgid "``input/email`` - renders an email input ``<input type=\"email\">``"
msgstr ""
"``input/email`` - affiche un champ de saisie de type e-mail ``<input "
"type=\"email\">``"

#: ../../guides/actions.rst:351
msgid ""
"``input/checkbox`` - renders a single checkbox ``<input type=\"checkbox\">``"
msgstr ""
"``input/checkbox`` - affiche une case à cocher ``<input type=\"checkbox\">``"

#: ../../guides/actions.rst:352
msgid "``input/checkboxes`` - renders a set of checkboxes with the same name"
msgstr ""
"``input/checkboxes`` - affiche un jeu de cases à cocher portant le même nom"

#: ../../guides/actions.rst:353
msgid ""
"``input/radio`` - renders one or more radio buttons ``<input "
"type=\"radio\">``"
msgstr ""
"``input/radio`` - affiche un ou plusieurs bouton radio ``<input "
"type=\"radio\">``"

#: ../../guides/actions.rst:354
msgid "``input/submit`` - renders a submit button ``<button type=\"submit\">``"
msgstr "``input/submit`` - affiche un bouton d'envoi ``<button type=\"submit\">``"

#: ../../guides/actions.rst:355
msgid "``input/button`` - renders a button ``<button></button>``"
msgstr "``input/button`` - affiche un bouton ``<button></button>``"

#: ../../guides/actions.rst:356
msgid "``input/file`` - renders a file input ``<input type=\"file\">``"
msgstr ""
"``input/file`` - affiche un sélecteur de fichier ``<input type=\"file\">``"

#: ../../guides/actions.rst:357
msgid "``input/select`` - renders a select input ``<select></select>``"
msgstr "``input/select`` - affiche une liste déroulante ``<select></select>``"

#: ../../guides/actions.rst:358
msgid "``input/hidden`` - renders a hidden input ``<input type=\"hidden\">``"
msgstr ""
"``input/hidden`` - affiche une entrée invisible ``<input type=\"hidden\">``"

#: ../../guides/actions.rst:359
msgid ""
"``input/password`` - renders a password input ``<input type=\"password\">``"
msgstr ""
"``input/password`` - affiche une entrée de type mot de passe ``<input "
"type=\"password\">``"

#: ../../guides/actions.rst:360
msgid "``input/number`` - renders a number input ``<input type=\"number\">``"
msgstr ""
"``input/number`` - affiche une entrée de type nombre ``<input "
"type=\"number\">``"

#: ../../guides/actions.rst:361
msgid "``input/date`` - renders a jQuery datepicker"
msgstr "``input/date`` - affiche un sélecteur de date jQuery"

#: ../../guides/actions.rst:363
msgid "Elgg offers some helper input types"
msgstr "Elgg offre quelques types de saisies facilitées"

#: ../../guides/actions.rst:365
msgid "``input/access`` - renders an Elgg access level select"
msgstr "``input/access`` - affiche une liste de niveaux d'accès Elgg"

#: ../../guides/actions.rst:366
msgid "``input/tags`` - renders an Elgg tags input"
msgstr "``input/tags`` - affiche une entrée de type tags"

#: ../../guides/actions.rst:367
msgid "``input/autocomplete`` - renders an Elgg entity autocomplete"
msgstr "``input/autocomplete`` - affiche un sélecteur d'entités Elgg"

#: ../../guides/actions.rst:368
msgid "``input/captcha`` - placeholder view for plugins to extend"
msgstr "``input/captcha`` - vue destinée à être étendue par des plugins"

#: ../../guides/actions.rst:369
msgid "``input/friendspicker`` - renders an Elgg friend autocomplete"
msgstr ""
"``input/friendspicker`` - affiche un sélecteur de contact Elgg par "
"autocomplétion"

#: ../../guides/actions.rst:370
msgid "``input/userpicker`` - renders an Elgg user autocomplete"
msgstr ""
"``input/userpicker`` - affiche un sélecteur d'utilisateur Elgg avec "
"autocomplétion"

#: ../../guides/actions.rst:371
msgid "``input/location`` renders an Elgg location input"
msgstr "``input/location`` affiche une entrée de type adresse"

#: ../../guides/actions.rst:374
msgid "Files and images"
msgstr "Fichiers et images"

#: ../../guides/actions.rst:376
msgid "Use the ``input/file`` view in your form’s content view."
msgstr ""
"Utilisez la vue ``input/file`` dans la vue du contenu de votre formulaire."

#: ../../guides/actions.rst:383
msgid ""
"If you wish to upload an icon for entity you can use the helper view "
"``entity/edit/icon``. This view shows a file input for uploading a new icon "
"for the entity, an thumbnail of the current icon and the option to remove "
"the current icon."
msgstr ""
"Si vous souhaitez télécharger une icône pour l’entité, vous pouvez utiliser "
"la vue ``entity/edit/icon``. Cette vue affiche une entrée de fichier pour le"
" téléchargement d’une nouvelle icône pour l’entité, une miniature de l’icône"
" actuelle et l’option de supprimer l’icône actuelle."

#: ../../guides/actions.rst:387
msgid "The view supports some variables to control the output"
msgstr "La vue prend en charge certaines variables pour contrôler la sortie"

#: ../../guides/actions.rst:389
msgid ""
"``entity`` - the entity to add/remove the icon for. If provided based on "
"this entity the thumbnail and remove option wil be shown"
msgstr ""
"``entity`` - l’entité à laquelle ajouter ou supprimer l’icône. Si fourni en "
"fonction de cette entité, la miniature et l’option de suppression "
"s’affichent"

#: ../../guides/actions.rst:390
msgid ""
"``entity_type`` - the entity type for which the icon will be uploaded. "
"Plugins could find this usefull, maybe to validate icon sizes"
msgstr ""
"``entity_type`` - le type d’entité pour lequel l’icône sera téléchargée. Des"
" plugins pourraient trouver cela utile, peut-être pour valider les "
"dimensions d’icônes"

#: ../../guides/actions.rst:391
msgid ""
"``entity_subtype`` - the entity subtype for which the icon will be uploaded."
" Plugins could find this usefull, maybe to validate icon sizes"
msgstr ""
"``entity_subtype`` - le sous-type d’entité pour lequel l’icône sera "
"téléchargée. Des plugins pourraient trouver cela utile, peut-être pour "
"valider les dimensions d’icônes"

#: ../../guides/actions.rst:392
msgid "``icon_type`` - the type of the icon (default: icon)"
msgstr "``icon_type`` - le type de l’icône (par défaut : icon)"

#: ../../guides/actions.rst:393
msgid "``name`` - name of the input/file (default: icon)"
msgstr "``name`` - nom de input/file (par défaut : icon)"

#: ../../guides/actions.rst:394
msgid ""
"``remove_name`` - name of the remove icon toggle (default: $vars['name'] . "
"'_remove')"
msgstr ""
"``remove_name`` - nom de l'icône de bascule de suppression (par défaut : "
"$vars['name'].'_remove')"

#: ../../guides/actions.rst:395
msgid "``required`` - is icon upload required (default: false)"
msgstr ""
"``required`` - est-ce que l'icône de téléchargement est requise (par défaut "
": false)"

#: ../../guides/actions.rst:396
msgid "``show_remove`` - show the remove icon option (default: true)"
msgstr ""
"``show_remove`` - afficher l’option supprimer l’icône (par défaut : true)"

#: ../../guides/actions.rst:397
msgid ""
"``show_thumb`` - show the thumb of the entity if available (default: true)"
msgstr ""
"``show_thumb`` - afficher la miniature de l’entité si disponible (par défaut"
" : true)"

#: ../../guides/actions.rst:398
msgid "``thumb_size`` - the icon size to use as the thumb (default: medium)"
msgstr ""
"``thumb_size`` - la taille de l’icône à utiliser pour la miniature (par "
"défaut : medium)"

#: ../../guides/actions.rst:400
msgid ""
"If using the helper view you can use the following code in you action to "
"save the icon to the entity or remove the current icon."
msgstr ""
"Si vous utilisez la vue, vous pouvez utiliser le code suivant dans votre "
"action pour enregistrer l’icône dans l’entité ou supprimer l’icône actuelle."

#: ../../guides/actions.rst:410
msgid "Set the enctype of the form to ``multipart/form-data``:"
msgstr ""
"Définissez le type d'encodage du formulaire sur ``multipart/form-data`` :"

#: ../../guides/actions.rst:420
msgid ""
"The ``enctype`` of all forms that use the method ``POST`` defaults to "
"``multipart/form-data``."
msgstr ""
"Le type d'encodage ``enctype`` de tous les formulaires qui utilisent la "
"méthode ``POST`` est par défaut ``multipart/form-data``."

#: ../../guides/actions.rst:422
msgid ""
"In your action file, use ``elgg_get_uploaded_file('your-input-name')`` to "
"access the uploaded file:"
msgstr ""
"Dans votre fichier d’action, utilisez ``elgg_get_uploaded_file('nom-de-"
"votre-input')`` pour accéder au fichier téléchargé :"

#: ../../guides/actions.rst:429
msgid "Sticky forms"
msgstr "Formulaires persistants"

#: ../../guides/actions.rst:431
msgid ""
"Sticky forms are forms that retain user input if saving fails. They are "
"\"sticky\" because the user's data \"sticks\" in the form after submitting, "
"though it was never saved to the database. This greatly improves the user "
"experience by minimizing data loss. Elgg includes helper functions so you "
"can make any form sticky."
msgstr ""
"Les formulaires persistants sont des formulaires qui conservent l’entrée de "
"l’utilisateur en cas d’échec de l’enregistrement. Ils sont \"persistants\" "
"parce que les données de l’utilisateur \"persistent\" dans le formulaire "
"après soumission, bien qu’elles n’aient jamais été enregistrées dans la base"
" de données. Cela améliore considérablement l’expérience utilisateur en "
"minimisant la perte de données. Elgg inclut des fonctions d’aide afin que "
"vous puissiez rendre n’importe quel formulaire persistant."

#: ../../guides/actions.rst:436 ../../guides/helpers.rst:2
msgid "Helper functions"
msgstr "Fonctions pratiques"

#: ../../guides/actions.rst:438
msgid "Sticky forms are implemented in Elgg by the following functions:"
msgstr ""
"Les formulaires persistants sont implémentés dans Elgg par les fonctions "
"suivantes :"

#: ../../guides/actions.rst:440
msgid ""
"``elgg_make_sticky_form($name)`` - Tells the engine to make all input on a "
"form sticky."
msgstr ""
"``elgg_make_sticky_form($name)`` - Indique au moteur de persister les "
"valeurs de toutes les entrées d'un formulaire."

#: ../../guides/actions.rst:441
msgid ""
"``elgg_clear_sticky_form($name)`` - Tells the engine to discard all sticky "
"input on a form."
msgstr ""
"``elgg_clear_sticky_form($name)`` - Indique au moteur de supprimer toutes "
"les valeurs d'un formulaire."

#: ../../guides/actions.rst:442
msgid ""
"``elgg_is_sticky_form($name)`` - Checks if ``$name`` is a valid sticky form."
msgstr ""
"``elgg_is_sticky_form($name)`` - Vérifie si ``$name`` est un formulaire "
"persistant valide."

#: ../../guides/actions.rst:443
msgid ""
"``elgg_get_sticky_values($name)`` - Returns all sticky values saved for "
"``$name`` by ``elgg_make_sticky_form($name)``."
msgstr ""
"``elgg_get_sticky_values($name)`` - Renvoie toutes les valeurs persistantes "
"enregistrées pour ``$name`` par ``elgg_make_sticky_form($name)``."

#: ../../guides/actions.rst:446 ../../guides/ajax.rst:11
#: ../../guides/i18n.rst:15 ../../guides/plugins/dependencies.rst:11
msgid "Overview"
msgstr "Aperçu"

#: ../../guides/actions.rst:448
msgid "The basic flow of using sticky forms is:"
msgstr "Le déroulement de l’utilisation des formulaires persistants est :"

#: ../../guides/actions.rst:450
msgid ""
"Call ``elgg_make_sticky_form($name)`` at the top of actions for forms you "
"want to be sticky."
msgstr ""
"Appelez ``elgg_make_sticky_form($name)`` au début des actions pour les "
"formulaires que vous voulez rendre persistants."

#: ../../guides/actions.rst:451
msgid ""
"Use ``elgg_is_sticky_form($name)`` and ``elgg_get_sticky_values($name)`` to "
"get sticky values when rendering a form view."
msgstr ""
"Utilisez ``elgg_is_sticky_form($name)`` et ``elgg_get_sticky_values($name)``"
" pour obtenir des valeurs persistantes lors du rendu d’une vue de "
"formulaire."

#: ../../guides/actions.rst:452
msgid ""
"Call ``elgg_clear_sticky_form($name)`` after the action has completed "
"successfully or after data has been loaded by "
"``elgg_get_sticky_values($name)``."
msgstr ""
"Appelez ``elgg_clear_sticky_form($name)`` une fois l’action terminée avec "
"succès ou après que les données ont été chargées par "
"``elgg_get_sticky_values($name)``."

#: ../../guides/actions.rst:455
msgid "Example: User registration"
msgstr "Exemple : Inscription d'un utilisateur"

#: ../../guides/actions.rst:457
msgid ""
"Simple sticky forms require little logic to determine the input values for "
"the form. This logic is placed at the top of the form body view itself."
msgstr ""
"Les formulaires persistants simples nécessitent peu de logique pour "
"déterminer les valeurs d’entrée du formulaire. Cette logique est placée en "
"haut de la vue du corps de formulaire."

#: ../../guides/actions.rst:460
msgid ""
"The registration form view first sets default values for inputs, then checks"
" if there are sticky values. If so, it loads the sticky values before "
"clearing the sticky form:"
msgstr ""
"L’affichage du formulaire d’inscription définit d’abord les valeurs par "
"défaut pour les entrées, puis vérifie s’il y a des valeurs persistantes. Si "
"c’est le cas, il charge les valeurs persistantes avant de supprimer le "
"formulaire persistant :"

#: ../../guides/actions.rst:476
msgid ""
"The registration action sets creates the sticky form and clears it once the "
"action is completed:"
msgstr ""
"Les ensembles d’action d’inscription créent le formulaire persistant et "
"l’effacent une fois l’action terminée :"

#: ../../guides/actions.rst:493
msgid "Example: Bookmarks"
msgstr "Exemple : Signets (bookmarks)"

#: ../../guides/actions.rst:495
msgid ""
"The bundled plugin Bookmarks' save form and action is an example of a "
"complex sticky form."
msgstr ""
"Le formulaire et l’action d’enregistrement du plugin \"Bookmarks\" inclus "
"est un exemple de formulaire persistant complexe."

#: ../../guides/actions.rst:497
msgid ""
"The form view for the save bookmark action uses ``elgg_extract()`` to pull "
"values from the ``$vars`` array:"
msgstr ""
"La vue du formulaire pour l’action d'enregistrement d'un signet utilise "
"``elgg_extract()`` pour extraire des valeurs du tableau ``$vars`` :"

#: ../../guides/actions.rst:511
msgid ""
"The page handler scripts prepares the form variables and calls "
"``elgg_view_form()`` passing the correct values:"
msgstr ""
"Les scripts du gestionnaire de page préparent les variables de formulaire et"
" appellent ``elgg_view_form()`` en passant les valeurs correctes :"

#: ../../guides/actions.rst:519
msgid ""
"Similarly, ``mod/bookmarks/pages/edit.php`` uses the same function, but "
"passes the entity that is being edited as an argument:"
msgstr ""
"De même, ``mod/bookmarks/pages/edit.php`` utilise la même fonction, mais "
"passe l’entité qui est en cours de modification comme argument :"

#: ../../guides/actions.rst:531
msgid ""
"The library file defines ``bookmarks_prepare_form_vars()``. This function "
"accepts an ``ElggEntity`` as an argument and does 3 things:"
msgstr ""
"Le fichier de bibliothèque définit ``bookmarks_prepare_form_vars()``. Cette "
"fonction accepte une ``ElggEntity`` comme argument et fait 3 choses :"

#: ../../guides/actions.rst:533
msgid "Defines the input names and default values for form inputs."
msgstr ""
"Définit les noms et les valeurs par défaut pour les champs de formulaire."

#: ../../guides/actions.rst:534
msgid "Extracts the values from a bookmark object if it's passed."
msgstr "Extrait les valeurs d’un objet signet s’il est passé."

#: ../../guides/actions.rst:535
msgid "Extracts the values from a sticky form if it exists."
msgstr "Extrait les valeurs d’un formulaire persistant si il existe."

#: ../../guides/actions.rst:574
msgid ""
"The save action checks the input, then clears the sticky form upon success:"
msgstr ""
"L’action save vérifie l’entrée, puis efface le formulaire persistant en cas "
"de réussite :"

#: ../../guides/actions.rst:588 ../../guides/ajax.rst:2
#: ../../guides/hooks-list.rst:373
msgid "Ajax"
msgstr "Ajax"

#: ../../guides/actions.rst:590
msgid ""
"See the :doc:`Ajax guide</guides/ajax>` for instructions on calling actions "
"from JavaScript."
msgstr ""
"Voir le :doc:`guide Ajax</guides/ajax>` pour savoir comment appeler les "
"actions depuis JavaScript."

#: ../../guides/actions.rst:593 ../../guides/web-services.rst:27
msgid "Security"
msgstr "Sécurité"

#: ../../guides/actions.rst:595
msgid ""
"For enhanced security, all actions require an CSRF token. Calls to action "
"URLs that do not include security tokens will be ignored and a warning will "
"be generated."
msgstr ""
"Pour une sécurité renforcée, toutes les actions nécessitent un jeton CSRF. "
"Les appels aux URLs d’action qui n’incluent pas les jetons de sécurité "
"seront ignorés et un avertissement sera généré."

#: ../../guides/actions.rst:598
msgid "A few views and functions automatically generate security tokens:"
msgstr ""
"Quelques vues et fonctions génèrent automatiquement des jetons de sécurité :"

#: ../../guides/actions.rst:607
msgid "In rare cases, you may need to generate tokens manually:"
msgstr ""
"Dans de rares cas, vous devrez peut-être générer des jetons manuellement :"

#: ../../guides/actions.rst:614
msgid "You can also access the tokens from javascript:"
msgstr "Vous pouvez aussi accéder aux jetons par javascript :"

#: ../../guides/actions.rst:621
msgid "These are refreshed periodically so should always be up-to-date."
msgstr ""
"Ceux-ci sont rafraîchis périodiquement aussi ils devraient être à jour."

#: ../../guides/actions.rst:624
msgid "Security Tokens"
msgstr "Jetons de sécurité"

#: ../../guides/actions.rst:626
msgid ""
"On occasion we need to pass data through an untrusted party or generate an "
"\"unguessable token\" based on some data. The industry-standard `HMAC "
"<http://security.stackexchange.com/a/20301/4982>`_ algorithm is the right "
"tool for this. It allows us to verify that received data were generated by "
"our site, and were not tampered with. Note that even strong hash functions "
"like SHA-2 should *not* be used without HMAC for these tasks."
msgstr ""
"À l’occasion, nous devons transmettre des données par l’intermédiaire d’une "
"tierce partie non digne de confiance ou générer un ``jeton impossible à "
"deviner`` basé sur certaines données. L’algorithme `HMAC "
"<http://security.stackexchange.com/a/20301/4982>`_ est le bon outil pour "
"cela. Il nous permet de vérifier que les données reçues ont été générées par"
" notre site, et n’ont pas été trafiqués. Notez que même les fonctions de "
"hachage fortes comme SHA-2 ne devraient *pas* être utilisés sans HMAC pour "
"ces tâches."

#: ../../guides/actions.rst:631
msgid ""
"Elgg provides ``elgg_build_hmac()`` to generate and validate HMAC message "
"authentication codes that are unguessable without the site's private key."
msgstr ""
"Elgg fournit ``elgg_build_hmac()`` pour générer et valider des codes "
"d’authentification des messages HMAC qui ne peuvent être pas devinés sans la"
" clé privée du site."

#: ../../guides/actions.rst:655
msgid ""
"Note: If you use a non-string as HMAC data, you must use types consistently."
" Consider the following:"
msgstr ""
"Remarque : si vous utilisez une non-chaîne comme des données HMAC, vous "
"devez utiliser les types de manière cohérente. Considérez ce qui suit :"

#: ../../guides/actions.rst:668
msgid "Signed URLs"
msgstr "URLs signées"

#: ../../guides/actions.rst:670
msgid ""
"Signed URLs offer a limited level of security for situations where action "
"tokens are not suitable, for example when sending a confirmation link via "
"email. URL signatures verify that the URL has been generated by your Elgg "
"installation (using site secret) and that the URL query elements were not "
"tampered with."
msgstr ""
"Les URL signées offrent un niveau de sécurité limité pour les situations où "
"les jetons d’action ne conviennent pas, par exemple lors de l’envoi d’un "
"lien de confirmation par e-mail. Les signatures de l'URL vérifient que l’URL"
" a été générée par votre installation Elgg (en utilisant le secret du site) "
"et que les éléments de requête URL n’ont pas été trafiqués."

#: ../../guides/actions.rst:674
msgid ""
"URLs a signed with an unguessable SHA-256 HMAC key. See `Security Tokens`_ "
"for more details."
msgstr ""
"URLs signées avec une clef SHA-256 HMAC impossible à deviner. Pour plus de "
"détails, consultez `Jetons de Sécurité`_ ."

#: ../../guides/actions.rst:688
msgid ""
"Signed URLs do not offer CSRF protection and should not be used instead of "
"action tokens."
msgstr ""
"Les URL signées n’offrent pas de protection CSRF et ne doivent pas être "
"utilisées à la place des jetons d’action."

#: ../../guides/ajax.rst:4
msgid ""
"The ``elgg/Ajax`` AMD module (introduced in Elgg 2.1) provides a set of "
"methods for communicating with the server in a concise and uniform way, "
"which allows plugins to collaborate on the request data, the server "
"response, and the returned client-side data."
msgstr ""
"Le module AMD ``elgg/Ajax`` (introduit dans Elgg 2.1) fournit un ensemble de"
" méthodes pour communiquer avec le serveur d’une manière concise et "
"uniforme, ce qui permet aux plugins de collaborer sur les données de "
"requête, la réponse du serveur et les données renvoyées côté client."

#: ../../guides/ajax.rst:13
msgid "All the ajax methods perform the following:"
msgstr "Toutes les méthodes ajax effectuent ce qui suit :"

#: ../../guides/ajax.rst:15
msgid ""
"Client-side, the ``data`` option (if given as an object) is filtered by the "
"hook ``ajax_request_data``."
msgstr ""
"Côté client, l’option ``data`` (si elle est donnée en tant qu’objet) est "
"filtrée par le hook ``ajax_request_data``."

#: ../../guides/ajax.rst:16
msgid ""
"The request is made to the server, either rendering a view or a form, "
"calling an action, or loading a path."
msgstr ""
"La requête est faite au serveur, que ce soit en affichant une vue ou un "
"formulaire, en appelant une action, ou en chargeant un chemin d’accès."

#: ../../guides/ajax.rst:17
msgid "The method returns a ``jqXHR`` object, which can be used as a Promise."
msgstr ""
"La méthode renvoie un objet ``jqXHR``, qui peut être utilisé comme promesse "
"(Promise)."

#: ../../guides/ajax.rst:18
msgid ""
"Server-echoed content is turned into a response object "
"(``Elgg\\Services\\AjaxResponse``) containing a string (or a JSON-parsed "
"value)."
msgstr ""
"Le contenu généré par le serveur est transformé en objet de réponse "
"(``Elgg\\Services\\AjaxResponse``) contenant une chaîne (ou une valeur "
"parsée en JSON)."

#: ../../guides/ajax.rst:19
msgid "The response object is filtered by the hook ``ajax_response``."
msgstr "L’objet de réponse est filtré par le hook ``ajax_response``."

#: ../../guides/ajax.rst:20
msgid "The response object is used to create the HTTP response."
msgstr "L’objet de réponse est utilisé pour créer la réponse HTTP."

#: ../../guides/ajax.rst:21
msgid ""
"Client-side, the response data is filtered by the hook "
"``ajax_response_data``."
msgstr ""
"Côté client, les données de réponse sont filtrées par le hook "
"``ajax_response_data``."

#: ../../guides/ajax.rst:22
msgid ""
"The ``jqXHR`` promise is resolved and any ``success`` callbacks are called."
msgstr ""
"La promesse (promise) ``jqXHR`` est résolue et toutes les fonctions de "
"rappel ``success`` sont appelées."

#: ../../guides/ajax.rst:24
msgid "More notes:"
msgstr "Plus de notes :"

#: ../../guides/ajax.rst:26
msgid ""
"All hooks have a type depending on the method and first argument. See below."
msgstr ""
"Tous les hooks ont un type en fonction de la méthode et du premier argument."
" Voyez ci-dessous."

#: ../../guides/ajax.rst:27
msgid ""
"By default the ``elgg/spinner`` module is automatically used during "
"requests."
msgstr ""
"Par défaut, le module ``elgg/spinner`` est automatiquement utilisé lors des "
"requêtes."

#: ../../guides/ajax.rst:28
msgid ""
"User messages generated by ``system_message()`` and ``register_error()`` are"
" collected and displayed on the client."
msgstr ""
"Les messages destinés à l'utilisateur générés par '``system_message()`` et "
"``register_error()`` sont collectés et affichés sur le client."

#: ../../guides/ajax.rst:29
msgid ""
"Elgg gives you a default error handler that shows a generic message if "
"output fails."
msgstr ""
"Elgg intègre un gestionnaire d’erreurs par défaut qui affiche un message "
"générique en cas d’échec de la sortie."

#: ../../guides/ajax.rst:30
msgid ""
"PHP exceptions or denied resource return HTTP error codes, resulting in use "
"of the client-side error handler."
msgstr ""
"Les exceptions PHP ou les codes d’erreur HTTP d'accès refusé, ce qui "
"entraîne l’utilisation du gestionnaire d’erreurs côté client."

#: ../../guides/ajax.rst:31
msgid ""
"The default HTTP method is ``POST`` for actions, otherwise ``GET``. You can "
"set it via ``options.method``."
msgstr ""
"La méthode HTTP par défaut est ``POST`` pour les actions, sinon ``GET``. "
"Vous pouvez changer cela via ``options.method``."

#: ../../guides/ajax.rst:32
msgid ""
"If a non-empty ``options.data`` is given, the default method is always "
"``POST``."
msgstr ""
"Si une valeur ``options.data`` non vide est donnée, la méthode par défaut "
"est toujours ``POST``."

#: ../../guides/ajax.rst:33
msgid ""
"For client caching, set ``options.method`` to ``\"GET\"`` and "
"``options.data.elgg_response_ttl`` to the max-age you want in seconds."
msgstr ""
"Pour la mise en cache côté client, définissez la méthode ``options.method`` "
"sur ``GET`` et ``options.data.elgg_response_ttl`` sur l’âge maximal que vous"
" souhaitez en secondes."

#: ../../guides/ajax.rst:34
msgid ""
"To save system messages for the next page load, set "
"``options.data.elgg_fetch_messages = 0``. You may want to do this if you "
"intent to redirect the user based on the response."
msgstr ""
"Pour enregistrer des messages système pour le chargement de la page "
"suivante, définissez ``options.data.elgg_fetch_messages = 0``. Vous pourriez"
" vouloir faire cela si vous avez l’intention de rediriger l’utilisateur en "
"fonction de la réponse."

#: ../../guides/ajax.rst:35
msgid ""
"To stop client-side API from requiring AMD modules required server-side with"
" ``elgg_require_js()``, set ``options.data.elgg_fetch_deps = 0``."
msgstr ""
"Pour empêcher l’API côté client d’exiger des modules AMD requis côté serveur"
" avec ``elgg_require_js()``, définissez ``options.data.elgg_fetch_deps = "
"0``."

#: ../../guides/ajax.rst:36
msgid ""
"All methods accept a query string in the first argument. This is passed on "
"to the fetch URL, but does not appear in the hook types."
msgstr ""
"Toutes les méthodes acceptent une chaîne de requête dans le premier "
"argument. Cette chaîne est transmise à l’URL de récupération, mais "
"n’apparaît pas dans les types de hooks."

#: ../../guides/ajax.rst:39
msgid "Performing actions"
msgstr "Effectuer des actions"

#: ../../guides/ajax.rst:41
msgid "Consider this action:"
msgstr "Considérez cette action :"

#: ../../guides/ajax.rst:60
msgid "To execute it, use ``ajax.action('<action_name>', options)``:"
msgstr "Pour l’exécuter, utilisez ``ajax.action('<action_name>', options)`` :"

#: ../../guides/ajax.rst:77
msgid "Notes for actions:"
msgstr "Notes pour les actions :"

#: ../../guides/ajax.rst:81
msgid ""
"All hooks have type ``action:<action_name>``. So in this case, three hooks "
"will be triggered:"
msgstr ""
"Tous les hooks ont le type ``action:<action_name>``. Donc, dans ce cas, "
"trois hooks seront déclenchés :"

#: ../../guides/ajax.rst:80
msgid ""
"client-side ``\"ajax_request_data\", \"action:do_math\"`` to filter the "
"request data (before it's sent)"
msgstr ""
"côté client ``\"ajax_request_data\", \"action:do_math\"`` pour filtrer les "
"données de la requête (avant qu’elle soit envoyée)"

#: ../../guides/ajax.rst:81
msgid ""
"server-side ``\"ajax_response\", \"action:do_math\"`` to filter the response"
" (after the action runs)"
msgstr ""
"côté serveur ``\"ajax_response\", \"action:do_math\"`` pour filtrer la "
"réponse (après que l'action a été exécutée)"

#: ../../guides/ajax.rst:82
msgid ""
"client-side ``\"ajax_response_data\", \"action:do_math\"`` to filter the "
"response data (before the calling code receives it)"
msgstr ""
"côté client ``\"ajax_response_data\", \"action:do_math\"`` pour filtrer les "
"données de la réponse (avant que le code appelant ne les reçoive)"

#: ../../guides/ajax.rst:83
msgid "CSRF tokens are added to the request data."
msgstr "Les jetons CSRF sont ajoutés aux données de la requête."

#: ../../guides/ajax.rst:84
msgid "The default method is ``POST``."
msgstr "La méthode par défaut est ``POST``."

#: ../../guides/ajax.rst:85
msgid "An absolute action URL can be given in place of the action name."
msgstr "Une URL d’action absolue peut être donnée à la place du nom d’action."

#: ../../guides/ajax.rst:87
msgid ""
"When setting ``data``, use ``ajax.objectify($form)`` instead of "
"``$form.serialize()``. Doing so allows the ``ajax_request_data`` plugin hook"
" to fire and other plugins to alter/piggyback on the request."
msgstr ""
"Lorsque vous définissez ``data``, utilisez ``ajax.objectify($form)`` au lieu"
" de ``$form.serialize()``. Cela permet au hook de plugin "
"``ajax_request_data`` d'être déclenché, et à d'autres plugins de modifier / "
"réagir à la requête."

#: ../../guides/ajax.rst:91
msgid "Fetching data"
msgstr "Récupérer des données"

#: ../../guides/ajax.rst:93
msgid ""
"Consider this PHP script that runs at ``http://example.org/myplugin_time``."
msgstr ""
"Considérez ce script PHP qui s’exécute à "
"``http://example.org/myplugin_time``."

#: ../../guides/ajax.rst:117
msgid "To fetch its output, use ``ajax.path('<url_path>', options)``."
msgstr ""
"Pour récupérer sa sortie, utilisez ``ajax.path('<url_path>', options)``."

#: ../../guides/ajax.rst:129
msgid "Notes for paths:"
msgstr "Notes pour les chemins :"

#: ../../guides/ajax.rst:131
msgid ""
"The 3 hooks (see Actions above) will have type ``path:<url_path>``. In this "
"case, \"path:myplugin_time\"."
msgstr ""
"Les 3 hooks (voir Actions ci-dessus) auront le type ``path:<url_path>``. "
"Dans ce cas, \"chemin:myplugin_time\"."

#: ../../guides/ajax.rst:132
msgid ""
"If the page handler echoes a regular web page, ``output`` will be a string "
"containing the HTML."
msgstr ""
"Si le gestionnaire de page renvoie une page Web normale, ``output`` sera une"
" chaîne contenant le HTML de la page."

#: ../../guides/ajax.rst:133
msgid "An absolute URL can be given in place of the path name."
msgstr "Une URL absolue peut être donnée à la place du nom du chemin."

#: ../../guides/ajax.rst:136
msgid "Fetching views"
msgstr "Récupérer des vues"

#: ../../guides/ajax.rst:138
msgid "Consider this view:"
msgstr "Considérez cette vue :"

#: ../../guides/ajax.rst:157
msgid "Since it's a PHP file, we must register it for Ajax first:"
msgstr ""
"Comme il s’agit d’un fichier PHP, nous devons d’abord l’enregistrer pour "
"Ajax :"

#: ../../guides/ajax.rst:165
msgid "To fetch the view, use ``ajax.view('<view_name>', options)``:"
msgstr ""
"Pour récupérer la vue, utilisez ``ajax.view('<view_name>', options)`` :"

#: ../../guides/ajax.rst:180
msgid "Notes for views:"
msgstr "Notes pour les vues :"

#: ../../guides/ajax.rst:182
msgid ""
"The 3 hooks (see Actions above) will have type ``view:<view_name>``. In this"
" case, \"view:myplugin/get_link\"."
msgstr ""
"Les 3 hooks (voir Actions ci-dessus) auront le type ``view:<view_name>``. "
"Dans ce cas, \"view:myplugin/get_link\"."

#: ../../guides/ajax.rst:183 ../../guides/ajax.rst:217
msgid "``output`` will be a string with the rendered view."
msgstr "``output`` sera une chaîne avec la vue générée."

#: ../../guides/ajax.rst:184
msgid "The request data are injected into ``$vars`` in the view."
msgstr "Les données de la requête sont injectées dans ``$vars`` dans la vue."

#: ../../guides/ajax.rst:185 ../../guides/ajax.rst:219
msgid ""
"If the request data contains ``guid``, the system sets ``$vars['entity']`` "
"to the corresponding entity or ``false`` if it can't be loaded."
msgstr ""
"Si les données de la requête contiennent ``guid``, le système définit "
"``$vars['entity']`` à l’entité correspondante ou à ``false`` si elle ne peut"
" pas être chargée."

#: ../../guides/ajax.rst:189 ../../guides/ajax.rst:230
msgid ""
"In ajax views and forms, note that ``$vars`` can be populated by client "
"input. The data is filtered like ``get_input()``, but may not be the type "
"you're expecting or may have unexpected keys."
msgstr ""
"Dans les vues et les formulaires ajax, notez que ``$vars`` peut être peuplé "
"par les saisies du client. Les données sont filtrées comme ``get_input()``, "
"mais peuvent ne pas avoir le type que vous attendez ou peuvent avoir des "
"clefs inattendues."

#: ../../guides/ajax.rst:194
msgid "Fetching forms"
msgstr "Récupérer des formulaires"

#: ../../guides/ajax.rst:196
msgid "Consider we have a form view. We register it for Ajax:"
msgstr ""
"Considérez que nous avons une vue de formulaire. Nous l’enregistrons pour "
"Ajax :"

#: ../../guides/ajax.rst:203
msgid "To fetch this using ``ajax.form('<action_name>', options)``."
msgstr "Pour récupérer ceci utilisez ``ajax.form('<action_name>', options)``."

#: ../../guides/ajax.rst:214
msgid "Notes for forms:"
msgstr "Notes pour les formulaires :"

#: ../../guides/ajax.rst:216
msgid ""
"The 3 hooks (see Actions above) will have type ``form:<action_name>``. In "
"this case, \"form:myplugin/add\"."
msgstr ""
"Les 3 hooks (voir Actions ci-dessus) auront le type ``form:<action_name>``. "
"Dans ce cas, \"form:myplugin/add\"."

#: ../../guides/ajax.rst:218
msgid "The request data are injected into ``$vars`` in your form view."
msgstr ""
"Les données de la requête sont injectées dans ``$vars`` dans la vue de votre"
" formulaire."

#: ../../guides/ajax.rst:223
msgid ""
"Only the request data are passed to the requested form view (i.e. as a third"
" parameter accepted by ``elgg_view_form()``). If you need to pass attributes"
" or parameters of the form element rendered by the ``input/form`` view (i.e."
" normally passed as a second parameter to ``elgg_view_form()``), use the "
"server-side hook ``view_vars, input/form``."
msgstr ""
"Seules les données de la requête sont transmises à la vue du formulaire "
"demandé (c’est-à-dire en tant que troisième paramètre accepté par "
"``elgg_view_form()``). Si vous devez passer des attributs ou des paramètres "
"de l’élément de formulaire rendu par la vue ``input/form`` (c’est-à-dire "
"normalement passé comme deuxième paramètre à ``elgg_view_form()``), utilisez"
" le hook serveur ``view_vars, input/form``."

#: ../../guides/ajax.rst:235
msgid "Submitting forms"
msgstr "Envoyer des formulaires"

#: ../../guides/ajax.rst:237
msgid ""
"To submit a form using Ajax, simply pass ``ajax`` parameter with form "
"variables:"
msgstr ""
"Pour envoyer un formulaire avec Ajax, il suffit de passer le paramètre "
"``ajax`` avec les variables de formulaire :"

#: ../../guides/ajax.rst:245
msgid "Redirects"
msgstr "Redirections"

#: ../../guides/ajax.rst:247
msgid ""
"Use ``ajax.forward()`` to start a spinner and redirect the user to a new "
"destination."
msgstr ""
"Utilisez ``ajax.forward()`` pour démarrer un spinner et rediriger "
"l’utilisateur vers une nouvelle destination."

#: ../../guides/ajax.rst:257
msgid "Piggybacking on an Ajax request"
msgstr "Réagir (piggybacking) lors d'une requête Ajax"

#: ../../guides/ajax.rst:259
msgid ""
"The client-side ``ajax_request_data`` hook can be used to append or filter "
"data being sent by an ``elgg/Ajax`` request."
msgstr ""
"Le hook ``ajax_request_data`` côté client peut être utilisé pour ajouter ou "
"filtrer les données envoyées par une demande ``elgg/Ajax``."

#: ../../guides/ajax.rst:261
msgid ""
"Let's say when the view ``foo`` is fetched, we want to also send the server "
"some data:"
msgstr ""
"Disons que lorsque la vue ``foo`` est récupérée, nous voulons également "
"envoyer au serveur quelques données :"

#: ../../guides/ajax.rst:277
msgid "This data can be read server-side via ``get_input('bar');``."
msgstr "Ces données peuvent être lues côté serveur via ``get_input('bar');``."

#: ../../guides/ajax.rst:279
msgid ""
"If data was given as a string (e.g. ``$form.serialize()``), the request "
"hooks are not triggered."
msgstr ""
"Si les données ont été données sous forme de chaîne (par ex. "
"``$form.serialize()``), les hooks de requête ne sont pas déclenchés."

#: ../../guides/ajax.rst:281
msgid ""
"The form will be objectified as ``FormData``, and the request content type "
"will be determined accordingly."
msgstr ""
"Le formulaire sera transformé en objet nommé ``FormData``, et le type de "
"contenu de la requête sera déterminé en conséquence."

#: ../../guides/ajax.rst:284
msgid "Piggybacking on an Ajax response"
msgstr "Réagir (piggybacking) à une réponse Ajax"

#: ../../guides/ajax.rst:286
msgid ""
"The server-side ``ajax_response`` hook can be used to append or filter "
"response data (or metadata)."
msgstr ""
"Le hook ``ajax_response`` côté serveur peut être utilisé pour ajouter ou "
"filtrer des données de réponse (ou des métadonnées)."

#: ../../guides/ajax.rst:288
msgid ""
"Let's say when the view ``foo`` is fetched, we want to also send the client "
"some additional data:"
msgstr ""
"Disons que lorsque la vue ``foo`` est récupérée, nous voulons également "
"envoyer au client quelques données supplémentaires :"

#: ../../guides/ajax.rst:311
msgid ""
"To capture the metadata send back to the client, we use the client-side "
"``ajax_response`` hook:"
msgstr ""
"Pour capturer les métadonnées envoyées au client, nous utilisons le hook "
"``ajax_response`` côté client :"

#: ../../guides/ajax.rst:330
msgid ""
"Only ``data.value`` is returned to the ``success`` function or available via"
" the `Deferred` interface."
msgstr ""
"Seule la valeur ``data.value`` est renvoyée à la fonction ``success``, ou "
"disponible via l’interface `Deferred`."

#: ../../guides/ajax.rst:332
msgid ""
"Elgg uses these same hooks to deliver system messages over ``elgg/Ajax`` "
"responses."
msgstr ""
"Elgg utilise ces mêmes hooks pour diffuser des messages système via les "
"réponses ``elgg/Ajax`` ."

#: ../../guides/ajax.rst:335
msgid "Handling errors"
msgstr "Gérer les erreurs"

#: ../../guides/ajax.rst:337
msgid "Responses basically fall into three categories:"
msgstr "Les réponses correspondent à l'une de ces trois catégories :"

#: ../../guides/ajax.rst:339
msgid ""
"HTTP success (200) with status ``0``. No ``register_error()`` calls were "
"made on the server."
msgstr ""
"Succès HTTP (200) avec un statut ``0``. Aucun appel ``register_error()`` n'a"
" été fait sur le serveur."

#: ../../guides/ajax.rst:340
msgid ""
"HTTP success (200) with status ``-1``. ``register_error()`` was called."
msgstr ""
"Succès HTTP (200) avec le statut ``-1``. ``register_error()`` a été appelé."

#: ../../guides/ajax.rst:341
msgid ""
"HTTP error (4xx/5xx). E.g. calling an action with stale tokens, or a server "
"exception. In this case the ``done`` callbacks are not called."
msgstr ""
"Erreur HTTP (4xx/5xx). Par ex. appeler une action avec des jetons expirés, "
"ou une exception sur le serveur. Dans ce cas les fonctions de callback "
"``done`` ne sont pas appelées."

#: ../../guides/ajax.rst:343
msgid ""
"The first and third case are the most common cases in the system. Use the "
"``done`` and ``fail`` callbacks to differentiate behaviour on success and "
"error."
msgstr ""
"Le premier et le troisième cas sont les plus courants dans le système. "
"Utilisez les callbacks ``done`` et ``fail`` pour différencier le "
"comportement en cas de succès et d'erreur."

#: ../../guides/ajax.rst:354
msgid "Requiring AMD modules"
msgstr "Requérir des modules AMD"

#: ../../guides/ajax.rst:356
msgid ""
"Each response from an Ajax service will contain a list of AMD modules "
"required server side with `elgg_require_js()`. When response data is "
"unwrapped, these modules will be loaded asynchronously - plugins should not "
"expect these modules to be loaded in their `$.done()` and `$.then()` "
"handlers and must use `require()` for any modules they depend on. "
"Additionally AMD modules should not expect the DOM to have been altered by "
"an Ajax request when they are loaded - DOM events should be delegated and "
"manipulations on DOM elements should be delayed until all Ajax requests have"
" been resolved."
msgstr ""
"Chaque réponse d’un service Ajax contiendra une liste de modules AMD requis "
"côté serveur avec `elgg_require_js()`. Lorsque les données de réponse sont "
"déballées, ces modules seront chargés de façon asynchrone - les plugins ne "
"doivent pas s’attendre à ce que ces modules soient chargés dans leurs "
"gestionnaires `$.done()` et `$.then()` et doivent utiliser `require()` pour "
"tous les modules dont ils dépendent. En outre, les modules AMD ne doivent "
"pas s’attendre à ce que le DOM ait été modifié par une demande Ajax "
"lorsqu’ils sont chargés - les événements DOM doivent être délégués et les "
"manipulations sur les éléments DOM doivent être retardées jusqu’à ce que "
"toutes les requêtes Ajax aient été résolues."

#: ../../guides/authentication.rst:2
msgid "Authentication"
msgstr "Authentification"

#: ../../guides/authentication.rst:4
msgid ""
"Elgg provides everything needed to authenticate users via username/email and"
" password out of the box, including:"
msgstr ""
"Elgg fournit d'emblée tout ce qui est nécessaire pour authentifier les "
"utilisateurs via le nom d’utilisateur/l'e-mail et le mot de passe, y compris"
" :"

#: ../../guides/authentication.rst:7
msgid "remember-me cookies for persistent login"
msgstr "cookies pour une connexion persistante"

#: ../../guides/authentication.rst:8
msgid "password reset logic"
msgstr "logique de réinitialisation de mot de passe"

#: ../../guides/authentication.rst:9
msgid "secure storage of passwords"
msgstr "stockage sécurisé des mots de passe"

#: ../../guides/authentication.rst:10
msgid "logout"
msgstr "déconnexion"

#: ../../guides/authentication.rst:11
msgid "UIs for accomplishing all of the above"
msgstr "UIs pour accomplir tout ce qui précède"

#: ../../guides/authentication.rst:13
msgid ""
"All that's left for you to do as a developer is to use the built-in "
"authentication functions to secure your pages and actions."
msgstr ""
"Il ne vous reste plus en tant que développeur qu’à utiliser les fonctions "
"d’authentification intégrées pour sécuriser vos pages et vos actions."

#: ../../guides/authentication.rst:17
msgid "Working with the logged in user"
msgstr "Travailler avec l’utilisateur connecté"

#: ../../guides/authentication.rst:19
msgid ""
"Check whether the current user is logged in with ``elgg_is_logged_in()``:"
msgstr ""
"Vérifiez si l’utilisateur actuel est connecté avec ``elgg_is_logged_in()`` :"

#: ../../guides/authentication.rst:27
msgid ""
"Check if the current user is an admin with ``elgg_is_admin_logged_in()``:"
msgstr ""
"Vérifiez si l’utilisateur actuel est un administrateur avec "
"``elgg_is_admin_logged_in()`` :"

#: ../../guides/authentication.rst:35
msgid ""
"Get the currently logged in user with ``elgg_get_logged_in_user_entity()``:"
msgstr ""
"Récupérez l’utilisateur actuellement connecté avec "
"``elgg_get_logged_in_user_entity()`` :"

#: ../../guides/authentication.rst:41
msgid ""
"The returned object is an ``ElggUser`` so you can use all the methods and "
"properties of that class to access information about the user. If the user "
"is not logged in, this will return ``null``, so be sure to check for that "
"first."
msgstr ""
"L’objet retourné est un ``ElggUser`` de sorte que vous pouvez utiliser "
"toutes les méthodes et propriétés de cette classe pour accéder à des "
"informations sur l’utilisateur. Si l’utilisateur n’est pas connecté, cela "
"vous renvoie ``null``, alors assurez-vous de vérifier cela en premier."

#: ../../guides/authentication.rst:48
msgid "Gatekeepers"
msgstr "Gestionnaires d'accès"

#: ../../guides/authentication.rst:50
msgid ""
"Gatekeeper functions allow you to manage how code gets executed by applying "
"access control rules."
msgstr ""
"Les fonctions de gardien Gatekeeper vous permettent de gérer l’exécution du "
"code en appliquant les règles de contrôle d’accès."

#: ../../guides/authentication.rst:52
msgid ""
"Forward a user to the front page if they are not logged in with "
"``elgg_gatekeeper()``:"
msgstr ""
"Redirige un utilisateur vers la page d'accueil s’il n’est pas connecté avec "
"``elgg_gatekeeper()`` :"

#: ../../guides/authentication.rst:60
msgid ""
"Forward a user to the front page unless they are an admin with "
"``elgg_admin_gatekeeper()``:"
msgstr ""
"Redirige un utilisateur vers la page d'accueil à moins qu’il ne soit un "
"administrateur avec ``elgg_admin_gatekeeper()`` :"

#: ../../guides/authentication.rst:69
msgid "Pluggable Authentication Modules"
msgstr ""
"Modules d'authentification enfichables (Pluggable Authentication Modules)"

#: ../../guides/authentication.rst:71
msgid ""
"Elgg has support for pluggable authentication modules (PAM), which enables "
"you to write your own authentication handlers. Whenever a request needs to "
"get authenticated the system will call ``elgg_authenticate()`` which probes "
"the registered PAM handlers until one returns success."
msgstr ""
"Elgg est compatible avec des modules d'authentification enfichables (PAM = "
"Pluggable Authentication Modules), qui vous permettent d'écrire vos propres "
"gestionnaires d'authentification. A chaque fois qu'une requête a besoin "
"d'être authentifiée le système va appeler ``elgg_authenticate()`` qui va "
"vérifier tous les gestionnaires de PAM enregistrés jusqu'à-ce que l'un "
"d'entre eux renvoie un succès."

#: ../../guides/authentication.rst:73
msgid ""
"The preferred approach is to create a separate Elgg plugin which will have "
"one simple task: to process an authentication request. This involves setting"
" up an authentication handler in the plugin's :doc:`Bootstrap <plugins>` "
"class, and to register it with the PAM module so it will get processed "
"whenever the system needs to authenticate a request."
msgstr ""
"L’approche privilégiée est de créer un plugin Elgg séparé qui aura une tâche"
" simple : traiter une demande d’authentification. Il s’agit de configurer un"
" gestionnaire d’authentification dans la classe :doc:`Bootstrap `, et de "
"l’enregistrer auprès du module PAM pour traité chaque fois que le système "
"doit authentifier une requête."

#: ../../guides/authentication.rst:75
msgid ""
"The authentication handler is a function and takes a single parameter. "
"Registering the handler is being done by ``register_pam_handler()`` which "
"takes the name of the authentication handler, the importance and the policy "
"as parameters. It is advised to register the handler in the plugin's init "
"function, for example:"
msgstr ""
"Le gestionnaire d’authentification est une fonction qui prend un seul "
"paramètre. L’enregistrement du gestionnaire se fait par "
"``register_pam_handler()`` qui prend le nom du gestionnaire "
"d’authentification, l’importance et la politique de validité comme "
"paramètres. Il est conseillé d’enregistrer le gestionnaire dans la fonction "
"init du plugin, par exemple :"

#: ../../guides/authentication.rst:93
msgid "Importance"
msgstr "Importance"

#: ../../guides/authentication.rst:95
msgid ""
"By default an authentication module is registered with an importance of "
"**sufficient**."
msgstr ""
"Par défaut, un module d’authentification est enregistré avec une importance "
"de **sufficient** (suffisant)."

#: ../../guides/authentication.rst:97
msgid ""
"In a list of authentication modules; if any one marked *sufficient* returns "
"``true``, ``pam_authenticate()`` will also return ``true``. The exception to"
" this is when an authentication module is registered with an importance of "
"**required**. All required modules must return ``true`` for "
"``pam_authenticate()`` to return ``true``, regardless of whether all "
"sufficient modules return ``true``."
msgstr ""
"Dans une liste de modules d’authentification ; si n'importe lequel de ces "
"modules marqué *sufficient* renvoie ``true``, ``pam_authenticate()`` "
"renverra également ``true``. L’exception à cela est lorsqu’un module "
"d’authentification est enregistré avec une importance de **required**. Tous "
"les modules requis doivent renvoyer ``true`` pour que ``pam_authenticate()``"
" renvoie ``true``, indépendamment du fait que tous les modules suffisants "
"retournent ``true``."

#: ../../guides/authentication.rst:100
msgid "Passed credentials"
msgstr "Informations d’identification transmises"

#: ../../guides/authentication.rst:102
msgid ""
"The format of the credentials passed to the handler can vary, depending on "
"the originating request. For example, a regular login via the login form "
"will create a named array, with the keys ``username`` and ``password``. If a"
" request was made for example via XML-RPC then the credentials will be set "
"in the HTTP header, so in this case nothing will get passed to the "
"authentication handler and the handler will need to perform steps on its own"
" to authenticate the request."
msgstr ""
"Le format des informations d’identification transmises au gestionnaire peut "
"varier en fonction de la demande d’origine. Par exemple, une connexion "
"classique via le formulaire de connexion créera un tableau indexé, avec les "
"clefs ``username`` et ``password``. Si une demande a été faite par exemple "
"via XML-RPC, les informations d’identification seront définies dans l’entête"
" HTTP, de sorte que dans ce cas rien ne sera transmis au gestionnaire "
"d’authentification, et que le gestionnaire devra effectuer ses propres "
"étapes pour authentifier la demande."

#: ../../guides/authentication.rst:105
msgid "Return value"
msgstr "Valeur de retour"

#: ../../guides/authentication.rst:107
msgid ""
"The authentication handle should return a ``boolean``, indicating if the "
"request could be authenticated or not. One caveat is that in case of a "
"regular user login where credentials are available as username and password "
"the user will get logged in. In case of the XML-RPC example the "
"authentication handler will need to perform this step itself since the rest "
"of the system will not have any idea of either possible formats of "
"credentials passed nor its contents. Logging in a user is quite simple and "
"is being done by ``login()``, which expects an ``ElggUser`` object."
msgstr ""
"Le gestionnaire d’authentification doit renvoyer un ``booléen``, indiquant "
"si la demande peut être authentifiée ou non. Une mise en garde est que dans "
"le cas d’une connexion utilisateur classique où les informations "
"d’identification sont disponibles (nom d’utilisateur et mot de passe), "
"l’utilisateur sera connecté. Dans le cas de l’exemple XML-RPC, le "
"gestionnaire d’authentification devra effectuer cette étape lui-même puisque"
" le reste du système n’aura aucune idée des formats possibles des "
"informations d’authentification passées ni de leur contenu. La connexion "
"d'un utilisateur est assez simple et se fait par ``login()``, qui s’attend à"
" recevoir un objet ``ElggUser``."

#: ../../guides/context.rst:2
msgid "Context"
msgstr "Contexte"

#: ../../guides/context.rst:6
msgid ""
"The contents of this page are outdated. While the functionality is still in "
"place, using global context to determine your business logic is bad "
"practice, and will make your code less testable and succeptive to bugs."
msgstr ""
"Le contenu de cette page est obsolète. Bien que la fonctionnalité soit "
"toujours en place, l’utilisation du contexte global pour déterminer votre "
"logique de fonctionnement est une mauvaise pratique, et rendra votre code "
"moins testable et plus sujet aux bogues."

#: ../../guides/context.rst:10
msgid ""
"Within the Elgg framework, context can be used by your plugin's functions to"
" determine if they should run or not. You will be registering callbacks to "
"be executed when particular :doc:`events are triggered <events-list>`. "
"Sometimes the events are generic and you only want to run your callback when"
" your plugin caused the event to be triggered. In that case, you can use the"
" page's context."
msgstr ""
"Dans le framework Elgg, le contexte peut être utilisé par les fonctions de "
"votre plugin pour déterminer s’ils doivent s’exécuter ou non. Vous "
"enregistrerez les fonctions de rappel à exécuter lorsque des "
":doc:`événements sont déclenchés <events-list>`. Parfois, les événements "
"sont génériques et vous souhaitez uniquement exécuter votre fonction de "
"rappel quand votre plugin est à l'origine du déclenchement de l’événement. "
"Dans ce cas, vous pouvez utiliser le contexte de la page."

#: ../../guides/context.rst:15
msgid ""
"You can explicitly set the context with ``set_context()``. The context is a "
"string and typically you set it to the name of your plugin. You can retrieve"
" the context with the function ``get_context()``. It's however better to use"
" ``elgg_push_context($string)`` to add a context to the stack. You can check"
" if the context you want in in the current stack by calling "
"``elgg_in_context($context)``. Don't forget to pop (with "
"``elgg_pop_context()``) the context after you push one and don't need it "
"anymore."
msgstr ""
"Vous pouvez définir explicitement le contexte avec ``set_context()``. Le "
"contexte est une chaîne et généralement vous la définissez sur le nom de "
"votre plugin. Vous pouvez récupérer le contexte avec la fonction "
"``get_context()``. Il est toutefois préférable d’utiliser "
"``elgg_push_context($string)`` pour ajouter un contexte à la pile. Vous "
"pouvez vérifier si le contexte que vous souhaitez ajouter est déjà dans la "
"pile actuelle en appelant ``elgg_in_context($context)``. N’oubliez pas de "
"dépiler (avec ``elgg_pop_context()``) le contexte après l'avoir empilé, si "
"vous n’en avez plus besoin."

#: ../../guides/context.rst:21
msgid ""
"If you don't set it, Elgg tries to guess the context. If the page was called"
" through the router, the context is set to the first segment of the current "
"route, e.g. ``profile`` in ``profile/username``."
msgstr ""
"Si vous ne le définissez pas, Elgg essaie de deviner le contexte. Si la page"
" a été appelée via le routeur, le contexte est défini sur le premier segment"
" de la route actuelle, par exemple ``profile`` dans ``profile/username``."

#: ../../guides/context.rst:24
msgid ""
"Sometimes a view will return different HTML depending on the context. A "
"plugin can take advantage of that by setting the context before calling "
"``elgg_view()`` on the view and then setting the context back. This is "
"frequently done with the search context."
msgstr ""
"Parfois, une vue va renvoyer un code HTML différent selon le contexte. Un "
"plugin peut en profiter en définissant le contexte avant d’appeler "
"``elgg_view()`` sur la vue, puis en rétablissant le contexte d'origine. Cela"
" se fait fréquemment avec le contexte de recherche (search)."

#: ../../guides/cron.rst:2
msgid "Cron"
msgstr "Cron"

#: ../../guides/cron.rst:4
msgid ""
"If you setup cron correctly as described in :doc:`/admin/cron` special hooks"
" will be triggered so you can register for these hooks from your own code."
msgstr ""
"Si vous configurez cron correctement comme décrit dans :doc:`/admin/cron` "
"des hooks spéciaux seront déclenchés afin que vous puissiez enregistrer des "
"gestionnaires pour ces hooks à partir de votre propre code."

#: ../../guides/cron.rst:7
msgid "The example below registers a function for the daily cron."
msgstr "L’exemple ci-dessous enregistre une fonction pour le cron quotidien."

#: ../../guides/cron.rst:15
msgid ""
"If timing is important in your cron hook be advised that the functions are "
"executed in order of registration. This could mean that your function may "
"start (a lot) later then you may have expected. However the parameters "
"provided in the hook contain the original starting time of the cron, so you "
"can always use that information."
msgstr ""
"Si le timing est important dans votre hook cron, notez que les fonctions "
"sont exécutées dans l’ordre d’enregistrement. Cela pourrait signifier que "
"votre fonction peut commencer (beaucoup) plus tard que vous l'avez peut-être"
" prévu. Toutefois, les paramètres fournis dans le hook contiennent l’heure "
"de départ d’origine du cron, de sorte que vous pouvez toujours utiliser ces "
"informations."

#: ../../guides/cron.rst:28
msgid "Custom intervals"
msgstr "Intervalles personnalisés"

#: ../../guides/cron.rst:30
msgid "Plugin developers can configure there own custom intervals."
msgstr ""
"Les développeurs de plugins peuvent configurer leurs propres intervalles "
"personnalisés."

#: ../../guides/cron.rst:34
msgid ""
"It's **NOT** recommended to do this, as the users of your plugin may also "
"need to configure your custom interval. Try to work with the default "
"intervals. If you only need to do a certain task at for example 16:30 you "
"can use the ``halfhour`` interval and check that ``date('G', $start_time) =="
" 16`` and ``date('i', $start_time) == 30``"
msgstr ""
"Il n'est **PAS** recommandé de faire cela, car les utilisateurs de votre "
"plugin peuvent également avoir besoin de configurer votre intervalle "
"personnalisé. Essayez de travailler avec les intervalles par défaut. Si vous"
" n’avez qu’à effectuer une certaine tâche à 16:30, vous pouvez utiliser "
"l’intervalle ``halfhour`` et vérifier que ``date('G', $start_time) == 16`` "
"et ``date('i', $start_time) == 30``"

#: ../../guides/cron.rst:53
msgid ":doc:`/design/events` has more information about hooks"
msgstr ":doc:`/design/events` a plus d’informations sur les hooks"

#: ../../guides/cron.rst:54
msgid ""
"For more information about the supported cron interval definition see `the "
"PHP Scheduler documentation`_"
msgstr ""
"Pour plus d’informations sur la définition des intervalles de cron pris en "
"charge, voir la `documentation PHP Scheduler`_"

#: ../../guides/database.rst:2
msgid "Database"
msgstr "Base de données"

#: ../../guides/database.rst:4
msgid ""
"Persist user-generated content and settings with Elgg's generic storage API."
msgstr ""
"Persistez le contenu et les paramètres générés par l’utilisateur avec l’API "
"de stockage générique d’Elgg."

#: ../../guides/database.rst:11
msgid "Entities"
msgstr "Entités"

#: ../../guides/database.rst:14
msgid "Creating an object"
msgstr "Créer un objet"

#: ../../guides/database.rst:16
msgid ""
"To create an object in your code, you need to instantiate an ``ElggObject``."
" Setting data is simply a matter of adding instance variables or properties."
" The built-in properties are:"
msgstr ""
"Pour créer un objet dans votre code, vous devez instancier un "
"``ElggObject``. La définition des données est simplement une question "
"d’ajout de variables ou de propriétés d’instance. Les propriétés intégrées "
"sont les suivantes :"

#: ../../guides/database.rst:20
msgid "**``guid``** The entity's GUID; set automatically"
msgstr "**``guid``** Le GUID de l'entité ; défini automatiquement"

#: ../../guides/database.rst:21
msgid "**``owner_guid``** The owning user's GUID"
msgstr "**``owner_guid``** Le GUID de l'utilisateur propriétaire"

#: ../../guides/database.rst:22
msgid ""
"**``subtype``** A single-word arbitrary string that defines what kind of "
"object it is, for example ``blog``"
msgstr ""
"**``subtype``** Une chaîne arbitraire en un seul mot qui définit de quel "
"type d'objet il s'agit, par exemple `blog``"

#: ../../guides/database.rst:24
msgid ""
"**``access_id``** An integer representing the access level of the object"
msgstr ""
"**``access_id``** Un entier qui représente le niveau d'accès de l'objet"

#: ../../guides/database.rst:26
msgid "**``title``** The title of the object"
msgstr "**``title``** Le titre de l'objet"

#: ../../guides/database.rst:27
msgid "**``description``** The description of the object"
msgstr "**``description``** La description de l'objet"

#: ../../guides/database.rst:29
msgid ""
"The object subtype is a special property. This is an arbitrary string that "
"describes what the object is. For example, if you were writing a blog "
"plugin, your subtype string might be *blog*. It's a good idea to make this "
"unique, so that other plugins don't accidentally try and use the same "
"subtype. For the purposes of this document, let's assume we're building a "
"simple forum. Therefore, the subtype will be *forum*:"
msgstr ""
"Le sous-type d’objet est une propriété spéciale. Il s’agit d’une chaîne "
"arbitraire qui décrit ce qu’est l’objet. Par exemple, si vous écriviez un "
"plugin de blog, votre chaîne de sous-type peut être *blog*. C’est une bonne "
"idée de faire en sorte que cette chaîne soit unique, de sorte que d’autres "
"plugins n’essaient pas accidentellement d’utiliser le même sous-type. Pour "
"les besoins de ce document, supposons que nous construisons un forum simple."
" Par conséquent, le sous-type sera *forum* :"

#: ../../guides/database.rst:43
msgid ""
"``access_id`` is another important property. If you don't set this, your "
"object will be private, and only the creator user will be able to see it. "
"Elgg defines constants for the special values of ``access_id``:"
msgstr ""
"``access_id`` est une autre propriété importante. Si vous ne la définissez "
"pas, votre objet sera privé, et seul l’utilisateur qui l'a créé sera en "
"mesure de le voir. Elgg définit des constantes pour les valeurs spéciales de"
" ``access_id`` :"

#: ../../guides/database.rst:47
msgid "**ACCESS_PRIVATE** Only the owner can see it"
msgstr "**ACCESS_PRIVATE** Seul son propriétaire peut le voir"

#: ../../guides/database.rst:48
msgid "**ACCESS_LOGGED_IN** Any logged in user can see it"
msgstr "**ACCESS_LOGGED_IN** Tout utilisateur connecté peut le voir"

#: ../../guides/database.rst:49
msgid "**ACCESS_PUBLIC** Even visitors not logged in can see it"
msgstr "**ACCESS_PUBLIC** Même les visiteurs non connectés peuvent le voir"

#: ../../guides/database.rst:51
msgid ""
"Saving the object will automatically populate the ``$object->guid`` property"
" if successful. If you change any more base properties, you can call "
"``$object->save()`` again, and it will update the database for you."
msgstr ""
"L’enregistrement de l’objet remplira automatiquement la propriété "
"``$object->guid`` en cas de succès. Si vous modifiez d’autres propriétés de "
"base, vous pouvez appeler à nouveau ``$object->save()``, ce qui va mettre à "
"jour la base de données pour vous."

#: ../../guides/database.rst:55
msgid ""
"You can set metadata on an object just like a standard property. Let's say "
"we want to set the SKU of a product:"
msgstr ""
"Vous pouvez définir des métadonnées sur un objet comme une propriété "
"standard. Disons que nous voulons définir le SKU (référence unique pour les "
"stocks) d’un produit :"

#: ../../guides/database.rst:62
msgid ""
"If you assign an array, all the values will be set for that metadata. This "
"is how, for example, you set tags."
msgstr ""
"Si vous affectez un tableau, toutes les valeurs seront définies pour ces "
"métadonnées. C’est ainsi que, par exemple, vous définissez des balises."

#: ../../guides/database.rst:65
msgid ""
"Metadata cannot be persisted to the database until the entity has been "
"saved, but for convenience, ElggEntity can cache it internally and save it "
"when saving the entity."
msgstr ""
"Les métadonnées ne peuvent pas être conservées dans la base de données tant "
"que l’entité n’a pas été enregistrée, mais pour plus de commodité, "
"ElggEntity peut la mettre en cache en interne et l’enregistrer lors de "
"l’enregistrement de l’entité."

#: ../../guides/database.rst:70
msgid "Loading an object"
msgstr "Charger un objet"

#: ../../guides/database.rst:73
msgid "By GUID"
msgstr "Par GUID"

#: ../../guides/database.rst:82
msgid "But what if you don't know the GUID? There are several options."
msgstr ""
"Mais que faire si vous ne connaissez pas le GUID ? Il y a plusieurs options."

#: ../../guides/database.rst:85
msgid "By user, subtype or site"
msgstr "Par utilisateur, sous-type ou site"

#: ../../guides/database.rst:87
msgid ""
"If you know the user ID you want to get objects for, or the subtype, you "
"have several options. The easiest is probably to call the procedural "
"function ``elgg_get_entities``:"
msgstr ""
"Si vous connaissez l’ID de l'utilisateur pour lequel vous souhaitez obtenir "
"des objets ou le sous-type, vous disposez de plusieurs options. Le plus "
"simple est probablement d’appeler la fonction procédurale "
"``elgg_get_entities`` :"

#: ../../guides/database.rst:98
msgid ""
"This will return an array of ``ElggEntity`` objects that you can iterate "
"through. ``elgg_get_entities`` paginates by default, with a limit of 10; and"
" offset 0."
msgstr ""
"Ceci renvoie un tableau d’objets ``ElggEntity`` que vous pouvez itérer. "
"``elgg_get_entities`` a une pagination par défaut, avec une limite de 10, et"
" un et décalage (offset) de 0."

#: ../../guides/database.rst:102
msgid ""
"You can leave out ``owner_guid`` to get all objects and leave out subtype or"
" type to get objects of all types/subtypes."
msgstr ""
"Vous pouvez laisser de côté ``owner_guid`` pour obtenir tous les objets et "
"laisser de côté le sous-type ou le type pour obtenir des objets de tous "
"types/sous-types."

#: ../../guides/database.rst:105
msgid ""
"If you already have an ``ElggUser`` – e.g. "
"``elgg_get_logged_in_user_entity``, which always has the current user's "
"object when you're logged in – you can simply use:"
msgstr ""
"Si vous avez déjà un ``ElggUser`` – par exemple "
"``elgg_get_logged_in_user_entity``, qui renvoie toujours l’objet de "
"l’utilisateur actuel lorsque vous êtes connecté – vous pouvez simplement "
"utiliser :"

#: ../../guides/database.rst:113
msgid "But what about getting objects with a particular piece of metadata?"
msgstr ""
"Mais qu’en est-il d’obtenir des objets ayant une valeur de métadonnée "
"particulière ?"

#: ../../guides/database.rst:116
msgid "By properties"
msgstr "Par propriétés"

#: ../../guides/database.rst:118
msgid ""
"You can fetch entities by their properties using ``elgg_get_entities``. "
"Using specific parameters passed to ``$options`` array, you can retrieve "
"entities by their attributes, metadata, annotations, private settings and "
"relationships."
msgstr ""
"Vous pouvez récupérer des entités par leurs propriétés à l’aide de "
"``elgg_get_entities``. En utilisant des paramètres spécifiques transmis au "
"tableau ``$options``, vous pouvez récupérer des entités par leurs attributs,"
" métadonnées, annotations, paramètres privés et relations."

#: ../../guides/database.rst:123 ../../guides/views.rst:433
msgid "Displaying entities"
msgstr "Afficher des entités"

#: ../../guides/database.rst:125
msgid ""
"In order for entities to be displayed in listing functions you need to "
"provide a view for the entity in the views system."
msgstr ""
"Pour que les entités s’affichent dans les fonctions de liste, vous devez "
"fournir une vue pour l’entité dans le système de vues."

#: ../../guides/database.rst:128
msgid ""
"To display an entity, create a view EntityType/subtype where EntityType is "
"one of the following:"
msgstr ""
"Pour afficher une entité, créez une vue EntityType/subtype où EntityType a "
"l'une des valeurs suivantes :"

#: ../../guides/database.rst:131
msgid ""
"object: for entities derived from ElggObject user: for entities derived from"
" ElggUser site: for entities derived from ElggSite group: for entities "
"derived from ElggGroup"
msgstr ""
"object : pour les entités dérivées de ElggObject, user : pour les entités "
"dérivées de ElggUser, site : pour les entités dérivées de ElggSite, group : "
"pour les entités dérivées de ElggGroup"

#: ../../guides/database.rst:136
msgid ""
"A default view for all entities has already been created, this is called "
"EntityType/default."
msgstr ""
"Une vue par défaut pour toutes les entités a déjà été créée, elle s'appelle "
"EntityType/default."

#: ../../guides/database.rst:142
msgid "Entity Icons"
msgstr "Icônes des entités"

#: ../../guides/database.rst:144
msgid ""
"Entity icons can be saved from uploaded files, existing local files, or "
"existing ElggFile objects. These methods save the `master` size of the icon "
"defined in the system. The other defined sizes will be generated when "
"requested."
msgstr ""
"Les icônes d’entité peuvent être enregistrées à partir de fichiers "
"téléchargés, de fichiers locaux existants, ou d’objets ElggFile existants. "
"Ces méthodes enregistrent la taille ``master`` de l’icône définie dans le "
"système. Les autres tailles définies seront générées sur demande."

#: ../../guides/database.rst:173
msgid "The following sizes exist by default:"
msgstr "Les tailles d'images suivantes existent par défaut :"

#: ../../guides/database.rst:168
msgid "``master`` - 10240px at longer edge (not upscaled)"
msgstr ""
"``master`` - 10240px dans la plus grande longueur (sans agrandissement)"

#: ../../guides/database.rst:169
msgid "``large`` - 200px at longer edge (not upscaled)"
msgstr "``large`` - 200px dans la plus grande dimension (sans agrandissement)"

#: ../../guides/database.rst:170
msgid "``medium`` - 100px square"
msgstr "``medium`` - carré de 100px de côté"

#: ../../guides/database.rst:171
msgid "``small`` - 40px square"
msgstr "``small`` - carré de 40px de côté"

#: ../../guides/database.rst:172
msgid "``tiny`` - 25px square"
msgstr "``tiny`` - carré de 25px de côté"

#: ../../guides/database.rst:173
msgid "``topbar`` - 16px square"
msgstr "``topbar`` - carré de 16px de côté"

#: ../../guides/database.rst:175
msgid ""
"Use ``elgg_get_icon_sizes()`` to get all possible icon sizes for a specific "
"entity type and subtype. The function triggers the ``entity:icon:sizes`` "
":ref:`hook <guides/hooks-list#other>`."
msgstr ""
"Utilisez ``elgg_get_icon_sizes()`` pour obtenir toutes les tailles d’icônes "
"possibles pour un type d’entité et un sous-type spécifiques. La fonction "
"déclenche le :ref:`hook <guides/hooks-list#other>` ``entity:icon:sizes``."

#: ../../guides/database.rst:178
msgid "To check if an icon is set, use ``$object->hasIcon($size)``."
msgstr ""
"Pour vérifier si une icône est définie, utilisez "
"``$object->hasIcon($size)``."

#: ../../guides/database.rst:180
msgid ""
"You can retrieve the URL of the generated icon with "
"``ElggEntity::getIconURL($params)`` method. This method accepts a "
"``$params`` argument as an array that specifies the size, type, and provide "
"additional context for the hook to determine the icon to serve. The method "
"triggers the ``entity:icon:url`` :ref:`hook <guides/hooks-list#other>`."
msgstr ""
"Vous pouvez récupérer l’URL de l’icône générée avec la méthode "
"``ElggEntity::getIconURL($params)``. Cette méthode accepte comme argument "
"``$params`` un tableau qui spécifie la taille, le type et fournit un "
"contexte supplémentaire pour que le hook détermine l’icône à servir. La "
"méthode déclenche le :ref:`hook <guides/hooks-list#other>` "
"``entity:icon:url``."

#: ../../guides/database.rst:185
msgid ""
"Use ``elgg_view_entity_icon($entity, $size, $vars)`` to render an icon. This"
" will scan the following locations for a view and include the first match to"
" ."
msgstr ""
"Utilisez ``elgg_view_entity_icon($entity, $size, $vars)`` pour afficher une "
"icône. Cela analysera les emplacements suivants pour une vue et inclura la "
"première qui correspond."

#: ../../guides/database.rst:188
msgid "views/$viewtype/icon/$type/$subtype.php"
msgstr "views/$viewtype/icon/$type/$subtype.php"

#: ../../guides/database.rst:189
msgid "views/$viewtype/icon/$type/default.php"
msgstr "views/$viewtype/icon/$type/default.php"

#: ../../guides/database.rst:190
msgid "views/$viewtype/icon/default.php"
msgstr "views/$viewtype/icon/default.php"

#: ../../guides/database.rst:192 ../../guides/database.rst:209
msgid "Where"
msgstr "Où"

#: ../../guides/database.rst:194 ../../guides/database.rst:211
msgid "$viewtype"
msgstr "$viewtype"

#: ../../guides/database.rst:195 ../../guides/database.rst:212
msgid "Type of view, e.g. ``'default'`` or ``'json'``."
msgstr "Type de vue, par ex. ``'default'`` ou ``'json'``."

#: ../../guides/database.rst:196
msgid "$type"
msgstr "$type"

#: ../../guides/database.rst:197 ../../guides/database.rst:216
msgid "Type of entity, e.g. ``'group'`` or ``'user'``."
msgstr "Type d'entité, par ex. ``'group'`` ou ``'user'``."

#: ../../guides/database.rst:199
msgid "$subtype"
msgstr "$subtype"

#: ../../guides/database.rst:199
msgid "Entity subtype, e.g. ``'blog'`` or ``'page'``."
msgstr "Sous-type d'entité, par ex. ``'blog'`` ou ``'page'``."

#: ../../guides/database.rst:201
msgid ""
"You do not have to return a fallback icon from the hook handler. If no "
"uploaded icon is found, the view system will scan the views (in this "
"specific order):"
msgstr ""
"Vous n’avez pas à renvoyer une icône de secours du gestionnaire de hook. Si "
"aucune icône téléchargée n’est trouvée, le système d’affichage analysera les"
" vues (dans cet ordre spécifique) :"

#: ../../guides/database.rst:204
msgid "views/$viewtype/$icon_type/$entity_type/$entity_subtype.svg"
msgstr "views/$viewtype/$icon_type/$entity_type/$entity_subtype.svg"

#: ../../guides/database.rst:205
msgid "views/$viewtype/$icon_type/$entity_type/$entity_subtype/$size.gif"
msgstr "views/$viewtype/$icon_type/$entity_type/$entity_subtype/$size.gif"

#: ../../guides/database.rst:206
msgid "views/$viewtype/$icon_type/$entity_type/$entity_subtype/$size.png"
msgstr "views/$viewtype/$icon_type/$entity_type/$entity_subtype/$size.png"

#: ../../guides/database.rst:207
msgid "views/$viewtype/$icon_type/$entity_type/$entity_subtype/$size.jpg"
msgstr "views/$viewtype/$icon_type/$entity_type/$entity_subtype/$size.jpg"

#: ../../guides/database.rst:213
msgid "$icon_type"
msgstr "$icon_type"

#: ../../guides/database.rst:214
msgid "Icon type, e.g. ``'icon'`` or ``'cover_image'``."
msgstr "Type d'icône, par ex. ``'icon'`` ou ``'cover_image'``."

#: ../../guides/database.rst:215
msgid "$entity_type"
msgstr "$entity_type"

#: ../../guides/database.rst:217
msgid "$entity_subtype"
msgstr "$entity_subtype"

#: ../../guides/database.rst:218
msgid ""
"Entity subtype, e.g. ``'blog'`` or ``'page'`` (or ``'default'`` if entity "
"has not subtype)."
msgstr ""
"Sous-type d’entité, par ex. ``'blog'`` ou ``'page'`` (ou ``'default'`` si "
"l’entité n’a pas de sous-type)."

#: ../../guides/database.rst:220
msgid "$size"
msgstr "$size"

#: ../../guides/database.rst:220
msgid "Icon size (note that we do not use the size with svg icons)"
msgstr ""
"Taille de l’icône (notez que nous n’utilisons pas la taille avec des icônes "
"svg)"

#: ../../guides/database.rst:222
msgid ""
"Icon methods support passing an icon type if an entity has more than one "
"icon. For example, a user might have an avatar and a cover photo icon. You "
"would pass ``'cover_photo'`` as the icon type:"
msgstr ""
"Les méthodes des icônes permettent de passer un type d’icône si une entité "
"possède plus d’une icône. Par exemple, un utilisateur peut avoir un avatar "
"et une icône de photo de couverture. Vous passeriez ``'cover_photo'`` comme "
"type d’icône :"

#: ../../guides/database.rst:237
msgid ""
"Custom icon types (e.g. cover photos) only have a preset for `master` size, "
"to add custom sizes use ``entity:<icon_type>:url`` :ref:`hook <guides/hooks-"
"list#other>` to configure them."
msgstr ""
"Les types d’icônes personnalisés (par ex. les photos de couverture) n’ont "
"qu’un préréglage pour la taille `master` ; pour ajouter des tailles "
"personnalisées, utilisez le :ref:`hook <guides/hooks-list#other>` "
"``entity:<icon_type>:url`` pour les configurer."

#: ../../guides/database.rst:240
msgid ""
"By default icons will be stored in ``/icons/<icon_type>/<size>.jpg`` "
"relative to entity's directory on filestore. To provide an alternative "
"location, use the ``entity:<icon_type>:file`` :ref:`hook <guides/hooks-"
"list#other>`."
msgstr ""
"Par défaut, les icônes seront stockées dans "
"``/icons/<icon_type>/<size>.jpg`` par rapport au répertoire de l’entité dans"
" le répertoire des données. Pour choisir un autre emplacement utilisez le "
":ref:`hook <guides/hooks-list#other>` ``entity:<icon_type>:file``."

#: ../../guides/database.rst:244
msgid "Adding, reading and deleting annotations"
msgstr "Ajouter, lire et supprimer des annotations"

#: ../../guides/database.rst:246
msgid ""
"Annotations could be used, for example, to track ratings. To annotate an "
"entity you can use the object's ``annotate()`` method. For example, to give "
"a blog post a rating of 5, you could use:"
msgstr ""
"Les annotations peuvent être utilisées, par exemple, pour suivre les "
"évolutions des notations. Pour annoter une entité, vous pouvez utiliser la "
"méthode ``annotate()`` de l’objet. Par exemple, pour donner à un article de "
"blog une note de 5, vous pouvez utiliser :"

#: ../../guides/database.rst:256
msgid ""
"To retrieve the ratings on the blog post, use "
"``$blogpost->getAnnotations('rating')`` and if you want to delete an "
"annotation, you can operate on the ``ElggAnnotation`` class, eg "
"``$annotation->delete()``."
msgstr ""
"Pour récupérer les notations sur l'article de blog, utilisez "
"``$blogpost->getAnnotations('rating')`` et si vous souhaitez supprimer une "
"annotation, vous pouvez opérer sur la classe ``ElggAnnotation``, par exemple"
" ``$annotation->delete()``."

#: ../../guides/database.rst:261
msgid ""
"Retrieving a single annotation can be done with ``get_annotation()`` if you "
"have the annotation's ID. If you delete an ElggEntity of any kind, all its "
"metadata, annotations, and relationships will be automatically deleted as "
"well."
msgstr ""
"La récupération d’une seule annotation peut se faire avec "
"``get_annotation()`` si vous avez l’ID de l’annotation. Si vous supprimez "
"une ElggEntity de quelque nature que ce soit, toutes ses métadonnées, "
"annotations et relations seront également supprimées automatiquement."

#: ../../guides/database.rst:267
msgid "Extending ElggEntity"
msgstr "Étendre ElggEntity"

#: ../../guides/database.rst:269
msgid ""
"If you derive from one of the Elgg core classes, you'll need to tell Elgg "
"how to properly instantiate the new type of object so that get\\_entity() et"
" al. will return the appropriate PHP class. For example, if I customize "
"ElggGroup in a class called \"Committee\", I need to make Elgg aware of the "
"new mapping. Following is an example class extension:"
msgstr ""
"Si vous dérivez de l’une des classes du noyau Elgg, vous devrez dire à Elgg "
"comment instancier correctement le nouveau type d’objet afin que "
"get\\_entity() et assimilés renvoie la classe PHP appropriée. Par exemple, "
"si je personnalise ElggGroup dans une classe appelée ``Committee``, je dois "
"faire connaître à Elgg le nouveau mappage. Voici un exemple d'extension de "
"classe :"

#: ../../guides/database.rst:288
msgid "In your plugins ``elgg-plugin.php`` file add the ``entities`` section."
msgstr ""
"Dans votre fichier ``elgg-plugin.php`` ajoutez la section ``entities``."

#: ../../guides/database.rst:305
msgid "The entities will be registered upon activation of the plugin."
msgstr "Les entités seront enregistrées lors de l’activation du plugin."

#: ../../guides/database.rst:307
msgid ""
"Now if you invoke ``get_entity()`` with the GUID of a committee object, "
"you'll get back an object of type Committee."
msgstr ""
"Maintenant, si vous invoquez ``get_entity()`` avec le GUID d’un objet de "
"comité, vous récupérerez un objet de type Comité."

#: ../../guides/database.rst:311
msgid "Advanced features"
msgstr "Fonctionnalités avancées"

#: ../../guides/database.rst:314
msgid "Entity URLs"
msgstr "URLs des entités"

#: ../../guides/database.rst:316
msgid ""
"Entity urls are provided by the ``getURL()`` interface and provide the Elgg "
"framework with a common way of directing users to the appropriate display "
"handler for any given object."
msgstr ""
"Les URLs d’entité sont fournies par l’interface ``getURL()`` et fournissent "
"à l’infrastructure Elgg un moyen commun de diriger les utilisateurs vers le "
"gestionnaire d’affichage approprié pour n’importe quel objet donné."

#: ../../guides/database.rst:320
msgid "For example, a profile page in the case of users."
msgstr "Par exemple, une page de profil dans le cas des utilisateurs."

#: ../../guides/database.rst:322
msgid ""
"The url is set using the ``elgg\\_register\\_entity\\_url\\_handler()`` "
"function. The function you register must return the appropriate url for the "
"given type - this itself can be an address set up by a page handler."
msgstr ""
"L’URL est définie à l’aide de la fonction "
"``elgg\\_register\\_entity\\_url\\_handler()``. La fonction que vous "
"enregistrez doit renvoyer l’URL appropriée pour le type donné - qui peut "
"lui-même être une adresse configurée par un gestionnaire de page."

#: ../../guides/database.rst:329
msgid "The default handler is to use the default export interface."
msgstr ""
"Le gestionnaire par défaut doit utiliser l’interface d’export par défaut."

#: ../../guides/database.rst:332
msgid "Entity loading performance"
msgstr "Performance de chargement des entités"

#: ../../guides/database.rst:334
msgid ""
"``elgg_get_entities`` has a couple options that can sometimes be useful to "
"improve performance."
msgstr ""
"``elgg_get_entities`` dispose de quelques options qui peuvent parfois être "
"utiles pour améliorer les performances."

#: ../../guides/database.rst:336
msgid ""
"**preload_owners**: If the entities fetched will be displayed in a list with"
" the owner information, you can set this option to ``true`` to efficiently "
"load the owner users of the fetched entities."
msgstr ""
"**preload_owners** : Si les entités récupérées sont affichées dans une liste"
" avec des informations sur le propriétaire, vous pouvez définir cette option"
" sur ``true`` pour charger efficacement les utilisateurs propriétaires des "
"entités récupérées."

#: ../../guides/database.rst:337
msgid ""
"**preload_containers**: If the entities fetched will be displayed in a list "
"using info from their containers, you can set this option to ``true`` to "
"efficiently load them."
msgstr ""
"**preload_containers** : Si les entités récupérées sont affichées dans une "
"liste avec des informations sur leurs conteneurs, vous pouvez définir cette "
"option sur ``true`` pour les charger efficacement."

#: ../../guides/database.rst:338
msgid ""
"**distinct**: When Elgg fetches entities using an SQL query, Elgg must be "
"sure that each entity row appears only once in the result set. By default it"
" includes a ``DISTINCT`` modifier on the GUID column to enforce this, but "
"some queries naturally return unique entities. Setting the ``distinct`` "
"option to false will remove this modifier, and rely on the query to enforce "
"its own uniqueness."
msgstr ""
"**distinct** : Quand Elgg récupère des entités à l’aide d’une requête SQL, "
"Elgg doit être sûr que chaque ligne d’entité n’apparaît qu’une seule fois "
"dans le jeu de résultats. Par défaut, il inclut un modificateur ``DISTINCT``"
" sur la colonne GUID pour l’appliquer, mais certaines requêtes renvoient "
"naturellement des entités uniques. La définition de l’option ``distinct`` "
"sur false supprime ce modificateur et s’appuie sur la requête pour s'assurer"
" de l'unicité des résultats."

#: ../../guides/database.rst:340
msgid ""
"The internals of Elgg entity queries is a complex subject and it's "
"recommended to seek help on the Elgg Community site before using the "
"``distinct`` option."
msgstr ""
"Le fonctionnement interne des requêtes d’entités Elgg est un sujet complexe "
"et il est recommandé de demander de l’aide sur le site de la communauté Elgg"
" avant d’utiliser l’option ``distinct``."

#: ../../guides/database.rst:343
msgid "Custom database functionality"
msgstr "Fonctionnalité de base de données personnalisée"

#: ../../guides/database.rst:345
msgid ""
"It is strongly recommended to use entities wherever possible. However, Elgg "
"supports custom SQL queries using the database API."
msgstr ""
"Il est fortement recommandé d’utiliser des entités dans la mesure du "
"possible. Toutefois, Elgg prend en charge les requêtes SQL personnalisées à "
"l’aide de l’API de base de données."

#: ../../guides/database.rst:348
msgid "Systemlog"
msgstr "Systemlog"

#: ../../guides/database.rst:352
msgid "This section need some attention and will contain outdated information"
msgstr ""
"Cette section requiert une certaine attention et risque de contenir des "
"informations obsolètes"

#: ../../guides/database.rst:354
msgid ""
"The default Elgg system log is a simple way of recording what happens within"
" an Elgg system. It's viewable and searchable directly from the "
"administration panel."
msgstr ""
"Le journal système de Elgg par défaut est un moyen simple d’enregistrer ce "
"qui se passe dans un système Elgg. Il est visible et consultable directement"
" à partir du panneau d’administration."

#: ../../guides/database.rst:357
msgid "System log storage"
msgstr "Conservation du journal système"

#: ../../guides/database.rst:359
msgid ""
"A system log row is stored whenever an event concerning an object whose "
"class implements the :doc:`/design/loggable` interface is triggered. "
"``ElggEntity`` and ``ElggExtender`` implement :doc:`/design/loggable`, so a "
"system log row is created whenever an event is performed on all objects, "
"users, groups, sites, metadata and annotations."
msgstr ""
"Une ligne de journal système est stockée chaque fois qu’un événement "
"concernant un objet dont la classe implémente l’interface "
":doc:`design/loggable` est déclenché. ``ElggEntity`` et ``ElggExtender`` "
"implémentent :doc:`/design/loggable`, de sorte qu’une ligne de journal "
"système est créée chaque fois qu’un événement est effectué sur tous les "
"objets, utilisateurs, groupes, sites, métadonnées et annotations."

#: ../../guides/database.rst:361
msgid "Common events include:"
msgstr "Les événements courants comprennent :"

#: ../../guides/database.rst:363
msgid "create"
msgstr "create"

#: ../../guides/database.rst:364
msgid "update"
msgstr "update"

#: ../../guides/database.rst:365
msgid "delete"
msgstr "delete"

#: ../../guides/database.rst:366
msgid "login"
msgstr "login"

#: ../../guides/database.rst:369
msgid "Creating your own system log"
msgstr "Créer votre propre journal système"

#: ../../guides/database.rst:371
msgid ""
"There are some reasons why you might want to create your own system log. For"
" example, you might need to store a full copy of entities when they are "
"updated or deleted, for auditing purposes. You might also need to notify an "
"administrator when certain types of events occur."
msgstr ""
"Il y a quelques raisons pour lesquelles vous pouvez vouloir créer votre "
"propre journal système. Par exemple, vous pourriez avoir besoin de stocker "
"une copie complète des entités lorsqu’elles sont mises à jour ou supprimées,"
" à des fins d’audit. Vous pourriez aussi avoir besoin d'aviser un "
"administrateur lorsque certains types d’événements se produisent."

#: ../../guides/database.rst:373
msgid ""
"To do this, you can create a function that listens to all events for all "
"types of object:"
msgstr ""
"Pour ce faire, vous pouvez créer une fonction qui écoute tous les événements"
" pour tous les types d’objets :"

#: ../../guides/database.rst:379
msgid "Your function can then be defined as:"
msgstr "Votre fonction peut alors être définie comme :"

#: ../../guides/database.rst:389
msgid ""
"You can then use the extra methods defined by :doc:`/design/loggable` to "
"extract the information you need."
msgstr ""
"Vous pouvez ensuite utiliser les méthodes supplémentaires définies par "
":doc:`/design/loggable` pour extraire les informations dont vous avez "
"besoin."

#: ../../guides/dont-modify-core.rst:2
msgid "Don't Modify Core"
msgstr "Ne modifiez pas le cœur"

#: ../../guides/dont-modify-core.rst:6
msgid ""
"In general, you shouldn't modify non-config files that come with third-party"
" software like Elgg."
msgstr ""
"De manière générale, vous ne devriez pas modifier de fichier autre que ceux "
"de configuration fournis avec des logiciels tiers comme Elgg."

#: ../../guides/dont-modify-core.rst:8
msgid ""
"The best way to customize the behavior of Elgg is to :doc:`install Elgg as a"
" composer dependency</intro/install>` and use a :doc:`plugin<plugins>` to "
"store modifications specific to your application, and alter behavior through"
" the rich Elgg plugin API."
msgstr ""
"Le meilleur moyen de personnaliser le comportement de Elgg est "
"d':doc:`installer Elgg en tant que dépendance composer</intro/install>` et "
"d’utiliser un :doc:`plugin` pour conserver les modifications spécifiques de "
"votre application, et modifier le comportement à travers la riche API plugin"
" de Elgg."

#: ../../guides/dont-modify-core.rst:12
msgid ""
"If you'd like to share customizations between sites or even publish your "
"changes as a reusable package for the community, create a "
":doc:`plugin<plugins>` using the same plugin APIs and file structure."
msgstr ""
"Si vous souhaitez partager des personnalisations entre les sites ou même "
"publier vos modifications en tant que package réutilisable pour la "
"communauté, créez un :doc: `plugin<plugins>` qui utilise la même API de "
"plugin et la même structure de fichiers."

#: ../../guides/dont-modify-core.rst:17
msgid "It makes it hard to get help"
msgstr "Cela rend difficile d’obtenir de l’aide"

#: ../../guides/dont-modify-core.rst:19
msgid ""
"When you don't share the same codebase as everyone else, it's impossible for"
" others to know what is going on in your system and whether your changes are"
" to blame. This can frustrate those who offer help because it can add "
"considerable noise to the support process."
msgstr ""
"Lorsque vous ne partagez pas la même base de code que tout le monde, il est "
"impossible pour les autres de savoir ce qui se passe dans votre système et "
"si vos modifications sont à blâmer. Cela peut frustrer ceux qui offrent de "
"l’aide parce que cela complique considérablement le processus de soutien."

#: ../../guides/dont-modify-core.rst:25
msgid "It makes upgrading tricky and potentially disastrous"
msgstr "Cela rend la mise à niveau délicate et potentiellement désastreuse"

#: ../../guides/dont-modify-core.rst:27
msgid "You will certainly want or need to upgrade Elgg to take advantage of"
msgstr ""
"Vous voudrez certainement ou aurez besoin de mettre à niveau Elgg pour "
"profiter de"

#: ../../guides/dont-modify-core.rst:29
msgid "security patches"
msgstr "patchs de sécurité"

#: ../../guides/dont-modify-core.rst:30
msgid "new features"
msgstr "nouvelles fonctionnalités"

#: ../../guides/dont-modify-core.rst:31
msgid "new plugin APIs"
msgstr "nouvelles APIs de plugin"

#: ../../guides/dont-modify-core.rst:32
msgid "new stability improvements"
msgstr "nouvelle amélioration de la stabilité"

#: ../../guides/dont-modify-core.rst:33
msgid "performance improvements"
msgstr "amélioration des performances"

#: ../../guides/dont-modify-core.rst:35
msgid ""
"If you've modified core files, then you must be very careful when upgrading "
"that your changes are not overwritten and that they are compatible with the "
"new Elgg code. If your changes are lost or incompatible, then the upgrade "
"may remove features you've added and even completely break your site."
msgstr ""
"Si vous avez modifié des fichiers du noyau, alors vous devez être très "
"prudent lors de la mise à niveau que vos modifications ne sont pas "
"remplacées et qu’elles sont compatibles avec le nouveau code de Elgg. Si vos"
" modifications sont perdues ou incompatibles, la mise à niveau peut "
"supprimer les fonctionnalités que vous avez ajoutées et même briser "
"complètement votre site."

#: ../../guides/dont-modify-core.rst:40
msgid ""
"This can also be a slippery slope. Lots of modifications can lead you to an "
"upgrade process so complex that it's practically impossible. There are lots "
"of sites stuck running old versions software due to taking this path."
msgstr ""
"Cela peut également être une pente glissante. Beaucoup de modifications "
"peuvent vous conduire à un processus de mise à niveau si complexe qu’il en "
"devient pratiquement impossible. Il existe beaucoup de sites coincés avec "
"d'anciennes versions du logiciel à cause du choix de cette voie."

#: ../../guides/dont-modify-core.rst:45
msgid "It may break plugins"
msgstr "Cela peut casser des plugins"

#: ../../guides/dont-modify-core.rst:47
msgid ""
"You may not realize until much later that your \"quick fix\" broke seemingly"
" unrelated functionality that plugins depended on."
msgstr ""
"Vous pourriez ne réaliser que beaucoup plus tard que votre \"solution "
"rapide\" a cassé des fonctionnalités apparemment sans rapport dont les "
"plugins dépendaient."

#: ../../guides/dont-modify-core.rst:51 ../../guides/river.rst:54
msgid "Summary"
msgstr "Résumé"

#: ../../guides/dont-modify-core.rst:54
msgid "Resist the temptation"
msgstr "Résistez à la tentation"

#: ../../guides/dont-modify-core.rst:54
msgid ""
"Editing existing files is quick and easy, but doing so heavily risks the "
"maintainability, security, and stability of your site."
msgstr ""
"L’édition des fichiers existants est rapide et facile, mais cela compromet "
"fortement la maintenance, la sécurité et la stabilité de votre site."

#: ../../guides/dont-modify-core.rst:56
msgid ""
"When receiving advice, consider if the person telling you to modify core "
"will be around to rescue you if you run into trouble later!"
msgstr ""
"Lorsque vous recevez des conseils, considérez si la personne qui vous dit de"
" modifier le noyau sera là pour vous sauver si vous rencontrez des ennuis "
"plus tard !"

#: ../../guides/dont-modify-core.rst:59
msgid "Apply these principle to software in general."
msgstr "Appliquez ces principes aux logiciels en général."

#: ../../guides/dont-modify-core.rst:59
msgid ""
"If you can avoid it, don't modify third party plugins either, for the same "
"reasons: Plugin authors release new versions, too, and you will want those "
"updates."
msgstr ""
"Si vous pouvez l’éviter, ne modifiez pas non plus les plugins tiers, pour "
"les mêmes raisons : les auteurs de plugin publient également de nouvelles "
"versions, et vous voudrez pouvoir utiliser ces mises à jour."

#: ../../guides/email.rst:2 ../../guides/notifications.rst:197
msgid "Email"
msgstr "E-mail"

#: ../../guides/email.rst:4
msgid ""
"Elgg has the ability to send out emails. This can be done directly using "
"functions like ``elgg_send_email()`` and ``notify_user()`` or indirectly "
"through the notifications system. Below an overview of the feature of the "
"email system."
msgstr ""
"Elgg a la capacité d'envoyer des e-mails. Cela peut être fait directement en"
" utilisant des fonctions comme ``elgg_send_email()`` et ``notify_user()`` ou"
" indirectement via le système de notifications. Voici un aperçu des "
"fonctionnalités du système de messagerie."

#: ../../guides/email.rst:13
msgid "HTML Mail"
msgstr "Courrier HTML"

#: ../../guides/email.rst:15
msgid ""
"As an admin you can configure your site to have all outgoing emails to be "
"HTML emails or just plain text emails. HTML emails are enabled by default. "
"When enabled the email contents will be wrapped in HTML elements and some "
"CSS will be applied. This allows theme developers to style the emails."
msgstr ""
"En tant qu'administrateur, vous pouvez configurer votre site pour que tous "
"les e-mails sortants soient des e-mails HTML ou simplement des e-mails en "
"texte brut. Les e-mails HTML sont activés par défaut. Lorsqu'il est activé, "
"le contenu de l'e-mail sera enveloppé dans des éléments HTML et du CSS sera "
"appliqué. Cela permet aux développeurs de thèmes de styliser les e-mails."

#: ../../guides/email.rst:18
msgid ""
"The appropriate views to format and style the emails can be found in "
"``views/default/email``."
msgstr ""
"Les vues appropriées pour formater et styliser les e-mails peuvent être "
"trouvées dans ``views/default/email``."

#: ../../guides/email.rst:20
msgid ""
"The CSS will be inlined automatically so it will work in most email clients."
" If your email contains images, those images can be converted to inline "
"base64 encoded images (default) or attachments. Converted images are the "
"best way to have images show consistently in various clients."
msgstr ""
"Le CSS sera automatiquement intégré afin qu'il fonctionne dans la plupart "
"des clients de messagerie. Si votre e-mail contient des images, ces images "
"peuvent être converties en images encodées en base64 (par défaut) ou en "
"pièces jointes. Les images converties sont le meilleur moyen d'afficher les "
"images de manière cohérente dans divers clients."

#: ../../guides/email.rst:24
msgid ""
"Instead of having the message converted automatically to a HTML, you can "
"also provide your own ``html_message`` in the ``params`` of a notification. "
"The ``html_message`` can be either a ``Elgg\\Email\\HtmlPart`` or a "
"``string``. If it is a ``string`` Elgg will automatically try to inline "
"provided CSS present in the ``css`` param. If you do not want to inline CSS "
"you will need to set the ``convert_css`` param to ``false``. Below an "
"example of a custom HTML part."
msgstr ""
"Au lieu de convertir automatiquement le message en HTML, vous pouvez "
"également fournir votre propre ``html_message`` dans les ``params`` d'une "
"notification. Le ``message_html`` peut être un ``Elgg\\Email\\HtmlPart`` ou "
"une ``string``. S'il s'agit d'une ``string``, Elgg essaiera automatiquement "
"d'insérer le CSS fourni présent dans le paramètre ``css``. Si vous ne voulez"
" pas insérer de CSS, vous devrez définir le paramètre ``convert_css`` sur "
"``false``. Ci-dessous un exemple de partie HTML personnalisée."

#: ../../guides/email.rst:47
msgid "Attachments"
msgstr "Pièces jointes"

#: ../../guides/email.rst:49
msgid ""
"``notify_user()`` or enqueued notifications support attachments for e-mail "
"notifications if provided in ``$params``. To add one or more attachments add"
" a key ``attachments`` in ``$params`` which is an array of the attachments. "
"An attachment should be in one of the following formats:"
msgstr ""
"``notify_user()`` ou les notifications mises en file d'attente prennent en "
"charge les pièces jointes pour les notifications par e-mail si elles sont "
"fournies dans ``$params``. Pour ajouter une ou plusieurs pièces jointes, "
"ajoutez une clef ``attachments`` dans ``$params``, avec pour valeur un "
"tableau des pièces jointes. Une pièce jointe doit être dans l’un des formats"
" suivants :"

#: ../../guides/email.rst:52
msgid "An ``ElggFile`` which points to an existing file"
msgstr "Un ``ElggFile`` qui pointe vers un fichier existant"

#: ../../guides/email.rst:53
msgid "An array with the file contents"
msgstr "Un tableau avec le contenu du fichier"

#: ../../guides/email.rst:54
msgid "An array with a filepath"
msgstr "Un tableau avec le chemin"

#: ../../guides/email.rst:86
msgid "E-mail address formatting"
msgstr "Formatage des adresses e-mail"

#: ../../guides/email.rst:88
msgid ""
"Elgg has a helper class to aid in getting formatted e-mail addresses: "
"``\\Elgg\\Email\\Address``."
msgstr ""
"Elgg dispose d'une classe d'aide pour récupérer des adresses e-mail "
"formatées : ``\\Elgg\\Email\\Address``."

#: ../../guides/email.rst:106
msgid "There are some helper functions available"
msgstr "Il existe plusieurs fonctions d'aide disponibles"

#: ../../guides/email.rst:108
msgid ""
"``\\Elgg\\Email\\Address::fromString($string)`` Will return an "
"``\\Elgg\\Email\\Address`` class with e-mail and name set, provided a "
"formatted string (eg. ``Example <example@elgg.org>``)"
msgstr ""
"``\\Elgg\\Email\\Address::fromString($string)`` Va retourner une classe "
"``\\Elgg\\Email\\Address`` avec le nom et l'e-mail définis, à partir d'une "
"chaîne formatée (par ex. ``Exemple <example@elgg.org>``)"

#: ../../guides/email.rst:110
msgid ""
"``\\Elgg\\Email\\Address::fromEntity($entity)`` Will return an "
"``\\Elgg\\Email\\Address`` class with e-mail and name set based on the "
"entity"
msgstr ""
"``\\Elgg\\Email\\Address::fromEntity($entity)`` Va renvoyer une classe "
"``\\Elgg\\Email\\Address`` avec l'e-mail et le nom définis en fonction de "
"l'entité"

#: ../../guides/email.rst:111
msgid ""
"``\\Elgg\\Email\\Address::getFormattedEmailAddress($email, $name)`` Will "
"return a formatted string provided an e-mail address and optionaly a name"
msgstr ""
"``\\Elgg\\Email\\Address::getFormattedEmailAddress($email, $name)`` Va "
"retourner une chaîne formatée à partir d'une adresse e-mail, et d'un nom "
"optionnel"

#: ../../guides/errors.rst:2
msgid "Error Handling"
msgstr "Gérer les erreurs"

#: ../../guides/errors.rst:4
msgid ""
"Under the hood, Elgg uses Monolog_ for logging errors to the server's error "
"log (and stdout for CLI commands)."
msgstr ""
"Sous le capot, Elgg utilise Monolog_ pour enregistrer les erreurs dans le "
"journal d’erreur du serveur (et le stdout pour les commandes CLI)."

#: ../../guides/errors.rst:9
msgid ""
"Monolog_ comes with a number of tools that can help administrators keep "
"track of errors and debugging information."
msgstr ""
"Monolog_ est livré avec un certain nombre d’outils qui peuvent aider les "
"administrateurs à suivre les erreurs et le débogage des informations."

#: ../../guides/errors.rst:11
msgid ""
"You can add custom handlers (see Monolog_ documentation for a full list of "
"handlers):"
msgstr ""
"Vous pouvez ajouter des gestionnaires personnalisés (voir la documentation "
"de Monolog_ pour une liste complète des gestionnaires) :"

#: ../../guides/events-list.rst:2
msgid "List of events in core"
msgstr "Liste des événements dans le cœur"

#: ../../guides/events-list.rst:4
msgid "For more information on how events work visit :doc:`/design/events`."
msgstr ""
"Pour plus d’informations sur le fonctionnement des événements, visitez "
":doc:`/design/events`."

#: ../../guides/events-list.rst:12
msgid ""
"Some events are marked with `(sequence)` this means those events also have a"
" ``:before`` and ``:after`` event Also see :ref:`Event sequence "
"<design/events#event-sequence>`"
msgstr ""
"Certains événements sont marqués par `(séquence)` cela signifie que ces "
"événements ont également un événement ``:before`` et ``:after``. Voyez "
"également :ref:`Séquence d’événement <design/events#event-sequence>`"

#: ../../guides/events-list.rst:16
msgid "System events"
msgstr "Événements système"

#: ../../guides/events-list.rst:19
msgid "**plugins_load, system** `(sequence)`"
msgstr "**plugins_load, system** `(séquence)`"

#: ../../guides/events-list.rst:19
msgid ""
"Triggered before the plugins are loaded. Rarely used. init, system is used "
"instead. Can be used to load additional libraries."
msgstr ""
"Déclenché avant que les plugins ne soient chargés. Rarement utilisé. init, "
"system est utilisé à la place. Peut être utilisé pour charger des "
"bibliothèques supplémentaires."

#: ../../guides/events-list.rst:22
msgid "**plugins_boot, system** `(sequence)`"
msgstr "**plugins_boot, system** `(séquence)`"

#: ../../guides/events-list.rst:22
msgid ""
"Triggered just after the plugins are loaded. Rarely used. init, system is "
"used instead."
msgstr ""
"Déclenché juste après le chargement des plugins. Rarement utilisé. init, "
"system est utilisé à la place."

#: ../../guides/events-list.rst:25
msgid "**init, system** `(sequence)`"
msgstr "**init, system** `(séquence)`"

#: ../../guides/events-list.rst:25
msgid ""
"Plugins tend to use this event for initialization (extending views, "
"registering callbacks, etc.)"
msgstr ""
"Les plugins ont tendance à utiliser cet événement pour l’initialisation "
"(extension des vues, enregistrement des rappels, etc.)"

#: ../../guides/events-list.rst:29
msgid "**ready, system** `(sequence)`"
msgstr "**ready, system** `(séquence)`"

#: ../../guides/events-list.rst:28
msgid ""
"Triggered after the ``init, system`` event. All plugins are fully loaded and"
" the engine is ready to serve pages."
msgstr ""
"Déclenché après l’événement ``init, system``. Tous les plugins sont "
"entièrement chargés et le moteur est prêt à servir les pages."

#: ../../guides/events-list.rst:33
msgid "**shutdown, system**"
msgstr "**shutdown, system**"

#: ../../guides/events-list.rst:32
msgid ""
"Triggered after the page has been sent to the user. Expensive operations "
"could be done here and not make the user wait."
msgstr ""
"Déclenché après l’envoi de la page à l’utilisateur. Des opérations coûteuses"
" pourraient être faites ici sans que cela fasse attendre l’utilisateur."

#: ../../guides/events-list.rst:35
msgid ""
"Depending upon your server configuration the PHP output might not be shown "
"until after the process is completed. This means that any long-running "
"processes will still delay the page load."
msgstr ""
"Selon la configuration de votre serveur, la sortie PHP peut ne pas être "
"affichée avant la fin du processus. Cela signifie que tous les processus "
"longs retarderont toujours le chargement de la page."

#: ../../guides/events-list.rst:39
msgid ""
"This event is prefered above using ``register_shutdown_function`` as you may"
" not have access to all the Elgg services (eg. database) in the shutdown "
"function but you will in the event."
msgstr ""
"Cet événement est préféré à l’utilisation de ``register_shutdown_function`` "
"car vous n’avez peut-être pas accès à tous les services Elgg (par ex. la "
"base de données) dans la fonction d’arrêt, alors que vous l'aurez dans "
"l’événement."

#: ../../guides/events-list.rst:42
msgid ""
"The Elgg session is already closed before this event. Manipulating session "
"is not possible."
msgstr ""
"La session Elgg est déjà terminée avant cet événement. La manipulation de la"
" session n’est plus possible."

#: ../../guides/events-list.rst:46
msgid "**regenerate_site_secret:before, system**"
msgstr "**regenerate_site_secret:before, system**"

#: ../../guides/events-list.rst:45
msgid ""
"Return false to cancel regenerating the site secret. You should also provide"
" a message to the user."
msgstr ""
"Renvoyez false pour annuler la régénération du secret du site. Vous devez "
"également fournir un message à l’utilisateur."

#: ../../guides/events-list.rst:49
msgid "**regenerate_site_secret:after, system**"
msgstr "**regenerate_site_secret:after, system**"

#: ../../guides/events-list.rst:49
msgid "Triggered after the site secret has been regenerated."
msgstr "Déclenché après que le secret du site a été régénéré."

#: ../../guides/events-list.rst:53
msgid "**log, systemlog**"
msgstr "**log, systemlog**"

#: ../../guides/events-list.rst:52
msgid ""
"Called for all triggered events by ``system_log`` plugin. Used internally by"
" ``Elgg\\SystemLog\\Logger::log()`` to populate the ``system_log`` table."
msgstr ""
"Appelé pour tous les événements déclenchés par le plugin ``system_log``. "
"Utilisé en interne par ``Elgg\\SystemLog\\Logger::log()`` pour remplir la "
"table ``system_log``."

#: ../../guides/events-list.rst:57
msgid "**upgrade, system**"
msgstr "**upgrade, system**"

#: ../../guides/events-list.rst:56
msgid ""
"Triggered after a system upgrade has finished. All upgrade scripts have run,"
" but the caches are not cleared."
msgstr ""
"Déclenché une fois la mise à niveau du système terminée. Tous les scripts de"
" mise à niveau sont exécutés, mais les caches ne sont pas effacés."

#: ../../guides/events-list.rst:60
msgid "**upgrade:execute, system** `(sequence)`"
msgstr "**upgrade:execute, system** `(séquence)`"

#: ../../guides/events-list.rst:60
msgid ""
"Triggered when executing an ``ElggUpgrade``. The ``$object`` of the event is"
" the ``ElggUpgrade``."
msgstr ""
"Déclenché lors de l’exécution d’un ``ElggUpgrade``. Le ``$object`` de "
"l’événement est le ``ElggUpgrade``."

#: ../../guides/events-list.rst:63
msgid "**activate, plugin**"
msgstr "**activate, plugin**"

#: ../../guides/events-list.rst:63
msgid "Return false to prevent activation of the plugin."
msgstr "Renvoyez false pour empêcher l’activation du plugin."

#: ../../guides/events-list.rst:66
msgid "**deactivate, plugin**"
msgstr "**deactivate, plugin**"

#: ../../guides/events-list.rst:66
msgid "Return false to prevent deactivation of the plugin."
msgstr "Renvoyez false pour éviter la désactivation du plugin."

#: ../../guides/events-list.rst:69
msgid "**init:cookie, <name>**"
msgstr "**init:cookie, <name>**"

#: ../../guides/events-list.rst:69
msgid "Return false to override setting a cookie."
msgstr "Renvoyez false pour remplacer la définition d’un cookie."

#: ../../guides/events-list.rst:72
msgid "**cache:invalidate, system** `(sequence)`"
msgstr "**cache:invalidate, system** `(séquence)`"

#: ../../guides/events-list.rst:72
msgid "Invalidate internal and external caches."
msgstr "Invalide les caches internes et externes."

#: ../../guides/events-list.rst:76
msgid "**cache:clear, system** `(sequence)`"
msgstr "**cache:clear, system** `(séquence)`"

#: ../../guides/events-list.rst:75
msgid ""
"Clear internal and external caches, by default including system_cache, "
"simplecache, and memcache. One might use it to reset others such as APC, "
"OPCache, or WinCache."
msgstr ""
"Effacer les caches internes et externes, par défaut, y compris system_cache,"
" simplecache et memcache. Il est possible de l’utiliser pour réinitialiser "
"d’autres caches comme APC, OPCache ou WinCache."

#: ../../guides/events-list.rst:79
msgid "**cache:purge, system** `(sequence)`"
msgstr "**cache:purge, system** `(séquence)`"

#: ../../guides/events-list.rst:79
msgid ""
"Purge internal and external caches. This is meant to remove old/stale "
"content from the caches."
msgstr ""
"Purge les caches internes et externes. Il s’agit de supprimer le contenu "
"ancien/obsolète des caches."

#: ../../guides/events-list.rst:83
msgid "**send:before, http_response**"
msgstr "**send:before, http_response**"

#: ../../guides/events-list.rst:82
msgid ""
"Triggered before an HTTP response is sent. Handlers will receive an instance"
" of `\\Symfony\\Component\\HttpFoundation\\Response` that is to be sent to "
"the requester. Handlers can terminate the event and prevent the response "
"from being sent by returning `false`."
msgstr ""
"Déclenché avant l’envoi d’une réponse HTTP. Les gestionnaires recevront une "
"instance de ``\\Symfony\\Component\\HttpFoundation\\Response`` qui doit être"
" envoyée au demandeur. Les gestionnaires peuvent mettre fin à l’événement et"
" empêcher l’envoi de la réponse en renvoyant `false`."

#: ../../guides/events-list.rst:87
msgid "**send:after, http_response**"
msgstr "**send:after, http_response**"

#: ../../guides/events-list.rst:86
msgid ""
"Triggered after an HTTP response is sent. Handlers will receive an instance "
"of `\\Symfony\\Component\\HttpFoundation\\Response` that was sent to the "
"requester."
msgstr ""
"Déclenché après l’envoi d’une réponse HTTP. Les gestionnaires recevront une "
"instance de la réponse ``\\Symfony\\Component\\HttpFoundation\\Response`` "
"qui a été envoyée au demandeur."

#: ../../guides/events-list.rst:90
msgid "**reload:after, translations**"
msgstr "**reload:after, translations**"

#: ../../guides/events-list.rst:90
msgid "Triggered after the translations are (re)loaded."
msgstr "Déclenché après que les traductions ont été (re)chargées."

#: ../../guides/events-list.rst:93
msgid "User events"
msgstr "Événements utilisateur"

#: ../../guides/events-list.rst:96
msgid "**login:before, user**"
msgstr "**login:before, user**"

#: ../../guides/events-list.rst:96
msgid "Triggered during login. Returning false prevents the user from logging"
msgstr ""
"Déclenché lors de la connexion. Renvoyer false empêche l’utilisateur de se "
"connecter"

#: ../../guides/events-list.rst:99
msgid "**login:after, user**"
msgstr "**login:after, user**"

#: ../../guides/events-list.rst:99
msgid "Triggered after the user logs in."
msgstr "Déclenché après que l'utilisateur se soit identifié."

#: ../../guides/events-list.rst:102
msgid "**login:first, user**"
msgstr "**login:first, user**"

#: ../../guides/events-list.rst:102
msgid ""
"Triggered after a successful login. Only if there is no previous login."
msgstr ""
"Déclenché après une connexion réussie. Uniquement s'il n'y a pas de "
"connexion précédente."

#: ../../guides/events-list.rst:105
msgid "**logout:before, user**"
msgstr "**logout:before, user**"

#: ../../guides/events-list.rst:105
msgid ""
"Triggered during logout. Returning false should prevent the user from "
"logging out."
msgstr ""
"Déclenché pendant la déconnexion. Renvoyer false empêche l’utilisateur de se"
" déconnecter."

#: ../../guides/events-list.rst:108
msgid "**logout:after, user**"
msgstr "**logout:after, user**"

#: ../../guides/events-list.rst:108
msgid "Triggered after the user logouts."
msgstr "Déclenché après que l'utilisateur se soit déconnecté."

#: ../../guides/events-list.rst:113
msgid "**validate, user**"
msgstr "**validate, user**"

#: ../../guides/events-list.rst:111
msgid ""
"When a user registers, the user's account is disabled. This event is "
"triggered to allow a plugin to determine how the user should be validated "
"(for example, through an email with a validation link)."
msgstr ""
"Lorsqu’un utilisateur s’inscrit, le compte de l’utilisateur est désactivé. "
"Cet événement est déclenché pour permettre à un plugin de déterminer comment"
" l’utilisateur doit être validé (par exemple, par le biais d’un e-mail avec "
"un lien de validation)."

#: ../../guides/events-list.rst:116
msgid "**validate:after, user**"
msgstr "**validate:after, user**"

#: ../../guides/events-list.rst:116
msgid "Triggered when user's account has been validated."
msgstr "Déclenché lorsque le compte utilisateur a été validé."

#: ../../guides/events-list.rst:119
msgid "**invalidate:after, user**"
msgstr "**invalidate:after, user**"

#: ../../guides/events-list.rst:119
msgid "Triggered when user's account validation has been revoked."
msgstr ""
"Déclenché lorsque la validation du compte de l’utilisateur a été révoquée."

#: ../../guides/events-list.rst:122
msgid "**profileupdate, user**"
msgstr "**profileupdate, user**"

#: ../../guides/events-list.rst:122
msgid "User has changed profile"
msgstr "L'utilisateur a modifié son profil"

#: ../../guides/events-list.rst:125
msgid "**profileiconupdate, user**"
msgstr "**profileiconupdate, user**"

#: ../../guides/events-list.rst:125
msgid "User has changed profile icon"
msgstr "L'utilisateur a modifié son icône de profil"

#: ../../guides/events-list.rst:128
msgid "**ban, user**"
msgstr "**ban, user**"

#: ../../guides/events-list.rst:128
msgid "Triggered before a user is banned. Return false to prevent."
msgstr ""
"Déclenché avant qu'un utilisateur ne soit banni. Retournez false pour "
"l'éviter."

#: ../../guides/events-list.rst:131
msgid "**unban, user**"
msgstr "**unban, user**"

#: ../../guides/events-list.rst:131
msgid "Triggered before a user is unbanned. Return false to prevent."
msgstr ""
"Déclenché avant qu’un utilisateur ne soit réintégré. Retournez false pour "
"l'éviter."

#: ../../guides/events-list.rst:134
msgid "**make_admin, user**"
msgstr "**make_admin, user**"

#: ../../guides/events-list.rst:134
msgid ""
"Triggered before a user is promoted to an admin. Return false to prevent."
msgstr ""
"Déclenché avant qu’un utilisateur ne soit promu administrateur. Retournez "
"false pour l'éviter."

#: ../../guides/events-list.rst:137
msgid "**remove_admin, user**"
msgstr "**remove_admin, user**"

#: ../../guides/events-list.rst:137
msgid ""
"Triggered before a user is demoted from an admin. Return false to prevent."
msgstr ""
"Déclenché avant que le rôle d'administrateur ne soit retiré à un "
"utilisateur. Retournez false pour l'éviter."

#: ../../guides/events-list.rst:140
msgid "Relationship events"
msgstr "Événements des relations"

#: ../../guides/events-list.rst:144
msgid "**create, relationship**"
msgstr "**create, relationship**"

#: ../../guides/events-list.rst:143
msgid ""
"Triggered after a relationship has been created. Returning false deletes the"
" relationship that was just created."
msgstr ""
"Déclenché après la création d’une relation. Renvoyez false pour supprimer la"
" relation qui vient d’être créée."

#: ../../guides/events-list.rst:148
msgid "**delete, relationship**"
msgstr "**delete, relationship**"

#: ../../guides/events-list.rst:147
msgid ""
"Triggered before a relationship is deleted. Return false to prevent it from "
"being deleted."
msgstr ""
"Déclenché avant la suppression d’une relation. Renvoyez false pour éviter "
"qu’elle soit supprimée."

#: ../../guides/events-list.rst:151
msgid "**join, group**"
msgstr "**join, group**"

#: ../../guides/events-list.rst:151
msgid ""
"Triggered after the user ``$params['user']`` has joined the group "
"``$params['group']``."
msgstr ""
"Déclenché après que l’utilisateur ``$params['user']`` a rejoint le groupe "
"``$params['group']``."

#: ../../guides/events-list.rst:154
msgid "**leave, group**"
msgstr "**leave, group**"

#: ../../guides/events-list.rst:154
msgid ""
"Triggered before the user ``$params['user']`` has left the group "
"``$params['group']``."
msgstr ""
"Déclenché avant que l’utilisateur ``$params['user']`` n'ait quitté le groupe"
" ``$params['group']``."

#: ../../guides/events-list.rst:157
msgid "Entity events"
msgstr "Événements des entités"

#: ../../guides/events-list.rst:160
msgid "**create, <entity type>**"
msgstr "**create, <entity type>**"

#: ../../guides/events-list.rst:160
msgid ""
"Triggered for user, group, object, and site entities after creation. Return "
"false to delete entity."
msgstr ""
"Déclenché pour les entités user, group, object et site après la création. "
"Renvoyez false pour supprimer l’entité."

#: ../../guides/events-list.rst:165
msgid "**update, <entity type>**"
msgstr "**update, <entity type>**"

#: ../../guides/events-list.rst:163
msgid ""
"Triggered before an update for the user, group, object, and site entities. "
"Return false to prevent update. The entity method "
"``getOriginalAttributes()`` can be used to identify which attributes have "
"changed since the entity was last saved."
msgstr ""
"Déclenché avant une mise à jour pour les entités user, group, object et "
"site. Renvoyez false pour empêcher la mise à jour. La méthode d’entité "
"``getOriginalAttributes()`` peut être utilisée pour identifier les attributs"
" qui ont changé depuis la dernière fois que l’entité a été enregistrée."

#: ../../guides/events-list.rst:170
msgid "**update:after, <entity type>**"
msgstr "**update:after, <entity type>**"

#: ../../guides/events-list.rst:168
msgid ""
"Triggered after an update for the user, group, object, and site entities. "
"The entity method ``getOriginalAttributes()`` can be used to identify which "
"attributes have changed since the entity was last saved."
msgstr ""
"Déclenché après une mise à jour pour les entités user, group, object et "
"site. La méthode d’entité ``getOriginalAttributes()`` peut être utilisée "
"pour identifier les attributs qui ont changé depuis la dernière fois que "
"l’entité a été enregistrée."

#: ../../guides/events-list.rst:173
msgid "**delete:before, <entity type>**"
msgstr "**delete:before, <entity type>**"

#: ../../guides/events-list.rst:173
msgid "Triggered before entity deletion. Return false to prevent deletion."
msgstr ""
"Déclenché avant la suppression d'une entité. Retournez false pour éviter la "
"suppression."

#: ../../guides/events-list.rst:176
msgid "**delete, <entity type>**"
msgstr "**delete, <entity type>**"

#: ../../guides/events-list.rst:176
msgid "Triggered before entity deletion."
msgstr "Déclenché avant la suppression d'une entité."

#: ../../guides/events-list.rst:179
msgid "**delete:after, <entity type>**"
msgstr "**delete:after, <entity type>**"

#: ../../guides/events-list.rst:179
msgid "Triggered after entity deletion."
msgstr "Déclenché après la suppression d'une entité."

#: ../../guides/events-list.rst:182
msgid "**disable, <entity type>**"
msgstr "**disable, <entity type>**"

#: ../../guides/events-list.rst:182
msgid ""
"Triggered before the entity is disabled. Return false to prevent disabling."
msgstr ""
"Déclenché avant qu'une entité soit désactivée. Retournez false pour éviter "
"la désactivation."

#: ../../guides/events-list.rst:185
msgid "**disable:after, <entity type>**"
msgstr "**disable:after, <entity type>**"

#: ../../guides/events-list.rst:185
msgid "Triggered after the entity is disabled."
msgstr "Déclenché après qu'une entité a été désactivée."

#: ../../guides/events-list.rst:188
msgid "**enable, <entity type>**"
msgstr "**enable, <entity type>**"

#: ../../guides/events-list.rst:188
msgid "Return false to prevent enabling."
msgstr "Retournez false pour éviter l'activation."

#: ../../guides/events-list.rst:191
msgid "**enable:after, <entity type>**"
msgstr "**enable:after, <entity type>**"

#: ../../guides/events-list.rst:191
msgid "Triggered after the entity is enabled."
msgstr "Déclenché après qu'une entité a été activée."

#: ../../guides/events-list.rst:194
msgid "Metadata events"
msgstr "Événements des métadonnées"

#: ../../guides/events-list.rst:198
msgid "**create, metadata**"
msgstr "**create, metadata**"

#: ../../guides/events-list.rst:197
msgid ""
"Called after the metadata has been created. Return false to delete the "
"metadata that was just created."
msgstr ""
"Appelé après qu'une métadonnée a été créée. Retournez false pour supprimer "
"la matadonnée qui vient d'être créée."

#: ../../guides/events-list.rst:201
msgid "**update, metadata**"
msgstr "**update, metadata**"

#: ../../guides/events-list.rst:201
msgid ""
"Called after the metadata has been updated. Return false to *delete the "
"metadata.*"
msgstr ""
"Appelé après qu'une métadonnée a été modifiée. Retournez false pour "
"*supprimer la métadonnée.*"

#: ../../guides/events-list.rst:204
msgid "**delete, metadata**"
msgstr "**delete, metadata**"

#: ../../guides/events-list.rst:204
msgid "Called before metadata is deleted. Return false to prevent deletion."
msgstr ""
"Appelé avant que métadonnée soit supprimée. Retournez false pour éviter la "
"suppression."

#: ../../guides/events-list.rst:207
msgid "**enable, metadata**"
msgstr "**enable, metadata**"

#: ../../guides/events-list.rst:207
msgid "Called when enabling metadata. Return false to prevent enabling."
msgstr ""
"Appelé lors de l'activation de la métadonnée. Retournez false pour éviter "
"l'activation."

#: ../../guides/events-list.rst:210
msgid "**disable, metadata**"
msgstr "**disable, metadata**"

#: ../../guides/events-list.rst:210
msgid "Called when disabling metadata. Return false to prevent disabling."
msgstr ""
"Appelé lors de la désactivation de la métadonnée. Retournez false pour "
"éviter la désactivation."

#: ../../guides/events-list.rst:213
msgid "Annotation events"
msgstr "Événements des annotations"

#: ../../guides/events-list.rst:217
msgid "**annotate, <entity type>**"
msgstr "**annotate, <entity type>**"

#: ../../guides/events-list.rst:216
msgid ""
"Called before the annotation has been created. Return false to prevent "
"annotation of this entity."
msgstr ""
"Appelé avant que l'annotation soit créée. Retournez false pour éviter "
"l'annotation de cette entité."

#: ../../guides/events-list.rst:221
msgid "**create, annotation**"
msgstr "**create, annotation**"

#: ../../guides/events-list.rst:220
msgid ""
"Called after the annotation has been created. Return false to delete the "
"annotation."
msgstr ""
"Appelé après que l'annotation ait été créée. Retournez false pour supprimer "
"l'annotation."

#: ../../guides/events-list.rst:224
msgid "**update, annotation**"
msgstr "**update, annotation**"

#: ../../guides/events-list.rst:224
msgid ""
"Called after the annotation has been updated. Return false to *delete the "
"annotation.*"
msgstr ""
"Appelé après qu'une annotation a été modifiée. Retournez false pour "
"*supprimer l'annotation.*"

#: ../../guides/events-list.rst:227
msgid "**delete, annotation**"
msgstr "**delete, annotation**"

#: ../../guides/events-list.rst:227
msgid "Called before annotation is deleted. Return false to prevent deletion."
msgstr ""
"Appelé avant que l'annotation soit supprimée. Retournez false pour éviter la"
" suppression."

#: ../../guides/events-list.rst:230
msgid "**enable, annotation**"
msgstr "**enable, annotation**"

#: ../../guides/events-list.rst:230
msgid "Called when enabling annotations. Return false to prevent enabling."
msgstr ""
"Appelé lors de l'activation d'annotations. Retournez false pour éviter "
"l'activation."

#: ../../guides/events-list.rst:233
msgid "**disable, annotations**"
msgstr "**disable, annotations**"

#: ../../guides/events-list.rst:233
msgid "Called when disabling annotations. Return false to prevent disabling."
msgstr ""
"Appelé lors de la désactivation d'annotations. Retournez false pour éviter "
"la désactivation."

#: ../../guides/events-list.rst:236
msgid "River events"
msgstr "Événements de la rivière"

#: ../../guides/events-list.rst:239
msgid "**create:before, river**"
msgstr "**create:before, river**"

#: ../../guides/events-list.rst:239
msgid ""
"Called before the river item is saved to the database. Return ``false`` to "
"prevent the item from being created."
msgstr ""
"Appelé avant que l'élément river ne soit enregistré dans la base de données."
" Renvoie ``false`` pour empêcher la création de l'élément."

#: ../../guides/events-list.rst:242
msgid "**create:after, river**"
msgstr "**create:after, river**"

#: ../../guides/events-list.rst:242
msgid "Called after a river item is created."
msgstr "Appelé après qu'un élément de la rivière a été créé."

#: ../../guides/events-list.rst:245
msgid "**delete:before, river**"
msgstr "**delete:before, river**"

#: ../../guides/events-list.rst:245
msgid ""
"Triggered before a river item is deleted. Returning false cancels the "
"deletion."
msgstr ""
"Déclenché avant qu'un élément de la rivière soit supprimé. Renvoyer false "
"annule la suppression."

#: ../../guides/events-list.rst:248
msgid "**delete:after, river**"
msgstr "**delete:after, river**"

#: ../../guides/events-list.rst:248
msgid "Triggered after a river item was deleted."
msgstr "Déclenché après qu'un élément de la rivière a été supprimé."

#: ../../guides/events-list.rst:251
msgid "File events"
msgstr "Événements des fichiers"

#: ../../guides/events-list.rst:256
msgid "**upload:after, file**"
msgstr "**upload:after, file**"

#: ../../guides/events-list.rst:254
msgid ""
"Called after an uploaded file has been written to filestore. Receives an "
"instance of ``ElggFile`` the uploaded file was written to. The ``ElggFile`` "
"may or may not be an entity with a GUID."
msgstr ""
"Appelé après qu’un fichier téléchargé a été écrit dans le répertoire de "
"fichiers. Reçoit une instance du ``ElggFile`` dans lequel le fichier "
"téléchargé a été écrit. Le ``ElggFile`` peut ou non être une entité avec un "
"GUID."

#: ../../guides/events-list.rst:259
msgid "Notes"
msgstr "Notes"

#: ../../guides/events-list.rst:261
msgid ""
"Because of bugs in the Elgg core, some events may be thrown more than once "
"on the same action. For example, ``update, object`` is thrown twice."
msgstr ""
"En raison des bogues dans le noyau de Elgg, certains événements peuvent être"
" lancés plus d’une fois sur la même action. Par exemple, ``update, object`` "
"est lancé deux fois."

#: ../../guides/file-system.rst:2
msgid "File System"
msgstr "Système de fichier"

#: ../../guides/file-system.rst:9
msgid "Filestore"
msgstr "Répertoire de fichiers"

#: ../../guides/file-system.rst:12
msgid "Location"
msgstr "Emplacement"

#: ../../guides/file-system.rst:14
msgid ""
"Elgg's filestore is located in the site's ``dataroot`` that is configured "
"during installation, and can be modified via site settings in Admin "
"interface."
msgstr ""
"Le répertoire de fichiers de Elgg est situé dans le ``dataroot`` du site, "
"configuré pendant l’installation, et qui peut être modifié via les "
"paramètres du site dans l’interface Admin."

#: ../../guides/file-system.rst:19
msgid "Directory Structure"
msgstr "Structure du répertoire"

#: ../../guides/file-system.rst:21
msgid ""
"The structure of the filestore is tied to file ownership by Elgg entities. "
"Whenever the first file owned by an entity is written to the filestore, a "
"directory corresponding to the entity GUID will be created within a parent "
"bucket directory (buckets are bound to 5000 guids). E.g. files owned by user"
" with guid 7777 will be located in ``5000/7777/``."
msgstr ""
"La structure du répertoire de fichiers est liée à la propriété des fichiers "
"par les entités Elgg. Chaque fois que le premier fichier appartenant à une "
"entité est écrit dans le répertoire de fichiers, un répertoire correspondant"
" au GUID de l’entité sera créé dans le répertoire bucket parent (les buckets"
" sont de 5000 guids). Par exemple, les fichiers appartenant à l’utilisateur "
"avec le guid 7777 seront situés dans ``5000/7777/``."

#: ../../guides/file-system.rst:26
msgid ""
"When files are created, filenames can contain subdirectory names (often "
"referred to as `$prefix` throughout the code). For instance, avatars of the "
"above user, can be found under ``5000/7777/profile/``."
msgstr ""
"Lorsque des fichiers sont créés, les noms de fichiers peuvent contenir des "
"noms de sous-répertoires (souvent appelés ``$prefix`` dans le code). Par "
"exemple, les avatars de l’utilisateur ci-dessus, peuvent être trouvés dans "
"``5000/7777/profile/``."

#: ../../guides/file-system.rst:32
msgid "File Objects"
msgstr "Objets Fichiers (File)"

#: ../../guides/file-system.rst:35
msgid "Writing Files"
msgstr "Écrire des fichiers"

#: ../../guides/file-system.rst:37
msgid ""
"To write a file to the filestore, you would use an instance of ``ElggFile``."
" Even though ``ElggFile`` extends `ElggObject` and can be stored as an "
"actual Elgg entity, that is not always necessary (e.g. when writing thumbs "
"of an image)."
msgstr ""
"Pour écrire un fichier dans le répertoire de fichiers, vous utiliseriez une "
"instance de ``ElggFile``. Même si ``ElggFile`` étend ``ElggObject`` et peut "
"être stocké comme une entité Elgg réelle, ce n’est pas toujours nécessaire "
"(par exemple pour la création des miniatures d’une image)."

#: ../../guides/file-system.rst:55
msgid "Reading Files"
msgstr "Lire des fichiers"

#: ../../guides/file-system.rst:57
msgid "You can read file contents using instanceof of ``ElggFile``."
msgstr ""
"Vous pouvez lire le contenu du fichier en utilisant une instance de "
"``ElggFile``."

#: ../../guides/file-system.rst:84
msgid "Serving Files"
msgstr "Servir des fichiers"

#: ../../guides/file-system.rst:86
msgid ""
"You can serve files from filestore using ``elgg_get_inline_url()`` and "
"``elgg_get_download_url()``. Both functions accept 3 arguments:"
msgstr ""
"Vous pouvez servir des fichiers depuis le répertoire de fichiers en "
"utilisant ``elgg_get_inline_url()`` et ``elgg_get_download_url()``. Les deux"
" fonctions acceptent 3 arguments :"

#: ../../guides/file-system.rst:89
msgid "**``file``** An instance of ``ElggFile`` to be served"
msgstr "**``file``** Une instance de ``ElggFile`` à servir"

#: ../../guides/file-system.rst:90
msgid ""
"**``use_cookie``** If set to true, validity of the URL will be limited to "
"current session"
msgstr ""
"**``use_cookie``** Si défini à vrai, la validité de l'URL sera limitée à la "
"session actuelle"

#: ../../guides/file-system.rst:91
msgid "**``expires``** Expiration time of the URL"
msgstr "**``expires``** Heure d'expiration de l'URL"

#: ../../guides/file-system.rst:93
msgid ""
"You can use ``use_cookie`` and ``expires`` arguments as means of access "
"control. For example, users avatars in most cases have a long expiration "
"time and do not need to be restricted by current session - this will allows "
"browsers to cache the images and file service will send appropriate ``Not "
"Modified`` headers on consecutive requests."
msgstr ""
"Vous pouvez utiliser les arguments ``use_cookie`` et ``expires`` comme moyen"
" de contrôle d’accès. Par exemple, dans la plupart des cas, les avatars des "
"utilisateurs ont un long délai d’expiration et n’ont pas besoin d’être "
"limités à la session en cours - ce qui permettra aux navigateurs de mettre "
"en cache les images. Le service de fichiers enverra les en-têtes ``Not "
"Modified`` appropriés aux requêtes suivantes."

#: ../../guides/file-system.rst:98
msgid ""
"The default behaviour of ``use_cookie`` can be controlled on the admin "
"security settings page."
msgstr ""
"Le comportement par défaut de ``use_cookie`` peut être contrôlé sur la page "
"des paramètres de sécurité de l’administrateur."

#: ../../guides/file-system.rst:100
msgid ""
"For entities that are under Elgg's access control, you may want to use "
"cookies to ensure that access settings are respected and users do not share "
"download URLs with somebody else."
msgstr ""
"Pour les entités qui utilisent le contrôle d’accès de Elgg, vous pouvez "
"utiliser des cookies pour vous assurer que les paramètres d’accès sont "
"respectés et que les utilisateurs ne partagent pas les URLs de "
"téléchargement avec d'autres personnes."

#: ../../guides/file-system.rst:103
msgid ""
"You can also invalidated all previously generated URLs by updating file's "
"modified time, e.g. by using ``touch()``."
msgstr ""
"Vous pouvez également invalider toutes les URLs précédemment générées en "
"mettant à jour l’heure de modification du fichier, par exemple à l’aide de "
"``touch()``."

#: ../../guides/file-system.rst:108
msgid "Embedding Files"
msgstr "Embarquer des fichiers"

#: ../../guides/file-system.rst:110
msgid ""
"Please note that due to their nature inline and download URLs are not "
"suitable for embedding. Embed URLs must be permanent, whereas inline and "
"download URLs are volatile (bound to user session and file modification "
"time)."
msgstr ""
"Veuillez noter qu’en raison de leur nature, les URLs en ligne (inline) et de"
" téléchargement ne sont pas adaptées à l’intégration (embed). Les URLs "
"d’intégration doivent être permanentes, tandis que les URL en ligne et de "
"téléchargement sont volatiles (liées à la session utilisateur et à l'heure "
"de modification des fichiers)."

#: ../../guides/file-system.rst:114
msgid "To embed an entity icon, use ``elgg_get_embed_url()``."
msgstr "Pour intégrer une icône d'entité, utilisez ``elgg_get_embed_url()``."

#: ../../guides/file-system.rst:118
msgid "Handling File Uploads"
msgstr "Gérer l'envoi de fichiers"

#: ../../guides/file-system.rst:120
msgid ""
"In order to implement an action that saves a single file uploaded by a user,"
" you can use the following approach:"
msgstr ""
"Pour implémenter une action qui enregistre un unique fichier envoyé par un "
"utilisateur, vous pouvez utiliser l'approche suivante :"

#: ../../guides/file-system.rst:158
msgid ""
"If your file input supports multiple files, you can iterate through them in "
"your action:"
msgstr ""
"Si votre champ de saisi de fichiers supporte plusieurs fichiers, vous pouvez"
" itérer parmi eux dans votre action :"

#: ../../guides/file-system.rst:183
msgid ""
"If images are uploaded their is an automatic attempt to fix the orientation "
"of the image."
msgstr ""
"Si des images sont chargées une tentative automatique  est faite pour "
"corriger l'orientation de l'image."

#: ../../guides/file-system.rst:186
msgid "Temporary files"
msgstr "Fichiers temporaires"

#: ../../guides/file-system.rst:188
msgid ""
"If you ever need a temporary file you can use ``elgg_get_temp_file()``. "
"You'll get an instance of an ``ElggTempFile`` which has all the file "
"functions of an ``ElggFile``, but writes it's data to the systems temp "
"folder."
msgstr ""
"Si jamais vous avez besoin d'un fichier temporaire vous pouvez utiliser "
"``elgg_get_temp_file()``. Vous obtiendrez une instance de ``ElggTempFile`` "
"qui a toutes les fonctions de ``ElggFile``, mais écrit ses données dans le "
"répertoire temporaire du système."

#: ../../guides/file-system.rst:193
msgid ""
"It's not possible to save the ``ElggTempFile`` to the database. You'll get "
"an ``Elgg\\Exceptions\\Filesystem\\IOException`` if you try."
msgstr ""
"Il n'est pas possible d'enregistrer ``ElggTempFile`` dans la base de "
"données. Vous obtiendrez une ``Elgg\\Exceptions\\Filesystem\\IOException`` "
"si vous essayez."

#: ../../guides/group-tools.rst:2
msgid "Group Tools"
msgstr "Outils du groupe"

#: ../../guides/group-tools.rst:4
msgid ""
"Elgg groups allow group administrators to enable/disable various tools "
"available within a group. These tools are provided by other plugins like "
"blog or file."
msgstr ""
"Les groupes Elgg permettent aux administrateurs de groupe "
"d’activer/désactiver les différents outils disponibles au sein d’un groupe. "
"Ces outils sont fournis par d’autres plugins comme blog ou file."

#: ../../guides/group-tools.rst:7
msgid "Plugins can access group tool register via ``elgg()->group_tools``."
msgstr ""
"Les plugins peuvent accéder au registre des outils du groupe via "
"``elgg()->group_tools``."

#: ../../guides/group-tools.rst:17
msgid ""
"A registered tool will have an option to be toggled on the group edit form, "
"and can have a profile view module associated with it. To add a profile "
"module, simply add a corresponding view as "
"``groups/profile/module/<tool_name>``. This view will only be called if the "
"tool is enabled."
msgstr ""
"Un outil enregistré aura la possibilité d’être (dés)activé sur le formulaire"
" de modification d'un groupe et peut avoir un module d’affichage de profil "
"qui lui est associé. Pour ajouter un module de profil, il suffit d’ajouter "
"une vue correspondante en tant que ``groups/profile/module/<tool_name>``. "
"Cette vue ne sera appelée que si l’outil est activé."

#: ../../guides/group-tools.rst:21
msgid ""
"If you simply wish to list some content in the group you can use the "
"``groups/profile/module`` view with some additional parameters."
msgstr ""
"Si vous souhaitez simplement lister certains contenus dans le groupe, vous "
"pouvez utiliser la vue ``groups/profile/module`` avec quelques paramètres "
"supplémentaires."

#: ../../guides/group-tools.rst:23
msgid ""
"``entity_type``: in combination with the ``entity_subtype`` it can generate "
"everything the module needs"
msgstr ""
"``entity_type`` : en combinaison avec le ``entity_subtype``, il peut générer"
" tout ce dont le module a besoin"

#: ../../guides/group-tools.rst:24
msgid ""
"``entity_subtype``: in combination with the ``entity_type`` it can generate "
"everything the module needs"
msgstr ""
"``entity_subtype`` : en combinaison avec le ``entity_type``, il peut générer"
" tout ce dont le module a besoin"

#: ../../guides/group-tools.rst:25
msgid "``no_results``: custom no results found text"
msgstr "``no_results`` : texte personnalisé si aucun résultat n'est trouvé"

#: ../../guides/group-tools.rst:27
msgid "The following will be automaticly generated:"
msgstr "Les éléments suivants seront générés automatiquement :"

#: ../../guides/group-tools.rst:29
msgid ""
"``title``: based on the the language key "
"``collection:<entity_type>:<entity_subtype>:group``"
msgstr ""
"``title`` : basé sur la clef de traduction "
"``collection:<entity_type>:<entity_subtype>:group``"

#: ../../guides/group-tools.rst:30
msgid "``content``: ``elgg_list_entities()`` based on given type/subtype"
msgstr ""
"``content`` : ``elgg_list_entities()`` basé sur un type/sous-type donné"

#: ../../guides/group-tools.rst:31
msgid ""
"``all_link``: based on the route name "
"``collection:<entity_type>:<entity_subtype>:group``"
msgstr ""
"``all_link`` : basé sur le nom de route "
"``collection:<entity_type>:<entity_subtype>:group``"

#: ../../guides/group-tools.rst:32
msgid ""
"``add_link``: based on the route name "
"``add:<entity_type>:<entity_subtype>:group`` and with a permissions check to"
" the given type/subtype"
msgstr ""
"``add_link`` : basé sur le nom de route "
"``add:<entity_type>:<entity_subtype>:group`` et avec une vérification des "
"autorisations pour un type/sous-type donné"

#: ../../guides/group-tools.rst:49
msgid "Alternatively you can generate your own title and content"
msgstr "Vous pouvez également générer votre propre titre et contenu"

#: ../../guides/group-tools.rst:60
msgid "You can programmically enable and disable tools for a given group:"
msgstr ""
"Vous pouvez activer et désactiver des outils de manière programmatique pour "
"un groupe donné :"

#: ../../guides/group-tools.rst:72
msgid ""
"If you want to allow a certain feature in a group only if the group tool "
"option is enabled, you can check this using "
"``\\ElggGroup::isToolEnabled($tool_option)``."
msgstr ""
"Si vous voulez autoriser une certaine fonctionnalité dans un groupe "
"seulement si l'option du groupe pour cet outil est activée, vous pouvez "
"vérifier en utilisant ``\\ElggGroup::isToolEnabled($tool_option)``."

#: ../../guides/group-tools.rst:74
msgid ""
"It is also a possibility to use a gatekeeper function to prevent access to a"
" group page based on an enabled tool."
msgstr ""
"Il est également possible d'utiliser une fonction gardienne (gatekeeper) "
"pour éviter l'accès à une page d'un groupe sur la base de l'activation d'un "
"outil."

#: ../../guides/group-tools.rst:82
msgid "Read more about gatekeepers here: :ref:`authentication-gatekeepers`"
msgstr ""
"Lisez-en plus sur les gardiens (gatekeepers) ici : :ref:`authentication-"
"gatekeepers`"

#: ../../guides/group-tools.rst:84
msgid ""
"If you need the configured group tool options for a specific group you can "
"use the ``elgg()->group_tools->group($group)`` function."
msgstr ""
"Si vous avez besoin des options des outils du groupe configurés vous pouvez "
"utiliser la focntion use the ``elgg()->group_tools->group($group)``."

#: ../../guides/guidelines.rst:2
msgid "Plugin coding guidelines"
msgstr "Recommandations pour le développement de plugins"

#: ../../guides/guidelines.rst:4
msgid ""
"In addition to the Elgg Coding Standards, these are guidelines for creating "
"plugins. Core plugins are being updated to this format and all plugin "
"authors should follow these guidelines in their own plugins."
msgstr ""
"En plus des Standards de Développement Elgg (Elgg Coding Standards), voici "
"les recommandations pour créer des plugins. Les plugins du noyau sont mis à "
"jour vers ce format et tous les auteurs de plugins devraient suivre ces "
"recommandations pour leurs propres plugins."

#: ../../guides/guidelines.rst:10
msgid ""
"Be sure to follow the :doc:`plugins/plugin-skeleton` for your plugin's "
"layout."
msgstr ""
"Assurez-vous de suivre :doc:`plugins/plugin-skeleton` pour la structure de "
"votre plugin."

#: ../../guides/guidelines.rst:14
msgid ":doc:`dont-modify-core`"
msgstr ":doc:`dont-modify-core`"

#: ../../guides/guidelines.rst:21
msgid "Use standardized routing with page handlers"
msgstr "Utilisez le routage standard avec vos gestionnaires de pages"

#: ../../guides/guidelines.rst:23 ../../guides/guidelines.rst:51
#: ../../guides/guidelines.rst:63
msgid "Example: Bookmarks plugin"
msgstr "Exemple : plugin Bookmarks (Signets)"

#: ../../guides/guidelines.rst:40
msgid "Page handlers should accept the following standard URLs:"
msgstr ""
"Les gestionnaires de pages devraient accepter le standard d'URLs suivant :"

#: ../../guides/guidelines.rst:26 ../../guides/guidelines.rst:71
msgid "Purpose"
msgstr "Objectif"

#: ../../guides/guidelines.rst:26 ../../guides/guidelines.rst:71
msgid "URL"
msgstr "URL"

#: ../../guides/guidelines.rst:28
msgid "All"
msgstr "Tout"

#: ../../guides/guidelines.rst:28
msgid "page_handler/all"
msgstr "page_handler/all"

#: ../../guides/guidelines.rst:30
msgid "User"
msgstr "Utilisateur"

#: ../../guides/guidelines.rst:30
msgid "page_handler/owner/<username>"
msgstr "page_handler/owner/<username>"

#: ../../guides/guidelines.rst:32
msgid "User friends’"
msgstr "Contacts de l'utilisateur"

#: ../../guides/guidelines.rst:32
msgid "page_handler/friends/<username>"
msgstr "page_handler/friends/<username>"

#: ../../guides/guidelines.rst:34
msgid "Single entity"
msgstr "Entité unique"

#: ../../guides/guidelines.rst:34
msgid "page_handler/view/<guid>/<title>"
msgstr "page_handler/view/<guid>/<title>"

#: ../../guides/guidelines.rst:36 ../../guides/guidelines.rst:73
msgid "Add"
msgstr "Ajouter"

#: ../../guides/guidelines.rst:36
msgid "page_handler/add/<container_guid>"
msgstr "page_handler/add/<container_guid>"

#: ../../guides/guidelines.rst:38 ../../guides/guidelines.rst:75
msgid "Edit"
msgstr "Modifier"

#: ../../guides/guidelines.rst:38
msgid "page_handler/edit/<guid>"
msgstr "page_handler/edit/<guid>"

#: ../../guides/guidelines.rst:40
msgid "Group list"
msgstr "Liste du groupe"

#: ../../guides/guidelines.rst:40
msgid "page_handler/group/<guid>/owner"
msgstr "page_handler/group/<guid>/owner"

#: ../../guides/guidelines.rst:42
msgid ""
"Include page handler scripts from the page handler. Almost every page "
"handler should have a page handler script. (Example: ``bookmarks/all`` => "
"``mod/bookmarks/views/default/resources/bookmarks/all.php``)"
msgstr ""
"Incluez les scripts du gestionnaire de page à partir du gestionnaire de "
"page. Presque tous les gestionnaires de page doivent avoir un script de "
"gestionnaire de page. (Par exemple : ``bookmarks/all`` => "
"``mod/bookmarks/views/default/resources/bookmarks/all.php``)"

#: ../../guides/guidelines.rst:43
msgid ""
"Pass arguments like entity guids to the resource view via ``$vars`` in "
"``elgg_view_resource()``."
msgstr ""
"Passez des arguments tels que des guids d’entités à la vue de la ressource "
"via ``$vars`` dans ``elgg_view_resource()``."

#: ../../guides/guidelines.rst:44
msgid ""
"Call ``elgg_gatekeeper()`` and ``elgg_admin_gatekeeper()`` in the page "
"handler function if required."
msgstr ""
"Appelez ``elgg_gatekeeper()`` et ``elgg_admin_gatekeeper()`` dans la "
"fonction du gestionnaire de page si nécessaire."

#: ../../guides/guidelines.rst:45
msgid ""
"The group URL should use views like ``resources/groups/*.php`` to render "
"pages."
msgstr ""
"L’URL de groupe doit utiliser des vues telles que ``resources/groups/*.php``"
" pour afficher des pages."

#: ../../guides/guidelines.rst:46
msgid "Page handlers should not contain HTML."
msgstr "Les gestionnaires de pages ne devraient pas contenir de HTML."

#: ../../guides/guidelines.rst:49
msgid "Use standardized page handlers and scripts"
msgstr "Utilisez les gestionnaires de pages standardisés et les scripts"

#: ../../guides/guidelines.rst:52
msgid ""
"Store page functionality in "
"``mod/<plugin>/views/default/resources/<page_handler>/<page_name>.php``"
msgstr ""
"Stockez les fonctionnalités des pages dans "
"``mod/<plugin>/views/default/resources/<page_handler>/<page_name>.php``"

#: ../../guides/guidelines.rst:53
msgid ""
"Use ``elgg_view_resource('<page_handler>/<page_name>')`` to render that."
msgstr ""
"Utilisez ``elgg_view_resource('<page_handler>/<page_name>')`` pour les "
"afficher."

#: ../../guides/guidelines.rst:54
msgid ""
"Use the default page layout in page handler scripts: ``$content = "
"elgg_view_layout('default', $options);``"
msgstr ""
"Utilisez la disposition de page par défaut dans les scripts du gestionnaire "
"de pages : ``$content = elgg_view_layout('default', $options);``"

#: ../../guides/guidelines.rst:55
msgid "Page handler scripts should not contain HTML"
msgstr ""
"Les scripts de gestionnaires de pages ne devraient pas contenir de HTML"

#: ../../guides/guidelines.rst:56
msgid "Call ``elgg_push_breadcrumb()`` in the page handler scripts."
msgstr ""
"Appelez ``elgg_push_breadcrumb()`` dans les scripts du gestionnaire de "
"pages."

#: ../../guides/guidelines.rst:57
msgid ""
"No need to worry about setting the page owner if the URLs are in the "
"standardized format"
msgstr ""
"Nul besoin de s'inquiéter de définir le propriétaire de la page si les URLs "
"sont dans le format standardisé"

#: ../../guides/guidelines.rst:58
msgid ""
"For group content, check the ``container_guid`` by using "
"``elgg_get_page_owner_entity()``"
msgstr ""
"Pour le contenu du groupe, vérifiez le conteneur ``container_guid`` en "
"utilisant ``elgg_get_page_owner_entity()``"

#: ../../guides/guidelines.rst:61
msgid "The object/<subtype> view"
msgstr "La vue object/<subtype>"

#: ../../guides/guidelines.rst:64
msgid ""
"Make sure there are views for ``$vars['full_view'] == true`` and "
"``$vars['full_view'] == false``"
msgstr ""
"Assurez-vous qu'il existe bien des vues pour ``$vars['full_view'] == true`` "
"et ``$vars['full_view'] == false``"

#: ../../guides/guidelines.rst:65
msgid ""
"Check for the object in ``$vars['entity']`` . Use ``elgg_instance_of()`` to "
"make sure it’s the type entity you want. Return ``true`` to short circuit "
"the view if the entity is missing or wrong."
msgstr ""
"Vérifiez l’objet dans ``$vars['entity']`` . Utilisez ``elgg_instance_of()`` "
"pour vous assurer qu’il s’agit du type d'entité que vous souhaitez. Renvoyez"
" ``true`` pour court-circuiter la vue si l’entité est manquante ou erronée."

#: ../../guides/guidelines.rst:66
msgid ""
"Use the new list body and list metadata views to help format. You should use"
" almost no markup in these views."
msgstr ""
"Utilisez les vues du nouveau corps de liste et des métadonnées de liste pour"
" aider au formatage. Vous devriez n'utiliser quasiment aucun balisage dans "
"ces vues."

#: ../../guides/guidelines.rst:67
msgid "Update action structure - Example: Bookmarks plugin."
msgstr ""
"Mettez à jour la structure pour les actions - Exemple : le plugin Bookmarks."

#: ../../guides/guidelines.rst:68
msgid ""
"Namespace action files and action names (example: "
"``mod/blog/actions/blog/save.php`` => ``action/blog/save``)"
msgstr ""
"Fichiers d’action et noms d’action de l’espace de noms (exemple : "
"``mod/blog/actions/blog/save.php`` => ``action/blog/save``)"

#: ../../guides/guidelines.rst:77
msgid "Use the following action URLs:"
msgstr "Utilisez les URLs d'action suivantes :"

#: ../../guides/guidelines.rst:73 ../../guides/guidelines.rst:75
msgid "action/plugin/save"
msgstr "action/plugin/save"

#: ../../guides/guidelines.rst:77
msgid "Delete"
msgstr "Supprimer"

#: ../../guides/guidelines.rst:77
msgid "action/plugin/delete"
msgstr "action/plugin/delete"

#: ../../guides/guidelines.rst:79
msgid ""
"Make the delete action accept ``action/<handler>/delete?guid=<guid>`` so the"
" metadata entity menu has the correct URL by default"
msgstr ""
"Faites que l'action de suppression accepte "
"``action/<handler>/delete?guid=<guid>`` de sorte que le menu des métadonnées"
" de l'entité ait la bonne URL par défaut"

#: ../../guides/guidelines.rst:82 ../../guides/plugins/plugin-skeleton.rst:79
msgid "Actions"
msgstr "Actions"

#: ../../guides/guidelines.rst:84
msgid ""
"Actions are transient states to perform an action such as updating the "
"database or sending a notification to a user. Used correctly, actions "
"provide a level of access control and prevent against CSRF attacks."
msgstr ""
"Les actions sont des états transitoires pour effectuer une action telle que "
"la mise à jour de la base de données ou l’envoi d’une notification à un "
"utilisateur. Utilisées correctement, les actions fournissent un niveau de "
"contrôle d’accès et de prévention contre les attaques CSRF."

#: ../../guides/guidelines.rst:86
msgid ""
"Actions require action (CSRF) tokens to be submitted via GET/POST, but these"
" are added automatically by elgg_view_form() and by using the ``is_action`` "
"argument of the ``output/url`` view."
msgstr ""
"Les actions nécessitent que les jetons d’action (CSRF) soient soumis via "
"GET/POST, mais ceux-ci sont ajoutés automatiquement par elgg_view_form(), et"
" à l’aide de l’argument ``is_action`` de la vue ``output/url``."

#: ../../guides/guidelines.rst:89
msgid "Action best practices"
msgstr "Meilleures pratiques pour les actions"

#: ../../guides/guidelines.rst:91
msgid ""
"Action files are included within Elgg's action system; like views, they are "
"*not* regular scripts executable by users. Do not boot the Elgg core in your"
" file and direct users to load it directly."
msgstr ""
"Les fichiers d’action sont inclus dans le système d’action de Elgg ; comme "
"les vues, ce *ne sont pas* des scripts classiques exécutables par les "
"utilisateurs. Ne démarrez pas le noyau de Elgg dans votre fichier et ne "
"renvoyez pas les utilisateurs directement vers ce fichier."

#: ../../guides/guidelines.rst:93
msgid ""
"Because actions are time-sensitive they are not suitable for links in emails"
" or other delayed notifications. An example of this would be invitations to "
"join a group. The clean way to create an invitation link is to create a page"
" handler for invitations and email that link to the user. It is then the "
"page handler's responsibility to create the action links for a user to join "
"or ignore the invitation request."
msgstr ""
"Comme les actions sont sensibles au temps, elles ne conviennent pas aux "
"liens dans les e-mails ou autres notifications retardées. Un exemple de cela"
" serait des invitations à rejoindre un groupe. La façon propre de créer un "
"lien d’invitation est de créer un gestionnaire de page pour les invitations "
"et les e-mails qui serait lié à  l’utilisateur. Il incombe alors au "
"gestionnaire de page de créer les liens d’action pour qu’un utilisateur "
"accepte ou ignore la demande d’invitation."

#: ../../guides/guidelines.rst:95
msgid ""
"Consider that actions may be submitted via XHR requests, not just links or "
"form submissions."
msgstr ""
"Considérez que les actions peuvent être soumises par le biais de requêtes "
"XHR, pas seulement par des liens ou des envois de formulaires."

#: ../../guides/guidelines.rst:98
msgid "Directly calling a file"
msgstr "Appeler directement un fichier"

#: ../../guides/guidelines.rst:100
msgid ""
"This is an easy one: **Don't do it**. With the exception of 3rd party "
"application integration, there is not a reason to directly call a file in "
"mods directory."
msgstr ""
"C’est très simple : **Ne le faites pas**. À l’exception de l’intégration "
"d'applications tierces, il n’y a pas de raison d’appeler directement un "
"fichier dans le répertoire des plugins."

#: ../../guides/guidelines.rst:103
msgid "Recommended"
msgstr "Recommandé"

#: ../../guides/guidelines.rst:105
msgid ""
"These points are good ideas, but are not yet in the official guidelines. "
"Following these suggestions will help to keep your plugin consistent with "
"Elgg core."
msgstr ""
"Ces points sont de bonnes idées, mais ne sont pas encore dans les "
"recommandations officielles. Suivre ces suggestions aidera à garder votre "
"plugin compatible avec le noyau de Elgg."

#: ../../guides/guidelines.rst:107
msgid "Update the widget views (see the blog or file widgets)"
msgstr ""
"Mettez à jour les vues du widget (voir les widgets du blog ou des fichiers)"

#: ../../guides/guidelines.rst:108
msgid ""
"Update the group profile “widget” using blog or file plugins as example"
msgstr ""
"Mettez à jour le “widget” du profil du groupe en prenant exemple sur les "
"plugins blog ou file"

#: ../../guides/guidelines.rst:112
msgid "Update the forms"
msgstr "Mettre à jour les formulaires"

#: ../../guides/guidelines.rst:110
msgid ""
"Move form bodies to ``/forms/<handler>/<action>`` to use Evan’s new "
"``elgg_view_form()``"
msgstr ""
"Déplacez le corps des formulaires vers ``/forms/<handler>/<action>`` pour "
"utiliser le nouveau ``elgg_view_form()`` d’Evan"

#: ../../guides/guidelines.rst:111
msgid "Use input views in form bodies rather than html"
msgstr ""
"Utilisez les vues de saisie dans le corps des formulaires, plutôt que du "
"html"

#: ../../guides/guidelines.rst:112
msgid ""
"Add a function that prepares the form (see ``mod/file/lib/file.php`` for "
"example)"
msgstr ""
"Ajoutez une fonction qui prépare le formulaire (voir "
"``mod/file/lib/file.php`` pour un exemple)"

#: ../../guides/guidelines.rst:113
msgid ""
"Integrate sticky forms (see the file plugin’s upload action and form prepare"
" function)"
msgstr ""
"Intégrez des formulaires persistants (voir l’action de téléchargement du "
"plugin de fichier et la fonction de préparation de formulaire)"

#: ../../guides/guidelines.rst:114
msgid "Clean up CSS/HTML"
msgstr "Nettoyez le CSS/HTML"

#: ../../guides/guidelines.rst:115
msgid ""
"Should be able to remove almost all CSS (look for patterns that can be moved"
" into core if you need CSS)"
msgstr ""
"Devrait être en mesure de supprimer presque tous les CSS (recherchez des "
"motifs qui peuvent être déplacés dans le noyau si vous avez besoin de CSS)"

#: ../../guides/guidelines.rst:116
msgid "Use hyphens rather than underscores in classes/ids"
msgstr ""
"Utilisez les traits- d'union plutôt que les traits de soulignement "
"(\"underscore\") dans les classes/ids"

#: ../../guides/guidelines.rst:117
msgid ""
"Do not use the ``bundled`` category with your plugins. That is for plugins "
"distributed with Elgg"
msgstr ""
"N'utilisez pas la catégorie ``bundled`` avec vos plugins. Elle est réservée "
"aux plugins distribués avec Elgg"

#: ../../guides/guidelines.rst:118
msgid ""
"Don't use ``register_shutdown_function`` as you may not have access to "
"certain Elgg parts anymore (eg database). Instead use the ``shutdown`` "
"``system`` event"
msgstr ""
"N'utilisez pas ``register_shutdown_function`` car vous pourriez ne plus "
"avoir accès à certaines parties de Elgg (par ex. la base de données). "
"Utilisez plutôt l'événement ``shutdown`` ``system``"

#: ../../guides/helpers.rst:9
msgid "Input and output"
msgstr "Entrée et sortie"

#: ../../guides/helpers.rst:11
msgid ""
"``get_input($name)`` Grabs information from a form field (or any variable "
"passed using GET or POST). Also sanitises input, stripping Javascript etc."
msgstr ""
"``get_input($name)`` Récupère des informations depuis un champ de formulaire"
" (ou toute variable passée en utilisant GET ou POST). Se charge également "
"d'assainir l'entrée, en retirant le javascript, etc."

#: ../../guides/helpers.rst:12
msgid ""
"``set_input($name, $value)`` Forces a value to a particular variable for "
"subsequent retrieval by ``get_input()``"
msgstr ""
"``set_input($name, $value)`` Force une valeur pour une variable particulière"
" destinée à être récupérée par la suite par ``get_input()``"

#: ../../guides/helpers.rst:15
msgid "Entity methods"
msgstr "Méthode des entités"

#: ../../guides/helpers.rst:17
msgid "``$entity->getURL()`` Returns the URL of any entity in the system"
msgstr ""
"``$entity->getURL()`` Retourne l'URL de n'importe quelle entité dans le "
"système"

#: ../../guides/helpers.rst:18
msgid "``$entity->getGUID()`` Returns the GUID of any entity in the system"
msgstr ""
"``$entity->getGUID()`` Retourne le GUID de n'importe quelle entité dans le "
"système"

#: ../../guides/helpers.rst:19
msgid ""
"``$entity->canEdit()`` Returns whether or not the current user can edit the "
"entity"
msgstr ""
"``$entity->canEdit()`` Indique si l'utilisateur courant est autorisé ou non "
"à modifier l'entité"

#: ../../guides/helpers.rst:20
msgid ""
"``$entity->getOwnerEntity()`` Returns the ElggUser owner of a particular "
"entity"
msgstr ""
"``$entity->getOwnerEntity()`` Retourne le propriétaire ElggUser d'une entité"
" particulière"

#: ../../guides/helpers.rst:23
msgid "Entity and context retrieval"
msgstr "Récupération de l'entité et du contexte"

#: ../../guides/helpers.rst:25
msgid ""
"``elgg_get_logged_in_user_entity()`` Returns the ElggUser for the current "
"user"
msgstr ""
"``elgg_get_logged_in_user_entity()`` Retourne le ElggUser de l'utilisateur "
"courant"

#: ../../guides/helpers.rst:26
msgid ""
"``elgg_get_logged_in_user_guid()`` Returns the GUID of the current user"
msgstr ""
"``elgg_get_logged_in_user_guid()`` Retourne le GUID de l'utilisateur courant"

#: ../../guides/helpers.rst:27
msgid "``elgg_is_logged_in()`` Is the viewer logged in"
msgstr "``elgg_is_logged_in()`` Est-ce que le visiteur est identifié"

#: ../../guides/helpers.rst:28
msgid "``elgg_is_admin_logged_in()`` Is the view an admin and logged in"
msgstr ""
"``elgg_is_admin_logged_in()`` Est-ce que le visiteur est un admin identifié"

#: ../../guides/helpers.rst:29
msgid ""
"``elgg_gatekeeper()`` Shorthand for checking if a user is logged in. "
"Forwards user to front page if not"
msgstr ""
"``elgg_gatekeeper()`` Raccourci pour vérifier si un utilisateur est "
"identifié. Redirige sur la page d'accueil du site si ce n'est pas le cas"

#: ../../guides/helpers.rst:30
msgid ""
"``elgg_admin_gatekeeper()`` Shorthand for checking the user is logged in and"
" is an admin. Forwards user to front page if not"
msgstr ""
"``elgg_admin_gatekeeper()`` Raccourci pour vérifier si un utilisateur est "
"identifié et est admin. Redirige sur la page d'accueil du site si ce n'est "
"pas le cas"

#: ../../guides/helpers.rst:31
msgid "``get_user($user_guid)`` Given a GUID, returns a full ElggUser entity"
msgstr ""
"``get_user($user_guid)`` A partir d'un GUID, retourne l'entité ElggUser "
"complète"

#: ../../guides/helpers.rst:32
msgid ""
"``elgg_get_page_owner_guid()`` Returns the GUID of the current page owner, "
"if there is one"
msgstr ""
"``elgg_get_page_owner_guid()`` Retourne le GUID du propriétaire actuel, s'il"
" y en a un"

#: ../../guides/helpers.rst:33
msgid ""
"``elgg_get_page_owner_entity()`` Like elgg_get_page_owner_guid() but returns"
" the full entity"
msgstr ""
"``elgg_get_page_owner_entity()`` Comme elgg_get_page_owner_guid() mais "
"retourne l'entité complète"

#: ../../guides/helpers.rst:34
msgid ""
"``elgg_get_context()`` Returns the current page's context - eg \"blog\" for "
"the blog plugin, \"thewire\" for the wire, etc. Returns \"main\" as default"
msgstr ""
"``elgg_get_context()`` Retourne le contexte courant de la page - par ex. "
"\"blog\" pour le plugin blog, \"thewire\" pour le Fil, etc. Retourne "
"\"main\" comme valeur par défaut"

#: ../../guides/helpers.rst:35
msgid ""
"``elgg_set_context($context)`` Forces the context to be a particular value"
msgstr ""
"``elgg_set_context($context)`` Force le contexte pour une valeur "
"particulière"

#: ../../guides/helpers.rst:36
msgid "``elgg_push_context($context)`` Adds a context to the stack"
msgstr ""
"``elgg_push_context($context)`` Ajoute un contexte à la pile de contextes"

#: ../../guides/helpers.rst:37
msgid "``elgg_pop_context()`` Removes the top context from the stack"
msgstr "``elgg_pop_context()`` Retire le dernier contexte de la pile"

#: ../../guides/helpers.rst:38
msgid ""
"``elgg_in_context($context)`` Checks if you're in a context (this checks the"
" complete stack, eg. 'widget' in 'groups')"
msgstr ""
"``elgg_in_context($context)`` Vérifie si vous êtes dans un contexte (ceci "
"vérifie la pile complète, par ex. 'widget' dans 'groups')"

#: ../../guides/helpers.rst:41 ../../guides/hooks-list.rst:1113
#: ../../guides/plugins.rst:2
msgid "Plugins"
msgstr "Plugins"

#: ../../guides/helpers.rst:43
msgid ""
"``elgg_is_active_plugin($plugin_id)`` Check if a plugin is installed and "
"enabled"
msgstr ""
"``elgg_is_active_plugin($plugin_id)`` Vérifie si un plugin est installé et "
"activé"

#: ../../guides/helpers.rst:46
msgid "Interface and annotations"
msgstr "Interface et annotations"

#: ../../guides/helpers.rst:48
msgid ""
"``elgg_view_image_block($icon, $info)`` Return the result in a formatted "
"list"
msgstr ""
"``elgg_view_image_block($icon, $info)`` Retourne le résultat dans un élément"
" de liste formaté"

#: ../../guides/helpers.rst:49
msgid ""
"``elgg_view_comments($entity)`` Returns any comments associated with the "
"given entity"
msgstr ""
"``elgg_view_comments($entity)`` Retourne tous les commentaires associés à "
"une entité donnée"

#: ../../guides/helpers.rst:50
msgid ""
"``elgg_get_friendly_time($unix_timestamp)`` Returns a date formatted in a "
"friendlier way - \"18 minutes ago\", \"2 days ago\", etc."
msgstr ""
"``elgg_get_friendly_time($unix_timestamp)`` Retourne une date formatée de "
"manière relative - \"il y a 18 minutes\", \"il y a 2 jours\", etc."

#: ../../guides/helpers.rst:53
msgid "Messages"
msgstr "Messages"

#: ../../guides/helpers.rst:55
msgid "``system_message($message)`` Registers a success message"
msgstr "``system_message($message)`` Enregistre un message de succès"

#: ../../guides/helpers.rst:56
msgid "``register_error($message)`` Registers an error message"
msgstr "``register_error($message)`` Enregistre un message d'erreur"

#: ../../guides/helpers.rst:57
msgid "``elgg_view_message($type, $message)`` Outputs a message"
msgstr "``elgg_view_message($type, $message)`` Affiche un message"

#: ../../guides/hooks-list.rst:2
msgid "List of plugin hooks in core"
msgstr "Liste des hooks plugin du noyau"

#: ../../guides/hooks-list.rst:4
msgid "For more information on how hooks work visit :doc:`/design/events`."
msgstr ""
"Pour plus d'informations sur le fonctionnement des hooks, visitez "
":doc:`/design/events`."

#: ../../guides/hooks-list.rst:8
msgid "Contents  :local:"
msgstr "Contenu  :local:"

#: ../../guides/hooks-list.rst:11
msgid "System hooks"
msgstr "Hooks système"

#: ../../guides/hooks-list.rst:14
msgid "**page_owner, system**"
msgstr "**page_owner, system**"

#: ../../guides/hooks-list.rst:14
msgid "Filter the page_owner for the current page. No options are passed."
msgstr ""
"Filtre le propriétaire page_owner de la page courante. Aucune option n'est "
"passée."

#: ../../guides/hooks-list.rst:16
msgid "**siteid, system**"
msgstr "**siteid, system**"

#: ../../guides/hooks-list.rst:19
msgid "**gc, system**"
msgstr "**gc, system**"

#: ../../guides/hooks-list.rst:19
msgid "Allows plugins to run garbage collection for ``$params['period']``."
msgstr ""
"Autorise les plugins à exécuter la collecte des déchets - \"garbage "
"collection\" - pour ``$params['period']``."

#: ../../guides/hooks-list.rst:22 ../../guides/hooks-list.rst:42
msgid "**diagnostics:report, system**"
msgstr "**diagnostics:report, system**"

#: ../../guides/hooks-list.rst:22
msgid "Filter the output for the diagnostics report download."
msgstr "Filtre la sortie pour le téléchargement du rapport de diagnostic."

#: ../../guides/hooks-list.rst:25
msgid "**cron, <period>**"
msgstr "**cron, <period>**"

#: ../../guides/hooks-list.rst:25
msgid "Triggered by cron for each period."
msgstr "Déclenché par le cron pour chaque période."

#: ../../guides/hooks-list.rst:28
msgid "**cron:intervals, system**"
msgstr "**cron:intervals, system**"

#: ../../guides/hooks-list.rst:28
msgid "Allow the configuration of custom cron intervals"
msgstr "Permet la configuration d’intervalles de cron personnalisés"

#: ../../guides/hooks-list.rst:31
msgid "**validate, input**"
msgstr "**validate, input**"

#: ../../guides/hooks-list.rst:31
msgid ""
"Filter GET and POST input. This is used by ``get_input()`` to sanitize user "
"input."
msgstr ""
"Filtre l'entrée GET et POST. Ceci est utilisé par ``get_input()`` pour "
"assainir les entrées utilisateur."

#: ../../guides/hooks-list.rst:39
msgid "**prepare, html**"
msgstr "**prepare, html**"

#: ../../guides/hooks-list.rst:34
msgid ""
"Triggered by ``elgg_format_html()`` and used to prepare untrusted HTML."
msgstr ""
"Déclenché par ``elgg_format_html()`` et utilisé pour préparer du HTML non "
"sûr."

#: ../../guides/hooks-list.rst:36
msgid "The ``$return`` value is an array:"
msgstr "La valeur ``$return`` est un tableau :"

#: ../../guides/hooks-list.rst:38
msgid "``html`` - HTML string being prepared"
msgstr "``html`` - La chaîne de caractères HTML en train d'être préparée"

#: ../../guides/hooks-list.rst:39
msgid "``options`` - Preparation options"
msgstr "``options`` - Options de préparation"

#: ../../guides/hooks-list.rst:42
msgid "Filters the output for a diagnostic report."
msgstr "Filtre la sortie pour un rapport de diagnostic."

#: ../../guides/hooks-list.rst:54
msgid "**debug, log**"
msgstr "**debug, log**"

#: ../../guides/hooks-list.rst:45
msgid ""
"Triggered by the Logger. Return false to stop the default logging method. "
"``$params`` includes:"
msgstr ""
"Déclenché par le Logger. Retourne false pour arrêter la méthode de "
"journalisation par défaut. ``$params`` comprend :"

#: ../../guides/hooks-list.rst:51
msgid "level - The debug level. One of:"
msgstr "level - Le niveau de débogage. Au choix parmi :"

#: ../../guides/hooks-list.rst:48
msgid "``Elgg_Logger::OFF``"
msgstr "``Elgg_Logger::OFF``"

#: ../../guides/hooks-list.rst:49
msgid "``Elgg_Logger::ERROR``"
msgstr "``Elgg_Logger::ERROR``"

#: ../../guides/hooks-list.rst:50
msgid "``Elgg_Logger::WARNING``"
msgstr "``Elgg_Logger::WARNING``"

#: ../../guides/hooks-list.rst:51
msgid "``Elgg_Logger::NOTICE``"
msgstr "``Elgg_Logger::NOTICE``"

#: ../../guides/hooks-list.rst:52
msgid "``Elgg_Logger::INFO``"
msgstr "``Elgg_Logger::INFO``"

#: ../../guides/hooks-list.rst:53
msgid "msg - The message"
msgstr "msg - Le message"

#: ../../guides/hooks-list.rst:54
msgid "display - Should this message be displayed?"
msgstr "display - Est-ce que ce message devrait être affiché ?"

#: ../../guides/hooks-list.rst:57
msgid "**format, friendly:title**"
msgstr "**format, friendly:title**"

#: ../../guides/hooks-list.rst:57
msgid ""
"Formats the \"friendly\" title for strings. This is used for generating "
"URLs."
msgstr ""
"Formate un titre \"sympathique\" pour les chaînes de caractères. Ceci est "
"utilisé pour générer des URLs."

#: ../../guides/hooks-list.rst:60
msgid "**format, friendly:time**"
msgstr "**format, friendly:time**"

#: ../../guides/hooks-list.rst:60
msgid "Formats the \"friendly\" time for the timestamp ``$params['time']``."
msgstr "Formate une date \"sympathique\" pour le timestamp ``$params['time']``."

#: ../../guides/hooks-list.rst:64
msgid "**format, strip_tags**"
msgstr "**format, strip_tags**"

#: ../../guides/hooks-list.rst:63
msgid ""
"Filters a string to remove tags. The original string is passed as "
"``$params['original_string']`` and an optional set of allowed tags is passed"
" as ``$params['allowed_tags']``."
msgstr ""
"Filtre une chaîne pour supprimer les balises. La chaîne d’origine est passée"
" par ``$params['original_string']`` et un ensemble facultatif de balises "
"autorisées est passé par ``$params['allowed_tags']``."

#: ../../guides/hooks-list.rst:69
msgid "**output:before, page**"
msgstr "**output:before, page**"

#: ../../guides/hooks-list.rst:67
msgid ""
"In ``elgg_view_page()``, this filters ``$vars`` before it's passed to the "
"page shell view (``page/<page_shell>``). To stop sending the X-Frame-Options"
" header, unregister the handler "
"``Elgg\\Page\\SetXFrameOptionsHeaderHandler::class`` from this hook."
msgstr ""
"Dans ``elgg_view_page()``, cela filtre ``$vars`` avant qu'il ne soit passé à"
" la vue shell de la page (``page/<page_shell>``). Pour arrêter d'envoyer l"
"'en-tête X-Frame-Options, désenregistrez le gestionnaire "
"``Elgg\\Page\\SetXFrameOptionsHeaderHandler::class`` de ce hook."

#: ../../guides/hooks-list.rst:72
msgid "**output, page**"
msgstr "**output, page**"

#: ../../guides/hooks-list.rst:72
msgid "In ``elgg_view_page()``, this filters the output return value."
msgstr "Dans ``elgg_view_page()``, ceci filtre la valeur de retour renvoyée."

#: ../../guides/hooks-list.rst:81
msgid "**parameters, menu:<menu_name>**"
msgstr "**parameters, menu:<menu_name>**"

#: ../../guides/hooks-list.rst:75
msgid ""
"Triggered by ``elgg_view_menu()``. Used to change menu variables (like sort "
"order) before rendering."
msgstr ""
"Déclenché par ``elgg_view_menu()``. Utilisé pour modifier les variables de "
"menu (comme l’ordre de tri) avant le rendu."

#: ../../guides/hooks-list.rst:77 ../../guides/hooks-list.rst:106
#: ../../guides/hooks-list.rst:199 ../../guides/hooks-list.rst:209
#: ../../guides/hooks-list.rst:236 ../../guides/hooks-list.rst:277
#: ../../guides/hooks-list.rst:284 ../../guides/hooks-list.rst:404
#: ../../guides/hooks-list.rst:418 ../../guides/hooks-list.rst:437
msgid "The ``$params`` array will contain:"
msgstr "Le tableau ``$params`` va contenir :"

#: ../../guides/hooks-list.rst:79
msgid "``name`` - name of the menu"
msgstr "``name`` - nom du menu"

#: ../../guides/hooks-list.rst:80
msgid "``sort_by`` - preferring sorting parameter"
msgstr "``sort_by`` - paramètre de tri préféré"

#: ../../guides/hooks-list.rst:81
msgid "other parameters passed to ``elgg_view_menu()``"
msgstr "d'autres paramètres passés à ``elgg_view_menu()``"

#: ../../guides/hooks-list.rst:91
msgid "**register, menu:<menu_name>**"
msgstr "**register, menu:<menu_name>**"

#: ../../guides/hooks-list.rst:84
msgid ""
"Filters the initial list of menu items pulled from configuration, before the"
" menu has been split into sections. Triggered by ``elgg_view_menu()`` and "
"``elgg()->menus->getMenu()``."
msgstr ""
"Filtre la liste initiale des éléments de menu issus de la configuration, "
"avant que le menu n’ait été divisé en sections. Déclenché par "
"``elgg_view_menu()`` et ``elgg()->menus->getMenu()``."

#: ../../guides/hooks-list.rst:87
msgid ""
"The ``$params`` array will contain parameters returned by ``parameters, "
"menu:<menu_name>`` hook."
msgstr ""
"Le tableau ``$params`` contient des paramètres renvoyés par le hook "
"``parameters, menu:<menu_name>``."

#: ../../guides/hooks-list.rst:89
msgid ""
"The return value is an instance of ``\\Elgg\\Menu\\MenuItems`` containing "
"``\\ElggMenuItem`` objects."
msgstr ""
"La valeur de retour est une instance de ``\\Elgg\\Menu\\MenuItems`` "
"contenant des objets ``\\ElggMenuItem``."

#: ../../guides/hooks-list.rst:91
msgid ""
"Hook handlers can add/remove items to the collection using the collection "
"API, as well as array access operations."
msgstr ""
"Les gestionnaires de hooks peuvent ajouter/supprimer des éléments à une "
"collection via l’API des collections, ainsi que via des opérations sur le "
"tableau des accès."

#: ../../guides/hooks-list.rst:99
msgid "**register, menu:<menu_name>:<type>:<subtype>**"
msgstr "**register, menu:<menu_name>:<type>:<subtype>**"

#: ../../guides/hooks-list.rst:94
msgid ""
"More granualar version of the menu hook triggered before the **register, "
"menu:<menu_name>** hook."
msgstr ""
"Version plus granulaire du hook de menu déclenché avant le hook **register, "
"menu:**."

#: ../../guides/hooks-list.rst:96 ../../guides/hooks-list.rst:116
msgid ""
"Only applied if menu params contain - params['entity'] with an "
"``\\ElggEntity`` (``<type>`` is ``\\ElggEntity::type`` and ``<subtype>`` is "
"``\\ElggEntity::subtype``) or - params['annotation'] with an "
"``\\ElggAnnotation`` (``<type>`` is ``\\ElggAnnotation::getType()`` and "
"``<subtype>`` is ``\\ElggAnnotation::getSubtype()``) or - "
"params['relationship'] with an ``\\ElggRelationship`` (``<type>`` is "
"``\\ElggRelationship::getType()`` and ``<subtype>`` is "
"``\\ElggRelationship::getSubtype()``)"
msgstr ""
"Uniquement appliqué si les paramètres de menu contiennent - params['entity']"
" avec un ``\\ElggEntity`` (``<type>`` est ``\\ElggEntity::type`` et "
"``<subtype>`` est ``\\ElggEntity::subtype` `) ou - params['annotation'] avec"
" un ``\\ElggAnnotation`` (``<type>`` est ``\\ElggAnnotation::getType()`` et "
"``<subtype>`` est ``\\ElggAnnotation::getSubtype() ``) ou - "
"params['relationship'] avec un ``\\ElggRelationship`` (``<type>`` est "
"``\\ElggRelationship::getType()`` et ``<subtype>`` est "
"``\\ElggRelationship::getSubtype( )``)"

#: ../../guides/hooks-list.rst:111
msgid "**prepare, menu:<menu_name>**"
msgstr "**prepare, menu:<menu_name>**"

#: ../../guides/hooks-list.rst:102
msgid ""
"Filters the array of menu sections before they're displayed. Each section is"
" a string key mapping to an area of menu items. This is a good hook to sort,"
" add, remove, and modify menu items. Triggered by ``elgg_view_menu()`` and "
"``elgg()->menus->prepareMenu()``."
msgstr ""
"Filtre le tableau des sections de menu avant qu’elles ne soient affichées. "
"Chaque section est une clef de chaîne qui correspond à une zone d’éléments "
"de menu. Il s’agit d’un bon hook pour trier, ajouter, supprimer et modifier "
"les éléments de menu. Déclenché par ``elgg_view_menu()`` et "
"``elgg()->menus->prepareMenu()``."

#: ../../guides/hooks-list.rst:108
msgid "``selected_item`` - ``ElggMenuItem`` selected in the menu, if any"
msgstr ""
"``selected_item`` - ``ElggMenuItem`` sélectionné dans le menu, le cas "
"échéant"

#: ../../guides/hooks-list.rst:110
msgid ""
"The return value is an instance of ``\\Elgg\\Menu\\PreparedMenu``. The "
"prepared menu is a collection of ``\\Elgg\\Menu\\MenuSection``, which in "
"turn are collections of ``\\ElggMenuItem`` objects."
msgstr ""
"La valeur de retour est une instance de ``\\Elgg\\Menu\\PreparedMenu``. Le "
"menu préparé est une collection d’objets ``\\Elgg\\Menu\\MenuSection``, qui "
"sont à leur tour des collections d’objets ``\\ElggMenuItem``."

#: ../../guides/hooks-list.rst:119
msgid "**prepare, menu:<menu_name>:<type>:<subtype>**"
msgstr "**prepare, menu:<menu_name>:<type>:<subtype>**"

#: ../../guides/hooks-list.rst:114
msgid ""
"More granualar version of the menu hook triggered before the **prepare, "
"menu:<menu_name>** hook."
msgstr ""
"Version plus granulaire du hook de menu déclenché avant le hook **prepare, "
"menu:**."

#: ../../guides/hooks-list.rst:139
msgid "**register, menu:filter:<filter_id>**"
msgstr "**register, menu:filter:<filter_id>**"

#: ../../guides/hooks-list.rst:122
msgid ""
"Allows plugins to modify layout filter tabs on layouts that specify "
"``<filter_id>`` parameter. Parameters and return values are same as in "
"``register, menu:<menu_name>`` hook."
msgstr ""
"Permet aux plugins de modifier les onglets de filtre de mise en page sur les"
" mises en page qui spécifient le paramètre ``<filter_id>``. Les paramètres "
"et les valeurs de retour sont les mêmes que dans ``register, "
"menu:<menu_name>`` hook."

#: ../../guides/hooks-list.rst:125
msgid ""
"If ``filter_id`` is ``filter`` (the default) then the ``all``, ``mine`` and "
"``friends`` tabs will be generated base on some provided information or be "
"tried for routes similar to the current route."
msgstr ""
"Si ``filter_id`` vaut ``filter`` (valeur par défaut), alors les onglets "
"``all``, ``mine`` et ``friends`` seront générés sur la base d'informations "
"fournies, ou seront testés pour des routes similaires à la route actuelle."

#: ../../guides/hooks-list.rst:128
msgid "params['all_link'] will be used for the ``all`` tab"
msgstr "params['all_link'] sera utilisé pour l'onglet ``all``"

#: ../../guides/hooks-list.rst:129
msgid "params['mine_link'] will be used for the ``mine`` tab"
msgstr "params['mine_link'] sera utilisé pour l'onglet ``mine``"

#: ../../guides/hooks-list.rst:130
msgid "params['friends_link'] will be used for the ``friend`` tab"
msgstr "params['friends_link'] sera utilisé pour l'onglet ``friend``"

#: ../../guides/hooks-list.rst:132
msgid ""
"If the above are not provided than a route will be tried based on "
"``params['entity_type']`` and ``params['entity_subtype']``. If not provided "
"``entity_type`` and ``entity_subtype`` will be based on route detection of "
"the current route. For example if the current route is "
"``collection:object:blog:all`` ``entity_type`` will be ``object`` and "
"``entity_subtype`` will be ``blog``. - The ``all`` tab will be based on the "
"route ``collection:<entity_type>:<entity_subtype>:all`` - The ``mine`` tab "
"will be based on the route "
"``collection:<entity_type>:<entity_subtype>:owner`` - The ``friend`` tab "
"will be based on the route "
"``collection:<entity_type>:<entity_subtype>:friends``"
msgstr ""
"Si ce qui précède n'est pas fourni, une route sera essayée en fonction de "
"``params['entity_type']`` et ``params['entity_subtype']``. S'il n'est pas "
"fourni, ``entity_type`` et ``entity_subtype`` seront basés sur la détection "
"de la route actuelle. Par exemple, si la route actuelle est "
"``collection:object:blog:all`` ``entity_type`` sera ``object`` et "
"``entity_subtype`` sera ``blog``. - L'onglet ``all`` sera basé sur la route "
"``collection:<entity_type>:<entity_subtype>:all`` - L'onglet ``mine`` sera "
"basé sur la route ``collection:<entity_type>:<entity_subtype>:owner`` - "
"L'onglet `` friend`` sera basé sur la route "
"``collection:<entity_type>:<entity_subtype>:friends``"

#: ../../guides/hooks-list.rst:139
msgid "If the routes aren't registered the tabs will not appear."
msgstr ""
"Si les routes ne sont pas enregistrés, les onglets n'apparaîtront pas."

#: ../../guides/hooks-list.rst:143
msgid "**creating, river**"
msgstr "**creating, river**"

#: ../../guides/hooks-list.rst:142
msgid ""
"The options for ``elgg_create_river_item`` are filtered through this hook. "
"You may alter values or return ``false`` to cancel the item creation."
msgstr ""
"Les options pour ``elgg_create_river_item`` sont filtrées à travers ce hook."
" Vous pouvez modifier des valeurs ou renvoyer ``false`` pour annuler la "
"création de l’élément."

#: ../../guides/hooks-list.rst:146
msgid "**simplecache:generate, <view>**"
msgstr "**simplecache:generate, <view>**"

#: ../../guides/hooks-list.rst:146
msgid ""
"Filters the view output for a ``/cache`` URL when simplecache is enabled."
msgstr ""
"Filtre la sortie de la vue pour une URL ``/cache`` quand simplecache est "
"activé."

#: ../../guides/hooks-list.rst:150
msgid "**cache:generate, <view>**"
msgstr "**cache:generate, <view>**"

#: ../../guides/hooks-list.rst:149
msgid ""
"Filters the view output for a ``/cache`` URL when simplecache is disabled. "
"Note this will be fired for every ``/cache`` request--no Expires headers are"
" used when simplecache is disabled."
msgstr ""
"Filtre la sortie de la vue pour une URL ``/cache`` quand simplecache est "
"désactivé. Notez que cela sera déclenché pour chaque requête à ``/cache'' --"
" aucun entête Expires n'est utilisé quand simplecache est désactivé."

#: ../../guides/hooks-list.rst:159
msgid "**prepare, breadcrumbs**"
msgstr "**prepare, breadcrumbs**"

#: ../../guides/hooks-list.rst:153
msgid ""
"In ``elgg_get_breadcrumbs()``, this filters the registered breadcrumbs "
"before returning them, allowing a plugin to alter breadcrumb strategy site-"
"wide. ``$params`` array includes:"
msgstr ""
"Dans ``elgg_get_breadcrumbs()``, ceci filtre le fil d'ariane enregistré "
"avant de le renvoyer, ce qui permet à un plugin de modifier la stratégie de "
"fil d'ariane à l’échelle du site. Le tableau ``$params`` comprend :"

#: ../../guides/hooks-list.rst:157
msgid ""
"``breadcrumbs`` - an array of bredcrumbs, each with ``title`` and ``link`` "
"keys"
msgstr ""
"``breadcrumbs`` - un tableau des éléments du Fil d'Ariane, chacun avec les "
"indexes titre ``title`` et lien ``link``"

#: ../../guides/hooks-list.rst:158
msgid "``identifier`` - route identifier of the current page"
msgstr "``identifier`` - identifiant de la route de la page courante"

#: ../../guides/hooks-list.rst:159
msgid "``segments`` - route segments of the current page"
msgstr "``segments`` - segments de la route de la page courante"

#: ../../guides/hooks-list.rst:162
msgid "**elgg.data, site**"
msgstr "**elgg.data, site**"

#: ../../guides/hooks-list.rst:162
msgid ""
"Filters cached configuration data to pass to the client. :ref:`More info "
"<guides/javascript#config>`"
msgstr ""
"Filtre les données de configuration mises en cache pour les transmettre au "
"client. :ref:`Plus d’informations <guides/javascript#config>`"

#: ../../guides/hooks-list.rst:165
msgid "**elgg.data, page**"
msgstr "**elgg.data, page**"

#: ../../guides/hooks-list.rst:165
msgid ""
"Filters uncached, page-specific configuration data to pass to the client. "
":ref:`More info <guides/javascript#config>`"
msgstr ""
"Filtre les données de configuration non mises en cache et spécifiques à la "
"page à transmettre au client. :ref:`Plus d’informations "
"<guides/javascript#config>`"

#: ../../guides/hooks-list.rst:170
msgid "**registration_url, site**"
msgstr "**registration_url, site**"

#: ../../guides/hooks-list.rst:168
msgid ""
"Filters site's registration URL. Can be used by plugins to attach invitation"
" codes, referrer codes etc. to the registration URL. ``$params`` array "
"contains an array of query elements added to the registration URL by the "
"invoking script. The hook must return an absolute URL to the registration "
"page."
msgstr ""
"Filtre l’URL d’inscription sur le site. Peut être utilisé par les plugins "
"pour ajouter des codes d’invitation, des codes de référence, etc. à l’URL "
"d’inscription. Le tableau ``$params`` contient un tableau des éléments de la"
" requête ajoutés à l’URL d’inscription par le script qui l'invoque. Le hook "
"doit renvoyer une URL absolue de la page d’inscription."

#: ../../guides/hooks-list.rst:175
msgid "**login_url, site**"
msgstr "**login_url, site**"

#: ../../guides/hooks-list.rst:173
msgid ""
"Filters site's login URL. ``$params`` array contains an array of query "
"elements added to the login URL by the invoking script. The hook must return"
" an absolute URL of the login page."
msgstr ""
"Filtre l’URL de connexion du site. Le tableau ``$params`` contient un "
"tableau des éléments de requête ajoutés à l’URL de connexion par le script "
"qui l'invoque. Le hook doit renvoyer une URL absolue de la page de "
"connexion."

#: ../../guides/hooks-list.rst:179
msgid "**commands, cli**"
msgstr "**commands, cli**"

#: ../../guides/hooks-list.rst:178
msgid ""
"Allows plugins to register their own commands executable via ``elgg-cli`` "
"binary. Handlers must return an array of command class names. Commands must "
"extend ``\\Elgg\\Cli\\Command`` to be executable."
msgstr ""
"Permet aux plugins d’enregistrer leurs propres commandes exécutables via le "
"binaire ``elgg-cli``. Les gestionnaires doivent renvoyer un tableau de noms "
"de classes de commande. Les commandes doivent étendre "
"``\\Elgg\\Cli\\Command`` pour être exécutables."

#: ../../guides/hooks-list.rst:183
msgid "**seeds, database**"
msgstr "**seeds, database**"

#: ../../guides/hooks-list.rst:182
msgid ""
"Allows plugins to register their own database seeds. Seeds populate the "
"database with fake entities for testing purposes. Seeds must extend "
"``\\Elgg\\Database\\Seeds\\Seed`` class to be executable via ``elgg-cli "
"database:seed``."
msgstr ""
"Permet aux plugins d’enregistrer leurs propres semences de base de données. "
"Les graines remplissent la base de données avec de fausses entités à des "
"fins de test. Les graines doivent étendre la classe "
"``\\Elgg\\Database\\Seeds\\Seed`` pour qu’elle soit exécutable via ``elgg-"
"cli database:seed``."

#: ../../guides/hooks-list.rst:186
msgid "**languages, translations**"
msgstr "**languages, translations**"

#: ../../guides/hooks-list.rst:186
msgid ""
"Allows plugins to add/remove languages from the configurable languages in "
"the system."
msgstr ""
"Permet aux plugins d'ajouter/supprimer des langues des langues configurables"
" du système."

#: ../../guides/hooks-list.rst:189
msgid "**generate, password**"
msgstr "**generate, password**"

#: ../../guides/hooks-list.rst:189
msgid "Allows plugins to generate new random cleartext passwords."
msgstr ""
"Permet aux plugins de générer de nouveaux mots de passe texte aléatoires."

#: ../../guides/hooks-list.rst:192
msgid "User hooks"
msgstr "Hooks utilisateur"

#: ../../guides/hooks-list.rst:202
msgid "**usersettings:save, user**"
msgstr "**usersettings:save, user**"

#: ../../guides/hooks-list.rst:195
msgid ""
"Triggered in the aggregate action to save user settings. The hook handler "
"must return ``false`` to prevent sticky forms from being cleared (i.e. to "
"indicate that some of the values were not saved). Do not return ``true`` "
"from your hook handler, as you will override other hooks' output, instead "
"return ``null`` to indicate successful operation."
msgstr ""
"Déclenché dans l’action globale pour enregistrer les paramètres utilisateur."
" Le gestionnaire de hook doit renvoyer ``false`` pour éviter que les "
"formulaires persistants ne soient effacées (c.-à-d. pour indiquer que "
"certaines valeurs n’ont pas été enregistrées). Ne renvoyez pas ``true`` dans"
" votre gestionnaire de hook car vous remplaceriez la sortie d’autres hooks :"
" renvoyez plutôt ``null`` pour indiquer une opération réussie."

#: ../../guides/hooks-list.rst:201 ../../guides/hooks-list.rst:211
msgid "``user`` - ``\\ElggUser``, whose settings are being saved"
msgstr "``user`` - ``\\ElggUser``, dont les paramètres ont été sauvegardés"

#: ../../guides/hooks-list.rst:202 ../../guides/hooks-list.rst:213
msgid "``request`` - ``\\Elgg\\Request`` to the action controller"
msgstr "``request`` - ``\\Elgg\\Request`` vers le contrôleur de l'action"

#: ../../guides/hooks-list.rst:213
msgid "**change:email, user**"
msgstr "**change:email, user**"

#: ../../guides/hooks-list.rst:205
msgid ""
"Triggered before the user email is changed. Allows plugins to implement "
"additional logic required to change email, e.g. additional email validation."
" The hook handler must return false to prevent the email from being changed "
"right away."
msgstr ""
"Déclenché avant que l'e-mail de l'utilisateur soit modifé. Permet aux "
"plugins d'implémenter une logique additionnelle nécessaire pour modifier "
"l'e-mail, par ex. une validation de l'e-mail additionnelle. Le gestionnaire "
"de hook doit retourner false pour éviter que l'e-mail ne soit modifié "
"immédiatement."

#: ../../guides/hooks-list.rst:212
msgid "``email`` - Email address that passes sanity checks"
msgstr "``email`` - Adresse e-mail qui passe les vérifications sanitaires"

#: ../../guides/hooks-list.rst:217 ../../guides/hooks-list.rst:301
msgid "**access:collections:write, user**"
msgstr "**access:collections:write, user**"

#: ../../guides/hooks-list.rst:216
msgid ""
"Filters an array of access permissions that the user ``$params['user_id']`` "
"is allowed to save content with. Permissions returned are of the form (id =>"
" 'Human Readable Name')."
msgstr ""
"Filtre un tableau d'autorisations d’accès pour lesquelles l’utilisateur "
"``$params['user_id']`` est autorisé à enregistrer du contenu. Les "
"autorisations renvoyées sont de la forme (id => 'Nom lisible par un "
"Humain')."

#: ../../guides/hooks-list.rst:221
msgid "**registeruser:validate:username, all**"
msgstr "**registeruser:validate:username, all**"

#: ../../guides/hooks-list.rst:220
msgid ""
"Return boolean for if the string in ``$params['username']`` is valid for a "
"username. Hook handler can throw "
"``\\Elgg\\Exceptions\\Configuration\\RegistrationException`` with an error "
"message to be shown to the user."
msgstr ""
"Renvoie un booléen pour si la chaîne dans ``$params['username']`` est valide"
" pour un nom d'utilisateur. Le gestionnaire de hook peut lancer "
"``\\Elgg\\Exceptions\\Configuration\\RegistrationException`` avec un message"
" d'erreur à afficher à l'utilisateur."

#: ../../guides/hooks-list.rst:225
msgid "**registeruser:validate:password, all**"
msgstr "**registeruser:validate:password, all**"

#: ../../guides/hooks-list.rst:224
msgid ""
"Return boolean for if the string in ``$params['password']`` is valid for a "
"password. Hook handler can throw "
"``\\Elgg\\Exceptions\\Configuration\\RegistrationException`` with an error "
"message to be shown to the user."
msgstr ""
"Renvoie un booléen pour si la chaîne dans ``$params['password']`` est valide"
" pour un mot de passe. Le gestionnaire de hook peut lancer "
"``\\Elgg\\Exceptions\\Configuration\\RegistrationException`` avec un message"
" d'erreur à afficher à l'utilisateur."

#: ../../guides/hooks-list.rst:229
msgid "**registeruser:validate:email, all**"
msgstr "**registeruser:validate:email, all**"

#: ../../guides/hooks-list.rst:228
msgid ""
"Return boolean for if the string in ``$params['email']`` is valid for an "
"email address. Hook handler can throw "
"``\\Elgg\\Exceptions\\Configuration\\RegistrationException`` with an error "
"message to be shown to the user."
msgstr ""
"Renvoie un booléen si la chaîne dans ``$params['email']`` est une adresse "
"e-mail valide. Le gestionnaire de hook peut lancer "
"``\\Elgg\\Exceptions\\Configuration\\RegistrationException`` avec un message"
" d'erreur à afficher à l'utilisateur."

#: ../../guides/hooks-list.rst:239
msgid "**register, user**"
msgstr "**register, user**"

#: ../../guides/hooks-list.rst:232
msgid ""
"Triggered by the ``register`` action after the user registers. Return "
"``false`` to delete the user. Note the function ``register_user`` does *not*"
" trigger this hook. Hook handlers can throw "
"``\\Elgg\\Exceptions\\Configuration\\RegistrationException`` with an error "
"message to be displayed to the user."
msgstr ""
"Déclenché par l’action ``register`` après que l’utilisateur se soit inscrit."
" Renvoyez ``false`` pour supprimer l’utilisateur. Notez que la fonction "
"``register_user`` *ne déclenche pas* ce hook. Les gestionnaires de hooks "
"peuvent lancer une exception "
"``\\Elgg\\Exceptions\\Configuration\\RegistrationException`` avec un message"
" d’erreur à afficher à l’utilisateur."

#: ../../guides/hooks-list.rst:238
msgid "``user`` - Newly registered user entity"
msgstr "``user`` - L'entité utilisateur nouvellement enregistrée"

#: ../../guides/hooks-list.rst:239
msgid ""
"All parameters sent with the request to the action (incl. ``password``, "
"``friend_guid``, ``invitecode`` etc)"
msgstr ""
"Tous les paramètres envoyés avec la requête à l’action (comprend "
"``password``, ``friend_guid``, ``invitecode``, etc.)"

#: ../../guides/hooks-list.rst:242
msgid "**login:forward, user**"
msgstr "**login:forward, user**"

#: ../../guides/hooks-list.rst:242
msgid "Filters the URL to which the user will be forwarded after login."
msgstr ""
"Filtre l’URL vers laquelle l’utilisateur sera dirigé après la connexion."

#: ../../guides/hooks-list.rst:245
msgid "**find_active_users, system**"
msgstr "**find_active_users, system**"

#: ../../guides/hooks-list.rst:245
msgid "Return the number of active users."
msgstr "Renvoyez le nombre d’utilisateurs actifs."

#: ../../guides/hooks-list.rst:248
msgid "**status, user**"
msgstr "**status, user**"

#: ../../guides/hooks-list.rst:248
msgid "Triggered by The Wire when adding a post."
msgstr "Déclenché par The Wire (le Fil) lors de l’ajout d’une publication."

#: ../../guides/hooks-list.rst:253
msgid "**username:character_blacklist, user**"
msgstr "**username:character_blacklist, user**"

#: ../../guides/hooks-list.rst:251
msgid ""
"Filters the string of blacklisted characters used to validate username "
"during registration. The return value should be a string consisting of the "
"disallowed characters. The default string can be found from "
"``$params['blacklist']``."
msgstr ""
"Filtre la chaîne et supprimer les caractères interdits pour valider le nom "
"d’utilisateur lors de l’inscription. La valeur de retour doit être une "
"chaîne composée des caractères refusés. La chaîne par défaut se trouve dans "
"``$params['blacklist']``."

#: ../../guides/hooks-list.rst:256
msgid "Object hooks"
msgstr "Hooks des objets"

#: ../../guides/hooks-list.rst:260
msgid "**comments, <entity_type>**"
msgstr "**comments, <entity_type>**"

#: ../../guides/hooks-list.rst:259
msgid ""
"Triggered in ``elgg_view_comments()``. If returning content, this overrides "
"the ``page/elements/comments`` view."
msgstr ""
"Déclenché dans ``elgg_view_comments()``. Si vous renvoyez du contenu, cela "
"remplace la vue ``page/elements/comments``."

#: ../../guides/hooks-list.rst:263
msgid "**comments:count, <entity_type>**"
msgstr "**comments:count, <entity_type>**"

#: ../../guides/hooks-list.rst:263
msgid "Return the number of comments on ``$params['entity']``."
msgstr "Renvoie le nombre de commentaires sur ``$params['entity']``."

#: ../../guides/hooks-list.rst:267
msgid "**likes:count, <entity_type>**"
msgstr "**likes:count, <entity_type>**"

#: ../../guides/hooks-list.rst:266
msgid "Return the number of likes for ``$params['entity']``."
msgstr "Renvoie le nombre de mentions J’aime pour ``$params['entity']``."

#: ../../guides/hooks-list.rst:272
msgid "Access hooks"
msgstr "Hooks d'accès"

#: ../../guides/hooks-list.rst:279
msgid "**access_collection:url, access_collection**"
msgstr "**access_collection:url, access_collection**"

#: ../../guides/hooks-list.rst:275
msgid "Can be used to filter the URL of the access collection."
msgstr "Peut être utilisé pour filtrer l’URL de la collection d’accès."

#: ../../guides/hooks-list.rst:279 ../../guides/hooks-list.rst:286
msgid "``access_collection`` - `ElggAccessCollection`"
msgstr "``access_collection`` - `ElggAccessCollection`"

#: ../../guides/hooks-list.rst:286
msgid "**access_collection:name, access_collection**"
msgstr "**access_collection:name, access_collection**"

#: ../../guides/hooks-list.rst:282
msgid ""
"Can be used to filter the display name (readable access level) of the access"
" collection."
msgstr ""
"Peut être utilisé pour filtrer le nom d'affichage (niveau d’accès lisible) "
"de la collection d’accès."

#: ../../guides/hooks-list.rst:291
msgid "**access:collections:read, user**"
msgstr "**access:collections:read, user**"

#: ../../guides/hooks-list.rst:289
msgid ""
"Filters an array of access IDs that the user ``$params['user_id']`` can see."
msgstr ""
"Filtre un tableau d’ID d’accès que l’utilisateur ``$params['user_id']`` peut"
" voir."

#: ../../guides/hooks-list.rst:291 ../../guides/hooks-list.rst:301
msgid ""
"The handler needs to either not use parts of the API that use the access "
"system (triggering the hook again) or to ignore the second call. Otherwise, "
"an infinite loop will be created."
msgstr ""
"Le gestionnaire doit soit ne pas utiliser les parties de l’API qui utilisent"
" le système d’accès (ce qui déclencherait à nouveau le hook), soit ignorer "
"le deuxième appel. Sinon, une boucle infinie sera créée."

#: ../../guides/hooks-list.rst:294
msgid ""
"Filters an array of access IDs that the user ``$params['user_id']`` can "
"write to. In get_write_access_array(), this hook filters the return value, "
"so it can be used to alter the available options in the input/access view. "
"For core plugins, the value \"input_params\" has the keys \"entity\" "
"(ElggEntity|false), \"entity_type\" (string), \"entity_subtype\" (string), "
"\"container_guid\" (int) are provided. An empty entity value generally means"
" the form is to create a new object."
msgstr ""
"Filtre un tableau d’ID d’accès sur lequel l’utilisateur "
"``$params['user_id']`` peut écrire. Dans get_write_access_array(), ce hook "
"filtre la valeur de retour, de sorte qu’il peut être utilisé pour modifier "
"les options disponibles dans la vue input/access. Pour les plugins du noyau,"
" \"input_params\" est passé avec les clefs \"entity\" (ElggEntity|false), "
"\"entity_type\" (chaîne), \"entity_subtype\" (chaîne), et \"container_guid\""
" (int). Une valeur d’entité vide signifie généralement que le formulaire "
"consiste à créer un nouvel objet."

#: ../../guides/hooks-list.rst:304
msgid "**access:collections:write:subtypes, user**"
msgstr "**access:collections:write:subtypes, user**"

#: ../../guides/hooks-list.rst:304
msgid ""
"Returns an array of access collection subtypes to be used when retrieving "
"access collections owned by a user as part of the "
"``get_write_access_array()`` function."
msgstr ""
"Renvoie un tableau de sous-types de collection d’accès à utiliser lors de la"
" récupération des collections d’accès appartenant à un utilisateur, dans le "
"cadre de la fonction ``get_write_access_array()``."

#: ../../guides/hooks-list.rst:307
msgid "**access:collections:addcollection, collection**"
msgstr "**access:collections:addcollection, collection**"

#: ../../guides/hooks-list.rst:307
msgid ""
"Triggered after an access collection ``$params['collection_id']`` is "
"created."
msgstr ""
"Déclenché après la création d’une collection d’accès "
"``$params['collection_id']``."

#: ../../guides/hooks-list.rst:311
msgid "**access:collections:deletecollection, collection**"
msgstr "**access:collections:deletecollection, collection**"

#: ../../guides/hooks-list.rst:310
msgid ""
"Triggered before an access collection ``$params['collection_id']`` is "
"deleted. Return false to prevent deletion."
msgstr ""
"Déclenché avant qu’une collection d’accès ``$params['collection_id']`` soit "
"supprimée. Renvoyez false pour éviter la suppression."

#: ../../guides/hooks-list.rst:315
msgid "**access:collections:add_user, collection**"
msgstr "**access:collections:add_user, collection**"

#: ../../guides/hooks-list.rst:314
msgid ""
"Triggered before adding user ``$params['user_id']`` to collection "
"``$params['collection_id']``. Return false to prevent adding."
msgstr ""
"Déclenché avant d’ajouter l’utilisateur ``$params['user_id']`` à la "
"collection ``$params['collection_id']``. Retournez false pour éviter "
"l’ajout."

#: ../../guides/hooks-list.rst:319
msgid "**access:collections:remove_user, collection**"
msgstr "**access:collections:remove_user, collection**"

#: ../../guides/hooks-list.rst:318
msgid ""
"Triggered before removing user ``$params['user_id']`` to collection "
"``$params['collection_id']``. Return false to prevent removal."
msgstr ""
"Déclenché avant de supprimer l’utilisateur ``$params[’user_id']`` de la "
"collection ``$params['collection_id']``. Renvoyez false pour éviter le "
"retrait."

#: ../../guides/hooks-list.rst:338
msgid "**get_sql, access**"
msgstr "**get_sql, access**"

#: ../../guides/hooks-list.rst:322
msgid ""
"Filters SQL clauses restricting/allowing access to entities and annotations."
msgstr ""
"Filtre les clauses SQL limitant/permettant l’accès aux entités et aux "
"annotations."

#: ../../guides/hooks-list.rst:324
msgid ""
"**The hook is triggered regardless if the access is ignored**. The handlers "
"may need to check if access is ignored and return early, if appended clauses"
" should only apply to access controlled contexts."
msgstr ""
"**Le hook est déclenché indépendamment du fait que les accès soient "
"ignorés**. Les gestionnaires peuvent avoir besoin de vérifier si l’accès est"
" ignoré et de renvoyer un retour plus tôt, si les clauses ajoutées ne "
"doivent s’appliquer qu’aux contextes d'accès contrôlés."

#: ../../guides/hooks-list.rst:326
msgid "``$return`` value is a nested array of ``ands`` and ``ors``."
msgstr ""
"La valeur ``$return`` est un tableau imbriqué de ``ands`` et de ``ors``."

#: ../../guides/hooks-list.rst:328
msgid "``$params`` includes:"
msgstr "``$params`` comprend :"

#: ../../guides/hooks-list.rst:330
msgid "``table_alias`` - alias of the main table used in select clause"
msgstr ""
"``table_alias`` - alias de la table principale utilisée dans la clause de "
"sélection"

#: ../../guides/hooks-list.rst:331
msgid "``ignore_access`` - whether ignored access is enabled"
msgstr "``ignore_access`` - selon que les accès sont ignorés ou activés"

#: ../../guides/hooks-list.rst:332
msgid "``use_enabled_clause`` - whether disabled entities are shown/hidden"
msgstr ""
"``use_enabled_clause`` - selon que les entités désactivées sont "
"affichées/cachées"

#: ../../guides/hooks-list.rst:333
msgid ""
"``access_column`` - column in the main table containing the access "
"collection ID value"
msgstr ""
"``access_column`` - colonne de la table principale contenant l'ID de la "
"collection d’accès"

#: ../../guides/hooks-list.rst:334
msgid ""
"``owner_guid_column`` - column in the main table referencing the GUID of the"
" owner"
msgstr ""
"``owner_guid_column`` - colonne de la table principale faisant référence au "
"GUID du propriétaire"

#: ../../guides/hooks-list.rst:335
msgid ""
"``guid_column`` - column in the main table referencing the GUID of the "
"entity"
msgstr ""
"``guid_column`` - colonne de la table principale faisant référence au GUID "
"de l’entité"

#: ../../guides/hooks-list.rst:336
msgid ""
"``enabled_column`` - column in the main table referencing the enabled status"
" of the entity"
msgstr ""
"``enabled_column`` - colonne de la table principale faisant référence à "
"l’état activé de l’entité"

#: ../../guides/hooks-list.rst:337
msgid "``query_builder`` - an instance of the ``QueryBuilder``"
msgstr "``query_builder`` - une instance du ``QueryBuilder``"

#: ../../guides/hooks-list.rst:341
msgid "Action hooks"
msgstr "Hooks d'action"

#: ../../guides/hooks-list.rst:351
msgid "**action:validate, <action>**"
msgstr "**action:validate, <action>**"

#: ../../guides/hooks-list.rst:344
msgid ""
"Trigger before action script/controller is executed. This hook should be "
"used to validate/alter user input, before proceeding with the action. The "
"hook handler can throw an instance of "
"``\\Elgg\\Exceptions\\Http\\ValidationException`` or return ``false`` to "
"terminate further execution."
msgstr ""
"Déclenché avant l’exécution du script/contrôleur d’action. Ce hook doit être"
" utilisé pour valider/modifier les entrées utilisateur, avant de procéder à "
"l’action. Le gestionnaire de hook peut lancer une instance de "
"``\\Elgg\\ValidationException`` ou renvoyer ``false`` pour bloquer la "
"poursuite de l’exécution."

#: ../../guides/hooks-list.rst:349 ../../guides/hooks-list.rst:477
#: ../../guides/hooks-list.rst:493 ../../guides/hooks-list.rst:507
#: ../../guides/hooks-list.rst:527 ../../guides/hooks-list.rst:582
#: ../../guides/hooks-list.rst:590 ../../guides/hooks-list.rst:752
#: ../../guides/hooks-list.rst:760 ../../guides/hooks-list.rst:781
msgid "``$params`` array includes:"
msgstr "le tableau ``$params`` comprend :"

#: ../../guides/hooks-list.rst:351
msgid "``request`` - instance of ``\\Elgg\\Request``"
msgstr "``request`` - instance de ``\\Elgg\\Request``"

#: ../../guides/hooks-list.rst:354
msgid "**action_gatekeeper:permissions:check, all**"
msgstr "**action_gatekeeper:permissions:check, all**"

#: ../../guides/hooks-list.rst:354
msgid ""
"Triggered after a CSRF token is validated. Return false to prevent "
"validation."
msgstr ""
"Déclenché après la validation d’un jeton CSRF. Renvoyez false pour empêcher "
"la validation."

#: ../../guides/hooks-list.rst:358
msgid "**action_gatekeeper:upload_exceeded_msg, all**"
msgstr "**action_gatekeeper:upload_exceeded_msg, all**"

#: ../../guides/hooks-list.rst:357
msgid ""
"Triggered when a POST exceeds the max size allowed by the server. Return an "
"error message to display."
msgstr ""
"Déclenché lorsqu’un POST dépasse la taille maximale autorisée par le "
"serveur. Renvoyez un message d’erreur à afficher."

#: ../../guides/hooks-list.rst:362
msgid "**forward, <reason>**"
msgstr "**forward, <reason>**"

#: ../../guides/hooks-list.rst:361
msgid ""
"Filter the URL to forward a user to when ``forward($url, $reason)`` is "
"called. In certain cases, the ``params`` array will contain an instance of "
"``\\Elgg\\Exceptions\\HttpException`` that triggered the error."
msgstr ""
"Filtre l’URL pour rediriger un utilisateur lorsque ``forward($url, $reason``"
" est appelé. Dans certains cas, le tableau ``params`` va contenir une "
"instance de ``\\Elgg\\Exceptions\\HttpException`` qui a déclenché l’erreur."

#: ../../guides/hooks-list.rst:368
msgid "**response, action:<action>**"
msgstr "**response, action:<action>**"

#: ../../guides/hooks-list.rst:365
msgid ""
"Filter an instance of ``\\Elgg\\Http\\ResponseBuilder`` before it is sent to"
" the client. This hook can be used to modify response content, status code, "
"forward URL, or set additional response headers. Note that the ``<action>`` "
"value is parsed from the request URL, therefore you may not be able to "
"filter the responses of `action()` calls if they are nested within the "
"another action script file."
msgstr ""
"Filtre une instance de ``\\Elgg\\Http\\ResponseBuilder`` avant qu’elle soit "
"envoyée au client. Ce hook peut être utilisé pour modifier le contenu de "
"réponse, le code d’état, l’URL de redirection, ou définir des entêtes de "
"réponse supplémentaires. Notez que la valeur ``<action>`` est analysée à "
"partir de l’URL de requête, par conséquent vous pouvez ne pas être en mesure"
" de filtrer les réponses des appels à `action()` si elles sont imbriquées "
"dans un autre fichier de script d’action."

#: ../../guides/hooks-list.rst:387
msgid "**ajax_response, \\***"
msgstr "**ajax_response, \\***"

#: ../../guides/hooks-list.rst:376
msgid ""
"When the ``elgg/Ajax`` AMD module is used, this hook gives access to the "
"response object (``\\Elgg\\Services\\AjaxResponse``) so it can be "
"altered/extended. The hook type depends on the method call:"
msgstr ""
"Quand le module AMD ``elgg/Ajax`` est utilisé, ce hook donne accès à l’objet"
" de réponse (``\\Elgg\\Services\\AjaxResponse``) afin qu’il puisse être "
"modifié/étendu. Le type de hook dépend de l’appel de méthode :"

#: ../../guides/hooks-list.rst:381
msgid "elgg/Ajax method"
msgstr "méthode elgg/Ajax"

#: ../../guides/hooks-list.rst:381
msgid "plugin hook type"
msgstr "type de hook de plugin"

#: ../../guides/hooks-list.rst:383
msgid "action()"
msgstr "action()"

#: ../../guides/hooks-list.rst:383
msgid "action:<action_name>"
msgstr "action:<action_name>"

#: ../../guides/hooks-list.rst:384
msgid "path()"
msgstr "path()"

#: ../../guides/hooks-list.rst:384
msgid "path:<url_path>"
msgstr "path:<url_path>"

#: ../../guides/hooks-list.rst:385
msgid "view()"
msgstr "view()"

#: ../../guides/hooks-list.rst:385
msgid "view:<view_name>"
msgstr "view:<view_name>"

#: ../../guides/hooks-list.rst:386
msgid "form()"
msgstr "form()"

#: ../../guides/hooks-list.rst:386
msgid "form:<action_name>"
msgstr "form:<action_name>"

#: ../../guides/hooks-list.rst:392
msgid "Permission hooks"
msgstr "Hooks des Permissions"

#: ../../guides/hooks-list.rst:408
msgid "**container_logic_check, <entity_type>**"
msgstr "**container_logic_check, <entity_type>**"

#: ../../guides/hooks-list.rst:395
msgid ""
"Triggered by ``ElggEntity:canWriteToContainer()`` before triggering "
"``permissions_check`` and ``container_permissions_check`` hooks. Unlike "
"permissions hooks, logic check can be used to prevent certain entity types "
"from being contained by other entity types, e.g. discussion replies should "
"only be contained by discussions. This hook can also be used to apply status"
" logic, e.g. do disallow new replies for closed discussions."
msgstr ""
"Déclenché par ``ElggEntity:canWriteToContainer()`` avant de déclencher les "
"hooks ``permissions_check`` et ``container_permissions_check``. "
"Contrairement aux hooks d’autorisations, la vérification logique peut être "
"utilisée pour empêcher que certains types d’entités ne soient contenus par "
"d’autres types d’entités, par exemple les réponses de discussion ne doivent "
"être contenues que par les discussions. Ce hook peut également être utilisé "
"pour appliquer une logique de statut, par exemple pour refuser de nouvelles "
"réponses pour les discussions fermées."

#: ../../guides/hooks-list.rst:400
msgid ""
"The handler should return ``false`` to prevent an entity from containing "
"another entity. The default value passed to the hook is ``null``, so the "
"handler can check if another hook has modified the value by checking if "
"return value is set. Should this hook return ``false``, "
"``container_permissions_check`` and ``permissions_check`` hooks will not be "
"triggered."
msgstr ""
"Le gestionnaire devrait renvoyer ``false`` pour empêcher une entité de "
"contenir une autre entité. La valeur par défaut transmise au hook est "
"``null``, de sorte que le gestionnaire peut vérifier si un autre hook a "
"modifié la valeur en vérifiant si la valeur de retour est définie. Si ce "
"crochet renvoie ``false``, les hooks ``container_permissions_check`` et "
"``permissions_check`` ne seront pas déclenchés."

#: ../../guides/hooks-list.rst:406 ../../guides/hooks-list.rst:420
msgid "``container`` - An entity that will be used as a container"
msgstr "``container`` - Une entité qui sera utilisée comme conteneur"

#: ../../guides/hooks-list.rst:407 ../../guides/hooks-list.rst:421
msgid "``user`` - User who will own the entity to be written to container"
msgstr ""
"``user`` - L'utilisateur qui sera propriétaire de l’entité à écrire sur le "
"conteneur"

#: ../../guides/hooks-list.rst:408 ../../guides/hooks-list.rst:422
msgid ""
"``subtype`` - Subtype of the entity to be written to container (entity type "
"is assumed from hook type)"
msgstr ""
"``subtype`` - Sous-type de l’entité à écrire dans le conteneur (le type "
"d’entité est identifié à partir du type de hook)"

#: ../../guides/hooks-list.rst:422
msgid "**container_permissions_check, <entity_type>**"
msgstr "**container_permissions_check, <entity_type>**"

#: ../../guides/hooks-list.rst:411
msgid ""
"Return boolean for if the user ``$params['user']`` can use the entity "
"``$params['container']`` as a container for an entity of ``<entity_type>`` "
"and subtype ``$params['subtype']``."
msgstr ""
"Renvoyez un booléen pour indiquer si l’utilisateur ``$params['user']`` peut "
"utiliser l’entité ``$params['container']`` comme conteneur pour une entité "
"de ``<entity_type>`` et un sous-type ``$params['subtype']``."

#: ../../guides/hooks-list.rst:414
msgid ""
"In the rare case where an entity is created with neither the "
"``container_guid`` nor the ``owner_guid`` matching the logged in user, this "
"hook is called *twice*, and in the first call ``$params['container']`` will "
"be the *owner*, not the entity's real container."
msgstr ""
"Dans les rares cas où une entité est créée avec ni le ``container_guid`` ni "
"le ``owner_guid`` correspondant à l’utilisateur connecté, ce hook est appelé"
" *deux fois*, et dans le premier appel ``$params['container']`` aura pour "
"valeur le *propriétaire*, et non le véritable conteneur de l’entité."

#: ../../guides/hooks-list.rst:425
msgid "**permissions_check, <entity_type>**"
msgstr "**permissions_check, <entity_type>**"

#: ../../guides/hooks-list.rst:425
msgid ""
"Return boolean for if the user ``$params['user']`` can edit the entity "
"``$params['entity']``."
msgstr ""
"Renvoyez un booléen pour indiquer si l’utilisateur ``$params['user']`` peut "
"modifier l’entité ``$params['entity']``."

#: ../../guides/hooks-list.rst:428
msgid "**permissions_check:delete, <entity_type>**"
msgstr "**permissions_check:delete, <entity_type>**"

#: ../../guides/hooks-list.rst:428
msgid ""
"Return boolean for if the user ``$params['user']`` can delete the entity "
"``$params['entity']``. Defaults to ``$entity->canEdit()``."
msgstr ""
"Renvoyez un booléen pour indiquer si l’utilisateur ``$params['user']`` peut "
"supprimer l’entité ``$params['entity']``. Vaut par défaut "
"``$entity->canEdit()``."

#: ../../guides/hooks-list.rst:432
msgid "**permissions_check:delete, river**"
msgstr "**permissions_check:delete, river**"

#: ../../guides/hooks-list.rst:431
msgid ""
"Return boolean for if the user ``$params['user']`` can delete the river item"
" ``$params['item']``. Defaults to ``true`` for admins and ``false`` for "
"other users."
msgstr ""
"Renvoyez un booléen pour inqiquer si l’utilisateur ``$params['user']`` peut "
"supprimer l’élément de la rivière ``$params['item']``. Par défaut à ``true``"
" pour les administrateurs et ``false`` pour les autres utilisateurs."

#: ../../guides/hooks-list.rst:440
msgid "**permissions_check:download, file**"
msgstr "**permissions_check:download, file**"

#: ../../guides/hooks-list.rst:435
msgid ""
"Return boolean for if the user ``$params['user']`` can download the file in "
"``$params['entity']``."
msgstr ""
"Renvoyez un booléen pour indiquer si l’utilisateur ``$params['user']`` peut "
"télécharger le fichier dans ``$params['entity']``."

#: ../../guides/hooks-list.rst:439
msgid "``entity`` - Instance of ``ElggFile``"
msgstr "``entity`` - Instance de ``ElggFile``"

#: ../../guides/hooks-list.rst:440
msgid "``user`` - User who will download the file"
msgstr "``user`` - Utilisateur qui va télécharger le fichier"

#: ../../guides/hooks-list.rst:444
msgid "**permissions_check, widget_layout**"
msgstr "**permissions_check, widget_layout**"

#: ../../guides/hooks-list.rst:443
msgid ""
"Return boolean for if ``$params['user']`` can edit the widgets in the "
"context passed as ``$params['context']`` and with a page owner of "
"``$params['page_owner']``."
msgstr ""
"Renoyez un booléen pour indiquer si ``$params['user']`` peut modifier les "
"widgets dans le contexte passé par ``$params['context']`` et avec un "
"propriétaire de page ``$params['page_owner']``."

#: ../../guides/hooks-list.rst:447
msgid "**permissions_check:comment, <entity_type>**"
msgstr "**permissions_check:comment, <entity_type>**"

#: ../../guides/hooks-list.rst:447
msgid ""
"Return boolean for if the user ``$params['user']`` can comment on the entity"
" ``$params['entity']``."
msgstr ""
"Renvoyer un booléen pour indiquer si l’utilisateur ``$params['user']`` peut "
"commenter l’entité ``$params['entity']``."

#: ../../guides/hooks-list.rst:453
msgid "**permissions_check:annotate:<annotation_name>, <entity_type>**"
msgstr "**permissions_check:annotate:<annotation_name>, <entity_type>**"

#: ../../guides/hooks-list.rst:450
msgid ""
"Return boolean for if the user ``$params['user']`` can create an annotation "
"``<annotation_name>`` on the entity ``$params['entity']``. If logged in, the"
" default is true."
msgstr ""
"Renvoyez un boolén pour indiquer si l’utilisateur ``$params['user']`` peut "
"créer une annotation ``<annotation_name>`` sur l’entité "
"``$params['entity']``. Si connecté, la valeur par défaut est true."

#: ../../guides/hooks-list.rst:453
msgid ""
"This is called before the more general ``permissions_check:annotate`` hook, "
"and its return value is that hook's initial value."
msgstr ""
"Ceci est appelé avant le hook plus général ``permissions_check:annotated``, "
"et sa valeur de retour est la valeur initiale de ce hook."

#: ../../guides/hooks-list.rst:457
msgid "**permissions_check:annotate, <entity_type>**"
msgstr "**permissions_check:annotate, <entity_type>**"

#: ../../guides/hooks-list.rst:456
msgid ""
"Return boolean for if the user ``$params['user']`` can create an annotation "
"``$params['annotation_name']`` on the entity ``$params['entity']``. if "
"logged in, the default is true."
msgstr ""
"Renvoyez un boolén pour indiquer si l’utilisateur ``$params['user']`` peut "
"créer une annotation ``$params['annotation_name']`` sur l’entité "
"``$params['entity']``. Si connecté, la valeur par défaut est true."

#: ../../guides/hooks-list.rst:461
msgid "**permissions_check:annotation**"
msgstr "**permissions_check:annotation**"

#: ../../guides/hooks-list.rst:460
msgid ""
"Return boolean for if the user in ``$params['user']`` can edit the "
"annotation ``$params['annotation']`` on the entity ``$params['entity']``. "
"The user can be null."
msgstr ""
"Renvoyez un booléen pour indiquer si l’utilisateur dans ``$params['user']`` "
"peut modifier l’annotation ``$params['annotation']`` sur l’entité "
"``$params['entity']``. L’utilisateur peut être null."

#: ../../guides/hooks-list.rst:465
msgid "**fail, auth**"
msgstr "**fail, auth**"

#: ../../guides/hooks-list.rst:464
msgid ""
"Return the failure message if authentication failed. An array of previous "
"PAM failure methods is passed as ``$params``."
msgstr ""
"Renvoyez le message d’échec en cas d’échec de l’authentification. Un tableau"
" des méthodes d’échec PAM précédentes est passé dans ``$params``."

#: ../../guides/hooks-list.rst:468
msgid "**api_key, use**"
msgstr "**api_key, use**"

#: ../../guides/hooks-list.rst:468
msgid ""
"Triggered by ``elgg_ws_pam_auth_api_key()``. Returning false prevents the "
"key from being authenticated."
msgstr ""
"Déclenché par ``elgg_ws_pam_auth_api_key()``. Le renvoi de false empêche "
"l'authentification de la clef."

#: ../../guides/hooks-list.rst:481
msgid "**gatekeeper, <entity_type>:<entity_subtype>**"
msgstr "**gatekeeper, <entity_type>:<entity_subtype>**"

#: ../../guides/hooks-list.rst:471
msgid ""
"Filters the result of ``elgg_entity_gatekeeper()`` to prevent or allow "
"access to an entity that user would otherwise have or not have access to. A "
"handler can return ``false`` or an instance of "
"``\\Elgg\\Exceptions\\HttpException`` to prevent access to an entity. A "
"handler can return ``true`` to override the result of the gatekeeper. "
"**Important** that the entity received by this hook is fetched with ignored "
"access and including disabled entities, so you have to be careful to not "
"bypass the access system."
msgstr ""
"Filtre le résultat de ``elgg_entity_gatekeeper()`` pour empêcher ou "
"permettre l’accès à une entité à laquelle l’utilisateur aurait ou n’aurait "
"pas accès. Un gestionnaire peut renvoyer ``false`` ou une instance de "
"``\\Elgg\\Exceptions\\HttpException`` pour bloquer l’accès à une entité. Un "
"gestionnaire peut retourner ``true`` pour remplacer le résultat du gardien "
"(gatekeeper). **Important** l’entité reçue par ce hook est récupérée sans "
"vérifier les accès, y compris les entités désactivées, de sorte que vous "
"devez faire attention à ne pas contourner le système d’accès."

#: ../../guides/hooks-list.rst:479
msgid "``entity`` - Entity that is being accessed"
msgstr "``entity`` - Entité à laquelle on accède"

#: ../../guides/hooks-list.rst:480
msgid "``user`` - User accessing the entity (``null`` implies logged in user)"
msgstr ""
"``user`` - L’utilisateur qui accède à l’entité (``null`` implique "
"l’utilisateur connecté)"

#: ../../guides/hooks-list.rst:484 ../../guides/notifications.rst:2
msgid "Notifications"
msgstr "Notifications"

#: ../../guides/hooks-list.rst:486
msgid ""
"These hooks are listed chronologically in the lifetime of the notification "
"event. Note that not all hooks apply to instant notifications."
msgstr ""
"Ces hooks sont listés dans l'ordre chronologique de la vie de l’événement de"
" notification. Notez que tous les hooks ne s’appliquent pas aux "
"notifications instantanées."

#: ../../guides/hooks-list.rst:496
msgid "**enqueue, notification**"
msgstr "**enqueue, notification**"

#: ../../guides/hooks-list.rst:490
msgid ""
"Can be used to prevent a notification event from sending **subscription** "
"notifications. Hook handler must return ``false`` to prevent a subscription "
"notification event from being enqueued."
msgstr ""
"Peut être utilisé pour empêcher un événement de notification d’envoyer des "
"notifications **subscription**. Le gestionnaire de hook doit renvoyer "
"``false`` pour empêcher le déclenchement d'un événement de notification "
"d’abonnement."

#: ../../guides/hooks-list.rst:495
msgid "``object`` - object of the notification event"
msgstr "``object`` - objet de l’événement de notification"

#: ../../guides/hooks-list.rst:496
msgid ""
"``action`` - action that triggered the notification event. E.g. corresponds "
"to ``publish`` when ``elgg_trigger_event('publish', 'object', $object)`` is "
"called"
msgstr ""
"``action`` - action qui a déclenché l’événement de notification. Par "
"exemple, correspond à ``publish`` quand ``elgg_trigger_event('publish', "
"'object', $object)`` est appelé"

#: ../../guides/hooks-list.rst:513
msgid "**get, subscriptions**"
msgstr "**get, subscriptions**"

#: ../../guides/hooks-list.rst:499
msgid ""
"Filters subscribers of the notification event. Applies to **subscriptions** "
"and **instant** notifications. In case of a subscription event, by default, "
"the subscribers list consists of the users subscribed to the container "
"entity of the event object. In case of an instant notification event, the "
"subscribers list consists of the users passed as recipients to "
"``notify_user()``"
msgstr ""
"Filtre les abonnés de l’événement de notification. S’applique aux "
"notifications **subscriptions** et **instant**. Lors d'un événement "
"d’abonnement, par défaut, la liste des abonnés se compose des utilisateurs "
"abonnés à l’entité conteneur de l’objet de l'événement. En cas d’événement "
"de notification instantanée, la liste des abonnés se compose des "
"utilisateurs passés en tant que destinataires à ``notify_user()``"

#: ../../guides/hooks-list.rst:504
msgid ""
"**IMPORTANT** Always validate the notification event, object and/or action "
"types before adding any new recipients to ensure that you do not "
"accidentally dispatch notifications to unintended recipients. Consider a "
"situation, where a mentions plugin sends out an instant notification to a "
"mentioned user - any hook acting on a subject or an object without "
"validating an event or action type (e.g. including an owner of the original "
"wire thread) might end up sending notifications to wrong users."
msgstr ""
"**IMPORTANT** Validez toujours les types d’événements, d’objets et/ou "
"d’action de notification avant d’ajouter de nouveaux destinataires pour vous"
" assurer que vous n’envoyez pas accidentellement de notifications à des "
"destinataires non souhaités. Considérez une situation où un plugin de "
"mentions envoie une notification instantanée à un utilisateur mentionné - "
"tout hook agissant sur un sujet ou un objet sans valider un événement ou un "
"type d’action (par exemple, y compris un propriétaire du fil d’origine) peut"
" finir par envoyer des notifications aux mauvais utilisateurs."

#: ../../guides/hooks-list.rst:509 ../../guides/hooks-list.rst:529
#: ../../guides/hooks-list.rst:540 ../../guides/hooks-list.rst:557
#: ../../guides/hooks-list.rst:592
msgid ""
"``event`` - ``\\Elgg\\Notifications\\NotificationEvent`` instance that "
"describes the notification event"
msgstr ""
"``event`` - instance de ``\\Elgg\\Notifications\\NotificationEvent`` qui "
"décrit l’événement de notification"

#: ../../guides/hooks-list.rst:510 ../../guides/hooks-list.rst:547
#: ../../guides/hooks-list.rst:564
msgid "``origin`` - ``subscriptions_service`` or ``instant_notifications``"
msgstr "``origin`` - ``subscriptions_service`` ou ``instant_notifications``"

#: ../../guides/hooks-list.rst:511
msgid ""
"``methods_override`` - delivery method preference for instant notifications"
msgstr ""
"``methods_override`` - préférence de méthode de remise pour les "
"notifications instantanées"

#: ../../guides/hooks-list.rst:513
msgid "Handlers must return an array in the form:"
msgstr "Les gestionnaires doivent renvoyer un tableau de la forme :"

#: ../../guides/hooks-list.rst:530
msgid "**send:before, notifications**"
msgstr "**send:before, notifications**"

#: ../../guides/hooks-list.rst:524
msgid ""
"Triggered before the notification event queue is processed. Can be used to "
"terminate the notification event. Applies to **subscriptions** and "
"**instant** notifications."
msgstr ""
"Déclenché avant le traitement de la file d’attente des événements de "
"notification. Peut être utilisé pour mettre fin à l’événement de "
"notification. S’applique aux notifications **subscriptions** et **instant**."

#: ../../guides/hooks-list.rst:530 ../../guides/hooks-list.rst:593
msgid ""
"``subscriptions`` - a list of subscriptions. See ``'get', 'subscriptions'`` "
"hook for details"
msgstr ""
"``subscriptions`` - une liste d’abonnements. Voir le hook ``'get', "
"'subscriptions'`` pour plus d'informations"

#: ../../guides/hooks-list.rst:547
msgid "**prepare, notification**"
msgstr "**prepare, notification**"

#: ../../guides/hooks-list.rst:533
msgid ""
"A high level hook that can be used to alter an instance of "
"``\\Elgg\\Notifications\\Notification`` before it is sent to the user. "
"Applies to **subscriptions** and **instant** notifications. This hook is "
"triggered before a more granular ``'prepare', "
"'notification:<action>:<entity_type>:<entity_subtype>'`` and after "
"``'send:before', 'notifications``. Hook handler should return an altered "
"notification object."
msgstr ""
"Un hook de haut niveau qui peut être utilisé pour modifier une instance de "
"``\\Elgg\\Notifications\\Notification`` avant qu'elle soit envoyée à "
"l’utilisateur. S’applique aux notifications **subscriptions** et "
"**instant**. Ce hook est déclenché avant un ``'prepare', "
"'notification':<action>:<entity_type>:<entity_subtype>'`` plus granulaire et"
" après ``'send:before', 'notifications``. Le gestionnaire de hook doit "
"renvoyer un objet de notification modifié."

#: ../../guides/hooks-list.rst:538
msgid "``$params`` may vary based on the notification type and may include:"
msgstr ""
"``$params`` peut varier en fonction du type de notification et peut "
"comprendre :"

#: ../../guides/hooks-list.rst:541 ../../guides/hooks-list.rst:558
msgid ""
"``object`` - object of the notification ``event``. Can be ``null`` for "
"instant notifications"
msgstr ""
"``object`` - objet de la notification ``event``. Peut être ``null`` pour les"
" notifications instantanées"

#: ../../guides/hooks-list.rst:542 ../../guides/hooks-list.rst:559
msgid ""
"``action`` - action that triggered the notification ``event``. May default "
"to ``notify_user`` for instant notifications"
msgstr ""
"``action`` - action qui a déclenché la notification ``event``. Peut avoir "
"pour valeur par défaut ``notify_user`` pour les notifications instantanées"

#: ../../guides/hooks-list.rst:543 ../../guides/hooks-list.rst:560
msgid "``method`` - delivery method (e.g. ``email``, ``site``)"
msgstr "``method`` - méthode d'envoi (par ex. ``email``, ``site``)"

#: ../../guides/hooks-list.rst:544 ../../guides/hooks-list.rst:561
msgid "``sender`` - sender"
msgstr "``sender`` - expéditeur"

#: ../../guides/hooks-list.rst:545 ../../guides/hooks-list.rst:562
msgid "``recipient`` - recipient"
msgstr "``recipient`` - destinataire"

#: ../../guides/hooks-list.rst:546 ../../guides/hooks-list.rst:563
msgid "``language`` - language of the notification (recipient's language)"
msgstr "``language`` - langue de la notification (langue du destinataire)"

#: ../../guides/hooks-list.rst:564
msgid "**prepare, notification:<action>:<entity_type>:<entity_type>**"
msgstr "**prepare, notification:<action>:<entity_type>:<entity_type>**"

#: ../../guides/hooks-list.rst:550
msgid ""
"A granular hook that can be used to filter a notification "
"``\\Elgg\\Notifications\\Notification`` before it is sent to the user. "
"Applies to **subscriptions** and **instant** notifications. In case of "
"instant notifications that have not received an object, the hook will be "
"called as ``'prepare', 'notification:<action>'``. In case of instant "
"notifications that have not received an action name, it will default to "
"``notify_user``."
msgstr ""
"Un hook granulaire pouvant être utilisé pour filtrer une notification "
"``\\Elgg\\Notifications\\Notification`` avant qu'elle soit envoyée à "
"l’utilisateur. S’applique aux notifications **subscriptions** et "
"**instant**. En cas de notifications instantanées qui n’ont pas reçu "
"d’objet, le hook sera appelé par ``'prepare', 'notification:<action>'``. En "
"cas de notifications instantanées qui n’ont pas reçu de nom d’action, celui-"
"ci aura pour valeur par défaut ``notify_user``."

#: ../../guides/hooks-list.rst:555
msgid "``$params`` include:"
msgstr "``$params`` comprend :"

#: ../../guides/hooks-list.rst:575
msgid "**format, notification:<method>**"
msgstr "**format, notification:<method>**"

#: ../../guides/hooks-list.rst:567
msgid ""
"This hook can be used to format a notification before it is passed to the "
"``'send', 'notification:<method>'`` hook. Applies to **subscriptions** and "
"**instant** notifications. The hook handler should return an instance of "
"``\\Elgg\\Notifications\\Notification``. The hook does not receive any "
"``$params``. Some of the use cases include:"
msgstr ""
"Ce hook peut être utilisé pour formater une notification avant qu’elle soit "
"transmise au hook ``'send', 'notification:<method>'`` S’applique aux "
"notifications **subscriptions** et **instant**. Le gestionnaire de hook doit"
" renvoyer une instance de ``\\Elgg\\Notifications\\Notification``. Le hook "
"ne reçoit pas de ``$params``. Voici quelques cas d’utilisation :"

#: ../../guides/hooks-list.rst:573
msgid ""
"Strip tags from notification title and body for plaintext email "
"notifications"
msgstr ""
"Supprime les balises du titre et du corps de la notification pour les "
"notifications par e-mail en texte brut"

#: ../../guides/hooks-list.rst:574
msgid "Inline HTML styles for HTML email notifications"
msgstr "Styles HTML en ligne pour les e-mails de notification HTML"

#: ../../guides/hooks-list.rst:575
msgid "Wrap notification in a template, add signature etc."
msgstr ""
"Envelopper la notification dans un modèle, ajouter une signature, etc."

#: ../../guides/hooks-list.rst:584
msgid "**send, notification:<method>**"
msgstr "**send, notification:<method>**"

#: ../../guides/hooks-list.rst:578
msgid ""
"Delivers a notification. Applies to **subscriptions** and **instant** "
"notifications. The handler must return ``true`` or ``false`` indicating the "
"success of the delivery."
msgstr ""
"Délivre une notification. S’applique aux notifications **subscriptions** et "
"**instant**. Le gestionnaire doit retourner ``true`` ou ``false`` pour "
"indiquer le résultat de la remise."

#: ../../guides/hooks-list.rst:584
msgid ""
"``notification`` - a notification object "
"``\\Elgg\\Notifications\\Notification``"
msgstr ""
"``notification`` - un objet de notification "
"``\\Elgg\\Notifications\\Notification``"

#: ../../guides/hooks-list.rst:595
msgid "**send:after, notifications**"
msgstr "**send:after, notifications**"

#: ../../guides/hooks-list.rst:587
msgid ""
"Triggered after all notifications in the queue for the notifications event "
"have been processed. Applies to **subscriptions** and **instant** "
"notifications."
msgstr ""
"Déclenché après que toutes les notifications dans la file d’attente pour "
"l’événement notifications ont été traitées. S’applique aux notifications "
"**subscriptions** et **instant**."

#: ../../guides/hooks-list.rst:594
msgid ""
"``deliveries`` - a matrix of delivery statuses by user for each delivery "
"method"
msgstr ""
"``deliveries`` - une matrice des statuts de remise par utilisateur pour "
"chaque méthode de livraison"

#: ../../guides/hooks-list.rst:598
msgid "Emails"
msgstr "E-mails"

#: ../../guides/hooks-list.rst:606
msgid "**prepare, system:email**"
msgstr "**prepare, system:email**"

#: ../../guides/hooks-list.rst:601
msgid ""
"Triggered by ``elgg_send_email()``. Applies to all outgoing system and "
"notification emails. This hook allows you to alter an instance of "
"``\\Elgg\\Email`` before it is passed to the email transport. This hook can "
"be used to alter the sender, recipient, subject, body, and/or headers of the"
" email."
msgstr ""
"Déclenché par ``elgg_send_email()``. S’applique à tous les e-mails système "
"et de notification sortants. Ce hook vous permet de modifier une instance de"
" ``\\Elgg\\Email`` avant qu’il soit transmis à l'agent de transport par "
"e-mail. Ce hook peut être utilisé pour modifier l’expéditeur, le "
"destinataire, le sujet, le corps et/ou les entêtes de l’e-mail."

#: ../../guides/hooks-list.rst:606
msgid ""
"``$params`` are empty. The ``$return`` value is an instance of "
"``\\Elgg\\Email``."
msgstr ""
"``$params`` est vide. La valeur de retour ``$return`` est une instance de "
"``\\Elgg\\Email``."

#: ../../guides/hooks-list.rst:616
msgid "**validate, system:email**"
msgstr "**validate, system:email**"

#: ../../guides/hooks-list.rst:609
msgid ""
"Triggered by ``elgg_send_email()``. Applies to all outgoing system and "
"notification emails. This hook allows you to suppress or whitelist outgoing "
"emails, e.g. when the site is in a development mode. The handler must return"
" ``false`` to supress the email delivery."
msgstr ""
"Déclenché par ``elgg_send_email()``. S’applique à tous les e-mails système "
"et de notification sortants. Ce hook vous permet de supprimer ou de mettre "
"en liste blanche les e-mails sortants, par exemple lorsque le site est en "
"mode de développement. Le gestionnaire doit retourner ``false`` pour "
"empêcher la remise du courrier électronique."

#: ../../guides/hooks-list.rst:614 ../../guides/hooks-list.rst:624
#: ../../guides/hooks-list.rst:633
msgid "``$params`` contains:"
msgstr "``$params`` contient :"

#: ../../guides/hooks-list.rst:616 ../../guides/hooks-list.rst:626
#: ../../guides/hooks-list.rst:635
msgid "``email`` - An instance of ``\\Elgg\\Email``"
msgstr "``email`` - Une instance de ``\\Elgg\\Email``"

#: ../../guides/hooks-list.rst:626
msgid "**transport, system:email**"
msgstr "**transport, system:email**"

#: ../../guides/hooks-list.rst:619
msgid ""
"Triggered by ``elgg_send_email()``. Applies to all outgoing system and "
"notification emails. This hook allows you to implement a custom email "
"transport, e.g. delivering emails via a third-party proxy service such as "
"SendGrid or Mailgun. The handler must return ``true`` to indicate that the "
"email was transported."
msgstr ""
"Déclenché par ``elgg_send_email()``. S’applique à tous les e-mails système "
"et de notification sortants. Ce hook vous permet d’implémenter un transport "
"de messagerie personnalisé, par exemple en livrant des e-mails via un "
"service proxy tiers tel que SendGrid ou Mailgun. Le gestionnaire doit "
"retourner ``true`` pour indiquer que l’email a bien été transporté."

#: ../../guides/hooks-list.rst:635
msgid "**zend:message, system:email**"
msgstr "**zend:message, system:email**"

#: ../../guides/hooks-list.rst:629
msgid ""
"Triggered by the default email transport handler (Elgg uses ``laminas"
"/laminas-mail``). Applies to all outgoing system and notification emails "
"that were not transported using the **transport, system:email** hook. This "
"hook allows you to alter an instance of ``\\Laminas\\Mail\\Message`` before "
"it is passed to the Laminas email transport."
msgstr ""
"Déclenché par le gestionnaire de transport de courrier électronique par "
"défaut (Elgg utilise ``laminas/laminas-mail``). S'applique à tous les "
"e-mails système et de notification sortants qui n'ont pas été transportés à "
"l'aide du hook **transport, system:email**. Ce hook vous permet de modifier "
"une instance de ``\\Laminas\\Mail\\Message`` avant qu'elle ne soit transmise"
" à l'agent de transport de courrier Laminas."

#: ../../guides/hooks-list.rst:638 ../../guides/routing.rst:2
msgid "Routing"
msgstr "Routage"

#: ../../guides/hooks-list.rst:643
msgid "**route:config, <route_name>**"
msgstr "**route:config, <route_name>**"

#: ../../guides/hooks-list.rst:641
msgid ""
"Allows altering the route configuration before it is registered. This hook "
"can be used to alter the path, default values, requirements, as well as to "
"set/remove middleware. Please note that the handler for this hook should be "
"registered outside of the ``init`` event handler, as core routes are "
"registered during ``plugins_boot`` event."
msgstr ""
"Permet de modifier la configuration de la route avant qu’elle soit "
"enregistrée. Ce hook peut être utilisé pour modifier le chemin d’accès, les "
"valeurs par défaut, les exigences, ainsi que pour définir/supprimer un "
"middleware. Veuillez noter que le gestionnaire de ce hook doit être "
"enregistré à l’extérieur du gestionnaire d’événements ``init``, car les "
"routes du noyau sont enregistrées lors de l’événement ``plugins_boot``."

#: ../../guides/hooks-list.rst:647
msgid "**route:rewrite, <identifier>**"
msgstr "**route:rewrite, <identifier>**"

#: ../../guides/hooks-list.rst:646
msgid ""
"Allows altering the site-relative URL path for an incoming request. See "
":doc:`routing` for details. Please note that the handler for this hook "
"should be registered outside of the ``init`` event handler, as route "
"rewrites take place after ``plugins_boot`` event has completed."
msgstr ""
"Permet de modifier le chemin d l'URL relative au site pour une requête "
"entrante. Pour plus de détails, consultez :doc:`routing`. Veuillez noter que"
" le gestionnaire de ce hook doit être enregistré à l’extérieur du "
"gestionnaire d’événements ``init``, car les réécritures de routes ont lieu "
"après la fin de l’événement ``plugins_boot``."

#: ../../guides/hooks-list.rst:654
msgid "**response, path:<path>**"
msgstr "**response, path:<path>**"

#: ../../guides/hooks-list.rst:650
msgid ""
"Filter an instance of ``\\Elgg\\Http\\ResponseBuilder`` before it is sent to"
" the client. This hook type will only be used if the path did not start with"
" \"action/\" or \"ajax/\". This hook can be used to modify response content,"
" status code, forward URL, or set additional response headers. Note that the"
" ``<path>`` value is parsed from the request URL, therefore plugins using "
"the ``route`` hook should use the original ``<path>`` to filter the "
"response, or switch to using the ``route:rewrite`` hook."
msgstr ""
"Filtrer une instance de ``\\Elgg\\Http\\ResponseBuilder`` avant qu’elle soit"
" envoyée au client. Ce type de hook ne sera utilisé que si le chemin n’a pas"
" commencé par ``action/`` ou ``ajax/``. Ce hook peut être utilisé pour "
"modifier le contenu de réponse, le code d’état, l’URL de redirection, ou "
"définir des entêtes de réponse supplémentaires. Notez que la valeur "
"``<path>`` est analysée à partir de l’URL de la requête, aussi les plugins "
"qui utilisent le hook ``route`` doivent utiliser le ``<path>`` d’origine "
"pour filtrer la réponse, ou utiliser plutôt le hook ``route:rewrite``."

#: ../../guides/hooks-list.rst:659
msgid "**ajax_response, path:<path>**"
msgstr "**ajax_response, path:<path>**"

#: ../../guides/hooks-list.rst:657
msgid ""
"Filters ajax responses before they're sent back to the ``elgg/Ajax`` module."
" This hook type will only be used if the path did not start with \"action/\""
" or \"ajax/\"."
msgstr ""
"Filtre les réponses ajax avant qu’elles soient renvoyées au module "
"``elgg/Ajax``. Ce type de hook ne sera utilisé que si le chemin n’a pas "
"commencé par ``action/`` ou ``ajax/``."

#: ../../guides/hooks-list.rst:664
#: ../../guides/plugins/plugin-skeleton.rst:141 ../../guides/views.rst:2
msgid "Views"
msgstr "Vues"

#: ../../guides/hooks-list.rst:667
msgid "**view_vars, <view_name>**"
msgstr "**view_vars, <view_name>**"

#: ../../guides/hooks-list.rst:667
msgid "Filters the ``$vars`` array passed to the view"
msgstr "Filtre le tableau ``$vars`` passé à la vue"

#: ../../guides/hooks-list.rst:670
msgid "**view, <view_name>**"
msgstr "**view, <view_name>**"

#: ../../guides/hooks-list.rst:670
msgid "Filters the returned content of the view"
msgstr "Filtre le contenu renvoyé par la vue"

#: ../../guides/hooks-list.rst:678
msgid "**layout, page**"
msgstr "**layout, page**"

#: ../../guides/hooks-list.rst:673
msgid ""
"In ``elgg_view_layout()``, filters the layout name. ``$params`` array "
"includes:"
msgstr ""
"Dans ``elgg_view_layout()``, filtre le nom de la disposition. Le tableau "
"``$params`` comprend :"

#: ../../guides/hooks-list.rst:676
msgid "``identifier`` - ID of the page being rendered"
msgstr "``identifier`` - identifiant de la page en cours de rendu"

#: ../../guides/hooks-list.rst:677
msgid "``segments`` - URL segments of the page being rendered"
msgstr "``segments`` - Segments d’URL de la page en cours de rendu"

#: ../../guides/hooks-list.rst:678
msgid "other ``$vars`` received by ``elgg_view_layout()``"
msgstr "autres ``$vars`` reçues par ``elgg_view_layout()``"

#: ../../guides/hooks-list.rst:681
msgid "**shell, page**"
msgstr "**shell, page**"

#: ../../guides/hooks-list.rst:681
msgid "In ``elgg_view_page()``, filters the page shell name"
msgstr ""
"Dans ``elgg_view_page()``, filtre le nom de la coquille (page shell) de page"

#: ../../guides/hooks-list.rst:689
msgid "**head, page**"
msgstr "**head, page**"

#: ../../guides/hooks-list.rst:684
msgid ""
"In ``elgg_view_page()``, filters ``$vars['head']`` Return value contains an "
"array with ``title``, ``metas`` and ``links`` keys, where ``metas`` is an "
"array of elements to be formatted as ``<meta>`` head tags, and ``links`` is "
"an array of elements to be formatted as ``<link>`` head tags. Each meta and "
"link element contains a set of key/value pairs that are formatted into html "
"tag attributes, e.g."
msgstr ""
"Dans ``elgg_view_page()``, filtre la valeur de retour de ``$vars['head']``, "
"qui contient un tableau avec ``title``, ``metas`` et ``links`` où ``metas`` "
"est un tableau d’éléments à formater sous la forme de balises head "
"``<meta>``, et ``links`` est un tableau d’éléments à formater sous la forme "
"de ``<link>``. Chaque élément meta et link contient un ensemble de paires de"
" clés/valeurs qui sont formatées en attributs de balise html, par ex."

#: ../../guides/hooks-list.rst:719
msgid "**ajax_response, view:<view>**"
msgstr "**ajax_response, view:<view>**"

#: ../../guides/hooks-list.rst:719
msgid ""
"Filters ``ajax/view/`` responses before they're sent back to the "
"``elgg/Ajax`` module."
msgstr ""
"Filtre les réponses ``ajax/view/`` avant qu’elles soient renvoyées au module"
" ``elgg/Ajax``."

#: ../../guides/hooks-list.rst:722
msgid "**ajax_response, form:<action>**"
msgstr "**ajax_response, form:<action>**"

#: ../../guides/hooks-list.rst:722
msgid ""
"Filters ``ajax/form/`` responses before they're sent back to the "
"``elgg/Ajax`` module."
msgstr ""
"Filtre les réponses ``ajax/form/`` avant qu’elles soient renvoyées au module"
" ``elgg/Ajax``."

#: ../../guides/hooks-list.rst:727
msgid "**response, view:<view_name>**"
msgstr "**response, view:<view_name>**"

#: ../../guides/hooks-list.rst:725
msgid ""
"Filter an instance of ``\\Elgg\\Http\\ResponseBuilder`` before it is sent to"
" the client. Applies to request to ``/ajax/view/<view_name>``. This hook can"
" be used to modify response content, status code, forward URL, or set "
"additional response headers."
msgstr ""
"Filtre une instance de ``\\Elgg\\Http\\ResponseBuilder`` avant qu’elle soit "
"envoyée au client. S’applique à la requête vers ``/ajax/view/<view_name>``. "
"Ce hook peut être utilisé pour modifier le contenu de réponse, le code "
"d’état, l’URL de redireciton, ou définir des entêtes de réponse "
"supplémentaires."

#: ../../guides/hooks-list.rst:732
msgid "**response, form:<form_name>**"
msgstr "**response, form:<form_name>**"

#: ../../guides/hooks-list.rst:730
msgid ""
"Filter an instance of ``\\Elgg\\Http\\ResponseBuilder`` before it is sent to"
" the client. Applies to request to ``/ajax/form/<form_name>``. This hook can"
" be used to modify response content, status code, forward URL, or set "
"additional response headers."
msgstr ""
"Filtre une instance de ``\\Elgg\\Http\\ResponseBuilder`` avant qu’elle soit "
"envoyée au client. S’applique à la requête vers ``/ajax/form/<form_name>``. "
"Ce hook peut être utilisé pour modifier le contenu de la réponse, le code "
"d’état, l’URL de redirection, ou définir des entêtes de réponse "
"supplémentaires."

#: ../../guides/hooks-list.rst:738
msgid "**table_columns:call, <name>**"
msgstr "**table_columns:call, <name>**"

#: ../../guides/hooks-list.rst:735
msgid ""
"When the method ``elgg()->table_columns->$name()`` is called, this hook is "
"called to allow plugins to override or provide an implementation. Handlers "
"receive the method arguments via ``$params['arguments']`` and should return "
"an instance of ``Elgg\\Views\\TableColumn`` if they wish to specify the "
"column directly."
msgstr ""
"Quand la méthode ``elgg()->table_columns->$name()`` est appelée, ce hook est"
" appelé pour permettre aux plugins de remplacer ou de fournir une "
"implémentation. Les gestionnaires reçoivent les arguments de la méthode via "
"``$params['arguments']`` et devraient renvoyer une instance de "
"``Elgg\\Views\\TableColumn`` s’ils souhaitent spécifier la colonne "
"directement."

#: ../../guides/hooks-list.rst:743
msgid "**vars:compiler, css**"
msgstr "**vars:compiler, css**"

#: ../../guides/hooks-list.rst:741
msgid ""
"Allows plugins to alter CSS variables passed to CssCrush during compilation."
" See `CSS variables <_guides/theming#css-vars>`."
msgstr ""
"Permet aux plugins de modifier les variables CSS transmises à CssCrush "
"pendant la compilation. Voir `Variables CSS <_guides/theming#css-vars>`."

#: ../../guides/hooks-list.rst:746
msgid "Files"
msgstr "Fichiers"

#: ../../guides/hooks-list.rst:754
msgid "**download:url, file**"
msgstr "**download:url, file**"

#: ../../guides/hooks-list.rst:750
msgid "Allows plugins to filter the download URL of the file."
msgstr "Permet aux plugins de filtrer l’URL de téléchargement du fichier."

#: ../../guides/hooks-list.rst:750
msgid "By default, the download URL is generated by the file service."
msgstr ""
"Par défaut, l’URL de téléchargement est générée par le service de fichiers."

#: ../../guides/hooks-list.rst:754 ../../guides/hooks-list.rst:762
msgid "``entity`` - instance of ``ElggFile``"
msgstr "``entity`` - instance de ``ElggFile``"

#: ../../guides/hooks-list.rst:762
msgid "**inline:url, file**"
msgstr "**inline:url, file**"

#: ../../guides/hooks-list.rst:758
msgid "Allows plugins to filter the inline URL of the image file."
msgstr "Permet aux plugins de filtrer l’URL en ligne du fichier image."

#: ../../guides/hooks-list.rst:758
msgid "By default, the inline URL is generated by the file service."
msgstr ""
"Par défaut, l’URL en ligne (inline) est générée par le service de fichiers."

#: ../../guides/hooks-list.rst:766
msgid "**mime_type, file**"
msgstr "**mime_type, file**"

#: ../../guides/hooks-list.rst:765
msgid ""
"Return the mimetype for the filename ``$params['filename']`` with original "
"filename ``$params['original_filename']`` and with the default detected "
"mimetype of ``$params['default']``."
msgstr ""
"Retournez le mimetype pour le nom de fichier ``$params['filename']`` avec le"
" nom de fichier original ``$params['original_filename']`` et avec le "
"mimetype détecté par défaut depuis ``$params['default']``."

#: ../../guides/hooks-list.rst:772
msgid "**simple_type, file**"
msgstr "**simple_type, file**"

#: ../../guides/hooks-list.rst:769
msgid ""
"The hook provides ``$params['mime_type']`` (e.g. ``application/pdf`` or "
"``image/jpeg``) and determines an overall category like ``document`` or "
"``image``. The bundled file plugin and other-third party plugins usually "
"store ``simpletype`` metadata on file entities and make use of it when "
"serving icons and constructing ``ege*`` filters and menus."
msgstr ""
"Le hook fournit ``$params['mime_type']`` (par ex. ``application/pdf`` ou "
"``image/jpeg``) et détermine une catégorie globale comme ``document`` ou "
"``image``. Le plugin file inclus et d'autres plugins tiers stockent "
"habituellement les métadonnées ``simpletype`` pour les entités de fichiers "
"et les utilisent lorsqu’ils servent des icônes et construisent des filtres "
"et des menus."

#: ../../guides/hooks-list.rst:785
msgid "**upload, file**"
msgstr "**upload, file**"

#: ../../guides/hooks-list.rst:775
msgid ""
"Allows plugins to implement custom logic for moving an uploaded file into an"
" instance of ``ElggFile``. The handler must return ``true`` to indicate that"
" the uploaded file was moved. The handler must return ``false`` to indicate "
"that the uploaded file could not be moved. Other returns will indicate that "
"``ElggFile::acceptUploadedFile`` should proceed with the default upload "
"logic."
msgstr ""
"Permet aux plugins d’implémenter une logique personnalisée pour déplacer un "
"fichier téléchargé dans une instance d’ElggFile. Le gestionnaire doit "
"renvoyer ``true`` pour indiquer que le fichier téléchargé a été déplacé. Le "
"gestionnaire doit renvoyer ``false`` pour indiquer que le fichier téléchargé"
" n’a pas pu être déplacé. D’autres valeurs de retour indiqueront que "
"``ElggFile::acceptUploadedFile`` devrait poursuivre la logique de "
"téléchargement par défaut."

#: ../../guides/hooks-list.rst:783
msgid "``file`` - instance of ``ElggFile`` to write to"
msgstr "``file`` - instance de ``ElggFile`` dans laquelle écrire"

#: ../../guides/hooks-list.rst:784
msgid "``upload`` - instance of Symfony's ``UploadedFile``"
msgstr "``upload`` - instance de ``UploadedFile`` de Symfony"

#: ../../guides/hooks-list.rst:790 ../../guides/search.rst:2
msgid "Search"
msgstr "Recherche"

#: ../../guides/hooks-list.rst:794
msgid "**search:results, <search_type>**"
msgstr "**search:results, <search_type>**"

#: ../../guides/hooks-list.rst:793
msgid ""
"Triggered by ``elgg_search()``. Receives normalized options suitable for "
"``elgg_get_entities()`` call and must return an array of entities matching "
"search options. This hook is designed for use by plugins integrating third-"
"party indexing services, such as Solr and Elasticsearch."
msgstr ""
"Déclenché par ``elgg_search()``. Reçoit des options normalisées adaptées "
"pour l'appel de ``elgg_get_entities()`` et doit renvoyer un tableau "
"d’entités correspondant aux options de recherche. Ce hook est conçu pour "
"être utilisé par des plugins intégrant des services d’indexation tiers, tels"
" que Solr et Elasticsearch."

#: ../../guides/hooks-list.rst:798
msgid "**search:params, <search_type>**"
msgstr "**search:params, <search_type>**"

#: ../../guides/hooks-list.rst:797
msgid ""
"Triggered by ``elgg_search()``. Filters search parameters (query, sorting, "
"search fields etc) before search clauses are prepared for a given search "
"type. Elgg core only provides support for ``entities`` search type."
msgstr ""
"Déclenché par ``elgg_search()``. Filtre les paramètres de recherche "
"(requête, tri, champs de recherche, etc.) avant que les clauses de recherche"
" ne soient préparées pour un type de recherche donné. Le noyau de Elgg ne "
"prend en charge que le type de recherche ``entities``."

#: ../../guides/hooks-list.rst:803
msgid "**search:fields, <entity_type>**"
msgstr "**search:fields, <entity_type>**"

#: ../../guides/hooks-list.rst:801
msgid ""
"Triggered by ``elgg_search()``. Filters search fields before search clauses "
"are prepared. ``$return`` value contains an array of names for each entity "
"property type, which should be matched against the search query. ``$params``"
" array contains an array of search params passed to and filtered by "
"``elgg_search()``."
msgstr ""
"Déclenché par ``elgg_search()``. Filtre les champs de recherche avant que "
"les clauses de recherche ne soient préparées. La valeur ``$return`` contient"
" un tableau avec les noms de chaque type de propriété d’entité, qui doit "
"être comparé à la requête de recherche. Le tableau ``$params`` contient un "
"tableau de paramètres de recherche transmis et filtrés par "
"``elgg_search()``."

#: ../../guides/hooks-list.rst:815
msgid "**search:fields, <entity_type>:<entity_subtype>**"
msgstr "**search:fields, <entity_type>:<entity_subtype>**"

#: ../../guides/hooks-list.rst:815 ../../guides/hooks-list.rst:818
msgid "See **search:fields, <entity_type>**"
msgstr "Voir **search:fields, <entity_type>**"

#: ../../guides/hooks-list.rst:818
msgid "**search:fields, <search_type>**"
msgstr "**search:fields, <search_type>**"

#: ../../guides/hooks-list.rst:821
msgid "**search:options, <entity_type>**"
msgstr "**search:options, <entity_type>**"

#: ../../guides/hooks-list.rst:821
msgid ""
"Triggered by ``elgg_search()``. Prepares search clauses (options) to be "
"passed to ``elgg_get_entities()``."
msgstr ""
"Déclenché par ``elgg_search()``. Prépare les clauses de recherche (options) "
"à transmettre à ``elgg_get_entities()``."

#: ../../guides/hooks-list.rst:824
msgid "**search:options, <entity_type>:<entity_subtype>**"
msgstr "**search:options, <entity_type>:<entity_subtype>**"

#: ../../guides/hooks-list.rst:824 ../../guides/hooks-list.rst:827
msgid "See **search:options, <entity_type>**"
msgstr "Voir **search:options, <entity_type>**"

#: ../../guides/hooks-list.rst:827
msgid "**search:options, <search_type>**"
msgstr "**search:options, <search_type>**"

#: ../../guides/hooks-list.rst:832
msgid "**search:config, search_types**"
msgstr "**search:config, search_types**"

#: ../../guides/hooks-list.rst:830
msgid ""
"Implemented in the **search** plugin. Filters an array of custom search "
"types. This allows plugins to add custom search types (e.g. tag or location "
"search). Adding a custom search type will extend the search plugin user "
"interface with appropriate links and lists."
msgstr ""
"Implémenté dans le plugin **search**. Filtre un tableau de types de "
"recherche personnalisés. Cela permet aux plugins d’ajouter des types de "
"recherche personnalisés (par ex. une recherche de mots-clefs ou par "
"localisation géographique). L’ajout d’un type de recherche personnalisé "
"permettra d’étendre l’interface utilisateur du plugin de recherche avec des "
"liens et des listes appropriés."

#: ../../guides/hooks-list.rst:837
msgid "**search:config, type_subtype_pairs**"
msgstr "**search:config, type_subtype_pairs**"

#: ../../guides/hooks-list.rst:835
msgid ""
"Implemented in the **search** plugin. Filters entity type/subtype pairs "
"before entity search is performed. Allows plugins to remove certain entity "
"types/subtypes from search results, group multiple subtypes together, or to "
"reorder search sections."
msgstr ""
"Implémenté dans le plugin **search**. Filtre les paires de types/sous-types "
"d’entités avant l’exécution de la recherche d’entité. Permet aux plugins de "
"supprimer certains types/sous-types d’entités des résultats de recherche, de"
" regrouper plusieurs sous-types ou de réorganiser des sections de recherche."

#: ../../guides/hooks-list.rst:842
msgid "**search:format, entity**"
msgstr "**search:format, entity**"

#: ../../guides/hooks-list.rst:840
msgid ""
"Implemented in the **search** plugin. Allows plugins to populate entity's "
"volatile data before it's passed to search view. This is used for "
"highlighting search hit, extracting relevant substrings in long text fields "
"etc."
msgstr ""
"Implémenté dans le plugin **search**. Permet aux plugins de renseigner les "
"données volatiles de l’entité avant qu’elles ne soient transmises à la vue "
"de recherche. Ceci est utilisé pour mettre en surbrillance les "
"correspondances de la recherche, extraire les sous-chaînes pertinentes dans "
"les champs de texte long, etc."

#: ../../guides/hooks-list.rst:847
msgid "Other"
msgstr "Autres"

#: ../../guides/hooks-list.rst:851
msgid "**config, comments_per_page**"
msgstr "**config, comments_per_page**"

#: ../../guides/hooks-list.rst:850
msgid ""
"Filters the number of comments displayed per page. Default is 25. "
"``$params['entity']`` will hold the containing entity or null if not "
"provided. Use ``elgg_comments_per_page()`` to get the value."
msgstr ""
"Filtre le nombre de commentaires affichés par page. La valeur par défaut est"
" 25. ``$params['entity']`` contiendra l'entité contenant ou null si elle "
"n'est pas fournie. Utilisez ``elgg_comments_per_page()`` pour obtenir la "
"valeur."

#: ../../guides/hooks-list.rst:855
msgid "**config, comments_latest_first**"
msgstr "**config, comments_latest_first**"

#: ../../guides/hooks-list.rst:854
msgid ""
"Filters the order of comments. Default is ``true`` for latest first. "
"``$params['entity']`` will hold the containing entity or null if not "
"provided."
msgstr ""
"Filtre l’ordre des commentaires. Vaut ``true`` par défaut pour le plus "
"récent en premier. ``$params['entity']`` indique l’entité contenante, ou "
"null si elle n’est pas fournie."

#: ../../guides/hooks-list.rst:862
msgid "**default, access**"
msgstr "**default, access**"

#: ../../guides/hooks-list.rst:858
msgid ""
"In get_default_access(), this hook filters the return value, so it can be "
"used to alter the default value in the input/access view. For core plugins, "
"the value \"input_params\" has the keys \"entity\" (ElggEntity|false), "
"\"entity_type\" (string), \"entity_subtype\" (string), \"container_guid\" "
"(int) are provided. An empty entity value generally means the form is to "
"create a new object."
msgstr ""
"Dans get_default_access(), ce hook filtre la valeur de retour, de sorte "
"qu’il peut être utilisé pour modifier la valeur par défaut dans la vue "
"input/access. Pour les plugins du noyau, la valeur \"input_params\" contient"
" les clefs \"entity\" (ElggEntity|false), \"entity_type`` (chaîne), "
"``entity_subtype`` (chaîne), ``container_guid`` (int) qui sont fournies. Une"
" valeur d’entité vide signifie généralement que le formulaire consiste à "
"créer un nouvel objet."

#: ../../guides/hooks-list.rst:866
msgid "**classes, icon**"
msgstr "**classes, icon**"

#: ../../guides/hooks-list.rst:865
msgid ""
"Can be used to filter CSS classes applied to icon glyphs. By default, Elgg "
"uses FontAwesome. Plugins can use this hook to switch to a different font "
"family and remap icon classes."
msgstr ""
"Peut être utilisé pour filtrer les classes CSS appliquées aux glyphes "
"d’icônes. Par défaut, Elgg utilise FontAwesome. Les plugins peuvent utiliser"
" ce hook pour utiliser une autre famille de polices et mapper les classes "
"d’icônes."

#: ../../guides/hooks-list.rst:870
msgid "**entity:icon:sizes, <entity_type>**"
msgstr "**entity:icon:sizes, <entity_type>**"

#: ../../guides/hooks-list.rst:869
msgid ""
"Triggered by ``elgg_get_icon_sizes()`` and sets entity type/subtype specific"
" icon sizes. ``entity_subtype`` will be passed with the ``$params`` array to"
" the callback."
msgstr ""
"Déclenché par ``elgg_get_icon_sizes()`` et définit le type d’entité/le sous-"
"type de tailles d’icônes spécifiques. ``entity_subtype`` sera transmis à la "
"fonction de rappel avec le tableau ``$params``."

#: ../../guides/hooks-list.rst:887
msgid "**entity:<icon_type>:sizes, <entity_type>**"
msgstr "**entity:<icon_type>:sizes, <entity_type>**"

#: ../../guides/hooks-list.rst:873
msgid ""
"Allows filtering sizes for custom icon types, see ``entity:icon:sizes, "
"<entity_type>``."
msgstr ""
"Permet de filtrer les tailles pour les types d’icônes personnalisés, voir "
"``entity:icon:sizes, <entity_type>``."

#: ../../guides/hooks-list.rst:875
msgid ""
"The hook must return an associative array where keys are the names of the "
"icon sizes (e.g. \"large\"), and the values are arrays with the following "
"keys:"
msgstr ""
"Le hook doit renvoyer un tableau associatif où les clefs sont les noms des "
"tailles d’icônes (par exemple ``large``), et les valeurs sont des tableaux "
"avec les clefs suivantes :"

#: ../../guides/hooks-list.rst:878
msgid "``w`` - Width of the image in pixels"
msgstr "``w`` - Largeur de l’image en pixels"

#: ../../guides/hooks-list.rst:879
msgid "``h`` - Height of the image in pixels"
msgstr "``h`` - Hauteur de l’image en pixels"

#: ../../guides/hooks-list.rst:880
msgid "``square`` - Should the aspect ratio be a square (true/false)"
msgstr "``square`` - Le ratio devrait-il être carré (vrai/faux)"

#: ../../guides/hooks-list.rst:881
msgid ""
"``upscale`` - Should the image be upscaled in case it is smaller than the "
"given width and height (true/false)"
msgstr ""
"``upscale`` - L'image doit-elle être agrandie si elle est plus petite que la"
" largeur et la hauteur indiquées (vrai/faux)"

#: ../../guides/hooks-list.rst:882
msgid ""
"``crop`` - Is cropping allowed on this image size (true/false, default: "
"true)"
msgstr ""
"``crop`` - Est-ce que le recadrage est autorisé sur cette taille d’image "
"(vrai/faux, par défaut : vrai)"

#: ../../guides/hooks-list.rst:884
msgid ""
"If the configuration array for an image size is empty, the image will be "
"saved as an exact copy of the source without resizing or cropping."
msgstr ""
"Si le tableau de configuration d’une taille d’image est vide, l’image sera "
"enregistrée en tant que copie exacte de la source sans redimensionnement ni "
"recadrage."

#: ../../guides/hooks-list.rst:887 ../../guides/i18n.rst:51
#: ../../guides/notifications.rst:24 ../../guides/notifications.rst:222
#: ../../guides/notifications.rst:246 ../../guides/notifications.rst:294
msgid "Example:"
msgstr "Exemple :"

#: ../../guides/hooks-list.rst:919
msgid "**entity:icon:url, <entity_type>**"
msgstr "**entity:icon:url, <entity_type>**"

#: ../../guides/hooks-list.rst:907
msgid ""
"Triggered when entity icon URL is requested, see :ref:`entity icons "
"<guides/database#entity-icons>`. Callback should return URL for the icon of "
"size ``$params['size']`` for the entity ``$params['entity']``. Following "
"parameters are available through the ``$params`` array:"
msgstr ""
"Déclenché lorsque l’URL de l’icône de l’entité est demandée, voir "
":ref:`entity icons <guides/database#entity-icons>`. La fonction de rappel "
"doit renvoyer l’URL de l’icône de taille ``$params['size']`` pour l’entité "
"``$params['entity']``. Les paramètres suivants sont disponibles via le "
"tableau ``$params`` :"

#: ../../guides/hooks-list.rst:911
msgid "entity"
msgstr "entity"

#: ../../guides/hooks-list.rst:912
msgid "Entity for which icon url is requested."
msgstr "Entité pour laquelle l’url de l’icône est demandée."

#: ../../guides/hooks-list.rst:913
msgid "viewtype"
msgstr "viewtype"

#: ../../guides/hooks-list.rst:914
msgid ""
"The type of :ref:`view <guides/views#listing-entities>` e.g. ``'default'`` "
"or ``'json'``."
msgstr ""
"Le type de :ref:`vue <guides/views#listing-entities>` par exemple "
"``default`` ou ``json``."

#: ../../guides/hooks-list.rst:916
msgid "size"
msgstr "size"

#: ../../guides/hooks-list.rst:916
msgid ""
"Size requested, see :ref:`entity icons <guides/database#entity-icons>` for "
"possible values."
msgstr ""
"Taille demandée, voir :ref:`icônes des entités <guides/database#entity-"
"icons>` pour les valeurs possibles."

#: ../../guides/hooks-list.rst:918
msgid ""
"Example on how one could default to a Gravatar icon for users that have not "
"yet uploaded an avatar:"
msgstr ""
"Exemple sur comment mettre en place une icône par défaut Gravatar pour les "
"utilisateurs qui n’ont pas encore téléchargé un avatar :"

#: ../../guides/hooks-list.rst:959
msgid "**entity:<icon_type>:url, <entity_type>**"
msgstr "**entity:<icon_type>:url, <entity_type>**"

#: ../../guides/hooks-list.rst:959
msgid ""
"Allows filtering URLs for custom icon types, see ``entity:icon:url, "
"<entity_type>``"
msgstr ""
"Permet de filtrer les URLs pour les types d’icônes personnalisées, voir "
"``entity:icon:url, <entity_type>``"

#: ../../guides/hooks-list.rst:964
msgid "**entity:icon:file, <entity_type>**"
msgstr "**entity:icon:file, <entity_type>**"

#: ../../guides/hooks-list.rst:962
msgid ""
"Triggered by ``ElggEntity::getIcon()`` and allows plugins to provide an "
"alternative ``ElggIcon`` object that points to a custom location of the icon"
" on filestore. The handler must return an instance of ``ElggIcon`` or an "
"exception will be thrown."
msgstr ""
"Déclenché par ``ElggEntity::getIcon()`` et permet aux plugins de fournir un "
"objet alternatif ``ElggIcon`` qui pointe vers un emplacement personnalisé de"
" l’icône dans le répertoire de données. Le gestionnaire doit renvoyer une "
"instance de ``ElggIcon`` ou une exception sera lancée."

#: ../../guides/hooks-list.rst:967
msgid "**entity:<icon_type>:file, <entity_type>**"
msgstr "**entity:<icon_type>:file, <entity_type>**"

#: ../../guides/hooks-list.rst:967
msgid ""
"Allows filtering icon file object for custom icon types, see "
"``entity:icon:file, <entity_type>``"
msgstr ""
"Permet de filtrer l’objet de fichier d’icône pour les types d’icônes "
"personnalisés, voir ``entity:icon:file, <entity_type>``"

#: ../../guides/hooks-list.rst:979
msgid "**entity:<icon_type>:prepare, <entity_type>**"
msgstr "**entity:<icon_type>:prepare, <entity_type>**"

#: ../../guides/hooks-list.rst:970
msgid ""
"Triggered by ``ElggEntity::saveIcon*()`` methods and can be used to prepare "
"an image from uploaded/linked file. This hook can be used to e.g. rotate the"
" image before it is resized/cropped, or it can be used to extract an image "
"frame if the uploaded file is a video. The handler must return an instance "
"of ``ElggFile`` with a `simpletype` that resolves to `image`. The "
"``$return`` value passed to the hook is an instance of ``ElggFile`` that "
"points to a temporary copy of the uploaded/linked file."
msgstr ""
"Déclenché par les méthodes ``ElggEntity::saveIcon*()`` et peut être utilisé "
"pour préparer une image à partir d’un fichier téléchargé/lié. Ce hook peut "
"être utilisé pour faire pivoter l’image avant qu’elle ne soit "
"redimensionnée/rognée, ou il peut être utilisé pour extraire une image cadre"
" (frame) si le fichier téléchargé est une vidéo. Le gestionnaire doit "
"renvoyer une instance de ElggFile avec un ``simpletype`` qui se résout en "
"`image`. La valeur ``$return`` transmise au hook est une instance de "
"``ElggFile`` qui pointe vers une copie temporaire du fichier téléchargé/lié."

#: ../../guides/hooks-list.rst:976 ../../guides/hooks-list.rst:1093
#: ../../guides/hooks-list.rst:1135
msgid "The ``$params`` array contains:"
msgstr "La tableau ``$params`` contient :"

#: ../../guides/hooks-list.rst:978 ../../guides/hooks-list.rst:986
#: ../../guides/hooks-list.rst:996 ../../guides/hooks-list.rst:1004
msgid "``entity`` - entity that owns the icons"
msgstr "``entity`` - entité propriétaire des icônes"

#: ../../guides/hooks-list.rst:979
msgid ""
"``file`` - original input file before it has been modified by other hooks"
msgstr ""
"``file`` - le fichier d’entrée original avant qu’il n’ait été modifié par "
"d’autres hooks"

#: ../../guides/hooks-list.rst:988
msgid "**entity:<icon_type>:save, <entity_type>**"
msgstr "**entity:<icon_type>:save, <entity_type>**"

#: ../../guides/hooks-list.rst:982
msgid ""
"Triggered by ``ElggEntity::saveIcon*()`` methods and can be used to apply "
"custom image manipulation logic to resizing/cropping icons. The handler must"
" return ``true`` to prevent the core APIs from resizing/cropping icons. The "
"``$params`` array contains:"
msgstr ""
"Déclenché par les méthodes ``ElggEntity:::saveIcon*()`` et peut être utilisé"
" pour appliquer une logique de manipulation d’image personnalisée aux icônes"
" de redimensionnement/recadrage. Le gestionnaire doit renvoyer ``true`` pour"
" empêcher les API de base de redimensionner/rogner les icônes. Le tableau "
"``$params`` contient :"

#: ../../guides/hooks-list.rst:987
msgid ""
"``file`` - ``ElggFile`` object that points to the image file to be used as "
"source for icons"
msgstr ""
"``file`` - objet ``ElggFile`` qui pointe vers le fichier image à utiliser "
"comme source pour les icônes"

#: ../../guides/hooks-list.rst:988 ../../guides/hooks-list.rst:997
msgid "``x1``, ``y1``, ``x2``, ``y2`` - cropping coordinates"
msgstr "``x1``, ``y1``, ``x2``, ``y2`` - coordonnées de découpe"

#: ../../guides/hooks-list.rst:997
msgid "**entity:<icon_type>:saved, <entity_type>**"
msgstr "**entity:<icon_type>:saved, <entity_type>**"

#: ../../guides/hooks-list.rst:991
msgid ""
"Triggered by ``ElggEntity::saveIcon*()`` methods once icons have been "
"created. This hook can be used by plugins to create river items, update "
"cropping coordinates for custom icon types etc. The handler can access the "
"created icons using ``ElggEntity::getIcon()``. The ``$params`` array "
"contains:"
msgstr ""
"Déclenché par les méthodes ``ElggEntity::saveIcon*()`` une fois que des "
"icônes ont été créées. Ce hook peut être utilisé par les plugins pour créer "
"des éléments pour la rivière, mettre à jour les coordonnées de recadrage "
"pour les types d’icônes personnalisés, etc. Le gestionnaire peut accéder aux"
" icônes créées à l’aide de ``ElggEntity::getIcon()``. Le tableau ``$params``"
" contient :"

#: ../../guides/hooks-list.rst:1004
msgid "**entity:<icon_type>:delete, <entity_type>**"
msgstr "**entity:<icon_type>:delete, <entity_type>**"

#: ../../guides/hooks-list.rst:1000
msgid ""
"Triggered by ``ElggEntity::deleteIcon()`` method and can be used for clean "
"up operations. This hook is triggered before the icons are deleted. The "
"handler can return ``false`` to prevent icons from being deleted. The "
"``$params`` array contains:"
msgstr ""
"Déclenché par la méthode ``ElggEntity::deleteIcon()`` et peut être utilisé "
"pour les opérations de nettoyage. Ce hook est déclenché avant que les icônes"
" ne soient supprimées. Le gestionnaire peut renvoyer ``false`` pour empêcher"
" la suppression d’icônes. Le tableau ``$params`` contient :"

#: ../../guides/hooks-list.rst:1009
msgid "**entity:url, <entity_type>**"
msgstr "**entity:url, <entity_type>**"

#: ../../guides/hooks-list.rst:1007
msgid ""
"Return the URL for the entity ``$params['entity']``. Note: Generally it is "
"better to override the ``getUrl()`` method of ElggEntity. This hook should "
"be used when it's not possible to subclass (like if you want to extend a "
"bundled plugin without overriding many views)."
msgstr ""
"Renvoie l’URL de l’entité ``$params['entity']``. Remarque : en général, il "
"est préférable de remplacer la méthode ``getUrl()`` de ElggEntity. Ce hook "
"doit être utilisé lorsqu’il n’est pas possible de créer une sous-classe (par"
" ex. si vous voulez étendre un plugin inclus sans remplacer de nombreuses "
"vues)."

#: ../../guides/hooks-list.rst:1013
msgid "**fields, <entity_type>:<entity_subtype>**"
msgstr "**fields, <entity_type>:<entity_subtype>**"

#: ../../guides/hooks-list.rst:1012
msgid ""
"Return an array of fields usable for ``elgg_view_field()``. The result "
"should be returned as an array of fields. It is required to provide ``name``"
" and ``#type`` for each field."
msgstr ""
"Renvoie un tableau de champs utilisable par ``elgg_view_field()``. Le "
"résultat doit être renvoyé sous la forme d'un tableau de champs. Il est "
"nécessaire de fournir ``name`` et ``#type`` pour chaque champ."

#: ../../guides/hooks-list.rst:1028
msgid ""
"**to:object, <entity_type|metadata|annotation|relationship|river_item>**"
msgstr ""
"**to:object, <entity_type|metadata|annotation|relationship|river_item>**"

#: ../../guides/hooks-list.rst:1027
msgid ""
"Converts the entity ``$params['entity']`` to a StdClass object. This is used"
" mostly for exporting entity properties for portable data formats like JSON "
"and XML."
msgstr ""
"Convertit l’entité ``$params['entity']`` en objet StdClass. Ceci est utilisé"
" principalement pour exporter des propriétés d’entité vers des formats de "
"données portables comme JSON et XML."

#: ../../guides/hooks-list.rst:1031
msgid "**extender:url, <annotation|metadata>**"
msgstr "**extender:url, <annotation|metadata>**"

#: ../../guides/hooks-list.rst:1031
msgid ""
"Return the URL for the annotation or metadatum ``$params['extender']``."
msgstr ""
"Retournez l’URL de l’annotation ou de la métadonnée ``$params['extender']``."

#: ../../guides/hooks-list.rst:1034
msgid "**file:icon:url, override**"
msgstr "**file:icon:url, override**"

#: ../../guides/hooks-list.rst:1034
msgid "Override a file icon URL."
msgstr "Remplacez une URL d’icône de fichier."

#: ../../guides/hooks-list.rst:1037
msgid "**is_member, group**"
msgstr "**is_member, group**"

#: ../../guides/hooks-list.rst:1037
msgid ""
"Return boolean for if the user ``$params['user']`` is a member of the group "
"``$params['group']``."
msgstr ""
"Renvoie un booléen qui indique si l’utilisateur ``$params['user']`` est un "
"membre du groupe ``$params['group']``."

#: ../../guides/hooks-list.rst:1045
msgid "**setting, plugin**"
msgstr "**setting, plugin**"

#: ../../guides/hooks-list.rst:1040
msgid "Filter plugin settings. ``$params`` contains:"
msgstr "Filtre les paramètres du plugin. ``$params`` contient :"

#: ../../guides/hooks-list.rst:1042
msgid "``plugin`` - An ElggPlugin instance"
msgstr "``plugin`` - Une instance de ElggPlugin"

#: ../../guides/hooks-list.rst:1043
msgid "``plugin_id`` - The plugin ID"
msgstr "``plugin_id`` - L'ID du plugin"

#: ../../guides/hooks-list.rst:1044
msgid "``name`` - The name of the setting"
msgstr "``name`` - Le nom du paramètre"

#: ../../guides/hooks-list.rst:1045
msgid "``value`` - The value to set"
msgstr "``value`` - La valeur à définir"

#: ../../guides/hooks-list.rst:1056
msgid "**plugin_setting, <entity type>**"
msgstr "**plugin_setting, <entity type>**"

#: ../../guides/hooks-list.rst:1048
msgid "Can be used to change the value of the setting being saved"
msgstr ""
"Peut être utilisé pour modifier la valeur du paramètre en cours "
"d'enregistrement"

#: ../../guides/hooks-list.rst:1050
msgid ""
"Params contains: - ``entity`` - The ``ElggEntity`` where the plugin setting "
"is being saved - ``plugin_id`` - The ID of the plugin for which the setting "
"is being saved - ``name`` - The name of the setting being saved - ``value`` "
"- The original value of the setting being saved"
msgstr ""
"Params contient : - ``entity`` - L'``ElggEntity`` où le paramètre du plugin "
"est enregistré - ``plugin_id`` - L'ID du plugin pour lequel le paramètre est"
" enregistré - ``name`` - Le nom du paramètre en cours d'enregistrement - "
"``valeur`` - La valeur d'origine du paramètre en cours d'enregistrement"

#: ../../guides/hooks-list.rst:1056
msgid ""
"Return value should be a scalar in order to be able to save it to the "
"database. An error will be logged if this is not the case."
msgstr ""
"La valeur de retour doit être un scalaire afin de pouvoir l'enregistrer dans"
" la base de données. Une erreur sera journalisée si ce n'est pas le cas."

#: ../../guides/hooks-list.rst:1059
msgid "**relationship:url, <relationship_name>**"
msgstr "**relationship:url, <relationship_name>**"

#: ../../guides/hooks-list.rst:1059
msgid ""
"Filter the URL for the relationship object ``$params['relationship']``."
msgstr "Filtre l’URL pour l’objet de relation ``$params['relationship']``."

#: ../../guides/hooks-list.rst:1063
msgid "**widget_settings, <widget_handler>**"
msgstr "**widget_settings, <widget_handler>**"

#: ../../guides/hooks-list.rst:1062
msgid ""
"Triggered when saving a widget settings ``$params['params']`` for widget "
"``$params['widget']``. If handling saving the settings, the handler should "
"return true to prevent the default code from running."
msgstr ""
"Déclenché lors de l’enregistrement des paramètres d’un widget "
"``$params['params']`` pour le widget ``$params['widget']``. Si vous gérez "
"l’enregistrement des paramètres, le gestionnaire doit renvoyer true pour "
"empêcher l’exécution du code par défaut."

#: ../../guides/hooks-list.rst:1067
msgid "**handlers, widgets**"
msgstr "**handlers, widgets**"

#: ../../guides/hooks-list.rst:1066
msgid ""
"Triggered when a list of available widgets is needed. Plugins can "
"conditionally add or remove widgets from this list or modify attributes of "
"existing widgets like ``context`` or ``multiple``."
msgstr ""
"Déclenché lorsqu’une liste de widgets disponibles est nécessaire. Les "
"plugins peuvent ajouter ou supprimer conditionnellement des widgets de cette"
" liste ou modifier des attributs de widgets existants comme ``context`` ou "
"``multiple``."

#: ../../guides/hooks-list.rst:1071
msgid "**get_list, default_widgets**"
msgstr "**get_list, default_widgets**"

#: ../../guides/hooks-list.rst:1070
msgid ""
"Filters a list of default widgets to add for newly registered users. The "
"list is an array of arrays in the format:"
msgstr ""
"Filtre une liste de widgets par défaut à ajouter pour les utilisateurs "
"nouvellement enregistrés. La liste est un tableau de tableaux dans le format"
" :"

#: ../../guides/hooks-list.rst:1095
msgid "**public_pages, walled_garden**"
msgstr "**public_pages, walled_garden**"

#: ../../guides/hooks-list.rst:1088
msgid ""
"Filters a list of URLs (paths) that can be seen by logged out users in a "
"walled garden mode. Handlers must return an array of regex strings that will"
" allow access if matched. Please note that system public routes are passed "
"as the default value to the hook, and plugins must take care to not "
"accidentally override these values."
msgstr ""
"Filtre une liste d’URL (chemins) qui peuvent être vues par les utilisateurs "
"déconnectés dans un mode walled garden. Les gestionnaires doivent renvoyer "
"un tableau de chaînes regex qui permettront l’accès si l'URL correspond. "
"Veuillez noter que les itinéraires publics du système sont passés comme "
"valeur par défaut pour le hok, et que les plugins doivent prendre soin de ne"
" pas remplacer accidentellement ces valeurs."

#: ../../guides/hooks-list.rst:1095
msgid "``url`` - URL of the page being tested for public accessibility"
msgstr "``url`` - URL de la page testée pour l’accessibilité publique"

#: ../../guides/hooks-list.rst:1100
msgid "**volatile, metadata**"
msgstr "**volatile, metadata**"

#: ../../guides/hooks-list.rst:1098
msgid ""
"Triggered when exporting an entity through the export handler. This is rare."
" This allows handler to handle any volatile (non-persisted) metadata on the "
"entity. It's preferred to use the ``to:object, <type>`` hook."
msgstr ""
"Déclenché lors de l’export d’une entité par l’intermédiaire du gestionnaire "
"d’exportation. C’est rare. Cela permet au gestionnaire de traiter toutes les"
" métadonnées volatiles (non persistantes) sur l’entité. Il est préférable "
"d’utiliser le hook ``to:object, <type>``."

#: ../../guides/hooks-list.rst:1104
msgid "**maintenance:allow, url**"
msgstr "**maintenance:allow, url**"

#: ../../guides/hooks-list.rst:1104
msgid ""
"Return boolean if the URL ``$params['current_url']`` and the path "
"``$params['current_path']``"
msgstr ""
"Retourne un booléen si l'URL ``$params['current_url']`` et le chemin "
"``$params['current_path']``"

#: ../../guides/hooks-list.rst:1104
msgid "is allowed during maintenance mode."
msgstr "est autorisé avec le mode maintenance."

#: ../../guides/hooks-list.rst:1107
msgid "**robots.txt, site**"
msgstr "**robots.txt, site**"

#: ../../guides/hooks-list.rst:1107
msgid "Filter the robots.txt values for ``$params['site']``."
msgstr "Filtrez les valeurs robots.txt pour ``$params['site']``."

#: ../../guides/hooks-list.rst:1110
msgid "**config, amd**"
msgstr "**config, amd**"

#: ../../guides/hooks-list.rst:1110
msgid "Filter the AMD config for the requirejs library."
msgstr "Filtre la configuration AMD pour la bibliothèque requirejs."

#: ../../guides/hooks-list.rst:1116
msgid "Embed"
msgstr "Embed"

#: ../../guides/hooks-list.rst:1118
msgid "**embed_get_items, <active_section>**"
msgstr "**embed_get_items, <active_section>**"

#: ../../guides/hooks-list.rst:1120
msgid "**embed_get_sections, all**"
msgstr "**embed_get_sections, all**"

#: ../../guides/hooks-list.rst:1122
msgid "**embed_get_upload_sections, all**"
msgstr "**embed_get_upload_sections, all**"

#: ../../guides/hooks-list.rst:1125
msgid "Groups"
msgstr "Groupes"

#: ../../guides/hooks-list.rst:1128
msgid "**profile_buttons, group**"
msgstr "**profile_buttons, group**"

#: ../../guides/hooks-list.rst:1128
msgid ""
"Filters buttons (``ElggMenuItem`` instances) to be registered in the title "
"menu of the group profile page"
msgstr ""
"Les boutons de filtres (instances ``ElggMenuItem``) à enregistrer dans le "
"menu titre de la page de profil de groupe"

#: ../../guides/hooks-list.rst:1137
msgid "**tool_options, group**"
msgstr "**tool_options, group**"

#: ../../guides/hooks-list.rst:1131
msgid "Filters a collection of tools available within a specific group:"
msgstr ""
"Filtre une collection d’outils disponibles au sein d’un groupe spécifique :"

#: ../../guides/hooks-list.rst:1133
msgid ""
"The ``$return`` is "
"``\\Elgg\\Collections\\Collection<\\Elgg\\Groups\\Tool>``, a collection of "
"group tools."
msgstr ""
"Le ``$return`` est "
"``\\Elgg\\Collections\\Collection<\\Elgg\\Groups\\Tool>``, une collection "
"d'outils du groupe."

#: ../../guides/hooks-list.rst:1137
msgid "``entity`` - ``\\ElggGroup``"
msgstr "``entity`` - ``\\ElggGroup``"

#: ../../guides/hooks-list.rst:1140
msgid "HTMLawed"
msgstr "HTMLawed"

#: ../../guides/hooks-list.rst:1143
msgid "**allowed_styles, htmlawed**"
msgstr "**allowed_styles, htmlawed**"

#: ../../guides/hooks-list.rst:1143
msgid "Filter the HTMLawed allowed style array."
msgstr "Filtre le tableau de style HTMLawed autorisé."

#: ../../guides/hooks-list.rst:1146
msgid "**config, htmlawed**"
msgstr "**config, htmlawed**"

#: ../../guides/hooks-list.rst:1146
msgid "Filter the HTMLawed ``$config`` array."
msgstr "Filtrez le tableau HTMLawed ``$config``."

#: ../../guides/hooks-list.rst:1149
msgid "**spec, htmlawed**"
msgstr "**spec, htmlawed**"

#: ../../guides/hooks-list.rst:1149
msgid "Filter the HTMLawed ``$spec`` string (default empty)."
msgstr "Filtre la chaîne HTMLawed ``$spec`` (vide par défaut)."

#: ../../guides/hooks-list.rst:1152
msgid "Likes"
msgstr "Likes"

#: ../../guides/hooks-list.rst:1158
msgid "**likes:is_likable, <type>:<subtype>**"
msgstr "**likes:is_likable, <type>:<subtype>**"

#: ../../guides/hooks-list.rst:1155
msgid ""
"This is called to set the default permissions for whether to display/allow "
"likes on an entity of type ``<type>`` and subtype ``<subtype>``."
msgstr ""
"Ceci est appelé pour définir les autorisations par défaut pour déterminer "
"s’il faut afficher/autoriser les mentions J’aime sur une entité de type "
"``<type>`` et de sous-type ``<subtype>``."

#: ../../guides/hooks-list.rst:1158
msgid ""
"The callback ``'Elgg\\Values::getTrue'`` is a useful handler for this hook."
msgstr ""
"La fonction de rappel ``'Elgg\\Values::getTrue'`` est un gestionnaire utile "
"pour ce hook."

#: ../../guides/hooks-list.rst:1161
msgid "Members"
msgstr "Membres"

#: ../../guides/hooks-list.rst:1164
msgid "**members:list, <page_segment>**"
msgstr "**members:list, <page_segment>**"

#: ../../guides/hooks-list.rst:1164
msgid ""
"To handle the page ``/members/$page_segment``, register for this hook and "
"return the HTML of the list."
msgstr ""
"Pour gérer la page ``/members/$page_segment``, enregistrez une fonction de "
"rappel pour ce hook et renvoyez le HTML de la liste."

#: ../../guides/hooks-list.rst:1168
msgid "**members:config, tabs**"
msgstr "**members:config, tabs**"

#: ../../guides/hooks-list.rst:1167
msgid ""
"This hook is used to assemble an array of tabs to be passed to the "
"navigation/tabs view for the members pages."
msgstr ""
"Ce hook est utilisé pour assembler un tableau d’onglets à transmettre à la "
"vue navigation/tabs pour les pages des membres."

#: ../../guides/hooks-list.rst:1171
msgid "Web Services"
msgstr "Web Services"

#: ../../guides/hooks-list.rst:1175
msgid "**rest, init**"
msgstr "**rest, init**"

#: ../../guides/hooks-list.rst:1174
msgid ""
"Triggered by the web services rest handler. Plugins can set up their own "
"authentication handlers, then return ``true`` to prevent the default "
"handlers from being registered."
msgstr ""
"Déclenché par le gestionnaire de web services rest. Les plugins peuvent "
"configurer leurs propres gestionnaires d’authentification, puis renvoyer "
"``true`` pour empêcher les gestionnaires par défaut d’être enregistrés."

#: ../../guides/hooks-list.rst:1177
msgid "**rest:output, <method_name>**"
msgstr "**rest:output, <method_name>**"

#: ../../guides/hooks-list.rst:1178
msgid "Filter the result (and subsequently the output) of the API method"
msgstr "Filtrer le résultat (et par la suite la sortie) de la méthode API"

#: ../../guides/i18n.rst:2
msgid "Internationalization"
msgstr "Internationalisation"

#: ../../guides/i18n.rst:4
msgid "Make your UI translatable into many different languages."
msgstr ""
"Rendre votre interface utilisateur traduisible dans de nombreuses langues "
"différentes."

#: ../../guides/i18n.rst:6
msgid ""
"If you’d like to contribute translations to Elgg, see :doc:`the "
"contributors' guide </about/contributing>`."
msgstr ""
"Si vous souhaitez contribuer à des traductions pour Elgg, consultez :doc:`le"
" guide des contributeurs guide </about/contributing>`."

#: ../../guides/i18n.rst:8
msgid ""
"The default language is ``en`` for English. Elgg uses a fallback system for "
"languages:"
msgstr ""
"La langue par défaut est ``en`` pour l’anglais. Elgg utilise un système de "
"secours pour les langues :"

#: ../../guides/i18n.rst:10
msgid "The language of the user"
msgstr "La langue de l'utilisateur"

#: ../../guides/i18n.rst:11
msgid "The site language"
msgstr "La langue du site"

#: ../../guides/i18n.rst:12
msgid "English"
msgstr "Anglais"

#: ../../guides/i18n.rst:17
msgid ""
"Translations are stored in PHP files in the ``/languages`` directory of your"
" plugin. Each file corresponds to a language. The format is ``/languages"
"/{language-code}.php`` where ``{language-code}`` is the ISO 639-1 short code"
" for the language. For example:"
msgstr ""
"Les traductions sont stockées dans des fichiers PHP dans le répertoire "
"``/languages`` de votre plugin. Chaque fichier correspond à une langue. Le "
"format est ``/languages/{language-code}.php`` où ``{language-code}`` est le "
"code court ISO 639-1 pour la langue. Par exemple :"

#: ../../guides/i18n.rst:28
msgid ""
"To override an existing translation, include it in your plugin's language "
"file, and make sure your plugin is ordered later on the Admin > Plugins "
"page:"
msgstr ""
"Pour remplacer une traduction existante, incluez-la dans le fichier de "
"traduction de votre plugin et assurez-vous que votre plugin est situé après "
"sur la page Admin > Plugins :"

#: ../../guides/i18n.rst:41
msgid ""
"Unless you are overriding core's or another plugin's language strings, it is"
" good practice for the language keys to start with your plugin name. For "
"example: ``yourplugin:success``, ``yourplugin:title``, etc. This helps avoid"
" conflicts with other language keys."
msgstr ""
"A moins que vous ne remplaciez les chaînes linguistiques du noyau ou d’un "
"autre plugin, c'est une bonne pratique pour les clefs de traduction de "
"commencer par le nom de votre plugin. Par exemple : ``votreplugin:success``,"
" ``votreplugin:title``, etc. Cela permet d’éviter les conflits avec d’autres"
" clefs de traduction."

#: ../../guides/i18n.rst:45
msgid "Server-side API"
msgstr "API côté serveur"

#: ../../guides/i18n.rst:47
msgid "``elgg_echo($key, $args, $language)``"
msgstr "``elgg_echo($key, $args, $language)``"

#: ../../guides/i18n.rst:49
msgid "Output the translation of the key in the current language."
msgstr "Sortie de la traduction de la clef dans la langue actuelle."

#: ../../guides/i18n.rst:57
msgid "It also supports variable replacement using ``vsprintf`` syntax:"
msgstr ""
"Elle prend également en charge le remplacement des variables à l’aide de la "
"syntaxe `` vsprintf`` :"

#: ../../guides/i18n.rst:67
msgid ""
"To force which language should be used for translation, set the third "
"parameter:"
msgstr ""
"Pour forcer la langue qui doit être utilisée pour la traduction, définissez "
"le troisième paramètre :"

#: ../../guides/i18n.rst:73
msgid "To first test whether ``elgg_echo()`` can find a translation:"
msgstr "Pour tester d’abord si ``elgg_echo()`` peut trouver une traduction :"

#: ../../guides/i18n.rst:86
msgid ""
"Some APIs allow creating translations for new keys. Translators should "
"always include an English translation as a fallback. This makes "
"``elgg_language_key_exists($key)`` a reliable way to predict whether "
"``elgg_echo($key)`` will succeed."
msgstr ""
"Certaines API permettent de créer des traductions pour de nouvelles clefs. "
"Les traducteurs doivent toujours inclure une traduction anglaise comme "
"solution de repli. Ceci fait de ``elgg_language_key_exists($key)`` un moyen "
"fiable de prédire si ``elgg_echo($key)`` va réussir."

#: ../../guides/i18n.rst:90
msgid "Javascript API"
msgstr "API Javascript"

#: ../../guides/i18n.rst:92
msgid "``elgg.echo(key, args)``"
msgstr "``elgg.echo(key, args)``"

#: ../../guides/i18n.rst:94
msgid "This function is like ``elgg_echo`` in PHP."
msgstr "Cette fonction est équivalente à ``elgg_echo`` en PHP."

#: ../../guides/i18n.rst:96
msgid ""
"Client-side translations are loaded asynchronously. Ensure translations are "
"available by requiring the \"elgg\" AMD module:"
msgstr ""
"Les traductions côté client sont chargées de façon asynchrone. Assurez-vous "
"que les traductions sont disponibles en exigeant le module AMD ``elgg`` :"

#: ../../guides/i18n.rst:104
msgid ""
"Translations are also available after the ``init, system`` JavaScript event."
msgstr ""
"Les traductions sont également disponibles après l’événement JavaScript "
"``init, system``."

#: ../../guides/index.rst:2
msgid "Developer Guides"
msgstr "Guides de développement"

#: ../../guides/index.rst:4
msgid "Customize Elgg's behavior with plugins."
msgstr "Personnalisez le comportement de Elgg avec des plugins."

#: ../../guides/javascript.rst:2 ../../guides/menus.rst:280
msgid "JavaScript"
msgstr "JavaScript"

#: ../../guides/javascript.rst:9
msgid "AMD"
msgstr "AMD"

#: ../../guides/javascript.rst:11
msgid ""
"Developers should use the `AMD (Asynchronous Module Definition) "
"<http://requirejs.org/docs/whyamd.html>`_ standard for writing JavaScript "
"code in Elgg."
msgstr ""
"Les développeurs doivent utiliser le standard `AMD (\"Asynchronous Module "
"Definition\" ou Définition du module asynchrone) "
"<http://requiestjs.org/docs/whyamd.html>`_ pour écrire du code JavaScript "
"dans Elgg."

#: ../../guides/javascript.rst:14
msgid ""
"Here we'll describe making and executing AMD modules. The RequireJS "
"documentation for `defining modules "
"<http://requirejs.org/docs/api.html#define>`_ may also be of use."
msgstr ""
"Ici, nous allons décrire la création et l’exécution des modules AMD. La "
"documentation RequireJS pour `définir des modules "
"<http://requiljs.org/docs/api.html#define>`_ peut également être utile."

#: ../../guides/javascript.rst:18
msgid "Executing a module in the current page"
msgstr "Exécuter un module dans la page en cours"

#: ../../guides/javascript.rst:20
msgid "Telling Elgg to load an existing module in the current page is easy:"
msgstr ""
"Il est facile de dire à Elgg de charger un module existant dans la page en "
"cours :"

#: ../../guides/javascript.rst:27
msgid ""
"On the client-side, this will asynchronously load the module, load any "
"dependencies, and execute the module's definition function, if it has one."
msgstr ""
"Du côté client, cela chargera le module de manière asynchrone, chargera "
"toutes les dépendances, et exécutera la fonction de définition du module si "
"elle existe."

#: ../../guides/javascript.rst:31
msgid "Defining the Module"
msgstr "Définir le Module"

#: ../../guides/javascript.rst:33
msgid ""
"Here we define a basic module that alters the page, by passing a "
"\"definition function\" to ``define()``:"
msgstr ""
"Ici, nous définissons un module de base qui modifie la page, en passant une "
"\"fonction de définition\" à ``define()`` :"

#: ../../guides/javascript.rst:43
msgid ""
"The module's name is determined by the view name, which here is "
"``myplugin/say_hello.js``. We strip the ``.js`` extension, leaving "
"``myplugin/say_hello``."
msgstr ""
"Le nom du module est déterminé par le nom de vue, qui est ici "
"``monplugin/say_hello.js``. Nous retirons l’extension ``.js``, pour "
"conserver ``monplugin/say_hello``."

#: ../../guides/javascript.rst:48
msgid "The definition function **must** have one argument named ``require``."
msgstr ""
"La fonction de définition **doit** avoir un argument nommé ``require``."

#: ../../guides/javascript.rst:51
msgid "Making modules dependent on other modules"
msgstr "Rendre les modules dépendants d’autres modules"

#: ../../guides/javascript.rst:53
msgid ""
"Below we refactor a bit so that the module depends on a new "
"``myplugin/hello`` module to provide the greeting:"
msgstr ""
"Ci-dessous nous refactorisons un peu de sorte que le module dépende d’un "
"nouveau module ``monplugin/hello`` pour fournir la salutation :"

#: ../../guides/javascript.rst:75
msgid "Passing settings to modules"
msgstr "Passer des paramètres aux modules"

#: ../../guides/javascript.rst:78
msgid "The ``elgg.data`` plugin hooks"
msgstr "Les hooks de plugin ``elgg.data``"

#: ../../guides/javascript.rst:80
msgid ""
"The ``elgg`` module provides an object ``elgg.data`` which is populated from"
" two server side hooks:"
msgstr ""
"Le module ``elgg`` fournit un objet ``elgg.data`` qui est peuplé à partir de"
" deux hooks côté serveur :"

#: ../../guides/javascript.rst:82
msgid ""
"**elgg.data, site**: This filters an associative array of site-specific data"
" passed to the client and cached."
msgstr ""
"**elgg.data, site** : Ceci filtre un tableau associatif de données "
"spécifiques au site, transmises au client et mises en cache."

#: ../../guides/javascript.rst:83
msgid ""
"**elgg.data, page**: This filters an associative array of uncached, page-"
"specific data passed to the client."
msgstr ""
"**elgg.data, page** : Ceci filtre un tableau associatif de données non mises"
" en cache, et spécifiques à la page transmise au client."

#: ../../guides/javascript.rst:85
msgid "Let's pass some data to a module:"
msgstr "Passons quelques données au module :"

#: ../../guides/javascript.rst:128
msgid ""
"In ``elgg.data``, page data overrides site data. Also note ``json_encode()``"
" is used to copy data client-side, so the data must be JSON-encodable."
msgstr ""
"Dans ``elgg.data`` les données de la page remplacent les données du site. "
"Notez également que ``json_encode()`` est utilisé pour copier les données "
"côté client, de sorte que les données doivent être encodables en JSON."

#: ../../guides/javascript.rst:132
msgid "Making a config module"
msgstr "Créer un module de configuration"

#: ../../guides/javascript.rst:134
msgid ""
"You can use a PHP-based module to pass values from the server. To make the "
"module ``myplugin/settings``, create the view file "
"``views/default/myplugin/settings.js.php`` (note the double extension "
"``.js.php``)."
msgstr ""
"Vous pouvez utiliser un module PHP pour transmettre des valeurs à partir du "
"serveur. Pour créer le module ``monplugin/settings``, créez le fichier de la"
" vue ``views/default/monplugin/settings.js.php`` (notez la double extension "
"``.js.php``)."

#: ../../guides/javascript.rst:150
msgid "You must also manually register the view as an external resource:"
msgstr ""
"Vous devez également enregistrer manuellement la vue en tant que ressource "
"externe :"

#: ../../guides/javascript.rst:160
msgid ""
"The PHP view is cached, so you should treat the output as static (the same "
"for all users) and avoid session-specific logic."
msgstr ""
"La vue PHP est mise en cache, vous devez donc traiter la sortie comme "
"statique (la même pour tous les utilisateurs) et éviter toute logique "
"spécifique à la session."

#: ../../guides/javascript.rst:165
msgid "Setting the URL of a module"
msgstr "Définir l'URL d'un module"

#: ../../guides/javascript.rst:167
msgid ""
"You may have an AMD script outside your views you wish to make available as "
"a module."
msgstr ""
"Vous pouvez avoir un script AMD en dehors de vos vues que vous souhaitez "
"mettre à disposition en tant que module."

#: ../../guides/javascript.rst:169
msgid ""
"The best way to accomplish this is by configuring the path to the file using"
" the ``views`` section of the ``elgg-plugin.php`` file in the root of your "
"plugin:"
msgstr ""
"La meilleure façon d’y parvenir est de configurer le chemin d’accès au "
"fichier à l’aide de la section ``views`` du fichier ``elgg-plugin.php`` dans"
" la racine de votre plugin :"

#: ../../guides/javascript.rst:183
msgid ""
"If you've copied the script directly into your plugin instead of managing it"
" with Composer, you can use something like this instead:"
msgstr ""
"Si vous avez copié le script directement dans votre plugin au lieu de le "
"gérer avec Composer, vous pouvez utiliser quelque chose comme ceci à la "
"place :"

#: ../../guides/javascript.rst:197
msgid ""
"That's it! Elgg will now load this file whenever the \"underscore\" module "
"is requested."
msgstr ""
"Voilà ! Elgg chargera maintenant ce fichier chaque fois que le module "
"\"underscore\" est requis."

#: ../../guides/javascript.rst:201
msgid "Using traditional JS libraries as modules"
msgstr "Utiliser des bibliothèques JS traditionnelles comme modules"

#: ../../guides/javascript.rst:203
msgid ""
"It's possible to support JavaScript libraries that do not declare themselves"
" as AMD modules (i.e. they declare global variables instead) if you shim "
"them by setting ``exports`` and ``deps`` in ``elgg_define_js``:"
msgstr ""
"Il est possible de prendre en charge les bibliothèques JavaScript qui ne se "
"déclarent pas comme modules AMD (c’est-à-dire qu’elles déclarent plutôt des "
"variables globales) si vous les intégrez via des shims en définissant "
"``exports`` et ``deps`` dans ``elgg_define_js`` :"

#: ../../guides/javascript.rst:215
msgid "When this is requested client-side:"
msgstr "Lorsque cela est demandé côté client :"

#: ../../guides/javascript.rst:217
msgid "The jQuery module is loaded, as it's marked as a dependency."
msgstr "Le module jQuery est chargé, car il est marqué comme une dépendance."

#: ../../guides/javascript.rst:218
msgid ""
"``https://elgg.example.org/cache/125235034/views/default/jquery.form.js`` is"
" loaded and executed."
msgstr ""
"``https://elgg.example.org/cache/125235034/views/default/jquery.form.js`` "
"est chargé et exécuté."

#: ../../guides/javascript.rst:219
msgid "The value of ``window.jQuery.fn.ajaxForm`` is returned by the module."
msgstr ""
"La valeur de ``window.jQuery.fn.ajaxForm`` est renvoyée par le module."

#: ../../guides/javascript.rst:221
msgid ""
"Calls to ``elgg_define_js()`` must be in an ``init, system`` event handler."
msgstr ""
"Les appels à ``elgg_define_js()`` doivent être faits dans un gestionnaire "
"d’événement ``init, system``."

#: ../../guides/javascript.rst:224
msgid "Some things to note"
msgstr "Quelques points à noter"

#: ../../guides/javascript.rst:226
msgid ""
"Do not use ``elgg.provide()`` anymore nor other means to attach code to "
"``elgg`` or other global objects. Use modules."
msgstr ""
"N’utilisez plus ``elgg.provide()`` ni d’autres moyens pour attacher du code "
"à ``elgg`` ou à d’autres objets globaux. Utilisez des modules."

#: ../../guides/javascript.rst:228
msgid "Return the value of the module instead of adding to a global variable."
msgstr ""
"Renvoyez la valeur du module au lieu de l’ajouter à une variable globale."

#: ../../guides/javascript.rst:229
msgid ""
"Static (.js,.css,etc.) files are automatically minified and cached by Elgg's"
" simplecache system."
msgstr ""
"Les fichiers statiques (.js, .css,etc.) sont automatiquement minifiés et mis"
" en cache par le système simplecache de Elgg."

#: ../../guides/javascript.rst:230
msgid ""
"The configuration is also cached in simplecache, and should not rely on "
"user-specific values like ``get_current_language()``."
msgstr ""
"La configuration est également mise en cache dans le simplecache et ne doit "
"pas s’appuyer sur des valeurs spécifiques à l’utilisateur comme "
"``get_current_language()``."

#: ../../guides/javascript.rst:234
msgid "Modules provided with Elgg"
msgstr "Modules fournis avec Elgg"

#: ../../guides/javascript.rst:237
msgid "Module ``elgg``"
msgstr "Module ``elgg``"

#: ../../guides/javascript.rst:239
msgid "``elgg.echo()``"
msgstr "``elgg.echo()``"

#: ../../guides/javascript.rst:241
msgid "Translate interface text"
msgstr "Traduisez le texte de l’interface"

#: ../../guides/javascript.rst:248
msgid "``elgg.system_message()``"
msgstr "``elgg.system_message()``"

#: ../../guides/javascript.rst:250
msgid "Display a status message to the user."
msgstr "Affichez un message d’état à l’utilisateur."

#: ../../guides/javascript.rst:257
msgid "``elgg.register_error()``"
msgstr "``elgg.register_error()``"

#: ../../guides/javascript.rst:259
msgid "Display an error message to the user."
msgstr "Affiche un message d’erreur à l’utilisateur."

#: ../../guides/javascript.rst:266
msgid "``elgg.normalize_url()``"
msgstr "``elgg.normalize_url()``"

#: ../../guides/javascript.rst:268
msgid "Normalize a URL relative to the elgg root:"
msgstr "Normalise une URL par rapport à la racine elgg :"

#: ../../guides/javascript.rst:275
msgid "``elgg.forward()``"
msgstr "``elgg.forward()``"

#: ../../guides/javascript.rst:277
msgid "Redirect to a new page."
msgstr "Redirige vers une nouvelle page."

#: ../../guides/javascript.rst:283
msgid "This function automatically normalizes the URL."
msgstr "Cette fonction normalise automatiquement l’URL."

#: ../../guides/javascript.rst:286
msgid "``elgg.parse_url()``"
msgstr "``elgg.parse_url()``"

#: ../../guides/javascript.rst:288
msgid "Parse a URL into its component parts:"
msgstr "Analyse et découpe une URL en ses composants :"

#: ../../guides/javascript.rst:301
msgid "``elgg.get_page_owner_guid()``"
msgstr "``elgg.get_page_owner_guid()``"

#: ../../guides/javascript.rst:303
msgid "Get the GUID of the current page's owner."
msgstr "Récupère le GUID du propriétaire de la page actuelle."

#: ../../guides/javascript.rst:306
msgid "``elgg.register_hook_handler()``"
msgstr "``elgg.register_hook_handler()``"

#: ../../guides/javascript.rst:308
msgid "Register a hook handler with the event system."
msgstr "Enregistre un gestionnaire de hook avec le système d’événements."

#: ../../guides/javascript.rst:310
msgid "``elgg.trigger_hook()``"
msgstr "``elgg.trigger_hook()``"

#: ../../guides/javascript.rst:312
msgid "Emit a hook event in the event system."
msgstr "Émet un hook d'événement dans le système d’événements."

#: ../../guides/javascript.rst:319
msgid "``elgg.security.refreshToken()``"
msgstr "``elgg.security.refreshToken()``"

#: ../../guides/javascript.rst:321
msgid "Force a refresh of all XSRF tokens on the page."
msgstr "Forcer le rafraîchissement de tous les jetons XSRF sur la page."

#: ../../guides/javascript.rst:323
msgid "This is automatically called every 5 minutes by default."
msgstr "Par défaut, ceci est automatiquement appelé toutes les 5 minutes."

#: ../../guides/javascript.rst:325
msgid "The user will be warned if their session has expired."
msgstr "L’utilisateur sera averti si sa session a expiré."

#: ../../guides/javascript.rst:328
msgid "``elgg.security.addToken()``"
msgstr "``elgg.security.addToken()``"

#: ../../guides/javascript.rst:330
msgid "Add a security token to an object, URL, or query string:"
msgstr ""
"Ajoute un jeton de sécurité à un objet, une URL ou une chaîne de requête :"

#: ../../guides/javascript.rst:348
msgid "``elgg.get_logged_in_user_entity()``"
msgstr "``elgg.get_logged_in_user_entity()``"

#: ../../guides/javascript.rst:350
msgid "Returns the logged in user as an JS ElggUser object."
msgstr "Renvoie l’utilisateur connecté sous le forme d'un objet JS ElggUser."

#: ../../guides/javascript.rst:353
msgid "``elgg.get_logged_in_user_guid()``"
msgstr "``elgg.get_logged_in_user_guid()``"

#: ../../guides/javascript.rst:355
msgid "Returns the logged in user's guid."
msgstr "Renvoie le GUID de l’utilisateur connecté."

#: ../../guides/javascript.rst:358
msgid "``elgg.is_logged_in()``"
msgstr "``elgg.is_logged_in()``"

#: ../../guides/javascript.rst:360
msgid "True if the user is logged in."
msgstr "True si l’utilisateur est connecté."

#: ../../guides/javascript.rst:363
msgid "``elgg.is_admin_logged_in()``"
msgstr "``elgg.is_admin_logged_in()``"

#: ../../guides/javascript.rst:365
msgid "True if the user is logged in and is an admin."
msgstr "True si l’utilisateur est connecté et est administrateur."

#: ../../guides/javascript.rst:368
msgid "``elgg.config.get_language()``"
msgstr "``elgg.config.get_language()``"

#: ../../guides/javascript.rst:370
msgid "Get the current page's language."
msgstr "Récupère la langue de la page actuelle."

#: ../../guides/javascript.rst:373
msgid "There are a number of configuration values set in the elgg object:"
msgstr ""
"Un certain nombre de valeurs de configuration sont définies dans l’objet "
"elgg :"

#: ../../guides/javascript.rst:389
msgid "Module ``elgg/Ajax``"
msgstr "Module ``elgg/Ajax``"

#: ../../guides/javascript.rst:391
msgid "See the :doc:`ajax` page for details."
msgstr "Voir la page :doc:`ajax` pour plus de détails."

#: ../../guides/javascript.rst:394
msgid "Module ``elgg/spinner``"
msgstr "Module ``elgg/spinner``"

#: ../../guides/javascript.rst:396
msgid ""
"The ``elgg/spinner`` module can be used to create an loading indicator fixed"
" to the top of the window. This can be used to give users feedback that the "
"system is performing a longer running task. Using ajax features from "
"``elgg/Ajax`` will do this by default. You can also use it in your own code."
msgstr ""
"Le module ``elgg/spinner`` peut être utilisé pour créer un indicateur de "
"chargement fixé en haut de la fenêtre. Cela peut être utilisé pour indiquer "
"aux utilisateurs que le système exécute une tâche plus longue. L'utilisation"
" des fonctionnalités ajax de ``elgg/Ajax`` le fait par défaut. Vous pouvez "
"également l'utiliser dans votre propre code."

#: ../../guides/javascript.rst:409
msgid "Module ``elgg/popup``"
msgstr "Module ``elgg/popup``"

#: ../../guides/javascript.rst:411
msgid ""
"The ``elgg/popup`` module can be used to display an overlay positioned "
"relatively to its anchor (trigger)."
msgstr ""
"Le module ``elgg/popup`` peut être utilisé pour afficher une superposition "
"(overlay) placée relativement à son ancre (déclencheur)."

#: ../../guides/javascript.rst:413
msgid ""
"The ``elgg/popup`` module is loaded by default, and binding a popup module "
"to an anchor is as simple as adding ``rel=\"popup\"`` attribute and defining"
" target module with a ``href`` (or ``data-href``) attribute. Popup module "
"positioning can be defined with ``data-position`` attribute of the trigger "
"element."
msgstr ""
"Le module ``elgg/popup`` est chargé par défaut, et lier un module popup à "
"une ancre est aussi simple que d’ajouter l’attribut ``rel=\"popup\"`` et de "
"définir le module cible avec un attribut ``href`` (ou ``data-href``). Le "
"positionnement du module popup peut être défini avec l’attribut ``data-"
"position`` de l’élément déclencheur."

#: ../../guides/javascript.rst:446
msgid ""
"The ``elgg/popup`` module allows you to build out more complex UI/UX "
"elements. You can open and close popup modules programmatically:"
msgstr ""
"Le module ``elgg/popup`` vous permet de créer des éléments d’interface "
"utilisateur/UX plus complexes. Vous pouvez ouvrir et fermer les modules "
"contextuels via le code :"

#: ../../guides/javascript.rst:468
msgid ""
"You can use ``getOptions, ui.popup`` plugin hook to manipulate the position "
"of the popup before it has been opened. You can use jQuery ``open`` and "
"``close`` events to manipulate popup module after it has been opened or "
"closed."
msgstr ""
"Vous pouvez utiliser le hook plugin ``getOptions, ui.popup`` pour manipuler "
"la position du popup avant qu’il ne soit ouvert. Vous pouvez utiliser les "
"événements jQuery ``open`` et ``close`` pour manipuler le module popup après"
" son ouverture ou sa fermeture."

#: ../../guides/javascript.rst:495
msgid ""
"Open popup modules will always contain the following data that can be "
"accessed via ``$.data()``:"
msgstr ""
"Les modules popups ouverts contiennent toujours les données suivantes "
"auxquelles on peut accéder via ``$.data()`` :"

#: ../../guides/javascript.rst:497
msgid "``trigger`` - jQuery element used to trigger the popup module to open"
msgstr ""
"``trigger`` - élément jQuery utilisé pour déclencher l’ouverture du module "
"popup"

#: ../../guides/javascript.rst:498
msgid ""
"``position`` - An object defining popup module position that was passed to "
"``$.position()``"
msgstr ""
"``position`` - Objet définissant la position du module popup qui a été passé"
" à ``$.position()``"

#: ../../guides/javascript.rst:500
msgid ""
"By default, ``target`` element will be appended to ``$('body')`` thus "
"altering DOM hierarchy. If you need to preserve the DOM position of the "
"popup module, you can add ``.elgg-popup-inline`` class to your trigger."
msgstr ""
"Par défaut, l’élément ``target`` sera ajouté à ``$('body')``, modifiant "
"ainsi la hiérarchie DOM. Si vous devez conserver la position DOM du module "
"popup, vous pouvez ajouter la classe ``.elgg-popup-inline`` à votre "
"déclencheur."

#: ../../guides/javascript.rst:503
msgid "Module ``elgg/widgets``"
msgstr "Module ``elgg/widgets``"

#: ../../guides/javascript.rst:505
msgid ""
"Plugins that load a widget layout via Ajax should initialize via this "
"module:"
msgstr ""
"Plugins qui chargent une disposition widget via Ajax devraient s'initialiser"
" via ce module :"

#: ../../guides/javascript.rst:514
msgid "Module ``elgg/lightbox``"
msgstr "Module ``elgg/lightbox``"

#: ../../guides/javascript.rst:516
msgid ""
"Elgg is distributed with the Colorbox jQuery library. Please go to "
"http://www.jacklmoore.com/colorbox for more information on the options of "
"this lightbox."
msgstr ""
"Elgg est distribué avec la bibliothèque jQuery Colorbox. Veuillez consulter "
"http://www.jacklmoore.com/colorbox pour plus d’informations sur les options "
"de cette lightbox."

#: ../../guides/javascript.rst:518
msgid "Use the following classes to bind your anchor elements to a lightbox:"
msgstr ""
"Utilisez les classes suivantes pour lier vos éléments d’ancrage à des boîtes"
" surgissantes lightbox :"

#: ../../guides/javascript.rst:520
msgid "``elgg-lightbox`` - loads an HTML resource"
msgstr "``elgg-lightbox`` - charge une ressource HTML"

#: ../../guides/javascript.rst:521
msgid ""
"``elgg-lightbox-photo`` - loads an image resource (should be used to avoid "
"displaying raw image bytes instead of an ``img`` tag)"
msgstr ""
"``elgg-lightbox-photo`` - charge une ressource de type image (devrait être "
"utilisé pour éviter d’afficher les octets d’image bruts au lieu de la balise"
" ``img``)"

#: ../../guides/javascript.rst:522
msgid ""
"``elgg-lightbox-inline`` - displays an inline HTML element in a lightbox"
msgstr ""
"``elgg-lightbox-inline`` - affiche un élément HTML en ligne dans une boîte "
"surgissante lightbox"

#: ../../guides/javascript.rst:523
msgid "``elgg-lightbox-iframe`` - loads a resource in an ``iframe``"
msgstr "``elgg-lightbox-iframe`` - charge une ressource dans une ``iframe``"

#: ../../guides/javascript.rst:525
msgid ""
"You may apply colorbox options to an individual ``elgg-lightbox`` element by"
" setting the attribute ``data-colorbox-opts`` to a JSON settings object."
msgstr ""
"Vous pouvez appliquer des options de colorbox à un élément individuel "
"``elgg-lightbox`` en définissant l’attribut ``data-colorbox-opts`` avec un "
"objet de paramètres JSON."

#: ../../guides/javascript.rst:538
msgid ""
"Use ``\"getOptions\", \"ui.lightbox\"`` plugin hook to filter options passed"
" to ``$.colorbox()`` whenever a lightbox is opened."
msgstr ""
"Utilisez le hook plugin ``\"getOptions\", \"ui.lightbox\"`` pour filtrer les"
" options passées à ``$.colorbox()`` chaque fois qu’une lightbox est ouverte."

#: ../../guides/javascript.rst:540
msgid ""
"``elgg/lightbox`` AMD module should be used to open and close the lightbox "
"programmatically:"
msgstr ""
"Le module AMD ``elgg/lightbox`` devrait être utilisé pour ouvrir et fermer "
"la lightbox de manière promgrammatique :"

#: ../../guides/javascript.rst:558
msgid ""
"To support gallery sets (via ``rel`` attribute), you need to bind colorbox "
"directly to a specific selector (note that this will ignore ``data-colorbox-"
"opts`` on all elements in a set):"
msgstr ""
"Pour prendre en charge des ensembles de galerie (via l’attribut ``rel``), "
"vous devez lier colorbox directement à un sélecteur spécifique (notez que "
"cela ignorera ``data-colorbox-opts`` sur tous les éléments d’un ensemble) :"

#: ../../guides/javascript.rst:570
msgid "You can also resize the lightbox programmatically if needed:"
msgstr ""
"Vous pouvez également redimensionner la lightbox via le code si nécessaire :"

#: ../../guides/javascript.rst:580
msgid ""
"If you wish your content to be loaded by the ``elgg/Ajax`` AMD module, which"
" automaticly loads the JS dependencies, you can pass the option "
"``ajaxLoadWithDependencies``"
msgstr ""
"Si vous souhaitez que votre contenu soit chargé par le module AMD "
"``elgg/Ajax``, qui charge automatiquement les dépendances JS, vous pouvez "
"passer l'option ``ajaxLoadWithDependencies``"

#: ../../guides/javascript.rst:592
msgid "Module ``elgg/ckeditor``"
msgstr "Module ``elgg/ckeditor``"

#: ../../guides/javascript.rst:594
msgid ""
"This module can be used to add WYSIWYG editor to a textarea (requires "
"``ckeditor`` plugin to be enabled). Note that WYSIWYG will be automatically "
"attached to all instances of ``.elgg-input-longtext``."
msgstr ""
"Ce module peut être utilisé pour ajouter un éditeur WYSIWYG à un textarea "
"(nécessite l’activation du plugin ``ckeditor``). Notez que le WYSIWYG sera "
"automatiquement attaché à toutes les instances de ``.elgg-input-longtext``."

#: ../../guides/javascript.rst:619
msgid "Inline tabs component"
msgstr "Composant d’onglets en ligne"

#: ../../guides/javascript.rst:621
msgid ""
"Inline tabs component fires an ``open`` event whenever a tabs is open and, "
"in case of ajax tabs, finished loading:"
msgstr ""
"Le composant d'onglets en ligne déclenche un événement ``open`` chaque fois "
"qu’un onglet est ouvert et, en cas d’onglets ajax, une fois le chargement "
"terminé :"

#: ../../guides/javascript.rst:642
msgid "Traditional scripts"
msgstr "Scripts traditionnels"

#: ../../guides/javascript.rst:644
msgid ""
"Although we highly recommend using AMD modules, and there is no Elgg API for"
" loading the scripts, you can register scripts in a hook handler to add "
"elements to the head links;"
msgstr ""
"Bien que nous recommandions fortement d’utiliser des modules AMD et qu’il "
"n’existe pas d’API Elgg pour le chargement des scripts, vous pouvez "
"enregistrer des scripts dans un gestionnaire de hook pour ajouter des "
"éléments aux liens de l'entête ;"

#: ../../guides/javascript.rst:652
msgid "Hooks"
msgstr "Hooks"

#: ../../guides/javascript.rst:654
msgid ""
"The JS engine has a hooks system similar to the PHP engine's plugin hooks: "
"hooks are triggered and plugins can register functions to react or alter "
"information. There is no concept of Elgg events in the JS engine; everything"
" in the JS engine is implemented as a hook."
msgstr ""
"Le moteur JS dispose d’un système de hooks similaire aux hooks de plugin du "
"moteur PHP : des hooks sont déclenchés et des plugins peuvent enregistrer "
"des fonctions pour réagir ou pour modifier l’information. Il n’y a pas de "
"concept d’événement Elgg dans le moteur JS ; tout dans le moteur JS est "
"implémenté sous forme de hook."

#: ../../guides/javascript.rst:657
msgid "Registering hook handlers"
msgstr "Enregistrer des gestionnaires de hook"

#: ../../guides/javascript.rst:659
msgid ""
"Handler functions are registered using ``elgg.register_hook_handler()``. "
"Multiple handlers can be registered for the same hook."
msgstr ""
"Les fonctions de gestionnaire sont enregistrées à l’aide de "
"``elgg.register_hook_handler()``. Plusieurs gestionnaires peuvent être "
"enregistrés pour le même hook."

#: ../../guides/javascript.rst:662
msgid "The handler function"
msgstr "La fonction de gestion"

#: ../../guides/javascript.rst:664
msgid "The handler will receive 4 arguments:"
msgstr "Le gestionnaire va recevoir 4 arguments :"

#: ../../guides/javascript.rst:666
msgid "**hook** - The hook name"
msgstr "**hook** - Le nom du hook"

#: ../../guides/javascript.rst:667
msgid "**type** - The hook type"
msgstr "**type** - Le type de hook"

#: ../../guides/javascript.rst:668
msgid "**params** - An object or set of parameters specific to the hook"
msgstr "**params** - Un objet ou un ensemble de paramètres propres au hook"

#: ../../guides/javascript.rst:669
msgid "**value** - The current value"
msgstr "**value** - La valeur actuelle"

#: ../../guides/javascript.rst:671
msgid ""
"The ``value`` will be passed through each hook. Depending on the hook, "
"callbacks can simply react or alter data."
msgstr ""
"La valeur ``value`` passera par chaque hook. Selon le hook, les fonctions de"
" rappel peuvent simplement réagir ou modifier les données."

#: ../../guides/javascript.rst:674
msgid "Triggering custom hooks"
msgstr "Déclencher des hooks personnalisés"

#: ../../guides/javascript.rst:676
msgid "Plugins can trigger their own hooks:"
msgstr "Les plugins peuvent déclencher leurs propres hooks :"

#: ../../guides/javascript.rst:685
msgid "Available hooks"
msgstr "Hooks disponibles"

#: ../../guides/javascript.rst:688
msgid "**init, system**"
msgstr "**init, system**"

#: ../../guides/javascript.rst:688
msgid ""
"Plugins should register their init functions for this hook. It is fired "
"after Elgg's JS is loaded and all plugin boot modules have been initialized."
msgstr ""
"Les plugins devraient enregistrer leurs fonctions d'initialisation via ce "
"hook. Il est déclenché après le chargement que les JS de Elgg sont chargés "
"et une fois que tous les modules de démarrage (boot) des plugins sont "
"initialisés."

#: ../../guides/javascript.rst:691
msgid "**getOptions, ui.popup**"
msgstr "**getOptions, ui.popup**"

#: ../../guides/javascript.rst:691
msgid ""
"This hook is fired for pop up displays (``\"rel\"=\"popup\"``) and allows "
"for customized placement options."
msgstr ""
"Ce hook est déclenché pour les affichages surgissants "
"(``\"rel\"=\"popup\"``) et permet des options de placement personnalisées."

#: ../../guides/javascript.rst:694
msgid "**getOptions, ui.lightbox**"
msgstr "**getOptions, ui.lightbox**"

#: ../../guides/javascript.rst:694
msgid "This hook can be used to filter options passed to ``$.colorbox()``"
msgstr ""
"Ce hook peut être utilisé pour filtrer les options transmises à "
"``$.colorbox()``"

#: ../../guides/javascript.rst:697
msgid "**config, ckeditor**"
msgstr "**config, ckeditor**"

#: ../../guides/javascript.rst:697
msgid ""
"This filters the CKEditor config object. Register for this hook in a plugin "
"boot module. The defaults can be seen in the module "
"``elgg/ckeditor/config``."
msgstr ""
"Cela filtre l’objet de configuration CKEditor. Enregsitrez un gestionnaire "
"pour ce hook dans un module de démarrage du plugin. Les valeurs par défaut "
"sont visibles dans le module ``elgg/ckeditor/config``."

#: ../../guides/javascript.rst:700
msgid "**prepare, ckeditor**"
msgstr "**prepare, ckeditor**"

#: ../../guides/javascript.rst:700
msgid ""
"This hook can be used to decorate ``CKEDITOR`` global. You can use this hook"
" to register new CKEditor plugins and add event bindings."
msgstr ""
"Ce crochet peut être utilisé pour modifier globalement ``CKEDITOR``. Vous "
"pouvez utiliser ce hook pour enregistrer de nouveaux plugins CKEditor et "
"ajouter des liaisons d’événements (event bindings)."

#: ../../guides/javascript.rst:704
msgid "**ajax_request_data, \\***"
msgstr "**ajax_request_data, \\***"

#: ../../guides/javascript.rst:703
msgid ""
"This filters request data sent by the ``elgg/Ajax`` module. See :doc:`ajax` "
"for details. The hook must check if the data is a plain object or an "
"instanceof ``FormData`` to piggyback the values using correct API."
msgstr ""
"Ceci filtre les demandes de données envoyées par le module ``elgg/Ajax``. "
"Voir :doc:`ajax`` pour plus de détails. Le hook doit vérifier si les données"
" sont un objet simple ou une instance de ``FormData`` pour récupérer les "
"valeurs à l’aide de la bonne API."

#: ../../guides/javascript.rst:707
msgid "**ajax_response_data, \\***"
msgstr "**ajax_response_data, \\***"

#: ../../guides/javascript.rst:707
msgid ""
"This filters the response data returned to users of the ``elgg/Ajax`` "
"module. See :doc:`ajax` for details."
msgstr ""
"Ceci filtre les données de réponse retournées aux utilisateurs du module "
"``elgg/Ajax``. Voir :doc:`ajax` pour plus de détails."

#: ../../guides/javascript.rst:710
msgid "**insert, editor**"
msgstr "**insert, editor**"

#: ../../guides/javascript.rst:710
msgid ""
"This hook is triggered by the embed plugin and can be used to filter content"
" before it is inserted into the textarea. This hook can also be used by "
"WYSIWYG editors to insert content using their own API (in this case the "
"handler should return ``false``). See ckeditor plugin for an example."
msgstr ""
"Ce hook est déclenché par le plugin embed et peut être utilisé pour filtrer "
"le contenu avant qu’il ne soit inséré dans le textarea. Ce hook peut "
"également être utilisé par les éditeurs WYSIWYG pour insérer du contenu à "
"l’aide de leur propre API (dans ce cas, le gestionnaire devrait renvoyer "
"``false``). Voir le plugin ckeditor pour un exemple."

#: ../../guides/javascript.rst:713
msgid "Third-party assets"
msgstr "Actifs tierce-partie (assets)"

#: ../../guides/javascript.rst:715
msgid ""
"We recommend managing third-party scripts and styles with Composer. Elgg's "
"composer.json is configured to install dependencies from the **NPM** or "
"**Yarn** package repositories using Composer command-line tool. Core "
"configuration installs the assets from `Asset Packagist <https://asset-"
"packagist.org>`_ (a repository managed by the Yii community)."
msgstr ""
"Nous vous recommandons de gérer des scripts et des styles tiers avec "
"Composer. Le composer.json de Elgg est configuré pour installer des "
"dépendances à partir des référentiels de packages **NPM** ou **Yarn** à "
"l’aide de l’outil de ligne de commande Composer. La configuration de base "
"installe les actifs à partir de `Asset Packagist <https://asset-"
"packagist.org>``_ (un référentiel géré par la communauté Yii)."

#: ../../guides/javascript.rst:720
msgid ""
"Alternatively, you can install ``fxp/composer-asset-plugin`` globally to "
"achieve the same results, but the installation and update takes much longer."
msgstr ""
"Alternativement, vous pouvez installer ``fxp/composer-asset-plugin`` "
"globalement pour obtenir les mêmes résultats, mais l’installation et la mise"
" à jour prennent beaucoup plus de temps."

#: ../../guides/javascript.rst:723
msgid ""
"For example, to include jQuery, you could run the following Composer "
"commands:"
msgstr ""
"Par exemple, pour inclure jQuery, vous pouvez exécuter les commandes "
"composer suivantes :"

#: ../../guides/javascript.rst:730
msgid ""
"If you are using a starter-project, or pulling in Elgg as a composer "
"dependency via a custom composer project, update your ``composer.json`` with"
" the following configuration:"
msgstr ""
"Si vous utilisez un projet de démarrage (starter-project) ou que vous "
"utilisez Elgg sous forme de dépendance d'un projet composer personnalisé, "
"mettez à jour votre ``composer.json`` avec la configuration suivante :"

#: ../../guides/javascript.rst:749
msgid ""
"You can find additional information at `Asset Packagist <https://asset-"
"packagist.org>`_ website."
msgstr ""
"Vous pouvez trouver des informations supplémentaires sur le site de `Asset "
"Packagist <https://asset-packagist.org>`_."

#: ../../guides/menus.rst:2 ../../guides/services.rst:12
msgid "Menus"
msgstr "Menus"

#: ../../guides/menus.rst:4
msgid "Elgg contains helper code to build menus throughout the site."
msgstr ""
"Elgg proposer des fonctions pratiques pour créer des menus sur l’ensemble du"
" site."

#: ../../guides/menus.rst:6
msgid ""
"Every single menu requires a name, as does every single menu item. These are"
" required in order to allow easy overriding and manipulation, as well as to "
"provide hooks for theming."
msgstr ""
"Chaque menu a besoin d'un nom, tout comme chaque élément de menu. Ceux-ci "
"sont nécessaires afin de faciliter leur remplacement ou leur leur "
"modification, ainsi que pour fournir des hooks pour le thème."

#: ../../guides/menus.rst:15
msgid "Basic usage"
msgstr "Utilisation simple"

#: ../../guides/menus.rst:17
msgid "Basic functionalities can be achieved through these two functions:"
msgstr ""
"Les fonctionnalités de base peuvent être réalisées grâce à ces deux "
"fonctions :"

#: ../../guides/menus.rst:19
msgid "``elgg_register_menu_item()`` to add an item to a menu"
msgstr "``elgg_register_menu_item()`` pour ajouter un élément à un menu"

#: ../../guides/menus.rst:20
msgid "``elgg_unregister_menu_item()`` to remove an item from a menu"
msgstr "``elgg_unregister_menu_item()`` pour supprimer un élément d’un menu"

#: ../../guides/menus.rst:22
msgid "You normally want to call them from your plugin's init function."
msgstr ""
"Vous voudrez normalement les appeler à partir de la fonction init de votre "
"plugin."

#: ../../guides/menus.rst:25 ../../guides/menus.rst:76
msgid "Examples"
msgstr "Exemples"

#: ../../guides/menus.rst:42
msgid "Admin menu"
msgstr "Menu admin"

#: ../../guides/menus.rst:44
msgid ""
"You can also register ``page`` menu items to the admin backend menu. When "
"registering for the admin menu you can set the context of the menu items to "
"``admin`` so the menu items only show in the ``admin`` context. There are 3 "
"default sections to add your menu items to."
msgstr ""
"Vous pouvez également inscrire des éléments du menu ``page`` au menu de "
"l'interface d’administration. Lorsque vous inscrivez des éléments au menu "
"d'administration, vous pouvez définir le contexte des éléments de menu sur "
"``admin`` afin que les éléments du menu ne s’affichent que dans le contexte "
"``admin``. Il existe 3 sections par défaut auxquelles ajouter vos éléments "
"de menu."

#: ../../guides/menus.rst:47
msgid ""
"``administer`` for daily tasks, usermanagement and other actionable tasks"
msgstr ""
"``administer`` pour les tâches quotidiennes, la gestion des utilisateurs et "
"d’autres tâches concrètes"

#: ../../guides/menus.rst:48
msgid ""
"``configure`` for settings, configuration and utilities that configure stuff"
msgstr ""
"``configure`` pour des paramètres, des éléments de configuration et des "
"utilitaires qui configurent diverses choses"

#: ../../guides/menus.rst:49
msgid "``information`` for statistics, overview of information or status"
msgstr ""
"``information`` pour des statistiques, une vue d’ensemble d'informations ou "
"de statuts"

#: ../../guides/menus.rst:53
msgid "Advanced usage"
msgstr "Utilisation avancée"

#: ../../guides/menus.rst:55
msgid ""
"You can get more control over menus by using :doc:`plugin hooks "
"</design/events>` and the public methods provided by the ``ElggMenuItem`` "
"class."
msgstr ""
"Vous pouvez obtenir plus de contrôle sur les menus en utilisant les "
":doc:`hooks plugin</design/events>` et les méthodes publiques fournies par "
"la classe ``ElggMenuItem``."

#: ../../guides/menus.rst:61
msgid "There are three hooks that can be used to modify a menu:"
msgstr ""
"Il existe trois hooks qui peuvent être utilisés pour modifier un menu :"

#: ../../guides/menus.rst:59
msgid ""
"``'parameters', 'menu:<menu name>'`` to add or modify parameters use for the"
" menu building (eg. sorting)"
msgstr ""
"``'parameters', 'menu:'``  pour ajouter ou modifier les paramètres utilisés "
"pour construire le menu (par exemple l'ordre de tri)"

#: ../../guides/menus.rst:60
msgid ""
"``'register', 'menu:<menu name>'`` to add or modify items (especially in "
"dynamic menus)"
msgstr ""
"``'register', 'menu:'`` pour ajouter ou modifier des éléments (en "
"particulier dans les menus dynamiques)"

#: ../../guides/menus.rst:61
msgid ""
"``'prepare', 'menu:<menu name>'`` to modify the structure of the menu before"
" it is displayed"
msgstr ""
"``'prepare', 'menu:'`` pour modifier la structure du menu avant qu’il ne "
"soit affiché"

#: ../../guides/menus.rst:63
msgid ""
"When you register a plugin hook handler, replace the ``<menu name>`` part "
"with the internal name of the menu."
msgstr ""
"Lorsque vous enregistrez un gestionnaire de hook, remplacez la partie "
"``<menu name>`` par le nom interne du menu."

#: ../../guides/menus.rst:66
msgid ""
"The third parameter passed into a menu handler contains all the menu items "
"that have been registered so far by Elgg core and other enabled plugins. In "
"the handler we can loop through the menu items and use the class methods to "
"interact with the properties of the menu item."
msgstr ""
"Le troisième paramètre passé au gestionnaire de menu contient tous les "
"éléments de menu qui ont été enregistrés jusqu’à présent par le noyau Elgg "
"et d’autres plugins activés. Dans le gestionnaire, nous pouvons faire une "
"boucle à travers les éléments de menu et utiliser les méthodes de classe "
"pour interagir avec les propriétés de l’élément de menu."

#: ../../guides/menus.rst:71
msgid ""
"In some cases a more granular version of the ``register`` and ``prepare`` "
"menu hooks exist with ``menu:<menu name>:<type>:<subtype>``, this applies "
"when the menu gets provided an ``\\ElggEntity`` in ``$params['entity']`` or "
"an ``\\ElggAnnotation`` in ``$params['annotation']`` or an "
"``\\ElggRelationship`` in ``$params['relationship']``."
msgstr ""
"Dans certains cas, une version plus granulaire des hooks de menu "
"``register`` et ``prepare`` existe avec ``menu:<menu "
"name>:<type>:<subtype>``, cela s'applique lorsque le menu reçoit un "
"``\\ElggEntity`` dans `` $params['entity']`` ou un ``\\ElggAnnotation`` dans"
" ``$params['annotation']`` ou un ``\\ElggRelationship`` dans "
"``$params['relationship']``."

#: ../../guides/menus.rst:78
msgid ""
"**Example 1:** Change the URL for menu item called \"albums\" in the "
"``owner_block`` menu:"
msgstr ""
"**Exemple 1 :** Modifier l’URL de l’élément de menu appelé ``albums`` dans "
"le menu ``owner_block`` :"

#: ../../guides/menus.rst:117
msgid "**Example 2:** Modify the ``entity`` menu for the ``ElggBlog`` objects"
msgstr ""
"**Exemple 2 :** Modifier le menu ``entity`` pour les objets ``ElggBlog``"

#: ../../guides/menus.rst:116
msgid "Remove the thumb icon"
msgstr "Supprimer l’icône du pouce"

#: ../../guides/menus.rst:117
msgid "Change the \"Edit\" text into a custom icon"
msgstr "Modifier le texte ``Modifier`` en une icône personnalisée"

#: ../../guides/menus.rst:155
msgid "Creating a new menu"
msgstr "Créer un nouveau menu"

#: ../../guides/menus.rst:157
msgid ""
"Elgg provides multiple different menus by default. Sometimes you may however"
" need some menu items that don't fit in any of the existing menus. If this "
"is the case, you can create your very own menu with the ``elgg_view_menu()``"
" function. You must call the function from the view, where you want to menu "
"to be displayed."
msgstr ""
"Elgg fournit plusieurs menus différents par défaut. Vous pouvez cependant "
"avoir besoin de certains éléments de menu qui ne figurent pas dans l’un des "
"menus existants. Si tel est le cas, vous pouvez créer votre propre menu avec"
" la fonction ``elgg_view_menu()``. Vous devez appeler la fonction à partir "
"de la vue dans laquelle vous souhaitez afficher le menu."

#: ../../guides/menus.rst:163
msgid ""
"**Example:** Display a menu called \"my_menu\" that displays it's menu items"
" in alphapetical order:"
msgstr ""
"**Exemple:** Affichez un menu appelé « mon_menu » qui affiche ses éléments "
"de menu dans l’ordre alphabétique :"

#: ../../guides/menus.rst:171
msgid "You can now add new items to the menu like this:"
msgstr ""
"Vous pouvez maintenant ajouter de nouveaux éléments au menu comme ceci :"

#: ../../guides/menus.rst:182
msgid ""
"Furthermore it is now possible to modify the menu using the hooks "
"``'register', 'menu:my_menu'`` and ``'prepare', 'menu:my_menu'``."
msgstr ""
"En outre, il est maintenant possible de modifier le menu en utilisant les "
"hooks ``'register', 'menu:mon_menu'`` et ``'prepare', 'menu:mon_menu'``."

#: ../../guides/menus.rst:186
msgid "Child Dropdown Menus"
msgstr "Sous-menus déroulants"

#: ../../guides/menus.rst:188
msgid ""
"Child menus can be configured using ``child_menu`` factory option on the "
"parent item."
msgstr ""
"Les sous-menus peuvent être configurés à l’aide de l’option ``child_menu`` "
"sur l’élément parent."

#: ../../guides/menus.rst:190
msgid ""
"``child_menu`` options array accepts ``display`` parameter, which can be "
"used to set the child menu to open as ``dropdown`` or be displayed via "
"``toggle``. All other key value pairs will be passed as attributes to the "
"``ul`` element."
msgstr ""
"Le tableau d’options ``child_menu`` accepte le paramètre ``display``, qui "
"peut être utilisé pour définir le menu enfant à ouvrir sous forme de "
"``dropdown`` (liste déroulante) ou être affiché via ``toggle`` (bascule). "
"Toutes les autres paires de clefs/valeurs seront transmises en tant "
"qu’attributs à l’élément ``ul``."

#: ../../guides/menus.rst:231
msgid "Theming"
msgstr "Création de thèmes"

#: ../../guides/menus.rst:233
msgid ""
"The menu name, section names, and item names are all embedded into the HTML "
"as CSS classes (normalized to contain only hyphens, rather that underscores "
"or colons). This increases the size of the markup slightly but provides "
"themers with a high degree of control and flexibility when styling the site."
msgstr ""
"Le nom du menu, les noms de sections et les noms des éléments sont tous "
"intégrés dans le HTML sous forme de classes CSS (normalisées pour ne "
"contenir que des traits d’union, plutôt que des soulignements ou des "
"points). Cela augmente légèrement la taille du balisage, mais procure aux "
"intégrateurs un haut degré de contrôle et de flexibilité lors de la mise en "
"forme du site."

#: ../../guides/menus.rst:238
msgid ""
"**Example:** The following would be the output of the ``foo`` menu with "
"sections ``alt`` and ``default`` containing items ``baz`` and ``bar`` "
"respectively."
msgstr ""
"**Exemple :** Voici la sortie du menu ``foo`` avec les sections ``alt`` et "
"``default`` contenant respectivement les éléments ``baz`` et ``bar``."

#: ../../guides/menus.rst:251
msgid "Toggling Menu Items"
msgstr "Basculer des éléments de menu"

#: ../../guides/menus.rst:253
msgid ""
"There are situations where you wish to toggle menu items that are actions "
"that are the opposite of each other and ajaxify them. E.g. like/unlike, "
"friend/unfriend, ban/unban, etc. Elgg has built-in support for this kind of "
"actions. When you register a menu item you can provide a name of the menu "
"item (in the same menu) that should be toggled. An ajax call will be made "
"using the href of the menu item."
msgstr ""
"Il y a des situations où vous souhaitez basculer entre des éléments de menu "
"qui sont des actions contraires l'une de l’autre, et les ajaxifier. Par "
"exemple, comme ajouter/retirer un contact, bannir/réintégrer, etc. Elgg "
"dispose d'une prise en charge intégrée pour ce genre d’actions. Lorsque vous"
" enregistrez un élément de menu, vous pouvez fournir le nom de l’élément de "
"menu (dans le même menu) qui doit être basculé. Un appel ajax sera fait en "
"utilisant le href de l’élément de menu."

#: ../../guides/menus.rst:276
msgid ""
"The menu items are optimistically toggled. This means the menu items are "
"toggled before the actions finish. If the actions fail, the menu items will "
"be toggled back."
msgstr ""
"Les éléments de menu sont basculés de manière optimiste. Cela signifie que "
"les éléments de menu sont basculés avant la fin des actions. Si les actions "
"échouent, les éléments de menu seront rétablis."

#: ../../guides/menus.rst:282
msgid ""
"It is common that menu items rely on JavaScript. You can bind client-side "
"events to menu items by placing your JavaScript into AMD module and defining"
" the requirement during the registration."
msgstr ""
"Il est courant que les éléments de menu s’appuient sur JavaScript. Vous "
"pouvez lier les événements côté client aux éléments du menu en plaçant votre"
" JavaScript dans le module AMD et en définissant ses exigences lors de son "
"inscription."

#: ../../guides/notifications.rst:6
msgid "There are two ways to send notifications in Elgg:"
msgstr "Il existe deux manières d’envoyer des notifications dans Elgg :"

#: ../../guides/notifications.rst:5 ../../guides/notifications.rst:13
msgid "Instant notifications"
msgstr "Notifications instantanées"

#: ../../guides/notifications.rst:6
msgid "Event-based notifications send using a notifications queue"
msgstr ""
"Les notifications basées sur les événements sont envoyées à l’aide d’une "
"file d’attente de notifications"

#: ../../guides/notifications.rst:15
msgid ""
"The generic method to send a notification to a user is via the function "
"`notify_user()`__. It is normally used when we want to notify only a single "
"user. Notification like this might for example inform that someone has liked"
" or commented the user's post."
msgstr ""
"La méthode générique pour envoyer une notification à un utilisateur utilise "
"la fonction `notify_user()`__. Celle-ci devrait être principalement utilisée"
" lorsque nous voulons notifier un seul utilisateur. Une notification comme "
"celle-ci peut, par exemple, informer que quelqu’un a aimé ou commenté la "
"publication de l’utilisateur."

#: ../../guides/notifications.rst:19
msgid "The function usually gets called in an :doc:`action <actions>` file."
msgstr ""
"La fonction est habituellement appelée dans un fichier d':doc:`action "
"<actions>`."

#: ../../guides/notifications.rst:26
msgid ""
"In this example a user (``$user``) is triggering an action to rate a post "
"created by another user (``$owner``). After saving the rating "
"(``ElggAnnotation $rating``) to database, we could use the following code to"
" send a notification about the new rating to the owner."
msgstr ""
"Dans cet exemple, un utilisateur (``$user``) déclenche une action pour noter"
" une publication créée par un autre utilisateur (``$owner``). Après avoir "
"enregistré la note (``ElggAnnotation $rating``) dans la base de données, "
"nous pourrions utiliser le code suivant pour envoyer une notification sur la"
" nouvelle note au propriétaire."

#: ../../guides/notifications.rst:57
msgid ""
"The language used by the recipient isn't necessarily the same as the "
"language of the person who triggers the notification. Therefore you must "
"always remember to pass the recipient's language as the third parameter to "
"``elgg_echo()``."
msgstr ""
"La langue utilisée par le destinataire n’est pas nécessairement la même que "
"celle de la personne qui déclenche la notification. Par conséquent, vous "
"devez toujours penser à transmettre la langue du destinataire en tant que "
"troisième paramètre à ``elgg_echo()``."

#: ../../guides/notifications.rst:63
msgid ""
"The ``'summary'`` parameter is meant for notification plugins that only want"
" to display a short message instead of both the subject and the body. "
"Therefore the summary should be terse but still contain all necessary "
"information."
msgstr ""
"Le paramètre ``'summary'`` est destiné aux plugins de notification qui ne "
"souhaitent afficher qu’un message court au lieu du sujet et du corps. Par "
"conséquent, le résumé doit être laconique, mais toujours contenir toutes les"
" informations nécessaires."

#: ../../guides/notifications.rst:68
msgid "Enqueued notifications"
msgstr "Notifications en file d'attente"

#: ../../guides/notifications.rst:70
msgid ""
"On large sites there may be many users who have subscribed to receive "
"notifications about a particular event. Sending notifications immediately "
"when a user triggers such an event might remarkably slow down page loading "
"speed. This is why sending of such notifications shoud be left for Elgg's "
"notification queue."
msgstr ""
"Sur les grands sites, il peut y avoir de nombreux utilisateurs qui se sont "
"abonnés pour recevoir des notifications lors d’un événement particulier. "
"L’envoi immédiat de notifications lorsqu’un utilisateur déclenche un tel "
"événement peut ralentir considérablement la vitesse de chargement des pages."
" C’est pourquoi l’envoi de ces notifications devrait être mis dans la file "
"d’attente de notification de Elgg."

#: ../../guides/notifications.rst:75
msgid ""
"New notification events can be registered with the "
"`elgg_register_notification_event()`__ function or in the :doc:`elgg-plugin "
"</guides/plugins>` configuration. Notifications about registered events will"
" be sent automatically to all subscribed users."
msgstr ""
"De nouveaux événements de notification peuvent être enregistrés avec la "
"fonction `elgg_register_notification_event()`__ ou dans la configuration "
":doc:`elgg-plugin </guides/plugins>`. Des notifications sur les événements "
"enregistrés seront envoyées automatiquement à tous les utilisateurs abonnés."

#: ../../guides/notifications.rst:79
msgid "This is the workflow of the notifications system:"
msgstr "Voici le workflow du système de notifications :"

#: ../../guides/notifications.rst:82
msgid "Someone does an action that triggers an event within Elgg"
msgstr ""
"Quelqu’un effectue une action qui déclenche un événement au sein de Elgg"

#: ../../guides/notifications.rst:82
msgid "The action can be ``create``, ``update`` or ``delete``"
msgstr "L’action peut être ``create``, ``update`` ou ``delete``"

#: ../../guides/notifications.rst:83
msgid ""
"The target of the action can be any instance of the ``ElggEntity`` class "
"(e.g. a Blog post)"
msgstr ""
"La cible de l’action peut être n’importe quelle instance de la classe "
"``ElggEntity`` (par exemple un article de blog)"

#: ../../guides/notifications.rst:84
msgid ""
"The notifications system saves this event into a notifications queue in the "
"database"
msgstr ""
"Le système de notifications enregistre cet événement dans une file d’attente"
" de notifications dans la base de données"

#: ../../guides/notifications.rst:85
msgid ""
"When the pluging hook handler for the one-minute interval gets triggered, "
"the event is taken from the queue and it gets processed"
msgstr ""
"Lorsque le gestionnaire du hook plugin pour l’intervalle d’une minute est "
"déclenché, l’événement est pris dans la file d’attente et est traité"

#: ../../guides/notifications.rst:87
msgid "Subscriptions are fetched for the user who triggered the event"
msgstr ""
"Les abonnements sont récupérés pour l’utilisateur qui a déclenché "
"l’événement"

#: ../../guides/notifications.rst:87
msgid ""
"By default this includes all the users who have enabled any notification "
"method for the user at ``www.site.com/notifications/personal/<username>``"
msgstr ""
"Par défaut, ceci comprend tous les utilisateurs qui ont activé au moins une "
"méthode de notification pour les utilisateurs via "
"``www.site.com/notifications/personal/<username>``"

#: ../../guides/notifications.rst:89
msgid ""
"Plugins are allowed to alter the subscriptions using the ``[get, "
"subscriptions]`` hook"
msgstr ""
"Les plugins peuvent modifier les abonnements avec le hook ``[get, "
"subscriptions]``"

#: ../../guides/notifications.rst:90
msgid ""
"Plugins are allowed to terminate notifications queue processing with the "
"``[send:before, notifications]`` hook"
msgstr ""
"Les plugins peuvent empêcher le traitement de la file d’attente des "
"notifications avec le hook ``[send:before, notifications]``"

#: ../../guides/notifications.rst:91
msgid ""
"Plugins are allowed to alter the notification parameters with the "
"``[prepare, notification]`` hook"
msgstr ""
"Les plugins peuvent modifier les paramètres de notification avec le hook "
"``[prepare, notification]``"

#: ../../guides/notifications.rst:92
msgid ""
"Plugins are allowed to alter the notification subject/message/summary with "
"the ``[prepare, notification:<action>:<type>:<subtype>]`` hook"
msgstr ""
"Les plugins peuvent modifier le sujet, le message et le résumé de la "
"notification avec le hook ``[prepare, "
"notification:<action>:<type>:<subtype>]``"

#: ../../guides/notifications.rst:93
msgid ""
"Plugins are allowed to format notification subject/message/summary for "
"individual delivery methods with ``[format, notification:<method>]`` hook"
msgstr ""
"Les plugins peuvent à mettre en forme le sujet, le message et le résumé de "
"la notification pour chaque méthodes d'envoi individuelle avec le hook "
"``[format, notification:<method>]``"

#: ../../guides/notifications.rst:94
msgid ""
"Notifications are sent to each subscriber using the methods they have chosen"
msgstr ""
"Les notifications sont envoyées à chaque abonné en utilisant les méthodes "
"qu’il a choisies"

#: ../../guides/notifications.rst:95
msgid ""
"Plugins can take over or prevent sending of each individual notification "
"with the ``[send, notification:<method>]`` hook"
msgstr ""
"Les plugins peuvent prendre la main sur chaque notification individuelle ou "
"en bloquer l’envoi avec le hook ``[send, notification:<method>]``"

#: ../../guides/notifications.rst:96
msgid ""
"The ``[send:after, notifications]`` hook is triggered for the event after "
"all notifications have been sent"
msgstr ""
"Le hook ``[send:after, notifications]`` est déclenché pour l’événement après"
" que toutes les notifications ont été envoyées"

#: ../../guides/notifications.rst:101 ../../guides/notifications.rst:123
msgid "Example"
msgstr "Exemple"

#: ../../guides/notifications.rst:103
msgid ""
"Tell Elgg to send notifications when a new object of subtype \"photo\" is "
"created:"
msgstr ""
"Indiquez à Elgg d’envoyer des notifications lorsqu’un nouvel objet de sous-"
"type ``photo`` est créé :"

#: ../../guides/notifications.rst:116
msgid ""
"In order to send the event-based notifications you must have the one-minute "
":doc:`CRON </admin/cron>` interval configured."
msgstr ""
"Pour envoyer les notifications lors des événements, vous devez configurer "
"l’intervalle :doc:`CRON </admin/cron>` d’une minute."

#: ../../guides/notifications.rst:119
msgid ""
"Contents of the notification message can be defined with the ``'prepare', "
"'notification:[action]:[type]:[subtype]'`` hook."
msgstr ""
"Le contenu du message de notification peut être défini avec le hook "
"``'prepare', 'notification:[action]:[type]:[subtype]'``."

#: ../../guides/notifications.rst:125
msgid ""
"Tell Elgg to use the function ``photos_prepare_notification()`` to format "
"the contents of the notification when a new objects of subtype 'photo' is "
"created:"
msgstr ""
"Dites à Elgg d’utiliser la fonction ``photos_prepare_notification()`` pour "
"formater le contenu de la notification quand un nouvel objet de sous-type "
"'photo' est créé :"

#: ../../guides/notifications.rst:176
msgid ""
"Make sure the notification will be in the correct language by passing the "
"reciepient's language into the ``elgg_echo()`` function."
msgstr ""
"Assurez-vous que la notification sera dans la bonne langue en indiquant la "
"langue du destinataire à la fonction ``elgg_echo()``."

#: ../../guides/notifications.rst:180
msgid "Notification salutation and sign-off"
msgstr "Salutation et signature de la notification"

#: ../../guides/notifications.rst:182
msgid ""
"Elgg will by default prepend a salutation to all outgoing notification body "
"text. Also a sign-off will be appended. This means you will not need to add "
"text like ``Hi Admin,`` or ``Kind regards, your friendly site "
"administrator`` to your notifications body. If for some reason you do not "
"need this magic to happen, you can prevent it by setting the notification "
"parameter ``add_salutation`` to ``false``. You can do this as part of the "
"parameters in ``notify_user()`` or in the ``prepare, notifications`` hook. "
"You can change the salutation and sign-off texts in the translations."
msgstr ""
"Elgg ajoutera par défaut une salutation à tous les corps de texte de "
"notification sortant. Une signature sera également jointe. Cela signifie que"
" vous n'aurez pas besoin d'ajouter du texte comme ``Salut Admin,`` ou ``Bien"
" cordialement, votre gentil administrateur de site`` à votre corps de "
"notifications. Si, pour une raison quelconque, vous n'avez pas besoin que "
"cette magie se produise, vous pouvez l'empêcher en définissant le paramètre "
"de notification ``add_salutation`` sur ``false``. Vous pouvez le faire dans "
"le cadre des paramètres de ``notify_user()`` ou dans le hook ``prepare, "
"notifications``. Vous pouvez modifier les textes de salutation et de "
"signature dans les traductions."

#: ../../guides/notifications.rst:188
msgid ""
"You can also customize the salutation by overruling the view "
"``notifications/elements/salutation`` the sign-off can be customized by "
"overruling the view ``notifications/elements/sign-off``."
msgstr ""
"Vous pouvez également personnaliser la salutation en remplaçant la vue "
"``notifications/elements/salutation``. La signature peut être personnalisée "
"en remplaçant la vue ``notifications/elements/sign-off``."

#: ../../guides/notifications.rst:192
msgid "Notification methods"
msgstr "Méthodes de notification"

#: ../../guides/notifications.rst:194
msgid ""
"By default Elgg has three notification methods: email, delayed_email and the"
" bundled site_notifications plugin."
msgstr ""
"Par défaut, Elgg propose trois méthodes de notification : email, "
"delayed_email et le plugin site_notifications fourni avec Elgg."

#: ../../guides/notifications.rst:199
msgid "Will send an email notification to to the recipient."
msgstr "Enverra une notification par e-mail au destinataire."

#: ../../guides/notifications.rst:202
msgid "Delayed email"
msgstr "E-mail différé"

#: ../../guides/notifications.rst:204
msgid ""
"Will save the notifications and deliver them in one bundled email at the "
"interval the recipient has configured (daily or weekly)."
msgstr ""
"Enregistre les notifications pour les envoyer dans un e-mail groupé à "
"l'intervalle configuré par le destinataire (quotidien ou hebdomadaire)."

#: ../../guides/notifications.rst:206
msgid ""
"The availability of this delivery method can be configured by the site "
"administrator in the Site settings section."
msgstr ""
"La disponibilité de cette méthode d'envoi peut être configurée par "
"l'administrateur du site dans la section Paramètres du site."

#: ../../guides/notifications.rst:208
msgid ""
"The layout of the bundled email can be customized by overruling the view "
"``email/delayed_email/plain_text`` for the plain text part of the email and "
"``email/delayed_email/html`` for the HTML part of the email."
msgstr ""
"La mise en page de l'e-mail groupé peut être personnalisée en remplaçant la "
"vue ``email/delayed_email/plain_text`` pour la partie en texte brut de "
"l'e-mail et ``email/delayed_email/html`` pour la partie HTML de l'e-mail."

#: ../../guides/notifications.rst:212
msgid "Site notification"
msgstr "Notification sur le site"

#: ../../guides/notifications.rst:214
msgid "Will show the notification on the site."
msgstr "Affichera la notification sur le site."

#: ../../guides/notifications.rst:217
msgid "Registering a new notification method"
msgstr "Enregistrement d’une nouvelle méthode de notification"

#: ../../guides/notifications.rst:219
msgid ""
"You can register a new notification method with the "
"``elgg_register_notification_method()`` function."
msgstr ""
"Vous pouvez enregistrer une nouvelle méthode de notification avec la "
"fonction ``elgg_register_notification_method()``. "

#: ../../guides/notifications.rst:224
msgid "Register a handler that will send the notifications via SMS."
msgstr "Enregistrez un gestionnaire qui enverra les notifications par SMS."

#: ../../guides/notifications.rst:235
msgid ""
"After registering the new method, it will appear on the notification "
"settings page at ``www.example.com/notifications/personal/[username]``."
msgstr ""
"Après avoir enregistré la nouvelle méthode, celle-ci apparaîtra sur la page "
"des paramètres de notification à l’adresse "
"``www.exemple.com/notifications/personal/[username]``."

#: ../../guides/notifications.rst:239
msgid "Sending the notifications using your own method"
msgstr "Envoyer des notifications à l’aide de votre propre méthode"

#: ../../guides/notifications.rst:241
msgid ""
"Besides registering the notification method, you also need to register a "
"handler that takes care of actually sending the SMS notifications. This "
"happens with the ``'send', 'notification:[method]'`` hook."
msgstr ""
"En plus d’enregistrer la méthode de notification, vous devez également "
"enregistrer un gestionnaire qui s’occupe de l’envoi des notifications SMS. "
"Cela se fait avec le hook ``'send', 'notification:[method]'``."

#: ../../guides/notifications.rst:283
msgid "Subscriptions"
msgstr "Abonnements"

#: ../../guides/notifications.rst:285
msgid ""
"In most cases Elgg core takes care of handling the subscriptions, so "
"notification plugins don't usually have to alter them."
msgstr ""
"Dans la plupart des cas, Elgg core s’occupe de la gestion des abonnements, "
"de sorte que les plugins de notification n’ont généralement pas besoin de "
"les modifier."

#: ../../guides/notifications.rst:289
msgid "Subscriptions can however be:"
msgstr "Les abonnements peuvent toutefois être :"

#: ../../guides/notifications.rst:288
msgid "Added using the ``\\ElggEntity::addSubscription()`` function"
msgstr "Ajoutées à l’aide de la fonction ``\\ElggEntity::addSubscription()``"

#: ../../guides/notifications.rst:289
msgid "Removed using the ``\\ElggEntity::removeSubscription()`` function"
msgstr ""
"Supprimées à l’aide de la fonction ``\\ElggEntity::removeSubscription()``"

#: ../../guides/notifications.rst:291
msgid ""
"It's possible to modify the recipients of a notification dynamically with "
"the ``'get', 'subscriptions'`` hook."
msgstr ""
"Il est possible de modifier dynamiquement les destinataires d’une "
"notification avec le hook ``'get', 'subscriptions'``."

#: ../../guides/notifications.rst:328
msgid "Muted notifications"
msgstr "Notifications en sourdine"

#: ../../guides/notifications.rst:330
msgid ""
"Notifications can be muted in order to no longer receive notifications, for "
"example no longer receive notifications about new comments on a discussion."
msgstr ""
"Les notifications peuvent être désactivées afin de ne plus recevoir de "
"notifications, par exemple pour ne plus recevoir de notifications concernant"
" de nouveaux commentaires sur une discussion."

#: ../../guides/notifications.rst:332
msgid ""
"In order to mute notifications call "
"``\\ElggEntity::muteNotifications($user_guid)`` the ``$user_guid`` is "
"defaulted to the current logged in user. This will cause all subscriptions "
"on the entity to be removed and a special flag will be set to know that "
"notifications are muted."
msgstr ""
"Afin de désactiver les notifications, appelez "
"``\\ElggEntity::muteNotifications($user_guid)`` le ``$user_guid`` est par "
"défaut l'utilisateur actuellement connecté. Cela entraînera la suppression "
"de tous les abonnements sur l'entité et un indicateur spécial sera défini "
"pour savoir que les notifications sont désactivées."

#: ../../guides/notifications.rst:335
msgid ""
"The muting rules are applied after the subscribers of a notification event "
"are requested and are applied for the following entities of the notification"
" event: - the event actor "
"``\\Elgg\\Notifications\\NotificationEvent::getActor()`` - the event object "
"entity ``\\Elgg\\Notifications\\NotificationEvent::getObject()`` - the event"
" object container entity "
"``\\Elgg\\Notifications\\NotificationEvent::getObject()::getContainerEntity()``"
" - the event object owner entity "
"``\\Elgg\\Notifications\\NotificationEvent::getObject()::getOwnerEntity()``"
msgstr ""
"Les règles de désactivation sont appliquées après que les abonnés d'un "
"événement de notification ont été demandées et appliquées pour les entités "
"suivantes de l'événement de notification : - l'acteur de l'événement "
"``\\Elgg\\Notifications\\NotificationEvent::getActor()`` - l'entité objet de"
" l'événement ``\\Elgg\\Notifications\\NotificationEvent::getObject()`` - "
"l'entité conteneur de l'objet de l'événement "
"``\\Elgg\\Notifications\\NotificationEvent::getObject()::getContainerEntity()``"
" - l'entité propriétaire de l'objet de l'événement ``\\ "
"Elgg\\Notifications\\NotificationEvent::getObject()::getOwnerEntity()``"

#: ../../guides/notifications.rst:341
msgid ""
"To unmute the notifications call "
"``\\ElggEntity::unmuteNotifications($user_guid)`` the ``$user_guid`` is "
"defaulted to the current logged in user."
msgstr ""
"Pour réactiver les notifications, appelez "
"``\\ElggEntity::unmuteNotifications($user_guid)`` le ``$user_guid`` est par "
"défaut l'utilisateur actuellement connecté."

#: ../../guides/notifications.rst:343
msgid ""
"To check if a user has the notifications muted call "
"``\\ElggEntity::hasMutedNotifications($user_guid)`` the ``$user_guid`` is "
"defaulted to the current logged in user."
msgstr ""
"Pour vérifier si un utilisateur a les notifications désactivées, appelez "
"``\\ElggEntity::hasMutedNotifications($user_guid)`` le ``$user_guid`` est "
"par défaut l'utilisateur actuellement connecté."

#: ../../guides/notifications.rst:346
msgid "Helper page"
msgstr "Page d'aide"

#: ../../guides/notifications.rst:348
msgid ""
"A helper page has been added which can be linked (for example in an email "
"footer) to manage muting based on a notification."
msgstr ""
"Une page d'aide a été ajoutée qui peut être liée (par exemple dans un pied "
"de page d'e-mail) pour gérer la désactivation d'une notification "
"particulière."

#: ../../guides/notifications.rst:350
msgid ""
"The page is required to be signed and use the route ``notifications:mute`` "
"which needs: - ``entity_guid`` the entity the notification is about - "
"``recipient_guid`` the recipient of the notification"
msgstr ""
"La page doit être obligatoirement signée et utiliser la route "
"``notifications:mute`` qui nécessite : - ``entity_guid`` l'entité sur "
"laquelle porte la notification - ``recipient_guid`` le destinataire de la "
"notification"

#: ../../guides/notifications.rst:355
msgid "Temporarily disable notifications"
msgstr "Désactiver temporairement les notifications"

#: ../../guides/notifications.rst:357
msgid ""
"Users can temporarily disable all notifications by going to the Notification"
" settings and set a start and end date for the period they don't wish to "
"receive any notifications."
msgstr ""
"Les utilisateurs peuvent désactiver temporairement toutes les notifications "
"en accédant aux paramètres de notification et en définissant une date de "
"début et de fin pour la période pour laquelle ils ne souhaitent pas recevoir"
" de notifications."

#: ../../guides/notifications.rst:360
msgid "Notification settings"
msgstr "Paramètres de notification"

#: ../../guides/notifications.rst:362
msgid ""
"You can store and retreive notification settings of users with "
"``\\ElggUser::setNotificationSetting()`` and "
"``\\ElggUser::getNotificationSettings()``."
msgstr ""
"Vous pouvez stocker et récupérer les paramètres de notification des "
"utilisateurs avec ``\\ElggUser::setNotificationSetting()`` et "
"``\\ElggUser::getNotificationSettings()``."

#: ../../guides/notifications.rst:381
msgid ""
"When a user has no setting yet for a non default purpose the system will "
"fallback to the 'default' notification setting."
msgstr ""
"Lorsqu'un utilisateur n'a pas encore de paramètre distinct de celui par "
"défaut, le système revient au paramètre de notification 'default'."

#: ../../guides/notifications.rst:384
msgid "Notification management"
msgstr "Gestion des notifications"

#: ../../guides/notifications.rst:386
msgid ""
"A generic menu hook handler is provided to manage notification subscription "
"and muting. If you wish to make it easy for users to subscribe to your "
"entities register a menu hook on ``register`` ``menu:<menu name>:<entity "
"type>:<entity subtype>`` with the callback "
"``Elgg\\Notifications\\RegisterSubscriptionMenuItemsHandler`` make sure an "
"``\\ElggEntity`` in ``$params['entity']`` is provided. This will work for "
"most ``elgg_view_menu()`` calls."
msgstr ""
"Un gestionnaire de hook de menu générique est fourni pour gérer l'abonnement"
" aux notifications et leur désactivation. Si vous souhaitez faciliter "
"l'abonnement des utilisateurs à vos entités, enregistrez un crochet de menu "
"sur ``register`` ``menu:<menu name>:<entity type>:<entity subtype>`` avec la"
" focntion de rappel "
"``Elgg\\Notifications\\RegisterSubscriptionMenuItemsHandler`` assurez-vous "
"qu'un ``\\ ElggEntity`` dans ``$params['entity']`` est fourni. Cela "
"fonctionnera pour la plupart des appels ``elgg_view_menu()``."

#: ../../guides/page-owner.rst:2
msgid "Page ownership"
msgstr "Propriété de la page"

#: ../../guides/page-owner.rst:4
msgid ""
"One recurring task of any plugin will be to determine the page ownership in "
"order to decide which actions are allowed or not. Elgg has a number of "
"functions related to page ownership and also offers plugin developers "
"flexibility by letting the plugin handle page ownership requests as well. "
"Determining the owner of a page can be determined with "
"``elgg_get_page_owner_guid()``, which will return the GUID of the owner. "
"Alternatively, ``elgg_get_page_owner_entity()`` will retrieve the whole page"
" owner entity. If the page already knows who the page owner is, but the "
"system doesn't, the page can set the page owner by passing the GUID to "
"``elgg_set_page_owner_guid($guid)``."
msgstr ""
"Une tâche récurrente de tout plugin sera de déterminer qui est propriétaire "
"de la page afin de décider quelles actions sont autorisées ou non. Elgg a un"
" certain nombre de fonctions liées à la propriété de la page et offre "
"également aux développeurs de plugin une flexibilité en laissant le plugin "
"gérer également les demandes de propriété de page. La détermination du "
"propriétaire d’une page peut être déterminée avec "
"``elgg_get_page_owner_guid()``, qui retournera le GUID du propriétaire. "
"Alternativement, ``elgg_get_page_owner_entity()`` récupérera l’entité "
"complète du propriétaire de la page. Si la page sait déjà qui est le "
"propriétaire de la page, mais pas le système, la page peut définir le "
"propriétaire de la page en passant son GUID à "
"``elgg_set_page_owner_guid($guid)``."

#: ../../guides/page-owner.rst:12
msgid ""
"The page owner entity can be any ``ElggEntity``. If you wish to only apply "
"some setting in case of a user or a group make sure you check that you have "
"the correct entity."
msgstr ""
"L’entité propriétaire de la page peut être n’importe quelle ``ElggEntity``. "
"Si vous souhaitez appliquer des paramètres particuliers selon que c'est un "
"utilisateur ou un groupe, assurez-vous de vérifier que vous avez la l’entité"
" correcte."

#: ../../guides/page-owner.rst:16
msgid "Custom page owner handlers"
msgstr "Gestionnaires de propriétaire de page personnalisé"

#: ../../guides/page-owner.rst:18
msgid ""
"Plugin developers can create page owner handlers, which could be necessary "
"in certain cases, for example when integrating third party functionality. "
"The handler will be a function which will need to get registered with "
"``elgg_register_plugin_hook_handler('page_owner', 'system', "
"'your_page_owner_function_name');``. The handler will only need to return a "
"value (an integer GUID) when it knows for certain who the page owner is."
msgstr ""
"Les développeurs de plugins peuvent créer des gestionnaires de propriétaires"
" de pages, ce qui peut être nécessaire dans certains cas, par exemple lors "
"de l'intégration de fonctionnalités tierces. Le gestionnaire sera une "
"fonction qui devra être enregistrée avec "
"``elgg_register_plugin_hook_handler('page_owner', 'system', "
"'your_page_owner_function_name');``. Le gestionnaire n'aura besoin de "
"renvoyer une valeur (un GUID de type integer) que s'il sait avec certitude "
"qui est le propriétaire de la page."

#: ../../guides/page-owner.rst:23
msgid ""
"By default, the system autodetects the page_owner from the following "
"elements:"
msgstr ""
"Par défaut, le système détecte automatiquement le le propriétaire de la page"
" \"page_owner\" à partir des éléments suivants :"

#: ../../guides/page-owner.rst:25
msgid "Based on the route definition:"
msgstr "Sur la base de la définition de la route :"

#: ../../guides/page-owner.rst:27
msgid ""
"If the name starts with ``view`` or ``edit`` the parameters ``username`` and"
" ``guid`` are checked"
msgstr ""
"Si le nom commence par ``view`` ou ``edit`` les paramètres ``username`` et "
"``guid`` sont vérifiés "

#: ../../guides/page-owner.rst:28
msgid ""
"If the name starts with ``add`` or ``collection`` the parameters "
"``username``, ``guid`` and ``container_guid`` are checked"
msgstr ""
"Si le nom commence par ``add`` ou ``collection`` les paramètres "
"``username``, ``guid`` et ``container_guid`` sont vérifiés"

#: ../../guides/page-owner.rst:29
msgid ""
"If in the route definition the value ``detect_page_owner`` is set to "
"``true`` the parameters ``username``, ``guid`` and ``container_guid`` are "
"checked"
msgstr ""
"Si dans la définition de la route la valeur ``detect_page_owner`` est "
"définie sur ``true`` les paramètres ``username``, ``guid`` et "
"``container_guid`` sont vérifiés"

#: ../../guides/page-owner.rst:32
msgid ""
"The legacy URL detection is tried if the route detected didn't result in a "
"page owner:"
msgstr ""
"L'ancienne détection d'URL est tentée si la route détectée n'a pas abouti à "
"un propriétaire de page :"

#: ../../guides/page-owner.rst:34
msgid "The ``username`` URL parameter"
msgstr "Le paramètre d'URL ``username``"

#: ../../guides/page-owner.rst:35
msgid "The ``owner_guid`` URL parameter"
msgstr "Le paramètre d'URL ``owner_guid``"

#: ../../guides/page-owner.rst:36
msgid "The URL path"
msgstr "Le chemin de l'URL"

#: ../../guides/page-owner.rst:38
msgid ""
"It then passes off to any page owner handlers defined using the :ref:`plugin"
" hook <design/events#plugin-hooks>`. If no page owner can be determined, the"
" page owner is set to 0, which is the same as the logged out user."
msgstr ""
"Il passe ensuite à tous les gestionnaires de propriétaire de page définis à "
"l’aide du :ref:`hook plugin <design/events #plugin-hooks>`. Si aucun "
"propriétaire de page ne peut être déterminé, le propriétaire de la page est "
"défini sur 0, ce qui correspond à l’utilisateur déconnecté."

#: ../../guides/permissions-check.rst:2
msgid "Permissions Check"
msgstr "Vérification des permissions"

#: ../../guides/permissions-check.rst:6
msgid ""
"As stated in the page, this method works **only** for granting **write** "
"access to entities. You **cannot** use this method to retrieve or view "
"entities for which the user does not have read access."
msgstr ""
"Comme indiqué dans la page, cette méthode fonctionne **seulement** pour "
"accorder le droit d'accès en **écriture (write)** sur les entités. Vous **ne"
" pouvez pas** utiliser cette méthode pour récupérer ou afficher des entités "
"pour lesquelles l’utilisateur n’a pas d'accès en lecture."

#: ../../guides/permissions-check.rst:8
msgid ""
"Elgg provides a mechanism of overriding write permissions check through the "
":ref:`permissions_check plugin hook <guides/hooks-list#permission-hooks>` . "
"This is useful for allowing plugin write to all accessible entities "
"regardless of access settings. Entities that are hidden, however, will still"
" be unavailable to the plugin."
msgstr ""
"Elgg fournit un mécanisme de vérification des autorisations d’écriture via "
"le hook plugin :ref:`permissions_check <guides/hooks-list#permission-hooks>`"
" . Ceci est utile pour permettre à un plugin d'écrire sur toutes les entités"
" accessibles indépendamment des autorisations d’accès. Les entités qui sont "
"masquées, cependant, ne seront pas accessibles au plugin."

#: ../../guides/permissions-check.rst:11
msgid "Hooking permissions_check"
msgstr "Modifier les permission d'accès avec un hook dans permissions_check"

#: ../../guides/permissions-check.rst:13
msgid ""
"In your plugin, you must register the plugin hook for ``permissions_check``."
msgstr ""
"Dans votre plugin, vous devez enregistrer le hook plugin pour "
"``permissions_check``."

#: ../../guides/permissions-check.rst:20
msgid "The override function"
msgstr "La fonction de substitution"

#: ../../guides/permissions-check.rst:22
msgid ""
"Now create the function that will be called by the permissions check hook. "
"In this function we determine if the entity (in parameters) has write "
"access. Since it is important to keep Elgg secure, write access should be "
"given only after checking a variety of situations including page context, "
"logged in user, etc. Note that this function can return 3 values: true if "
"the entity has write access, false if the entity does not, and null if this "
"plugin doesn't care and the security system should consult other plugins."
msgstr ""
"Créez maintenant la fonction qui sera appelée par le hook de contrôle des "
"permission. Dans cette fonction, nous déterminons si l’entité (dans les "
"paramètres) a accès à l’écriture. Étant donné qu’il est important de garder "
"Elgg sécurisé, l’accès à l’écriture ne doit être donné qu’après vérification"
" d’une variété de situations, y compris le contexte de la page, "
"l'identification de l’utilisateur, etc. Notez que cette fonction peut "
"renvoyer 3 valeurs : true si l’entité a l’accès à l’écriture, false si "
"l’entité ne le fait pas, et null si ce plugin ne s'en soucie pas et que le "
"système de sécurité doit consulter d’autres plugins."

#: ../../guides/permissions-check.rst:40
msgid "Full Example"
msgstr "Exemple complet"

#: ../../guides/permissions-check.rst:42
msgid ""
"This is a full example using the context to determine if the entity has "
"write access."
msgstr ""
"Voici un exemple complet utilisant le contexte pour déterminer si l’entité a"
" un accès en écriture."

#: ../../guides/plugins.rst:4
msgid ""
"Plugins must provide a ``composer.json`` file in the plugin root in order to"
" be recognized by Elgg."
msgstr ""
"Les plugins doivent fournir un fichier ``composer.json`` situé dans la "
"racine du plugin afin d’être reconnus par Elgg."

#: ../../guides/plugins.rst:11
msgid "elgg-plugin.php"
msgstr "elgg-plugin.php"

#: ../../guides/plugins.rst:13
msgid ""
"``elgg-plugin.php`` is a static plugin configuration file. It is read by "
"Elgg to configure various services, and must return an array if present. It "
"should not be included by plugins and is not guaranteed to run at any "
"particular time. Besides magic constants like ``__DIR__``, its return value "
"should not change. The currently supported sections are:"
msgstr ""
"``elgg-plugin.php`` est un fichier statique de configuration du plugin. Il "
"est lu par Elgg pour configurer différents services, et doit retourner un "
"tableau s’il est présent. Il ne doit pas être inclus par les plugins et "
"n’est pas destiné à être exécuté. Outre des constantes magiques comme "
"``__DIR__``, sa valeur de retour ne doit pas changer. Les sections "
"actuellement prises en charge sont :"

#: ../../guides/plugins.rst:17
msgid "``plugin`` - defines plugin information and dependencies"
msgstr "``plugin`` - définit les informations et les dépendances du plugin"

#: ../../guides/plugins.rst:18
msgid "``bootstrap`` - defines a class used to bootstrap the plugin"
msgstr ""
"``bootstrap`` - définit une classe utilisée pour initialiser le plugin"

#: ../../guides/plugins.rst:19
msgid ""
"``entities`` - defines entity types and classes, and optionally registers "
"them for search"
msgstr ""
"``entités`` - définit les types et les classes d’entités du plugin, et les "
"enregistre éventuellement pour la recherche"

#: ../../guides/plugins.rst:20
msgid ""
"``actions`` - eliminates the need for calling ``elgg_register_action()``"
msgstr ""
"``actions`` - élimine la nécessité d’appeler ``elgg_register_action()``"

#: ../../guides/plugins.rst:21
msgid "``routes`` - eliminates the need for calling ``elgg_register_route()``"
msgstr "``routes`` - élimine la nécessité d’appeler ``elgg_register_route()``"

#: ../../guides/plugins.rst:22
msgid ""
"``settings`` - eliminates the need for setting default values on each call "
"to ``elgg_get_plugin_setting()``"
msgstr ""
"``settings`` - élimine la nécessité de définir des valeurs par défaut sur "
"chaque appel à ``elgg_get_plugin_setting()``"

#: ../../guides/plugins.rst:23
msgid ""
"``user_settings`` - eliminates the need for setting default values on each "
"call to ``elgg_get_plugin_user_setting()``"
msgstr ""
"``user_settings`` - élimine la nécessité de définir des valeurs par défaut "
"sur chaque appel à ``elgg_get_plugin_user_setting()``"

#: ../../guides/plugins.rst:24
msgid ""
"``views`` - allows plugins to alias vendor assets to a path within the "
"Elgg's view system"
msgstr ""
"``views`` - permet aux plugins de créer des alias des actifs vers un chemin "
"d’accès dans le système de vue de Elgg"

#: ../../guides/plugins.rst:25
msgid ""
"``widgets`` - eliminates the need for calling "
"``elgg_register_widget_type()``"
msgstr ""
"``widgets`` - élimine la nécessité d’appeler ``elgg_register_widget_type()``"

#: ../../guides/plugins.rst:26
msgid ""
"``events`` - eliminates the need for calling "
"``elgg_register_event_handler()``"
msgstr ""
"``events`` - élimine la nécessité d’appeler "
"``elgg_register_event_handler()``"

#: ../../guides/plugins.rst:27
msgid ""
"``hooks`` - eliminates the need for calling "
"``elgg_register_plugin_hook_handler()``"
msgstr ""
"``hooks`` - élimine la nécessité d’appeler "
"``elgg_register_plugin_hook_handler()``"

#: ../../guides/plugins.rst:28
msgid ""
"``cli_commands`` - an array of ``Elgg/Cli/Command`` classes to extend the "
"feature of ``elgg-cli``"
msgstr ""
"``cli_commands`` - un tableau de classes ``Elgg/Cli/Command`` pour étendre "
"les fonctionnalités de ``elgg-cli``"

#: ../../guides/plugins.rst:29
msgid ""
"``view_extensions`` - eliminates the need for calling ``elgg_extend_view()``"
" or ``elgg_unextend_view()``"
msgstr ""
"``view_extensions`` - élimine la nécessité d’appeler ``elgg_extend_view()`` "
"ou ``elgg_unextend_view()``"

#: ../../guides/plugins.rst:30
msgid "``theme`` - an array of theme variables"
msgstr "``thème`` - un tableau de variables pour les thèmes"

#: ../../guides/plugins.rst:31
msgid "``group_tools`` - an array of available group tool options"
msgstr ""
"``group_tools`` - un tableau d'options des outils de groupe disponibles"

#: ../../guides/plugins.rst:32
msgid "``view_options`` - an array of views with extra options"
msgstr ""
"``view_options`` - un tableau de vues avec des options supplémentaires"

#: ../../guides/plugins.rst:33
msgid "``notifications`` - an array of notification events"
msgstr "``notifications`` - un tableau d'événements de notification"

#: ../../guides/plugins.rst:232
msgid "Bootstrap class"
msgstr "Classe d'initialisation Bootstrap"

#: ../../guides/plugins.rst:234
msgid ""
"As of Elgg 3.0 the recommended way to bootstrap you plugin is to use a "
"bootstrap class. This class must implement the "
"``\\Elgg\\PluginBootstrapInterface`` interface. You can register you "
"bootstrap class in the ``elgg-plugin.php``."
msgstr ""
"À partir d’Elgg 3.0, la manière recommandée pour initialiser votre plugin "
"est d’utiliser une classe bootstrap. Cette classe doit implémenter "
"l’interface ``\\Elgg\\PluginBootstrapInterface``. Vous pouvez inscrire votre"
" classe bootstrap dans ``elgg-plugin.php``."

#: ../../guides/plugins.rst:237
msgid ""
"The bootstrap interface defines several function to be implemented which are"
" called during different events in the system booting process."
msgstr ""
"L’interface d'initialisation bootstrap définit plusieurs fonctions à "
"implémenter qui sont appelées lors de différents événements dans le "
"processus de démarrage du système."

#: ../../guides/plugins.rst:241
msgid ""
"For more information about the different functions defined in the "
"``\\Elgg\\PluginBootstrapInterface`` please read  :doc:`plugins/bootstrap`"
msgstr ""
"Pour plus d’informations sur les différentes fonctions définies dans "
"``\\Elgg\\PluginBootstrapInterface`` veuillez lire :doc:`plugins/bootstrap`"

#: ../../guides/plugins.rst:244
msgid "elgg-services.php"
msgstr "elgg-services.php"

#: ../../guides/plugins.rst:246
msgid ""
"Plugins can attach their services to Elgg's public DI container by providing"
" PHP-DI definitions in ``elgg-services.php`` in the root of the plugin "
"directory."
msgstr ""
"Les plugins peuvent joindre leurs services au conteneur public DI de Elgg en"
" fournissant des définitions PHP-DI dans ``elgg-services.php``, situé dans "
"la racine du répertoire de plugin."

#: ../../guides/plugins.rst:249
msgid ""
"This file must return an array of PHP-DI definitions. Services will by "
"available via ``elgg()``."
msgstr ""
"Ce fichier doit renvoyer un tableau de définitions PHP-DI. Les services "
"seront disponibles via ``elgg()``."

#: ../../guides/plugins.rst:257
msgid "Plugins can then use PHP-DI API to autowire and call the service:"
msgstr ""
"Les plugins peuvent ensuite utiliser l’API PHP-DI pour s'auto-câbler et "
"appeler le service :"

#: ../../guides/plugins.rst:263
msgid ""
"See `PHP-DI documentation <http://php-di.org>`_ for a comprehensive list of "
"definition and invokation possibilities."
msgstr ""
"Voyez la `documentation PHP-DI <http://php-di.org>`_ pour une liste complète"
" des possibilités de définition et d’invocation."

#: ../../guides/plugins.rst:266
msgid "composer.json"
msgstr "composer.json"

#: ../../guides/plugins.rst:268
msgid ""
"Since Elgg supports being installed as a `Composer`_ dependency, having your"
" plugins also support Composer makes for easier installation by site "
"administrators. In order to make your plugin compatible with Composer you "
"need to at least have a ``composer.json`` file in the root of your plugin."
msgstr ""
"Depuis que Elgg prend en charge l’installation en tant que dépendance "
"`Composer`_ , le fait que vos plugins aient également la prise en charge de "
"Composer facilite l’installation par les administrateurs du site. Afin de "
"rendre votre plugin compatible avec Composer, vous devez au moins avoir un "
"fichier ``composer.json`` dans la racine de votre plugin."

#: ../../guides/plugins.rst:272
msgid "Here is an example of a ``composer.json`` file:"
msgstr "Voici un exemple de fichier ``composer.json`` :"

#: ../../guides/plugins.rst:277
msgid ""
"Read more about the ``composer.json`` format on the `Composer`_ website."
msgstr ""
"Apprenez-en plus sur le format de ``composer.json`` sur le site de "
"`Composer`_."

#: ../../guides/plugins.rst:279
msgid "Important parts in the ``composer.json`` file are:"
msgstr "Les parties importantes du fichier ``composer.json`` sont :"

#: ../../guides/plugins.rst:281
msgid ""
"``name``: the name of your plugin, keep this inline with the name of your "
"plugin folder to ensure correct installation"
msgstr ""
"``name`` : le nom de votre plugin, utilisez le même que le nom de dossier de"
" votre plugin pour assurer une installation correcte"

#: ../../guides/plugins.rst:282
msgid ""
"``type``: this will tell Composer where to install your plugin, ALWAYS keep "
"this as ``elgg-plugin``"
msgstr ""
"``type`` : indique à Composer où installer votre plugin, laissez TOUJOURS "
"ceci sur ``elgg-plugin``"

#: ../../guides/plugins.rst:283
msgid ""
"``require``: the ``composer/installers`` requirement is to make sure "
"Composer knows where to install your plugin"
msgstr ""
"``require`` : l'exigence ``composer/installers`` vise à s'assurer que "
"Composer sait où installer votre plugin"

#: ../../guides/plugins.rst:285
msgid ""
"As a suggestion, include a ``conflict`` rule with any Elgg version below "
"your mininal required version, this will help prevent the accidental "
"installation of your plugin on an incompatible Elgg version."
msgstr ""
"À titre de suggestion, incluez une règle de ``conflict`` avec n’importe "
"quelle version de Elgg inférieure à votre version minimale requise, cela "
"aidera à éviter l’installation accidentelle de votre plugin sur une version "
"de Elgg incompatible."

#: ../../guides/plugins.rst:288
msgid ""
"After adding a ``composer.json`` file to your plugin project, you need to "
"register your project on `Packagist`_ in order for other people to be able "
"to install your plugin."
msgstr ""
"Après avoir ajouté un fichier ``composer.json`` à votre projet de plugin, "
"vous devez enregistrer votre projet sur `Packagist`_ afin que d’autres "
"personnes puissent installer votre plugin."

#: ../../guides/plugins.rst:292
msgid "Tests"
msgstr "Tests"

#: ../../guides/plugins.rst:294
msgid ""
"It's encouraged to create PHPUnit test for your plugin. All tests should be "
"located in ``tests/phpunit/unit`` for unit tests and "
"``tests/phpunit/integration`` for integration tests."
msgstr ""
"Il est recommandé de créer des tests phpUnit pour votre plugin. Tous les "
"tests doivent être situés dans les tests d’intégration "
"``tests/phpunit/unit`` pour les tests unitaires et "
"``tests/phpunit/integration`` pour les tests d'intégration."

#: ../../guides/plugins.rst:297
msgid ""
"An easy example of adding test is the ``ViewStackTest``, this will test that"
" the views in your plugin are registered correctly and have no syntax "
"errors. To add this test create a file ``ViewStackTest.php`` in the folder "
"``tests/phpunit/unit/<YourNameSpace>/<YourPluginName>/`` with the content:"
msgstr ""
"Un exemple simple d'ajout de test est le test ``ViewStackTest``, qui va "
"vérifier que les vues de votre plugin sont enregistrées correctement et "
"n’ont pas d’erreurs de syntaxe. Pour ajouter ce test, créez un fichier "
"``ViewStackTest.php`` dans le dossier "
"``tests/phpunit/unit/<YourNameSpace>/<YourPluginName>/`` avec le contenu "
"suivant :"

#: ../../guides/plugins.rst:314
msgid ""
"If you wish to see a better example, look in any of the Elgg core plugins."
msgstr ""
"Si vous souhaitez voir un meilleur exemple, regardez dans l’un des plugins "
"du noyau de Elgg."

#: ../../guides/plugins.rst:318
msgid ":doc:`/contribute/tests`"
msgstr ":doc:`/contribute/tests`"

#: ../../guides/plugins.rst:321 ../../guides/views.rst:647
#: ../../guides/web-services.rst:368
msgid "Related"
msgstr "Connexe"

#: ../../guides/plugins/bootstrap.rst:2
msgid "Plugin bootstrap"
msgstr "Initialisation (bootstrap) d'un plugin"

#: ../../guides/plugins/bootstrap.rst:4
msgid ""
"In order to bootstrap your plugin as of Elgg 3.0 you can use a bootstrap "
"class. This class must implement the ``\\Elgg\\PluginBootstrapInterface`` "
"interface, but it's recommended you extend the ``\\Elgg\\PluginBootstrap`` "
"abstract class as some preparations have already been done."
msgstr ""
"Afin d'initialiser votre plugin à partir de Elgg 3.0, vous pouvez utiliser "
"une classe bootstrap. Cette classe doit implémenter l’interface abstraite "
"``\\Elgg\\PluginBootstrapInterface``, mais il est recommandé d’étendre la "
"classe abstraite ``\\Elgg\\PluginBootstrap``, car certaines préparations ont"
" déjà été faites."

#: ../../guides/plugins/bootstrap.rst:8
msgid ""
"If you only need a limited subset of the bootstrap functions your class can "
"also extend the ``\\Elgg\\DefaultPluginBootstrap`` class, this class already"
" has all the functions of ``\\Elgg\\PluginBootstrapInterface`` implemented. "
"So you can overload only the functions you need."
msgstr ""
"Si vous n’avez besoin que d’un sous-ensemble limité des fonctions "
"d'initialisation, votre classe peut également étendre la classe "
"``\\Elgg\\DefaultPluginBootstrap``, cette classe a déjà implémenté toutes "
"les fonctions de ``\\Elgg\\PluginBootstrapInterface``. Ainsi, vous pouvez "
"surcharger uniquement les fonctions dont vous avez besoin."

#: ../../guides/plugins/bootstrap.rst:16
msgid "Registering the bootstrap class"
msgstr "Enregistrement de la classe \"bootstrap\" d'initialisation"

#: ../../guides/plugins/bootstrap.rst:18
msgid ""
"You must register your bootstrap class in the ``elgg-plugin.php`` file."
msgstr ""
"Vous devez enregistrer votre classe d'initialisation dans le fichier ``elgg-"
"plugin.php``."

#: ../../guides/plugins/bootstrap.rst:28
msgid "Available functions"
msgstr "Fonctions disponibles"

#: ../../guides/plugins/bootstrap.rst:31
msgid "->load()"
msgstr "->load()"

#: ../../guides/plugins/bootstrap.rst:33
msgid "Executed during ``plugins_load``, ``system`` event"
msgstr "Exécuté lors de l’événement ``plugins_load``, ``system``"

#: ../../guides/plugins/bootstrap.rst:35
msgid ""
"Allows the plugin to require additional files, as well as configure services"
" prior to booting the plugin."
msgstr ""
"Permet au plugin de requérir des fichiers supplémentaires, ainsi que de "
"configurer des services avant le démarrage du plugin."

#: ../../guides/plugins/bootstrap.rst:38
msgid "->boot()"
msgstr "->boot()"

#: ../../guides/plugins/bootstrap.rst:40
msgid "Executed during ``plugins_boot:before``, ``system`` event"
msgstr "Exécuté lors de l’événement ``plugins_boot:before``, ``system``"

#: ../../guides/plugins/bootstrap.rst:42
msgid ""
"Allows the plugin to register handlers for ``plugins_boot``, ``system`` and "
"``init``, ``system`` events, as well as implement boot time logic."
msgstr ""
"Permet au plugin d’enregistrer des gestionnaires pour les événements "
"``plugins_boot``, ``system`` et ``init``, ``system``, ainsi que de mettre en"
" œuvre la logique de démarrage."

#: ../../guides/plugins/bootstrap.rst:46
msgid "->init()"
msgstr "->init()"

#: ../../guides/plugins/bootstrap.rst:48
msgid "Executed during ``init``, ``system`` event"
msgstr "Exécuté lors de l’événement ``init``, ``system``"

#: ../../guides/plugins/bootstrap.rst:50
msgid ""
"Allows the plugin to implement business logic and register all other "
"handlers."
msgstr ""
"Permet au plugin d’implémenter la logique métier et d’enregistrer tous les "
"autres gestionnaires."

#: ../../guides/plugins/bootstrap.rst:53
msgid "->ready()"
msgstr "->ready()"

#: ../../guides/plugins/bootstrap.rst:55
msgid "Executed during ``ready``, ``system`` event"
msgstr "Exécuté lors de l’événement ``ready``, ``system``"

#: ../../guides/plugins/bootstrap.rst:57
msgid ""
"Allows the plugin to implement logic after all plugins are initialized."
msgstr ""
"Permet au plugin d’implémenter sa logique après que tous les plugins ont été"
" initialisés."

#: ../../guides/plugins/bootstrap.rst:60
msgid "->shutdown()"
msgstr "->shutdown()"

#: ../../guides/plugins/bootstrap.rst:62
msgid "Executed during ``shutdown``, ``system`` event"
msgstr "Exécuté lors de l’événement ``shutdown``, ``system``"

#: ../../guides/plugins/bootstrap.rst:64
msgid "Allows the plugin to implement logic during shutdown."
msgstr "Permet au plugin d’implémenter sa logique pendant l’arrêt (shutdown)."

#: ../../guides/plugins/bootstrap.rst:67
msgid "->activate()"
msgstr "->activate()"

#: ../../guides/plugins/bootstrap.rst:69
msgid ""
"Executed when plugin is activated, after ``activate``, ``plugin`` event."
msgstr ""
"Exécuté lorsque le plugin est activé, après l'événement ``activate``, "
"``plugin``."

#: ../../guides/plugins/bootstrap.rst:72
msgid "->deactivate()"
msgstr "->deactivate()"

#: ../../guides/plugins/bootstrap.rst:74
msgid ""
"Executed when plugin is deactivated, after ``deactivate``, ``plugin`` event."
msgstr ""
"Exécuté lorsque le plugin est désactivé, après l'événement ``deactivate``, "
"``plugin``."

#: ../../guides/plugins/bootstrap.rst:77
msgid "->upgrade()"
msgstr "->upgrade()"

#: ../../guides/plugins/bootstrap.rst:79
msgid "Registered as handler for ``upgrade``, ``system`` event"
msgstr ""
"Enregistré en tant que gestionnaire pour l’événement ``upgrade``, ``system``"

#: ../../guides/plugins/bootstrap.rst:81
msgid "Allows the plugin to implement logic during system upgrade."
msgstr ""
"Permet au plugin d’implémenter la logique pendant la mise à niveau du "
"système."

#: ../../guides/plugins/bootstrap.rst:84
msgid "Available helper functions"
msgstr "Fonctions d’assistance disponibles"

#: ../../guides/plugins/bootstrap.rst:86
msgid ""
"This assumes your bootstrap class extends the ``\\Elgg\\PluginBootstrap`` "
"abstract class or the ``\\Elgg\\DefaultPluginBootstrap`` class."
msgstr ""
"Ceci suppose que votre classe bootstrap étend la classe abstraite "
"``\\Elgg\\PluginBootstrap`` ou la classe ``\\Elgg\\DefaultPluginBootstrap``."

#: ../../guides/plugins/bootstrap.rst:89
msgid "->elgg()"
msgstr "->elgg()"

#: ../../guides/plugins/bootstrap.rst:91
msgid ""
"Returns Elgg's public DI container. This can be helpfull if you wish to "
"register plugin hooks or event listeners."
msgstr ""
"Renvoie le conteneur d’informations public de Elgg. Cela peut être utile si "
"vous souhaitez enregistrer des hooks plugin ou des écouteurs (listeners) "
"d’événements."

#: ../../guides/plugins/bootstrap.rst:102
msgid "->plugin()"
msgstr "->plugin()"

#: ../../guides/plugins/bootstrap.rst:104
msgid ""
"Returns plugin entity this bootstrap is related to. This makes it easier to "
"get plugin settings."
msgstr ""
"Renvoie l’entité du plugin à laquelle cette initialisation est liée. Il est "
"ainsi plus facile d’obtenir des paramètres de plugin."

#: ../../guides/plugins/dependencies.rst:2
msgid "Plugin Dependencies"
msgstr "Dépendances du plugin"

#: ../../guides/plugins/dependencies.rst:4
msgid ""
"In Elgg the plugin dependencies system is there to prevent plugins from "
"being used on incompatible systems."
msgstr ""
"Dans Elgg, le système de dépendances de plugin est présent pour empêcher les"
" plugins d’être utilisés sur des systèmes incompatibles."

#: ../../guides/plugins/dependencies.rst:13
msgid ""
"The dependencies system is controlled through a plugin's ``elgg-plugin.php``"
" file or ``composer.json``. Plugin authors can specify that a plugin:"
msgstr ""
"Le système de dépendances est contrôlé par le fichier ```elgg-plugin.php`` "
"file ou ``composer.json`` d’un plugin. Les auteurs de plugins peuvent "
"spécifier qu’un plugin :"

#: ../../guides/plugins/dependencies.rst:15
msgid "Requires certain Elgg plugins, PHP version or PHP extensions."
msgstr "Nécessite certains plugins Elgg, version de PHP ou extensions PHP."

#: ../../guides/plugins/dependencies.rst:16
msgid "Conflicts with certain Elgg versions or plugins."
msgstr "Conflits avec certaines versions de Elgg ou de plugins."

#: ../../guides/plugins/dependencies.rst:18
msgid ""
"The dependency system uses the four verbs above (``requires`` and "
"``conflicts``) as parent elements to indicate what type of dependency is "
"described by its children. All dependencies have a similar format with "
"similar options:"
msgstr ""
"Le système de dépendances utilise les deux verbes ci-dessus (``requires`` et"
" ``conflicts``) comme éléments parents pour indiquer quel type de dépendance"
" est décrit par ses enfants. Toutes les dépendances ont un format similaire "
"avec des options similaires :"

#: ../../guides/plugins/dependencies.rst:30
msgid "``type`` is always required"
msgstr "``type`` est toujours requis"

#: ../../guides/plugins/dependencies.rst:33
msgid "Verbs"
msgstr "Verbes"

#: ../../guides/plugins/dependencies.rst:35
msgid ""
"With the exception of ``provides``, all verbs use the same six types with "
"differing effects, and the type options are the same among the verbs. "
"``provides`` only supports ``plugin`` and ``php_extension``."
msgstr ""
"À l’exception des ``provides``, tous les verbes utilisent les mêmes six "
"types avec des effets différents, et les options de type sont les mêmes "
"parmi les verbes. ``provides`` ne prend en charge que ``plugin`` et "
"``php_extension``."

#: ../../guides/plugins/dependencies.rst:38
msgid "Requires"
msgstr "Requiert"

#: ../../guides/plugins/dependencies.rst:40
msgid ""
"Using a ``requires`` dependency means that the plugin cannot be enabled "
"unless the dependency is exactly met."
msgstr ""
"L’utilisation d’une dépendance ``requires`` signifie que le plugin ne peut "
"pas être activé à moins que la dépendance ne soit exactement remplie."

#: ../../guides/plugins/dependencies.rst:43
msgid "Mandatory requires: elgg_release"
msgstr "Pré-requis obligatoire : elgg_release"

#: ../../guides/plugins/dependencies.rst:45
msgid ""
"Every plugin must have at least one requires: the version of Elgg the plugin"
" is developed for. This is specified by the Elgg API ``release`` (1.8). The "
"default comparison ``>=``, but you can specify your own by passing the "
"``<comparison>`` element."
msgstr ""
"Chaque plugin doit avoir au moins une exigence : la version d’Elgg pour "
"laquelle le plugin est développé. Ceci est spécifié par l’API Elgg "
"``release`` (1.8). La comparaison par défaut est ``>=``, mais vous pouvez "
"spécifier votre propre comparaison en passant l'élément ``<comparison>``."

#: ../../guides/plugins/dependencies.rst:47
msgid "Using elgg_release:"
msgstr "Utiliser elgg_release :"

#: ../../guides/plugins/dependencies.rst:57
msgid "Conflicts"
msgstr "Est en conflit avec"

#: ../../guides/plugins/dependencies.rst:59
msgid ""
"``conflicts`` dependencies mean the plugin cannot be used under a specific "
"system configuration."
msgstr ""
"Les dépendances ``conflicts`` signifient que le plugin ne peut pas être "
"utilisé avec une configuration système spécifique."

#: ../../guides/plugins/dependencies.rst:61
msgid "Conflict with any version of the profile plugin:"
msgstr "Conflit avec n’importe quelle version du plugin profile :"

#: ../../guides/plugins/dependencies.rst:70
msgid "Conflict with a specific release of Elgg:"
msgstr "Conflit avec une version spécifique de Elgg :"

#: ../../guides/plugins/dependencies.rst:81
msgid "Types"
msgstr "Types"

#: ../../guides/plugins/dependencies.rst:83
msgid ""
"Every dependency verb has a mandatory ``<type>`` element that must be one of"
" the following six values:"
msgstr ""
"Chaque verbe de dépendance a un élément ``<type>`` obligatoire qui doit être"
" l’une des six valeurs suivantes :"

#: ../../guides/plugins/dependencies.rst:85
msgid "**elgg_release** - The release version of Elgg (1.8)"
msgstr "**elgg_release** - La version majeure de Elgg (4.0)"

#: ../../guides/plugins/dependencies.rst:86
msgid "**plugin** - An Elgg plugin"
msgstr "**plugin** - Un plugin Elgg"

#: ../../guides/plugins/dependencies.rst:87
msgid "**priority** - A plugin load priority"
msgstr "**priority** - Une priorité de chargement de plugin"

#: ../../guides/plugins/dependencies.rst:88
msgid "**php_extension** - A PHP extension"
msgstr "**php_extension** - Une extension PHP"

#: ../../guides/plugins/dependencies.rst:89
msgid "**php_version** - A PHP version"
msgstr "**php_version** - Une version de PHP"

#: ../../guides/plugins/dependencies.rst:93
msgid "``provides`` only supports ``plugin`` and ``php_extension`` types."
msgstr ""
"``provides`` ne prend en charge que les types ``plugin`` et "
"``php_extension``."

#: ../../guides/plugins/dependencies.rst:95
msgid ""
"Every type is defined with a dependency verb as the parent element. "
"Additional option elements are at the same level as the type element:"
msgstr ""
"Chaque type est défini avec un verbe de dépendance comme élément parent. Les"
" éléments d’option supplémentaires sont au même niveau que l’élément du type"
" :"

#: ../../guides/plugins/dependencies.rst:106
msgid "elgg_release"
msgstr "elgg_release"

#: ../../guides/plugins/dependencies.rst:108
msgid ""
"These concern the API and release versions of Elgg and requires the "
"following option element:"
msgstr ""
"Ceux-ci concernent l’API et les versions de version d’Elgg et nécessitent "
"l’élément d’option suivant :"

#: ../../guides/plugins/dependencies.rst:110
msgid "**version** - The API or release version"
msgstr "**version** - La version de l'API ou de Elgg"

#: ../../guides/plugins/dependencies.rst:112
#: ../../guides/plugins/dependencies.rst:159
msgid "The following option element is supported, but not required:"
msgstr "L'élément d'option suivant est supporté, mais pas requis :"

#: ../../guides/plugins/dependencies.rst:114
#: ../../guides/plugins/dependencies.rst:126
#: ../../guides/plugins/dependencies.rst:161
msgid ""
"**comparison** - The comparison operator to use. Defaults to >= if not "
"passed"
msgstr ""
"**comparison** - L'opérateur de comparaison à utiliser. La valeur par défaut"
" est >= si non passée"

#: ../../guides/plugins/dependencies.rst:117
msgid "plugin"
msgstr "plugin"

#: ../../guides/plugins/dependencies.rst:119
msgid ""
"Specifies an Elgg plugin by its ID (directory name). This requires the "
"following option element:"
msgstr ""
"Spécifie un plugin Elgg par son ID (nom d’annuaire). Cela nécessite "
"l’élément d’option suivant :"

#: ../../guides/plugins/dependencies.rst:121
msgid "**name** - The ID of the plugin"
msgstr "**name** - L'ID du plugin"

#: ../../guides/plugins/dependencies.rst:123
#: ../../guides/plugins/dependencies.rst:143
msgid "The following option elements are supported, but not required:"
msgstr "Les éléments d’option suivants sont pris en charge, mais non requis :"

#: ../../guides/plugins/dependencies.rst:125
msgid "**version** - The version of the plugin"
msgstr "**version** - La version du plugin"

#: ../../guides/plugins/dependencies.rst:129
msgid "priority"
msgstr "priority"

#: ../../guides/plugins/dependencies.rst:131
msgid ""
"This requires the plugin to be loaded before or after another plugin, if "
"that plugin exists. ``requires`` should be used to require that a plugin "
"exists. The following option elements are required:"
msgstr ""
"Cela nécessite que le plugin soit chargé avant ou après un autre plugin, si "
"ce plugin existe. ``requires`` doit être utilisé pour exiger l’existence "
"d’un plugin. Les éléments d’option suivants sont requis :"

#: ../../guides/plugins/dependencies.rst:133
msgid "**plugin** - The plugin ID to base the load order on"
msgstr "**plugin** - L'ID du plugin sur lequel appuyer l'ordre de chargement"

#: ../../guides/plugins/dependencies.rst:134
msgid "**priority** - The load order: 'before' or 'after'"
msgstr ""
"**priority** - L'ordre de chargement : 'before' (avant) ou 'after' (après)"

#: ../../guides/plugins/dependencies.rst:137
msgid "php_extension"
msgstr "php_extension"

#: ../../guides/plugins/dependencies.rst:139
msgid "This checks PHP extensions. The follow option element is required:"
msgstr ""
"Ceci vérifie les extensions PHP. L'élément d'option suivant est requis :"

#: ../../guides/plugins/dependencies.rst:141
msgid "**name** - The name of the PHP extension"
msgstr "**name** - Le nom de l'extension PHP"

#: ../../guides/plugins/dependencies.rst:145
msgid "**version** - The version of the extension"
msgstr "**version** - La version de l'extension"

#: ../../guides/plugins/dependencies.rst:146
msgid "**comparison** - The comparison operator to use. Defaults to =="
msgstr ""
"**comparison** - L'opérateur de comparaison à utiliser. La valeur par défaut"
" est =="

#: ../../guides/plugins/dependencies.rst:150
msgid ""
"The format of extension versions varies greatly among PHP extensions and is "
"sometimes not even set. This is generally worthless to check."
msgstr ""
"Le format des versions des extensions varie largement entre les extensions "
"PHP et n'est parfois même pas défini. Il est habituellement inutile de la "
"vérifier."

#: ../../guides/plugins/dependencies.rst:153
msgid "php_version"
msgstr "php_version"

#: ../../guides/plugins/dependencies.rst:155
msgid ""
"This checks the PHP version. The following option elements are required:"
msgstr ""
"Ceci vérifie la version de PHP. Les éléments d'option suivants sont requis :"

#: ../../guides/plugins/dependencies.rst:157
msgid "**version** - The PHP version"
msgstr "**version** - La version de PHP"

#: ../../guides/plugins/dependencies.rst:164
msgid "Comparison Operators"
msgstr "Opérateurs de comparaison"

#: ../../guides/plugins/dependencies.rst:166
msgid ""
"Dependencies that check versions support passing a custom operator via the "
"``<comparison>`` element."
msgstr ""
"Les dépendances qui vérifient les versions supportent la passage d'un "
"opérateur personnalisé via l'élément ``<comparison>``."

#: ../../guides/plugins/dependencies.rst:168
msgid "The follow are valid comparison operators:"
msgstr "Les opérateurs de comparaison suivants sont valides :"

#: ../../guides/plugins/dependencies.rst:170
msgid "< or lt"
msgstr "< ou lt"

#: ../../guides/plugins/dependencies.rst:171
msgid "<= or le"
msgstr "<= ou le"

#: ../../guides/plugins/dependencies.rst:172
msgid "=, ==, or eq"
msgstr "=, ==, ou eq"

#: ../../guides/plugins/dependencies.rst:173
msgid "!=, <>, or ne"
msgstr "!=, <>, ou ne"

#: ../../guides/plugins/dependencies.rst:174
msgid "> or gt"
msgstr "> ou gt"

#: ../../guides/plugins/dependencies.rst:175
msgid ">= or ge"
msgstr ">= ou ge"

#: ../../guides/plugins/dependencies.rst:177
msgid ""
"If ``<comparison>`` is not passed, the follow are used as defaults, "
"depending upon the dependency type:"
msgstr ""
"Si ``<comparison>`` n'est pas passé, ce qui suit est utilisé comme valeurs "
"par défaut, en fonction du type de dépendance :"

#: ../../guides/plugins/dependencies.rst:179
msgid "requires->elgg_release: >="
msgstr "requires->elgg_release : >="

#: ../../guides/plugins/dependencies.rst:180
msgid "requires->plugin: >="
msgstr "requires->plugin: >="

#: ../../guides/plugins/dependencies.rst:181
msgid "requires->php_extension: ="
msgstr "requires->php_extension : ="

#: ../../guides/plugins/dependencies.rst:182
msgid "all conflicts: ="
msgstr "tous les conflits : ="

#: ../../guides/plugins/dependencies.rst:186
msgid ""
"You must escape < and > to ``&gt;`` and ``&lt;``. For comparisons that use "
"these values, it is recommended you use the string equivalents instead!"
msgstr ""
"Vous devez échapper < et > vers ``&gt;`` et ``&lt;``. Pour des comparaisons "
"qui utilisent ces valeurs, il est recommandé que vous utilisiez les chaînes "
"équivalentes à la place !"

#: ../../guides/plugins/dependencies.rst:189
msgid "Quick Examples"
msgstr "Exemples rapides"

#: ../../guides/plugins/dependencies.rst:192
msgid "Requires Elgg 1.8.2 or higher"
msgstr "Requiert Elgg 1.8.2 ou supérieur"

#: ../../guides/plugins/dependencies.rst:202
msgid "Requires the Groups plugin is active"
msgstr "Requiert que le plugin Groups soit activé"

#: ../../guides/plugins/dependencies.rst:212
msgid "Requires to be after the Profile plugin if Profile is active"
msgstr "Requiert d'être placé après le plugin Profile si celui-ci est activé"

#: ../../guides/plugins/dependencies.rst:223
msgid "Conflicts with The Wire plugin"
msgstr "En conflit avec le plugin The Wire (le Fil)"

#: ../../guides/plugins/dependencies.rst:234
msgid "Requires at least PHP version 5.3"
msgstr "Requiert au moins PHP version 5.3"

#: ../../guides/plugins/dependencies.rst:244
msgid "Suggest the TidyPics plugin is loaded"
msgstr "Suggère que le plugin TidyPics soit activé"

#: ../../guides/plugins/plugin-skeleton.rst:2
msgid "Plugin skeleton"
msgstr "Squelette du plugin"

#: ../../guides/plugins/plugin-skeleton.rst:4
msgid ""
"The following is the standard for plugin structure in Elgg as of Elgg 2.0."
msgstr ""
"Ce qui suit est le standard pour la structure d'un plugin dans Elgg à partir"
" de Elgg 2.0."

#: ../../guides/plugins/plugin-skeleton.rst:7
msgid "Example Structure"
msgstr "Exemple de structure"

#: ../../guides/plugins/plugin-skeleton.rst:9
msgid ""
"The following is an example of a plugin with standard structure. For further"
" explanation of this structure, see the details in the following sections. "
"Your plugin may not need all the files listed"
msgstr ""
"Voici un exemple de plugin avec un structure standard. Pour plus "
"d'explications sur cette structure, voyez les informations dans les sections"
" suivantes. Votre plugin peut ne pas avoir besoin de tous les fichiers "
"listés"

#: ../../guides/plugins/plugin-skeleton.rst:11
msgid ""
"The following files for plugin ``example`` would go in ``/mod/example/``"
msgstr ""
"Les fichiers suivants pour le plugin ``example`` iraient dans "
"``/mod/example/``"

#: ../../guides/plugins/plugin-skeleton.rst:67
msgid "Required Files"
msgstr "Fichiers requis"

#: ../../guides/plugins/plugin-skeleton.rst:69
msgid ""
"Plugins **must** provide a ``composer.json`` file in the plugin root in "
"order to be recognized by Elgg."
msgstr ""
"Les plugins **doivent** fournir un fichier ``composer.json`` dans la racine "
"du plugin afin d'être reconnus par Elgg."

#: ../../guides/plugins/plugin-skeleton.rst:71
msgid "Therefore the following is the minimally compliant structure:"
msgstr "De ce fait, voici la structure conforme minimale :"

#: ../../guides/plugins/plugin-skeleton.rst:81
msgid ""
"Plugins *should* place scripts for actions an ``actions/`` directory, and "
"furthermore *should* use the name of the action to determine the location "
"within that directory."
msgstr ""
"Les plugins *devraient* placer les scripts pour les actions dans un dossier "
"``actions/``, et *devraient* en outre utiliser le nom de l'action pour "
"déterminer l'emplacement dans ce dossier."

#: ../../guides/plugins/plugin-skeleton.rst:83
msgid ""
"For example, the action ``my/example/action`` would go in "
"``my_plugin/actions/my/example/action.php``. This makes it very obvious "
"which script is associated with which action."
msgstr ""
"Par exemple, l'action ``my/example/action`` irait dans "
"``my_plugin/actions/my/example/action.php``. Ceci permet de rendre évident "
"quel script est associé avec quelle action."

#: ../../guides/plugins/plugin-skeleton.rst:85
msgid ""
"Similarly, the body of the form that submits to this action should be "
"located in ``forms/my/example/action.php``. Not only does this make the "
"connection b/w action handler, form code, and action name obvious, but it "
"allows you to use the ``elgg_view_form()`` function easily."
msgstr ""
"De même, le corps du formulaire qui est soumis à cette action doit être "
"situé dans ``forms/mon/exemple/action.php``. Non seulement cela rend évident"
" le lein entre le gestionnaire d’action, le code de formulaire et le nom de "
"l’action, mais cela vous permet aussi d’utiliser facilement la fonction "
"``elgg_view_form()``."

#: ../../guides/plugins/plugin-skeleton.rst:88
msgid "Text Files"
msgstr "Fichiers texte"

#: ../../guides/plugins/plugin-skeleton.rst:90
msgid ""
"Plugins *may* provide various \\*.txt as additional documentation for the "
"plugin. These files **must** be in Markdown syntax and will generate links "
"on the plugin management sections."
msgstr ""
"Les plugins *peuvent* fournir divers fichiers \\*.txt comme documentation "
"supplémentaire pour le plugin. Ces fichiers **doivent** utiliser la syntaxe "
"Markdown et vont générer des liens vers les sections de gestion du plugins."

#: ../../guides/plugins/plugin-skeleton.rst:93
msgid "README.txt"
msgstr "README.txt"

#: ../../guides/plugins/plugin-skeleton.rst:93
msgid ""
"*should* provide additional information about the plugin of an unspecified "
"nature"
msgstr ""
"*devrait* fournir des informations supplémentaires de toute nature sur le "
"plugin"

#: ../../guides/plugins/plugin-skeleton.rst:96
msgid "COPYRIGHT.txt"
msgstr "COPYRIGHT.txt"

#: ../../guides/plugins/plugin-skeleton.rst:96
msgid ""
"If included, **must** provide an explanation of the plugin's copyright."
msgstr ""
"Si inclus, **doit** fournir une description du droit d’auteur du plugin."

#: ../../guides/plugins/plugin-skeleton.rst:99
msgid "LICENSE.txt"
msgstr "LICENSE.txt"

#: ../../guides/plugins/plugin-skeleton.rst:99
msgid ""
"If included, **must** provide the text of the license that the plugin is "
"released under."
msgstr ""
"Si inclus, **doit** fournir le texte de la licence sous laquelle le plugin "
"est publié."

#: ../../guides/plugins/plugin-skeleton.rst:102
msgid "INSTALL.txt"
msgstr "INSTALL.txt"

#: ../../guides/plugins/plugin-skeleton.rst:102
msgid ""
"If included, **must** provide additional instructions for installing the "
"plugin if the process is sufficiently complicated (e.g. if it requires "
"installing third party libraries on the host machine, or requires acquiring "
"an API key from a third party)."
msgstr ""
"Si inclus, **doit** fournir des instructions supplémentaires pour "
"l’installation du plugin si le processus est suffisamment compliqué (par "
"exemple, s’il nécessite l’installation de bibliothèques tierces sur l’hôte, "
"ou nécessite l’acquisition d’une clef API provenant d’un tiers)."

#: ../../guides/plugins/plugin-skeleton.rst:105
msgid "CHANGES.txt"
msgstr "CHANGES.txt"

#: ../../guides/plugins/plugin-skeleton.rst:105
msgid ""
"If included, **must** provide a list of changes for their plugin, grouped by"
" version number, with the most recent version at the top."
msgstr ""
"Si inclus, **doit** fournir une liste de modifications pour leur plugin, "
"regroupées par numéro de version, avec la version la plus récente au début."

#: ../../guides/plugins/plugin-skeleton.rst:107
msgid ""
"Plugins *may* include additional \\*.txt files besides these, but no "
"interface is given for reading them."
msgstr ""
"Les plugins *peuvent* inclure des fichiers supplémentaires \\*.txt en plus "
"de ceux-ci, mais aucune interface n’est donnée pour les lire."

#: ../../guides/plugins/plugin-skeleton.rst:110
msgid "Pages"
msgstr "Pages"

#: ../../guides/plugins/plugin-skeleton.rst:112
msgid ""
"To render full pages, plugins should use **resource views** (which have "
"names beginning with ``resources/``). This allows other plugins to easily "
"replace functionality via the view system."
msgstr ""
"Pour afficher des pages complètes, les plugins doivent utiliser les **vues "
"de ressources** (qui ont des noms commençant par ``resources/``). Cela "
"permet à d’autres plugins de remplacer facilement certaines fonctionnalités "
"via le système de vue."

#: ../../guides/plugins/plugin-skeleton.rst:117
msgid "The reason we encourage this structure is"
msgstr "La raison pour laquelle nous encourageons cette structure est"

#: ../../guides/plugins/plugin-skeleton.rst:119
msgid ""
"To form a logical relationship between urls and scripts, so that people "
"examining the code can have an idea of what it does just by examining the "
"structure."
msgstr ""
"Pour former une relation logique entre urls et scripts, de sorte que les "
"personnes qui examinent le code puissent avoir une idée de ce qu'il fait "
"rien qu'en examinant la structure du code."

#: ../../guides/plugins/plugin-skeleton.rst:120
msgid ""
"To clean up the root plugin directory, which historically has quickly gotten"
" cluttered with the page handling scripts."
msgstr ""
"Pour nettoyer le répertoire racine des plugins, qui avait historiquement été"
" rapidement encombré avec les scripts de gestion des pages."

#: ../../guides/plugins/plugin-skeleton.rst:123
msgid "Classes"
msgstr "Classes"

#: ../../guides/plugins/plugin-skeleton.rst:125
msgid ""
"Elgg provides `PSR-0 <http://www.php-fig.org/psr/psr-0/>`_ autoloading out "
"of every active plugin's ``classes/`` directory."
msgstr ""
"Elgg fournit un autochargement `PSR-0 <http://www.php-fig.org/psr/psr-0/>`_ "
"de toutes les classes du répertoire ``classes/`` des plugins actifs."

#: ../../guides/plugins/plugin-skeleton.rst:127
msgid ""
"You're encouraged to follow the `PHP-FIG <http://www.php-fig.org/>`_ "
"standards when writing your classes."
msgstr ""
"Vous êtes encouragés à suivre les standards `PHP-FIG <http://www.php-"
"fig.org/>`_ quand vous écrivez vos classes."

#: ../../guides/plugins/plugin-skeleton.rst:131
msgid "Files with a \".class.php\" extension will **not** be recognized by Elgg."
msgstr ""
"Les fichiers avec une extension \".class.php\" ne seront **pas** reconnus "
"par Elgg."

#: ../../guides/plugins/plugin-skeleton.rst:133
msgid ""
"When organizing you classes Elgg does not require a specific structure. Use "
"what works best for your plugin but keep in mind that it should be easy to "
"read, funtionality should be easy to find and having seperated functions "
"into different classes will improve maintainability and testability."
msgstr ""
"Lors de l’organisation de vous classes, Elgg n'impose pas une structure "
"spécifique. Utilisez ce qui fonctionne le mieux pour votre plugin, mais "
"gardez à l’esprit qu’il devrait être facile à lire, et que ses "
"fonctionalités devraient être faciles à trouver, et qu'avoir des fonctions "
"séparées dans différentes classes permettra d’améliorer la maintenance et la"
" testabilité."

#: ../../guides/plugins/plugin-skeleton.rst:136
msgid "Vendors"
msgstr "Fournisseurs (vendors)"

#: ../../guides/plugins/plugin-skeleton.rst:138
msgid ""
"Included third-party libraries of any kind *should* be included in the "
"``vendors/`` folder in the plugin root. Though this folder has no special "
"significance to the Elgg engine, this has historically been the location "
"where Elgg core stores its third-party libraries, so we encourage the same "
"format for the sake of consistency and familiarity."
msgstr ""
"Les bibliothèques tierce-partie de tout type *devraient* être placées dans "
"le dossier ``vendors/`` de la racine du plugin. Quoique ce dossier n'ait pas"
" de signification particulière pour le moteur de Elgg, il a été "
"historiquement l'emplacement où le noyau de Elgg conservait ses "
"bibliothèques tierces-parties, aussi nous encourageons le même format au nom"
" de la cohérence et de la familiarité."

#: ../../guides/plugins/plugin-skeleton.rst:143
msgid ""
"In order to override core views, a plugin's views can be placed in "
"``views/``, or an ``elgg-plugin.php`` config file can be used for more "
"detailed file/path mapping. See :doc:`/guides/views`."
msgstr ""
"Afin de surcharger des vues du noyau, les vues d'un plugin peuvent être "
"placées dans ``views/``, ou un fichier de configuration ``elgg-plugin.php`` "
"peut être utilisé pour un mappage fichier/chemin plus détaillé. Voyez "
":doc:`/guides/views`."

#: ../../guides/plugins/plugin-skeleton.rst:145
msgid ""
"Javascript and CSS will live in the views system. See "
":doc:`/guides/javascript`."
msgstr ""
"Javascript et CSS seront hébergés dans le système de vues. Voyez "
":doc:`/guides/javascript`."

#: ../../guides/river.rst:2
msgid "River"
msgstr "Rivière (Flux d'activité)"

#: ../../guides/river.rst:4
msgid ""
"Elgg natively supports the \"river\", an activity stream containing "
"descriptions of activities performed by site members. This page gives an "
"overview of adding events to the river in an Elgg plugin."
msgstr ""
"Elgg supporte nativement la \"rivière\" (\"river\"), un flux d'activité qui "
"contient des descriptions des activités effectuées par les membres du site. "
"Cette page donne un aperçu de comment ajouter des événements à la rivière "
"dans un plugin Elgg."

#: ../../guides/river.rst:9
msgid "Pushing river items"
msgstr "Pousser des éléments vers la rivière"

#: ../../guides/river.rst:11
msgid ""
"Items are pushed to the activity river through a function call, which you "
"must include in your plugins for the items to appear."
msgstr ""
"Des éléments sont poussés vers la rivière d'activité à travers l'appel à une"
" fonction, que vous devez inclure dans vos plugins pour que ces éléments "
"apparaissent."

#: ../../guides/river.rst:14
msgid ""
"Here we add a river item telling that a user has created a new blog post:"
msgstr ""
"Ici nous ajoutons un élément à la rivière, qui indique qu'un utilisateur a "
"créé un nouvel article de blog :"

#: ../../guides/river.rst:27
msgid "All available parameters:"
msgstr "Tous les paramètres disponibles :"

#: ../../guides/river.rst:29
msgid "``view`` => STR The view that will handle the river item (must exist)"
msgstr ""
"``view`` => STR La vue qui va gérer l'élément de la rivière (doit exister)"

#: ../../guides/river.rst:30
msgid ""
"``action_type`` => STR An arbitrary string to define the action (e.g. "
"'create', 'update', 'vote', 'review', etc)"
msgstr ""
"``action_type`` => STR Une chaîne arbitraire pour définir l'action (par ex. "
"'create', 'update', 'vote', 'review', etc.)"

#: ../../guides/river.rst:31
msgid ""
"``subject_guid`` => INT The GUID of the entity doing the action (default: "
"the logged in user guid)"
msgstr ""
"``subject_guid`` => INT Le GUID de l'entité qui effectue l'action (par "
"défaut : le guid de l'utilisateur connecté)"

#: ../../guides/river.rst:32
msgid "``object_guid`` => INT The GUID of the entity being acted upon"
msgstr ""
"``object_guid`` => INT Le GUID de l'entité sur laquelle est effectuée "
"l'action"

#: ../../guides/river.rst:33
msgid ""
"``target_guid`` => INT The GUID of the the object entity's container "
"(optional)"
msgstr ""
"``target_guid`` => INT Le GUID du conteneur de l'entité objet (optionnel)"

#: ../../guides/river.rst:34
msgid ""
"``access_id`` => INT The access ID of the river item (default: same as the "
"object)"
msgstr ""
"``access_id`` => INT L'ID d'accès de l'élément de la rivière (par défaut : "
"identique à celui de l'objet)"

#: ../../guides/river.rst:35
msgid ""
"``posted`` => INT The UNIX epoch timestamp of the river item (default: now)"
msgstr ""
"``posted`` => INT Le timestamp UNIX de l'élément de la rivière (par défaut :"
" maintenant)"

#: ../../guides/river.rst:36
msgid ""
"``annotation_id`` => INT The annotation ID associated with this river entry "
"(optional)"
msgstr ""
"``annotation_id`` => INT L'ID de l'annotation ID associée avec cette entrée "
"de la rivière (optionnel)"

#: ../../guides/river.rst:38
msgid ""
"When an item is deleted or changed, the river item will be updated "
"automatically."
msgstr ""
"Quand un élément est supprimé ou modifié, l'élément de la rivière sera mis à"
" jour automatiquement."

#: ../../guides/river.rst:41
msgid "River views"
msgstr "Vues de la rivière"

#: ../../guides/river.rst:43
msgid ""
"As of Elgg 3.0 the ``view`` parameter is no longer required. A fallback "
"logic has been created to check a series of views for you:"
msgstr ""
"A partir de Elgg 3.0 le paramètre ``view`` n'est plus requis. Une logique de"
" rechange a été créée pour vérifier une série de vues pour vous :"

#: ../../guides/river.rst:45
msgid ""
"``/river/{$type}/{$subtype}/{$action_type}``: eg. "
"``river/object/blog/create`` only the ``create`` action will come to this "
"view"
msgstr ""
"``/river/{$type}/{$subtype}/{$action_type}`` : par ex. "
"``river/object/blog/create`` seule l'action ``create`` parviendra à cette "
"vue"

#: ../../guides/river.rst:46
msgid ""
"``river/{$type}/{$subtype}/default``: eg. ``river/object/blog/default`` all "
"river activity for ``object`` ``blog`` will come here"
msgstr ""
"``river/{$type}/{$subtype}/default`` : par ex. ``river/object/blog/default``"
" toute l'activité de la rivière pour ``object`` ``blog`` arrivera ici"

#: ../../guides/river.rst:47
msgid ""
"``river/{$type}/{$action_type}``: eg. ``river/object/create`` all ``create``"
" actions for ``object`` will come here"
msgstr ""
"``river/{$type}/{$action_type}`` : par ex. ``river/object/create`` toutes "
"les actions ``create`` pour ``object`` arriveront ici"

#: ../../guides/river.rst:48
msgid ""
"``river/{$type}/default``: eg. ``river/object/default`` all actions for all "
"``object`` will come here"
msgstr ""
"``river/{$type}/default`` : par ex. ``river/object/default`` toutes les "
"actions pour tous les ``object`` arriveront ici"

#: ../../guides/river.rst:49
msgid ""
"``river/elements/layout``: ultimate fall back view, this should always be "
"called in any of the river views to make a consistent layout"
msgstr ""
"``river/elements/layout`` : solution de rechange en dernier recours, qui "
"devrait toujours être appelée dans n'importe laquelle des vues de la rivière"
" pour créer une mise en page cohérente"

#: ../../guides/river.rst:51
msgid ""
"Both ``type`` and ``subtype`` are based on the ``type`` and ``subtype`` of "
"the ``object_guid`` for which the river item was created."
msgstr ""
"A la fois ``type`` et ``subtype`` sont basés sur le ``type`` et le "
"``subtype`` de l'``object_guid`` pour lequel l'élément de la rivière a été "
"créé."

#: ../../guides/river.rst:56
msgid ""
"If no ``summary`` parameter is provided to the ``river/elements/layout`` the"
" view will try to create it for you. The basic result will be a text with "
"the text `Somebody did something on Object`, where `Somebody` is based on "
"``subject_guid`` and `Object` is based on ``object_guid``. For both "
"`Somebody` and `Object` links will be created. These links are passed to a "
"series of language keys so you can create a meaningfull summary."
msgstr ""
"Si aucun paramètre ``summary`` n’est fourni à ``river/elements/layout`` la "
"vue tentera de le créer pour vous. Le résultat de base sera un texte avec le"
" texte `Untel a fait quelque chose sur Ceci`, où `Untel` est basé sur "
"``subject_guid`` et ``Ceci`` est basé sur ``object_guid``. Des liens seront "
"créés pour `Untel` et `Ceci`. Ces liens sont transmis à une série de clefs "
"de traduction afin que vous puissiez générer un résumé informatif."

#: ../../guides/river.rst:60
msgid "The language keys are:"
msgstr "Les clefs de traduction sont :"

#: ../../guides/river.rst:62
msgid ""
"``river:{$type}:{$subtype}:{$action_type}``: eg. "
"``river:object:blog:create``"
msgstr ""
"``river:{$type}:{$subtype}:{$action_type}``: par ex. "
"``river:object:blog:create``"

#: ../../guides/river.rst:63
msgid ""
"``river:{$type}:{$subtype}:default``: eg. ``river:object:blog:default``"
msgstr ""
"``river:{$type}:{$subtype}:default``: par ex. ``river:object:blog:default``"

#: ../../guides/river.rst:64
msgid "``river:{$type}:{$action_type}``: eg. ``river:object:create``"
msgstr "``river:{$type}:{$action_type}``: par ex. ``river:object:create``"

#: ../../guides/river.rst:65
msgid "``river:{$type}:default``: eg. ``river:object:default``"
msgstr "``river:{$type}:default``: par ex. ``river:object:default``"

#: ../../guides/river.rst:68
msgid "Custom river view"
msgstr "Vue personnalisée de la rivière"

#: ../../guides/river.rst:70
msgid ""
"If you wish to add some more information to the river view, like an "
"attachment (image, YouTube embed, etc), you must specify the :doc:`view "
"<views>` when creating the river item. This view **MUST** exist."
msgstr ""
"Si vous souhaitez ajouter plus d’informations à la vue de la rivière, comme "
"par ex. une pièce jointe (une image, une vidéo YouTube embarquée, etc), vous"
" devez spécifier la :doc:`vue <views>` lors de la création de l’élément de "
"la rivière. Cette vue **DOIT** exister."

#: ../../guides/river.rst:73
msgid "We recommend ``/river/{type}/{subtype}/{action}``, where:"
msgstr "Nous recommandons ``/river/{type}/{subtype}/{action}``, où :"

#: ../../guides/river.rst:75
msgid ""
"``{type}`` is the entity type of the content we're interested in (``object``"
" for objects, ``user`` for users, etc)"
msgstr ""
"``{type}`` est le type d’entité du contenu qui nous intéresse (``object`` "
"pour les objets, ``user`` pour les utilisateurs, etc.)"

#: ../../guides/river.rst:76
msgid ""
"``{subtype}`` is the entity subtype of the content we're interested in "
"(``blog`` for blogs, ``photo_album`` for albums, etc)"
msgstr ""
"``{subtype}`` est le sous-type d’entité du contenu qui nous intéresse "
"(``blog`` pour les articles de blog, ``photo_album`` pour les albums photo, "
"etc.)"

#: ../../guides/river.rst:77
msgid ""
"``{action}`` is the action that took place (``create``, ``update``, etc)"
msgstr "``{action}`` est l’action qui a eu lieu (``create``, ``update``, etc)"

#: ../../guides/river.rst:79
msgid ""
"River item information will be passed in an object called ``$vars['item']``,"
" which contains the following important parameters:"
msgstr ""
"Les informations relatives à un élément de la rivière seront transmises dans"
" un objet appelé ``$vars['item']``, qui contient les paramètres importants "
"suivants :"

#: ../../guides/river.rst:81
msgid ""
"``$vars['item']->subject_guid`` The GUID of the user performing the action"
msgstr ""
"``''$vars['item']->subject_guid`` Le GUID de l’utilisateur qui exécute "
"l’action"

#: ../../guides/river.rst:82
msgid "``$vars['item']->object_guid`` The GUID of the entity being acted upon"
msgstr ""
"``$vars['item']->object_guid`` Le GUID de l’entité sur laquelle l'action est"
" effectuée"

#: ../../guides/river.rst:84
msgid "Timestamps etc will be generated for you."
msgstr "Les horodatages, etc. seront générés pour vous."

#: ../../guides/river.rst:86
msgid ""
"For example, the blog plugin uses the following code for its river view:"
msgstr ""
"Par exemple, le plugin blog utilise le code suivant pour sa vue dans la "
"rivière :"

#: ../../guides/routing.rst:4
msgid ""
"Elgg has two mechanisms to respond to HTTP requests that don't already go "
"through the :doc:`/design/actions` and :doc:`/guides/views/simplecache` "
"systems."
msgstr ""
"Elgg dispose de deux mécanismes pour répondre aux requêtes HTTP qui ne "
"passent pas déjà par les systèmes des :doc:`design/actions` et du "
":doc:`/guides/views/simplecache`."

#: ../../guides/routing.rst:8
msgid "URL Identifier and Segments"
msgstr "Identifiant d'URL et ségments"

#: ../../guides/routing.rst:10
msgid ""
"After removing the site URL, Elgg splits the URL path by ``/`` into an "
"array. The first element, the **identifier**, is shifted off, and the "
"remaining elements are called the **segments**. For example, if the site URL"
" is ``http://example.com/elgg/``, the URL "
"``http://example.com/elgg/blog/owner/jane?foo=123`` produces:"
msgstr ""
"Après avoir supprimé l’URL du site, Elgg découpe le chemin d’accès de l’URL "
"par ``/`` dans un tableau. Le premier élément, l’**identificateur**, est mis"
" de côté, et les éléments restants sont appelés les **segments**. Par "
"exemple, si l’URL du site est ``http://exemple.com/elgg/``, l’URL "
"``http://exemple.com/elgg/blog/owner/jane?foo=123`` produit :"

#: ../../guides/routing.rst:15
msgid ""
"Identifier: ``'blog'``. Segments: ``['owner', 'jane']``. (the query string "
"parameters are available via ``get_input()``)"
msgstr ""
"Identificateur : ``'blog'``. Segments : ``['owner', 'jane']``. (les "
"paramètres de la chaîne de requête sont disponibles via ``get_input()``)"

#: ../../guides/routing.rst:18
msgid ""
"The site URL (home page) is a special case that produces an empty string "
"identifier and an empty segments array."
msgstr ""
"L’URL du site (page d’accueil) est un cas spécial qui produit un "
"identificateur de chaîne vide et un tableau de segments vides."

#: ../../guides/routing.rst:21
msgid ""
"URL identifier/segments should be considered potentially dangerous user "
"input. Elgg uses ``htmlspecialchars`` to escapes HTML entities in them."
msgstr ""
"Les identificateurs/segments d’URL doivent être considérés comme des entrées"
" utilisateur potentiellement dangereuses. Elgg utilise dessus "
"``htmlspecialchars`` pour échapper les entités HTML."

#: ../../guides/routing.rst:24
msgid "Page Handling"
msgstr "Gestion de pages"

#: ../../guides/routing.rst:26
msgid ""
"Elgg offers a facility to manage your plugin pages via custom routes, "
"enabling URLs like ``http://yoursite/my_plugin/section``. You can register a"
" new route using ``elgg_register_route()``, or via ``routes`` config in "
"``elgg-plugin.php``. Routes map to resource views, where you can render page"
" contents."
msgstr ""
"Elgg offre des outils pour gérer les pages de votre plugin via des routes "
"personnalisées, permettant des URL comme "
"``http://votresite/mon_plugin/section``. Vous pouvez enregistrer une "
"nouvelle route en utilisant ``elgg_register_route()`` ou via la "
"configuration ``routes`` dans ``elgg-plugin.php``. Les routes assurent la "
"correspondance avec les vues de ressources, où vous pouvez générer le "
"contenu de la page."

#: ../../guides/routing.rst:48
msgid ""
"In the example above, we have registered a new route that is accessible via "
"``http://yoursite/my_plugin/section/<guid>/<subsection>``. Whenever that "
"route is accessed with a required ``guid`` segment and an optional "
"``subsection`` segment, the router will render the specified "
"``my_plugin/section`` resource view and pass the parameters extracted from "
"the URL to your resource view with ``$vars``."
msgstr ""
"Dans l’exemple ci-dessus, nous avons enregistré une nouvelle route qui est "
"accessible via ``http://votresite/mon_plugin/section/<guid>/<subsection>``. "
"Chaque fois que cette route est accédée avec le segment requis ``guid`` et "
"un segment facultatif ``subsection``, le routeur affiche la valeur spécifiée"
" par la ressources ``mon_plugin/section`` et transmet les paramètres "
"extraits de l’URL à votre vue de ressource via ``$vars``."

#: ../../guides/routing.rst:55
msgid "Routes names"
msgstr "Nom des routes"

#: ../../guides/routing.rst:57
msgid "Route names can then be used to generate a URL:"
msgstr ""
"Les noms de routes peuvent ensuite être utilisés pour générer une URL :"

#: ../../guides/routing.rst:67
msgid ""
"The route names are unique across all plugins and core, so another plugin "
"can override the route by registering different parameters to the same route"
" name."
msgstr ""
"Les noms d’itinéraires sont uniques pour l'ensemble des plugins et le noyau,"
" de sorte qu’un autre plugin peut surcharger une route en enregistrant "
"d'autres paramètres sur le même nom de route."

#: ../../guides/routing.rst:70
msgid ""
"Route names follow a certain convention and in certain cases will be used to"
" automatically resolve URLs, e.g. to display an entity."
msgstr ""
"Les noms des routes respectent un certain formalisme et seront, dans "
"certains cas, utilisés pour résoudre automatiquement les URLs, par exemple "
"pour afficher une entité."

#: ../../guides/routing.rst:72
msgid ""
"The following conventions are used in core and recommended for plugins:"
msgstr ""
"Les conventions suivantes sont utilisées dans le noyau et recommandées pour "
"les plugins :"

#: ../../guides/routing.rst:76
msgid "**view:<entity_type>:<entity_subtype>**"
msgstr "**view :<entity_type>:<entity_subtype>**"

#: ../../guides/routing.rst:75
msgid ""
"Maps to the entity profile page, e.g. ``view:user:user`` or "
"``view:object:blog`` The path must contain a ``guid``, or ``username`` for "
"users"
msgstr ""
"Correspond à la page de profil de l’entité, par exemple ``view:user:user`` "
"ou ``view:object:blog``. Le chemin d’accès doit contenir un ``guid``, ou un "
"``username`` pour les utilisateurs"

#: ../../guides/routing.rst:81
msgid "**edit:<entity_type>:<entity_subtype>**"
msgstr "**edit:<entity_type>:<entity_subtype>**"

#: ../../guides/routing.rst:79
msgid ""
"Maps to the form to edit the entity, e.g. ``edit:user:user`` or "
"``edit:object:blog`` The path must contain a ``guid``, or ``username`` for "
"users If you need to add subresources, use suffixes, e.g. "
"``edit:object:blog:images``, keeping at least one subresource as a default "
"without suffix."
msgstr ""
"Correspond au formulaire pour modifier l’entité, par exemple "
"``edit:user:user`` ou ``edit:object:blog``. Le chemin d’accès doit contenir "
"un ``guid``, ou un ``username`` pour les utilisateurs. Si vous avez besoin "
"d’ajouter des sous-ressources, utilisez des suffixes, par exemple "
"``edit:object:blog:images``, en gardant au moins une sous-ressource sans "
"suffixe par défaut."

#: ../../guides/routing.rst:85
msgid "**add:<entity_type>:<entity_subtype>**"
msgstr "**add:<entity_type>:<entity_subtype>**"

#: ../../guides/routing.rst:84
msgid ""
"Maps to the form to add a new entity of a given type, e.g. "
"``add:object:blog`` The path, as a rule, contains ``container_guid`` "
"parameter"
msgstr ""
"Correspond au formulaire pour ajouter une nouvelle entité d’un type donné, "
"par exemple ``add:object:blog``. Le chemin d’accès, en règle générale, "
"contient le paramètre ``container_guid``"

#: ../../guides/routing.rst:93
msgid "**collection:<entity_type>:<entity_subtype>:<collection_type>**"
msgstr "**collection:<entity_type>:<entity_subtype>:<collection_type>**"

#: ../../guides/routing.rst:88
msgid ""
"Maps to listing pages. Common route names used in core are, as follows:"
msgstr ""
"Correspond aux pages de listes. Les noms de routes couramment utilisés dans "
"le noyau sont les suivants :"

#: ../../guides/routing.rst:90
msgid "``collection:object:blog:all``: list all blogs"
msgstr "``collection:object:blog:all``: liste tous les articles de blog"

#: ../../guides/routing.rst:91
msgid ""
"``collection:object:blog:owner``: list blogs owned by a user with a given "
"username"
msgstr ""
"``collection:object:blog:owner`` : liste les articles de blog appartenant à "
"un utilisateur avec un identifiant donné"

#: ../../guides/routing.rst:92
msgid ""
"``collection:object:blog:friends``: list blogs owned by friends of the "
"logged in user (or user with a given username)"
msgstr ""
"``collection:object:blog:friends`` : liste les articles de blog appartenant "
"à des contacts de l’utilisateur connecté (ou d'un utilisateur avec un "
"identifiant donné)"

#: ../../guides/routing.rst:93
msgid "``collection:object:blog:group``: list blogs in a group"
msgstr ""
"``collection:object:blog:group`` : liste les articles de blog dans un groupe"

#: ../../guides/routing.rst:98
msgid "**default:<entity_type>:<entity_subtype>**"
msgstr "**default:<entity_type>:<entity_subtype>**"

#: ../../guides/routing.rst:96
msgid ""
"Maps to the default page for a resource, e.g. the path ``/blog``. Elgg "
"happens to use the \"all\" collection for these routes."
msgstr ""
"Fait correspondre à la page par défaut d’une ressource, par exemple le "
"chemin d’accès ``/blog``. Elgg utilise la collection ``all`` pour toutes ces"
" routes."

#: ../../guides/routing.rst:98
msgid "``default:object:blog``: handle the generic path ``/blog``."
msgstr "``default:object:blog`` : gère le chemin générique ``/blog``."

#: ../../guides/routing.rst:100
msgid ""
"``<entity_subtype>`` can be omitted from route names to register global "
"routes applicable to all entities of a given type. URL generator will first "
"try to generate a URL using the subtype, and will then fallback to a route "
"name without a subtype. For example, user profiles are routed to the same "
"resource view regardless of user subtype."
msgstr ""
"``<entity_subtype>`` peut être omis des noms de routes pour enregistrer les "
"routes globales applicables à toutes les entités d’un type donné. Le "
"générateur d’URL essaie d’abord de générer une URL à l’aide du sous-type, "
"puis se replie sur un nom de route sans sous-type. Par exemple, les profils "
"utilisateur sont acheminés vers la même vue de ressource quel que soit le "
"sous-type utilisateur."

#: ../../guides/routing.rst:124
msgid "Route configuration"
msgstr "Configuration du routage"

#: ../../guides/routing.rst:126
msgid ""
"Segments can be defined using wildcards, e.g. ``profile/{username}``, which "
"will match all URLs that contain ``profile/`` followed by and arbitrary "
"username."
msgstr ""
"Les segments peuvent être définis à l’aide de jokers, par exemple "
"``profile/{username}``, qui correspond à toutes les URL qui contiennent "
"``profile/`` suivies d’un nom d’utilisateur arbitraire."

#: ../../guides/routing.rst:129
msgid ""
"To make a segment optional you can add a ``?`` (question mark) to the "
"wildcard name, e.g. ``profile/{username}/{section?}``. In this case the URL "
"will be matched even if the ``section`` segment is not provided."
msgstr ""
"Pour rendre un segment facultatif, vous pouvez ajouter un ``?`` (point "
"d’interrogation) au nom du joker, par exemple "
"``profile/{username}/{section?}``. Dans ce cas, l’URL va correspondre même "
"si le segment ``section`` n’est pas fourni."

#: ../../guides/routing.rst:132
msgid "You can further constrain segments using regex requirements:"
msgstr ""
"Vous pouvez contraindre davantage les segments en utilisant les exigences "
"regex :"

#: ../../guides/routing.rst:153
msgid ""
"By default, Elgg will set the following requirements for named URL segments:"
msgstr ""
"Par défaut, Elgg va définir les exigences suivantes pour les segments d’URL "
"nommés :"

#: ../../guides/routing.rst:166
msgid "Plugin dependent routes"
msgstr "Routes dépendant du plugin"

#: ../../guides/routing.rst:168
msgid ""
"If a route requires a specific plugin to be active this can be configured in"
" the route configuration."
msgstr ""
"Si une route a besoin qu'un plugin spécifique soit actif, cela peut être "
"configuré dans la configuration de la route."

#: ../../guides/routing.rst:186
msgid "Route middleware"
msgstr "Route middleware"

#: ../../guides/routing.rst:188
msgid ""
"Route middleware can be used to prevent access to a certain route, or to "
"perform some business logic before the route is rendered. Middleware can be "
"used, e.g. to implement a paywall, or to log analytics, or to set open graph"
" metatags."
msgstr ""
"Les middlewares de gestion du routage peuvent être utilisés pour empêcher "
"l’accès à une certaine route, ou pour exécuter une certaine logique avant "
"que la route ne soit rendue. Un middleware peut être utilisé, par exemple "
"pour implémenter un système d'inscription payante, ou pour définir des "
"métadonnées open graph."

#: ../../guides/routing.rst:192
msgid ""
"Elgg core implements several middleware handlers. The following middleware "
"can be found in the namespace ``\\Elgg\\Router\\Middleware``:"
msgstr ""
"Le noyau de Elgg implémente plusieurs gestionnaires de middleware. Le "
"middleware suivant se trouve dans l’espace de noms "
"``\\Elgg\\Router\\Middleware`` :"

#: ../../guides/routing.rst:195
msgid "Gatekeeper"
msgstr "Gatekeeper"

#: ../../guides/routing.rst:197
msgid "This gatekeeper will prevent access by non-authenticated users."
msgstr ""
"Ce gardien (gatekeeper) empêchera l’accès des utilisateurs non authentifiés."

#: ../../guides/routing.rst:200
msgid "AdminGatekeeper"
msgstr "AdminGatekeeper"

#: ../../guides/routing.rst:202
msgid "This gatekeeper will prevent access by non-admin users."
msgstr "Ce gardien (gatekeeper) empêchera l’accès des utilisateurs non-admin."

#: ../../guides/routing.rst:205
msgid "LoggedOutGatekeeper"
msgstr "LoggedOutGatekeeper"

#: ../../guides/routing.rst:207
msgid "This gatekeeper will prevent access by authenticated users."
msgstr ""
"Ce gardien (gatekeeper) empêchera l’accès des utilisateurs authentifiés."

#: ../../guides/routing.rst:210
msgid "AjaxGatekeeper"
msgstr "AjaxGatekeeper"

#: ../../guides/routing.rst:212
msgid "This gatekeeper will prevent access with non-xhr requests."
msgstr "Ce gardien (gatekeeper) empêchera l’accès avec des demandes non-XHR."

#: ../../guides/routing.rst:215
msgid "PageOwnerCanEditGatekeeper"
msgstr "PageOwnerCanEditGatekeeper"

#: ../../guides/routing.rst:217
msgid ""
"This gatekeeper will prevent access if there is a pageowner detected and the"
" pageowner can't be editted."
msgstr ""
"Ce gardien empêchera l’accès s’il y a un propriétaire de la page détecté et "
"que ce propriétaire ne peut pas être modifié."

#: ../../guides/routing.rst:220
msgid "GroupPageOwnerCanEditGatekeeper"
msgstr "GroupPageOwnerCanEditGatekeeper"

#: ../../guides/routing.rst:222
msgid ""
"This gatekeeper extends the ``PageOwnerCanEditGatekeeper`` but also requires"
" the pageowner to be a ``ElggGroup`` entity."
msgstr ""
"Ce gardien (gatekeeper) étend ``PageOwnerCanEditGatekeeper`` mais exige "
"également que le propriétaire de la page soit une entité ``ElggGroup``."

#: ../../guides/routing.rst:225
msgid "UserPageOwnerCanEditGatekeeper"
msgstr "UserPageOwnerCanEditGatekeeper"

#: ../../guides/routing.rst:227
msgid ""
"This gatekeeper extends the ``PageOwnerCanEditGatekeeper`` but also requires"
" the pageowner to be an ``ElggUser`` entity."
msgstr ""
"Ce gardien (gatekeeper) étend le ``PageOwnerCanEditGatekeeper`` mais exige "
"également que le propriétaire soit une entité ``ElggUser``."

#: ../../guides/routing.rst:230
msgid "CsrfFirewall"
msgstr "CsrfFirewall"

#: ../../guides/routing.rst:232
msgid ""
"This middleware will prevent access without the correct CSRF tokens. This "
"middleware will automatically be applied to actions."
msgstr ""
"Ce middleware empêchera l’accès sans les jetons CSRF corrects. Ce middleware"
" sera automatiquement appliqué aux actions."

#: ../../guides/routing.rst:235
msgid "ActionMiddleware"
msgstr "ActionMiddleware"

#: ../../guides/routing.rst:237
msgid ""
"This middleware will provide action related logic. This middleware will "
"automatically be applied to actions."
msgstr ""
"Ce middleware fournira une logique liée à l’action. Ce middleware sera "
"automatiquement appliqué aux actions."

#: ../../guides/routing.rst:240
msgid "SignedRequestGatekeeper"
msgstr "SignedRequestGatekeeper"

#: ../../guides/routing.rst:242
msgid ""
"This gatekeeper will prevent access if the url has been tampered with. A "
"secure URL can be generated using the ``elgg_http_get_signed_url`` function."
msgstr ""
"Ce gardien (gatekeeper) empêchera l’accès si l’URL a été trafiquée. Une URL "
"sécurisée peut être générée à l’aide de la fonction "
"``elgg_http_get_signed_url``."

#: ../../guides/routing.rst:246
msgid "UpgradeGatekeeper"
msgstr "UpgradeGatekeeper"

#: ../../guides/routing.rst:248
msgid ""
"This gatekeeper will prevent access if the upgrade URL is secured and the "
"URL is invalid."
msgstr ""
"Ce gardien (gatekeeper) empêchera l’accès si l’URL de mise à niveau est "
"sécurisée et que l’URL n’est pas valide."

#: ../../guides/routing.rst:251
msgid "WalledGarden"
msgstr "WalledGarden"

#: ../../guides/routing.rst:253
msgid ""
"This middleware will prevent access to a route if the site is configured for"
" authenticated users only and there is no authenticated user logged in. This"
" middleware is automatically enabled for all routes. You can disable the "
"walled garden gatekeeper with a :ref:`route config <guides/walled-"
"garden#expose>` option."
msgstr ""
"Ce middleware empêchera l’accès à une route si le site est configuré "
"uniquement pour les utilisateurs authentifiés et qu’aucun utilisateur "
"authentifié ne s’est connecté. Ce middleware est automatiquement activé pour"
" toutes les routes. Vous pouvez désactiver le gardien du walled garden avec "
"une option de :ref:`configuration de route <guides/walled-garden#expose>`."

#: ../../guides/routing.rst:257
msgid "Custom Middleware"
msgstr "Custom Middleware"

#: ../../guides/routing.rst:259
msgid ""
"Middleware handlers can be set to any callable that receives an instance of "
"``\\Elgg\\Request``: The handler should throw an instance of "
"``\\Elgg\\Exceptions\\HttpException`` to prevent route access. The handler "
"can return an instance of ``\\Elgg\\Http\\ResponseBuilder`` to prevent "
"further implementation of the routing sequence (a redirect response can be "
"returned to re-route the request)."
msgstr ""
"Les gestionnaires de middleware peuvent être définis sur n'importe quel "
"fonction appelable qui reçoit une instance de ``\\Elgg\\Request`` : le "
"gestionnaire devrait lancer une instance de "
"``\\Elgg\\Exceptions\\HttpException`` pour empêcher l'accès aux routes. Le "
"gestionnaire peut renvoyer une instance de ``\\Elgg\\Http\\ResponseBuilder``"
" pour empêcher la poursuite de la mise en œuvre de la séquence de routage "
"(une réponse de redirection peut être renvoyée pour réacheminer la requête)."
" "

#: ../../guides/routing.rst:288
msgid "Route controllers"
msgstr "Contrôleurs de routage"

#: ../../guides/routing.rst:290
msgid ""
"In certain cases, using resource views is not appropriate. In these cases "
"you can use a controller - any callable that receives an instance of "
"``\\Elgg\\Request``:"
msgstr ""
"Dans certains cas, l’utilisation des vues \"resource\" n’est pas appropriée."
" Dans ces cas, vous pouvez utiliser un contrôleur - toute fonction appelable"
" qui reçoit une instance de ``\\Elgg\\Request`` :"

#: ../../guides/routing.rst:314
msgid "The ``route:rewrite`` Plugin Hook"
msgstr "Le hook de plugin ``route:rewrite``"

#: ../../guides/routing.rst:316
msgid ""
"For URL rewriting, the ``route:rewrite`` hook (with similar arguments as "
"``route``) is triggered very early, and allows modifying the request URL "
"path (relative to the Elgg site)."
msgstr ""
"Pour la réécriture de l’URL, le hook ``route:rewrite`` (avec des arguments "
"similaires à ``route``) est déclenché très tôt, et permet de modifier le "
"chemin d’accès de l’URL de requête (par rapport au site Elgg)."

#: ../../guides/routing.rst:319
msgid "Here we rewrite requests for ``news/*`` to ``blog/*``:"
msgstr "Ici, nous réécrivons les requêtes de ``news/*`` vers ``blog/*`` :"

#: ../../guides/routing.rst:335
msgid ""
"The hook must be registered directly in your plugin Bootstrap ``boot`` "
"function. The ``init`` function is too late."
msgstr ""
"Le hook doit être enregistré directement dans la fonction ``boot`` de votre "
"plugin Bootstrap. La fonction ``init`` est trop tardive."

#: ../../guides/routing.rst:338
msgid "Routing overview"
msgstr "Aperçu du routage"

#: ../../guides/routing.rst:340
msgid "For regular pages, Elgg's program flow is something like this:"
msgstr ""
"Pour les pages standard, le flux de programme d’Elgg est quelque chose comme"
" ceci :"

#: ../../guides/routing.rst:342
msgid "A user requests ``http://example.com/news/owner/jane``."
msgstr "Un utilisateur demande ``http://exemple.com/news/owner/jane``."

#: ../../guides/routing.rst:343
msgid "Plugins are initialized."
msgstr "Les plugins sont initialisés."

#: ../../guides/routing.rst:344
msgid ""
"Elgg parses the URL to identifier ``news`` and segments ``['owner', "
"'jane']``."
msgstr ""
"Elgg analyse l’URL pour identificateur ``news`` et les ségments ``['owner', "
"'jane']``."

#: ../../guides/routing.rst:345
msgid "Elgg triggers the plugin hook ``route:rewrite, news`` (see above)."
msgstr ""
"Elgg déclenche le hook plugin ``route:rewrite, news`` (voir ci-dessus)."

#: ../../guides/routing.rst:346
msgid ""
"Elgg finds a registered route that matches the final route path, and renders"
" a resource view associated with it. It calls "
"``elgg_view_resource('blog/owner', $vars)`` where ``$vars`` contains the "
"username."
msgstr ""
"Elgg trouve une route enregistrée qui correspond au chemin d’accès final de "
"la route, et génère une vue de ressource qui lui est associée. Il appelle "
"``elgg_view_resource('blog/owner', $vars)`` où ``$vars`` contient le nom "
"d’utilisateur."

#: ../../guides/routing.rst:348
msgid ""
"The ``resources/blog/owner`` view gets the username via "
"``$vars['username']``, and uses many other views and formatting functions "
"like ``elgg_view_layout()`` and ``elgg_view_page()`` to create the entire "
"HTML page."
msgstr ""
"La vue ``resources/blog/owner`` obtient le nom d’utilisateur via "
"``$vars['username']`` et utilise de nombreuses autres vues et fonctions de "
"mise en forme telles que ``elgg_view_layout()`` et ``elgg_view_page()`` pour"
" créer la page HTML complète."

#: ../../guides/routing.rst:350
msgid "PHP invokes Elgg's shutdown sequence."
msgstr "PHP invoque la séquence d’arrêt d’Elgg."

#: ../../guides/routing.rst:351
msgid "The user receives a fully rendered page."
msgstr "L’utilisateur reçoit une page complète."

#: ../../guides/routing.rst:353
msgid ""
"Elgg's coding standards suggest a particular URL layout, but there is no "
"syntax enforced."
msgstr ""
"Les normes de codage d’Elgg suggèrent une disposition d’URL particulière, "
"mais il n’y a pas de syntaxe obligatoire."

#: ../../guides/search.rst:10
msgid "Entity search"
msgstr "Recherche d'entité"

#: ../../guides/search.rst:12
msgid ""
"Elgg core provides flexible ``elgg_search()``, which prepares custom search "
"clauses and utilizes ``elgg_get_entities()`` to fetch the results."
msgstr ""
"Le noyau de Elgg fournit des ``elgg_search()`` flexibles, qui préparent des "
"clauses de recherche personnalisées et utilisent ``elgg_get_entities()`` "
"pour récupérer les résultats."

#: ../../guides/search.rst:14
msgid ""
"In addition to all parameters accepted by ``elgg_get_entities()``, "
"``elgg_search()`` accepts the following:"
msgstr ""
"Outre tous les paramètres acceptés par ``elgg_get_entities()``, "
"``elgg_search()`` accepte les paramètres suivants :"

#: ../../guides/search.rst:16
msgid "``query``         Search query"
msgstr "``query``         Requête de recherche"

#: ../../guides/search.rst:17
msgid ""
"``fields``        An array of names by property type to search in (see "
"example below)"
msgstr ""
"``fields``        Un tableau de noms par type de propriété à rechercher "
"(voir l’exemple ci-dessous)"

#: ../../guides/search.rst:18
msgid ""
"``sort``          An array containing sorting options, including `property`,"
" `property_type` and `direction`"
msgstr ""
"``sort``          Un tableau contenant des options de tri, comprenant "
"`property`, `property_type` et `direction`"

#: ../../guides/search.rst:19
msgid "``type``          Entity type to search"
msgstr "``type``          Type d’entité à rechercher"

#: ../../guides/search.rst:20
msgid "``subtype``       Optional entity subtype to search"
msgstr "``subtype``       Sous-type d’entité à rechercher (facultatif)"

#: ../../guides/search.rst:21
msgid ""
"``search_type``   Custom search type (required if no ``type`` is provided)"
msgstr ""
"``search_type``   Type de recherche personnalisé (requis si aucun ``type`` "
"n’est fourni)"

#: ../../guides/search.rst:23
msgid "``partial_match`` Allow partial matches"
msgstr "``partial_match`` Autoriser les correspondances partielles"

#: ../../guides/search.rst:23
msgid ""
"By default partial matches are allowed, meaning that ``elgg`` will be "
"matched when searching for ``el`` Exact matches may be helpful when you want"
" to match tag values, e.g. when you want to find all objects that are "
"``red`` and not ``darkred``"
msgstr ""
"Par défaut, les correspondances partielles sont autorisées, ce qui signifie "
"que ``elgg`` sera trouvé lors de la recherche de ``el``. Les correspondances"
" exactes peuvent être utiles lorsque vous souhaitez trouver les "
"correspondances pour une métadonnée précise, par exemple lorsque vous voulez"
" trouver tous les objets dont la couleur est ``red`` et non ``darkred``"

#: ../../guides/search.rst:27
msgid "``tokenize``      Break down search query into tokens"
msgstr "``tokenize``      Décomposer la requête de recherche en jetons"

#: ../../guides/search.rst:26
msgid ""
"By default search queries are tokenized, meaning that we will match ``elgg "
"has been released`` when searching for ``elgg released``"
msgstr ""
"Par défaut, les requêtes de recherche utilisent des jetons, ce qui signifie "
"que nous allons trouver ``elgg a été publié`` lors d'une recherche sur "
"``elgg publié``"

#: ../../guides/search.rst:50
msgid "Search fields"
msgstr "Champs de recherche"

#: ../../guides/search.rst:52
msgid ""
"You can customize search fields for each entity type/subtype, using "
"``search:fields`` hook:"
msgstr ""
"Vous pouvez personnaliser les champs de recherche de chaque type/sous-type "
"d’entité, à l’aide du hook ``search:fields`` :"

#: ../../guides/search.rst:73
msgid "Searchable types"
msgstr "Entités recherchables"

#: ../../guides/search.rst:75
msgid ""
"To register an entity type for search, use ``elgg_register_entity_type()``, "
"or do so when defining an entity type in ``elgg-plugin.php``. To combine "
"search results or filter how search results are presented in the search "
"plugin, use ``'search:config', 'type_subtype_pairs'`` hook."
msgstr ""
"Pour enregistrer un type d’entité pour la recherche, utilisez "
"``elgg_register_entity_type()``, ou faites-le lors de la définition d’un "
"type d’entité dans ``elgg-plugin.php``. Pour combiner des résultats de "
"recherche ou filtrer la façon dont les résultats de recherche sont présentés"
" dans le plugin de recherche, utilisez le hook ``'search:config', "
"'type_subtype_pairs'``."

#: ../../guides/search.rst:130
msgid "Custom search types"
msgstr "Types de recherches personnalisés"

#: ../../guides/search.rst:132
msgid ""
"Elgg core only supports entity search. You can implement custom searches, "
"e.g. using search query as a location and listing entities by proximity to "
"that location."
msgstr ""
"Le noyau de Elgg prend en charge uniquement la recherche d’entités. Vous "
"pouvez implémenter des recherches personnalisées, par exemple en utilisant "
"une requête de recherche comme un emplacement pour lister les entités à "
"proximité de cet emplacement."

#: ../../guides/search.rst:179
msgid "Autocomplete and livesearch endpoint"
msgstr "Points de terminaison pour l'autocomplétion et la recherche en direct"

#: ../../guides/search.rst:181
msgid ""
"Core provides a JSON endpoint for searching users and groups. These "
"endpoints are used by ``input/autocomplete`` and ``input/userpicker`` views."
msgstr ""
"Le noyau fournit un point de terminaison JSON pour la recherche "
"d’utilisateurs et de groupes. Ces points de terminaison sont utilisés par "
"les vues ``input/autocomplete`` et ``input/userpicker\"."

#: ../../guides/search.rst:189
msgid ""
"You can add custom search types, by adding a corresponding resource view:"
msgstr ""
"Vous pouvez ajouter des types de recherche personnalisés en ajoutant une vue"
" de ressource correspondante :"

#: ../../guides/services.rst:2
msgid "Services"
msgstr "Services"

#: ../../guides/services.rst:4
msgid ""
"Elgg uses the ``Elgg\\Application`` class to load and bootstrap Elgg. In "
"future releases this class will offer a set of service objects for plugins "
"to use."
msgstr ""
"Elgg utilise la classe ``Elgg\\Application`` pour charger et initialiser "
"Elgg. Dans les versions futures cette classe offrira un ensemble d’objets de"
" service à l'usage des plugins."

#: ../../guides/services.rst:9
msgid ""
"If you have a useful idea, you can :doc:`add a new service "
"</contribute/services>`!"
msgstr ""
"Si vous avez une idée utile, vous pouvez :doc:`ajouter un nouveau service "
"</contribuer/services>` !"

#: ../../guides/services.rst:14
msgid ""
"``elgg()->menus`` provides low-level methods for constructing menus. In "
"general, menus should be passed to ``elgg_view_menu`` for rendering instead "
"of manual rendering."
msgstr ""
"``elgg()->menus`` fournit des méthodes de bas niveau pour la construction de"
" menus. En général, les menus doivent être transmis à ``elgg_view_menu`` "
"pour le rendu, plutôt qu'un rendu manuel."

#: ../../guides/settings.rst:2
msgid "Plugin settings"
msgstr "Paramètres du plugin"

#: ../../guides/settings.rst:8
msgid ""
"You need to perform some extra steps if your plugin needs settings to be "
"saved and controlled via the administration panel:"
msgstr ""
"Vous devez effectuer quelques étapes supplémentaires si votre plugin a "
"besoin de paramètres qui doivent être enregistrés et contrôlés via le "
"panneau d’administration :"

#: ../../guides/settings.rst:10
msgid ""
"Create a file in your plugin’s default view folder called "
"``plugins/your_plugin/settings.php``, where ``your_plugin`` is the name of "
"your plugin’s directory in the ``mod`` hierarchy"
msgstr ""
"Créez un fichier dans le dossier des vues par défaut de votre plugin appelé "
"``plugins/votre_plugin/settings.php``, où ``votre_plugin`` est le nom du "
"répertoire de votre plugin dans la hiérarchie ``mod``"

#: ../../guides/settings.rst:12
msgid ""
"Fill this file with the form elements you want to display together with "
":doc:`internationalised <i18n>` text labels"
msgstr ""
"Remplissez ce fichier avec les éléments de formulaire que vous souhaitez "
"afficher avec les :doc:`traductions des <i18n>` étiquettes de texte</i18n>"

#: ../../guides/settings.rst:13
msgid ""
"Set the name attribute in your form components to ``params[`varname`]`` "
"where ``varname`` is the name of the variable. These will be saved as "
"private settings attached to a plugin entity. So, if your variable is called"
" ``params[myparameter]`` your plugin (which is also passed to this view as "
"``$vars['entity']``) will be called ``$vars['entity']->myparameter``"
msgstr ""
"Définissez l’attribut de nom dans vos composants de formulaire sur "
"``params[`varname`]`` où ``varname`` est le nom de la variable. Celles-ci "
"seront enregistrées en tant que paramètres privés attachés à une entité "
"plugin. Ainsi, si votre variable est appelée ``params[monparametre]`` votre "
"plugin (qui est également passé à cette vue comme ``$vars['entity']``) sera "
"appelé ``$vars’entity']->monparametre``"

#: ../../guides/settings.rst:17
msgid "An example ``settings.php`` would look like:"
msgstr "Un exemple de ``settings.php`` ressemblerait à :"

#: ../../guides/settings.rst:31
msgid ""
"You don’t need to add a save button or the form, this will be handled by the"
" framework."
msgstr ""
"Vous n’avez pas besoin d’ajouter un bouton d’enregistrement ou le "
"formulaire, cela sera géré par le framework."

#: ../../guides/settings.rst:35
msgid ""
"You cannot use form components that send no value when \"off.\" These "
"include radio inputs and check boxes."
msgstr ""
"Vous ne pouvez pas utiliser des composants de formulaire qui n’envoient "
"aucune valeur lorsqu’ils sont \"off\". Il s’agit notamment des entrées radio"
" et des cases à cocher."

#: ../../guides/settings.rst:37
msgid ""
"If your plugin settings require a cache flush you can add a (hidden) input "
"on the form with the name 'flush_cache' and value '1'"
msgstr ""
"Si vos paramètres de plugin ont besoin d'un vidage des caches, vous pouvez "
"ajouter une entrée (cachée) sur le formulaire avec le nom 'flush_cache' et "
"la valeur '1'"

#: ../../guides/settings.rst:48
msgid "User settings"
msgstr "Paramètres de l'utilisateur"

#: ../../guides/settings.rst:50
msgid ""
"Your plugin might need to store per user settings too, and you would like to"
" have your plugin's options to appear in the user's settings page. This is "
"also easy to do and follows the same pattern as setting up the global plugin"
" configuration explained earlier. The only difference is that instead of "
"using a ``settings`` file you will use ``usersettings``. So, the path to the"
" user edit view for your plugin would be "
"``plugins/<your_plugin>/usersettings.php``."
msgstr ""
"Votre plugin peut également avoir besoin de stocker des paramètres pour "
"chaque utilisateur, et vous voudrez voir les options de votre plugin "
"apparaître dans la page de paramètres de l’utilisateur. Ceci est également "
"facile à faire et suit le même modèle que la configuration globale du plugin"
" expliquée plus tôt. La seule différence est qu’au lieu d’utiliser un "
"fichier ``settings``, vous utiliserez ``usersettings``. Ainsi, le chemin "
"d’accès à la vue de modification des paramètres utilisateur de votre plugin "
"serait ``plugins/<your_plugin>/usersettings.php``./usersettings.php``."

#: ../../guides/settings.rst:57
msgid ""
"The title of the usersettings form will default to the plugin name. If you "
"want to change this, add a translation for "
"``<plugin_id>:usersettings:title``."
msgstr ""
"Le titre du formulaire des paramètres utilisateur sera par défaut au nom du "
"plugin. Si vous souhaitez modifier cela, ajoutez une traduction pour "
"``<plugin_id>:usersettings:title``."

#: ../../guides/settings.rst:60
msgid "Group settings"
msgstr "Paramètres du groupe"

#: ../../guides/settings.rst:62
msgid ""
"If your plugin needs settings per group you can extend the view "
"``groups/edit/settings`` to show your settings. The settings are shown "
"during group creation and edit. In order for the settings to be saved "
"correctly they need a name in the format ``settings[<plugin id>][<setting "
"name>]``."
msgstr ""
"Si votre plugin a besoin de paramètres pour chaque groupe, vous pouvez "
"étendre la vue ``groups/edit/settings`` pour afficher vos paramètres. Les "
"paramètres sont affichés lors de la création et de la modification du "
"groupe. Pour que les paramètres soient enregistrés correctement, ils ont "
"besoin d'un nom au format ``settings[<plugin id>][<setting name>]``."

#: ../../guides/settings.rst:66
msgid "Retrieving settings in your code"
msgstr "Récupérer des paramètres dans votre code"

#: ../../guides/settings.rst:68
msgid "To retrieve settings from your code use:"
msgstr "Pour récupérer les paramètres depuis votre code utilisez :"

#: ../../guides/settings.rst:74 ../../guides/settings.rst:107
msgid "or for user settings:"
msgstr "ou pour les paramètres utilisateur :"

#: ../../guides/settings.rst:84
msgid "where:"
msgstr "où :"

#: ../../guides/settings.rst:86
msgid "``$name`` Is the value you want to retrieve"
msgstr "``$name`` Est la valeur que vous souhaitez récupérer"

#: ../../guides/settings.rst:87
msgid ""
"``$user_guid`` Is the user you want to retrieve these for (defaults to the "
"currently logged in user)"
msgstr ""
"``$user_guid`` Est l’utilisateur pour lequel vous souhaitez récupérer ces "
"valeurs (par défaut l’utilisateur actuellement connecté)"

#: ../../guides/settings.rst:88
msgid ""
"``$plugin_name`` Is the name of the plugin (detected if run from within a "
"plugin)"
msgstr ""
"``$plugin_name`` Est le nom du plugin (détecté s’il s’exécute à partir d’un "
"plugin)"

#: ../../guides/settings.rst:90 ../../guides/settings.rst:114
msgid "or for group settings:"
msgstr "ou pour les paramètres du groupe :"

#: ../../guides/settings.rst:98
msgid "Setting values while in code"
msgstr "Définir des valeurs via le code"

#: ../../guides/settings.rst:100
msgid ""
"Values may also be set from within your plugin code, to do this use one of "
"the following functions:"
msgstr ""
"Les valeurs peuvent également être définies à partir du code de votre "
"plugin, pour cela utilisez l’une des fonctions suivantes :"

#: ../../guides/settings.rst:123
msgid ""
"The ``$plugin_id`` needs to be provided when setting plugin (user)settings."
msgstr ""
"Le ``$plugin_id`` doit être fourni lors de la définition des paramètres du "
"plugin (ou de l'utilisateur)."

#: ../../guides/settings.rst:127
msgid ""
"Since plugin settings are saved as private settings only `scalar "
"<https://www.php.net/manual/en/function.is-scalar.php>`_ values are allowed,"
" so no objects or arrays."
msgstr ""
"Étant donné que les paramètres du plugin sont enregistrés en tant que "
"paramètres privés, seules les valeurs `scalaires "
"<https://www.php.net/manual/en/function.is-scalar.php>`_ sont autorisées, "
"donc aucun objet ou tableau."

#: ../../guides/settings.rst:131
msgid "Default plugin (group|user) settings"
msgstr "Paramètres par défaut (groupe|utilisateur) du plugin"

#: ../../guides/settings.rst:133
msgid ""
"If a plugin or a user not have a setting stored in the database, you "
"sometimes have the need for a certain default value. You can pass this when "
"using the getter functions."
msgstr ""
"Si un plugin ou un utilisateur n’a pas de paramètre stocké dans la base de "
"données, vous avez parfois besoin d’une certaine valeur par défaut. Vous "
"pouvez passer cela lors de l’utilisation des fonctions de récupération "
"(getter)."

#: ../../guides/settings.rst:144
msgid ""
"Alternatively you can also provide default plugin and user settings in the "
"``elgg-plugin.php`` file."
msgstr ""
"Vous pouvez également fournir des paramètres de plugin et d’utilisateur par "
"défaut dans le fichier ``elgg-plugin.php``."

#: ../../guides/settings.rst:161
msgid ""
"Group settings don't have a default value available in the ``elgg-"
"plugin.php`` file."
msgstr ""
"Les paramètres de groupe n'ont pas de valeur par défaut disponible dans le "
"fichier ``elgg-plugin.php``."

#: ../../guides/themes.rst:2
msgid "Themes"
msgstr "Thèmes"

#: ../../guides/themes.rst:4
msgid "Customize the look and feel of Elgg."
msgstr "Personnaliser l'apparence et le comportement de Elgg."

#: ../../guides/themes.rst:6
msgid ""
"A theme is a type of :doc:`plugin </admin/plugins>` that overrides display "
"aspects of Elgg."
msgstr ""
"Un thème est un type de :doc:`plugin </admin/plugins>` qui surcharge des "
"aspects d'affichage de Elgg."

#: ../../guides/themes.rst:10
msgid "This guide assumes you are familiar with:"
msgstr "Ce guide suppose que vous connaissez :"

#: ../../guides/themes.rst:17
msgid "Theming Principles and Best Practices"
msgstr "Principes de création d'un thème et Bonnes Pratiques"

#: ../../guides/themes.rst:22
msgid "**No third-party CSS frameworks**"
msgstr "**Pas de framework CSS tierce-partie**"

#: ../../guides/themes.rst:20
msgid ""
"Elgg does not use a CSS framework, because such frameworks lock users into a"
" specific HTML markup, which in the end makes it much harder for plugins to "
"collaborate on the appearance. What's `is-primary` in one theme, might be "
"something else in the other. Having no framework allows plugins to alter "
"appearance using pure css, without having to overwrite views and append "
"framework-specific selectors to HTML markup elements."
msgstr ""
"Elgg n’utilise pas de framework CSS, car ces frameworks enferment les "
"utilisateurs dans un balisage HTML spécifique, ce qui rend finalement "
"beaucoup plus difficile pour les plugins de collaborer sur l’apparence. Ce "
"qui est `is-primary` dans un thème pourrait être quelque chose d’autre dans "
"un autre. L'absence de framework permet aux plugins de modifier l’apparence "
"à l’aide de css pur, sans avoir à remplacer les vues et ajouter des "
"sélecteurs spécifiques à un framework donné aux éléments de balisage HTML."

#: ../../guides/themes.rst:48
msgid "**8-point grid system**"
msgstr "**système de grille 8-point**"

#: ../../guides/themes.rst:46
msgid ""
"Elgg uses an `8-point grid system <https://builttoadapt.io/intro-to-the-8"
"-point-grid-system-d2573cde8632>`, so sizing of elements, their padding, "
"margins etc is done in increments and fractions of `8px`. Because our "
"default font-size is ``16px``, we use fractions of `rem`, so ``0.5rem = "
"8px``. 8-point grid system makes it a lot easier for developers to "
"collaborate on styling elements: we no longer have to think if the padding "
"should be ``5px`` or ``6px``."
msgstr ""
"Elgg utilise un `système de grille à 8 points <https://builttoadapt.io"
"/intro-to-the-8-point-grid-system-d2573cde8632>`, aussi le dimensionnement "
"des éléments, leurs marges internes et externes, etc se font par incréments "
"et fractions de ``8px``. Étant donné que notre taille de police par défaut "
"est ``16px``, nous utilisons des fractions de `rem`, de sorte que ``0.5rem ="
" 8px``. Le système de grille à 8 points permet aux développeurs de "
"collaborer beaucoup plus facilement sur des éléments de style : cela évite "
"de se demander la marge interne doit être de ``5px`` ou ``6px``."

#: ../../guides/themes.rst:69
msgid "**Mobile first**"
msgstr "**Mobile d'abord**"

#: ../../guides/themes.rst:68
msgid ""
"We write mobile-first CSS. We use two breakpoints: ``50rem`` and ``80rem`` "
"(800px and 1280px at 16px/rem)."
msgstr ""
"Nous écrivons un CSS mobile-first. Nous utilisons deux points de rupture : "
"``50rem`` et ``80rem`` (800px et 1280px à 16px/rem)."

#: ../../guides/themes.rst:100
msgid "**Flexbox driven**"
msgstr "**conduit par Flexbox**"

#: ../../guides/themes.rst:99
msgid ""
"Flexbox provides simplicity in stacking elements into grids. Flexbox is used"
" for everything from menus to layout elements. We avoid ``float`` and "
"``clearfix`` as they are hard to collaborate on and create lots of room for "
"failure and distortion."
msgstr ""
"Flexbox offre une simplicité dans l’empilement des éléments dans les "
"grilles. Flexbox est utilisé pour tout, des menus aux éléments de mise en "
"page. Nous évitons les ``float`` et les ``clearfix`` car ils ont du mal à "
"collaborer et ouvrent beaucoup de place pour les erreurs et les distorsions."

#: ../../guides/themes.rst:132
msgid "**Symmetrical**"
msgstr "**Symétrique**"

#: ../../guides/themes.rst:132
msgid "We maintain symmetry."
msgstr "Nous maintenons la symétrie."

#: ../../guides/themes.rst:152
msgid "**Simple color transitions**"
msgstr "**Des transitions de couleur simples**"

#: ../../guides/themes.rst:150
msgid ""
"We maintain 4 sets of colors for text, background and border: ``soft``, "
"``mild``, ``strong`` and ``highlight``. When transitioning to hover or "
"active state, we go one level up, e.g. from ``soft`` to ``mild``, or use "
"``highlight``. When transition to inactive or disabled state, we go one "
"level down."
msgstr ""
"Nous maintenons 4 ensembles de couleurs pour le texte, l’arrière-plan et la "
"bordure : ``soft`` (doux), ``mild`` (modéré), ``strong`` (fort) et "
"``highlight`` (en exergue). Lors de la transition vers l’état hover ou "
"active, nous passons d’un niveau vers le haut, par exemple de ``soft`` à "
"``mild``, ou utilisons ``highlight``. Lorsque nous passons à un état inactif"
" ou désactivé, nous descendons d’un niveau."

#: ../../guides/themes.rst:155
msgid "**Increase the click area**"
msgstr "**Augmentez la zone de clic**"

#: ../../guides/themes.rst:155
msgid ""
"When working with nested anchors, we increase the click area of the anchor, "
"rather than the parent"
msgstr ""
"En travaillant avec des ancres imbriquées, nous augmentons la zone de clic "
"de l’ancre, plutôt que le parent"

#: ../../guides/themes.rst:174
msgid "**No z-index 999999**"
msgstr "**Pas de z-index 999999**"

#: ../../guides/themes.rst:174
msgid "z-indexes are incremented with a step of 1."
msgstr "les z-index sont incrémentés par pas de 1."

#: ../../guides/themes.rst:177
msgid "**Wrap HTML siblings**"
msgstr "**Envelopper les frères et sœurs HTML**"

#: ../../guides/themes.rst:177
msgid ""
"We make sure that there are no orphaned strings within a parent and that "
"siblings are wrapped in a way that they can be targeted by CSS."
msgstr ""
"Nous nous assurons qu’il n’y a pas de chaîne orpheline au sein d’un parent "
"et que les frères et sœurs sont enveloppés d’une manière qui permet de les "
"cibler par CSS."

#: ../../guides/themes.rst:214
msgid "Create your plugin"
msgstr "Créez votre plugin"

#: ../../guides/themes.rst:216
msgid ""
"Create your plugin as described in the :doc:`developer guide "
"</guides/index>`."
msgstr ""
"Créez votre plugin tel que décrit dans le guide de développement "
":doc:`developer guide </guides/index>`."

#: ../../guides/themes.rst:218
msgid "Create a new directory under mod/"
msgstr "Créez un nouveau dossier dans mod/"

#: ../../guides/themes.rst:219
msgid "Create a new elgg-plugin.php"
msgstr "Créer un nouveau fichier elgg-plugin.php"

#: ../../guides/themes.rst:220
msgid "Create a composer.json file describing your theme."
msgstr "Créez un fichier composer.json décrivant votre thème."

#: ../../guides/themes.rst:223
msgid "Customize the CSS"
msgstr "Personnalisez les CSS"

#: ../../guides/themes.rst:225
msgid ""
"The css is split into several files based on what aspects of the site you're"
" theming. This allows you to tackle them one at a time, giving you a chance "
"to make real progress without getting overwhelmed."
msgstr ""
"Le css est découpé en plusieurs fichiers en fonction des aspects du site que"
" vous êtes en train de styler. Cela vous permet de les aborder un à la fois,"
" vous donnant une chance de faire de réelles améliorations sans être "
"submergé."

#: ../../guides/themes.rst:230
msgid "Here is a list of the existing CSS views:"
msgstr "Voici la liste des vues CSS existantes :"

#: ../../guides/themes.rst:232
msgid ""
"elements/buttons.css: Provides a way to style all the different kinds of "
"buttons your site will use. There are 5 kinds of buttons that plugins will "
"expect to be available: action, cancel, delete, submit, and special."
msgstr ""
"elements/buttons.css : fournit un moyen de styler tous les différents types "
"de boutons que votre site utilise. Il existe 5 types de boutons que les "
"plugins s’attendent à être disponibles: action, cancel (annuler), delete "
"(supprimer), submit (soumettre), et special."

#: ../../guides/themes.rst:233
msgid ""
"elements/chrome.css: This file has some miscellaneous look-and-feel classes."
msgstr ""
"elements/chrome.css : ce fichier comporte des classes de présentation "
"diverses."

#: ../../guides/themes.rst:234
msgid ""
"elements/components.css: This file contains many “css objects” that are used"
" all over the site: media block, list, gallery, table, owner block, system "
"messages, river, tags, photo, and comments."
msgstr ""
"elements/components.css : ce fichier contient de nombreux \"objets css\" qui"
" sont utilisés sur tout le site : media block (bloc multimédia), list, "
"gallery, table (tableau), owner block (propriétaire), system, messages, "
"river, tags, photo et comments."

#: ../../guides/themes.rst:235
msgid ""
"elements/forms.css: This file determines what your forms and input elements "
"will look like."
msgstr ""
"elements/forms.css : ce fichier détermine à quoi ressembleront vos "
"formulaires et éléments de saisie."

#: ../../guides/themes.rst:236
msgid ""
"elements/icons.css: Contains styles for the icons and avatars used on your "
"site."
msgstr ""
"elements/icons.css : contient des styles pour les icônes et avatars utilisés"
" sur votre site."

#: ../../guides/themes.rst:237
msgid ""
"elements/layout.css: Determines what your page layout will look like: "
"sidebars, page wrapper, main body, header, footer, etc."
msgstr ""
"elements/layout.css : détermine à quoi ressemblera votre page : barres "
"latérales, emballage de la page, corps principal, en-tête, pied de page, "
"etc."

#: ../../guides/themes.rst:238
msgid ""
"elements/modules.css: Lots of content in Elgg is displayed in boxes with a "
"title and a content body. We called these modules. There are a few kinds: "
"info, aside, featured, dropdown, popup, widget. Widget styles are included "
"in this file too, since they are a subset of modules."
msgstr ""
"elements/modules.css : Beaucoup de contenu dans Elgg s’affiche dans des "
"boîtes avec un titre et un corps de contenu. Nous avons appelé ces boîtes "
"des modules. Il en existe de quelques sortes: info, aside (sur le côté), "
"featured (en vedette), dropdown (déroulante), popup, widget. Les styles des "
"widgets sont également inclus dans ce fichier, car ils sont un sous-ensemble"
" des modules."

#: ../../guides/themes.rst:239
msgid ""
"elements/navigation.css: This file determines what all your menus will look "
"like."
msgstr ""
"elements/navigation.css : ce fichier détermine à quoi ressembleront tous vos"
" menus."

#: ../../guides/themes.rst:240
msgid ""
"elements/typography.css: This file determines what the content and headings "
"of your site will look like."
msgstr ""
"elements/typography.css : ce fichier détermine à quoi ressemblera le contenu"
" et les titres de votre site."

#: ../../guides/themes.rst:241
msgid ""
"rtl.css: Custom rules for users viewing your site in a right-to-left "
"language."
msgstr ""
"rtl.css : des règles personnalisées pour les utilisateurs qui consultent "
"votre site dans une langue de droite à gauche."

#: ../../guides/themes.rst:242
msgid ""
"admin.css: A completely separate theme for the admin area (usually not "
"overridden)."
msgstr ""
"admin.css : un thème totalement distinct pour la zone d’administration "
"(généralement pas remplacé)."

#: ../../guides/themes.rst:243
msgid ""
"elgg.css: Compiles all the core elements/\\* files into one file (DO NOT "
"OVERRIDE)."
msgstr ""
"elgg.css : compile tous les fichiers des éléments de base/\\* dans un seul "
"fichier (NE PAS REMPLACER)."

#: ../../guides/themes.rst:244
msgid ""
"elements/core.css: Contains base styles for the more complicated “css "
"objects”. If you find yourself wanting to override this, you probably need "
"to report a bug to Elgg core instead (DO NOT OVERRIDE)."
msgstr ""
"éléments/core.css : contient des styles de base pour les \"objets css\" les "
"plus compliqués. Si vous vous trouvez en situation de vouloir remplacer "
"cela, vous avez probablement besoin de signaler un bogue du noyau Elgg à la "
"place (NE PAS REMPLACER)."

#: ../../guides/themes.rst:245
msgid ""
"elements/reset.css: Contains a reset stylesheet that forces elements to have"
" the same default"
msgstr ""
"éléments/reset.css : contient une feuille de style de réinitialisation qui "
"force les éléments à avoir le même rendu par défaut"

#: ../../guides/themes.rst:248
msgid "CSS variables"
msgstr "Variables CSS"

#: ../../guides/themes.rst:250
msgid ""
"Elgg uses CssCrush for preprocessing CSS files. This gives us the "
"flexibility of using global CSS variables. Plugins should, wherever "
"possible, use global CSS variables, and extend the core theme with their "
"plugin variables, so they can be simply altered by other plugins."
msgstr ""
"Elgg utilise CssCrush pour prétraiter les fichiers CSS. Cela nous donne la "
"flexibilité d’utiliser des variables CSS globales. Les plugins devraient, "
"dans la mesure du possible, utiliser des variables CSS globales et étendre "
"le thème de base avec leurs variables plugin, afin qu’ils puissent être "
"simplement modifiés par d’autres plugins."

#: ../../guides/themes.rst:254
msgid ""
"To add or alter variables, use the ``vars:compiler, css`` hook. Note that "
"you may need to flush the cache to see your changes in action."
msgstr ""
"Pour ajouter ou modifier des variables, utilisez le hook ``vars:compiler, "
"css``. Notez que vous devrez peut-être vider le cache pour voir vos "
"modifications en action."

#: ../../guides/themes.rst:257
msgid "For a list of default core variables, see ``engine/theme.php``."
msgstr ""
"Pour obtenir une liste des variables par défaut du noyau, voir "
"``engine/theme.php``."

#: ../../guides/themes.rst:262
msgid "View extension"
msgstr "Extension d'une vue"

#: ../../guides/themes.rst:264
msgid "There are two ways you can modify views:"
msgstr "Il existe deux manières de modifier les vues :"

#: ../../guides/themes.rst:266
msgid ""
"The first way is to add extra stuff to an existing view via the "
"``views_extensions`` section within your elgg-plugin.php definition."
msgstr ""
"La première façon est d'ajouter des éléments supplémentaires à une vue "
"existante via la section ``views_extensions`` dans la définition de votre "
"elgg-plugin.php."

#: ../../guides/themes.rst:269
msgid ""
"For example, the following configuration will add mytheme/css to Elgg's core"
" css file:"
msgstr ""
"Par exemple, la configuration suivante va ajouter mytheme/css au css du "
"noyau de Elgg :"

#: ../../guides/themes.rst:283
msgid "View overloading"
msgstr "Surcharge des vues"

#: ../../guides/themes.rst:285
msgid ""
"Plugins can have a view hierarchy, any file that exists here will replace "
"any files in the existing core view hierarchy... so for example, if my "
"plugin has a file:"
msgstr ""
"Les plugins peuvent avoir une hiérarchie d’affichage, n’importe quel fichier"
" qui existe ici remplacera tous les fichiers dans la hiérarchie de vue de "
"base existante... par exemple, si mon plugin a un fichier :"

#: ../../guides/themes.rst:289
msgid "``/mod/myplugin/views/default/elements/typography.css``"
msgstr "``/mod/myplugin/views/default/elements/typography.css``"

#: ../../guides/themes.rst:291
msgid "it will replace:"
msgstr "ceci va remplacer :"

#: ../../guides/themes.rst:293
msgid "``/views/default/elements/typography.css``"
msgstr "``/views/default/elements/typography.css``"

#: ../../guides/themes.rst:295
msgid "But only when the plugin is active."
msgstr "Mais seulement si le plugin est actif."

#: ../../guides/themes.rst:297
msgid ""
"This gives you total control over the way Elgg looks and behaves. It gives "
"you the option to either slightly modify or totally replace existing views."
msgstr ""
"Cela vous donne un contrôle total sur l'apparence et le comportement de "
"Elgg. Cela vous offre la possibilité de modifier légèrement ou de remplacer "
"totalement les vues existantes."

#: ../../guides/themes.rst:302 ../../guides/views.rst:595
msgid "Icons"
msgstr "Icônes"

#: ../../guides/themes.rst:304
msgid ""
"As of Elgg 2.0 the default Elgg icons come from the FontAwesome_ library. "
"You can use any of these icons by calling:"
msgstr ""
"À partir d’Elgg 2.0, les icônes Elgg par défaut proviennent de la "
"bibliothèque FontAwesome_. Vous pouvez utiliser l’une de ces icônes en "
"appelant :"

#: ../../guides/themes.rst:307
msgid "``elgg_view_icon('icon-name');``"
msgstr "``elgg_view_icon('icon-name');``"

#: ../../guides/themes.rst:309
msgid ""
"``icon-name`` can be any of the `FontAwesome icons`_ without the "
"``fa-``-prefix."
msgstr ""
"``icon-name`` peut être n'importe laquelle des `icônes de FontAwesome`_ sans"
" le préfixe ''fa-'.."

#: ../../guides/themes.rst:311
msgid ""
"By default you will get the solid styled variant of the icons. Postfixing "
"the icon name with ``-solid``, ``-regular`` or ``-light`` allows you to "
"target a specific style. Be advised; the light styled variant is only "
"available as a FontAwesome Pro licensed icon."
msgstr ""
"Par défaut, vous obtiendrez la variante de style solid des icônes. En "
"ajoutant au nom de l’icône l'un des suffixes ``-solid``, ``-regular`` ou "
"``-light``, vous pouvez cibler un style spécifique. Soyez avisé ; la "
"variante de style light n’est disponible qu’en tant qu’icône sous licence "
"FontAwesome Pro."

#: ../../guides/themes.rst:318
msgid "Tools"
msgstr "Outils"

#: ../../guides/themes.rst:320
msgid ""
"We've provided you with some development tools to help you with theming: "
"Turn on the “Developers” plugin and go to the “Theme Preview” page to start "
"tracking your theme's progress."
msgstr ""
"Nous vous avons fourni quelques outils de développement pour vous aider à "
"mettre en place des thèmes : activez le plugin “Developers” et accédez à la "
"page “Theme Preview” (aperçu du thème) pour commencer à suivre les progrès "
"de votre thème."

#: ../../guides/themes.rst:325
msgid "Customizing the front page"
msgstr "Personnalisation de la page d'accueil"

#: ../../guides/themes.rst:326
msgid "The main Elgg index page is served via a resource view."
msgstr ""
"La page d'index principale de Elgg est servie via une vue des ressource."

#: ../../guides/themes.rst:328
msgid ""
"Therefore, you can override it by providing your own resource file in "
"``your_plugin/views/default/resources/index.php``."
msgstr ""
"Par conséquent, vous pouvez le remplacer en fournissant votre propre fichier"
" de ressources dans ``your_plugin/views/default/resources/index.php``."

#: ../../guides/upgrading-data.rst:2
msgid "Writing a plugin upgrade"
msgstr "Écrire une mise à niveau de plugin"

#: ../../guides/upgrading-data.rst:4
msgid ""
"Every now and then there comes a time when a plugin needs to change the "
"contents or the structure of the data it has stored either in the database "
"or the dataroot."
msgstr ""
"De temps en temps, il arrive un moment où un plugin doit modifier le contenu"
" ou la structure des données qu’il a stockées soit dans la base de données, "
"soit dans le répertoire de données."

#: ../../guides/upgrading-data.rst:7
msgid ""
"The motivation for this may be that the data structure needs to be converted"
" to more efficient or flexible structure. Or perhaps due to a bug the data "
"items have been saved in an invalid way, and they needs to be converted to "
"the correct format."
msgstr ""
"La raison de ceci peut être que la structure des données doit être convertie"
" en une structure plus efficace ou plus flexible. Ou peut-être en raison "
"d’un bogue les éléments de données ont été enregistrés d’une manière non "
"valide, et ils doivent être convertis dans un format correct."

#: ../../guides/upgrading-data.rst:11
msgid ""
"Migrations and convertions like this may take a long time if there is a lot "
"of data to be processed. This is why Elgg provides the "
"``Elgg\\Upgrade\\Batch`` interface that can be used for implementing long-"
"running upgrades."
msgstr ""
"Les migrations et conversions comme celle-ci peuvent prendre beaucoup de "
"temps s’il y a beaucoup de données à traiter. C’est pourquoi Elgg fournit "
"l’interface ``Elgg\\Upgrade\\Batch`` qui peut être utilisée pour implémenter"
" des mises à niveau de longue durée."

#: ../../guides/upgrading-data.rst:16
msgid "Declaring a plugin upgrade"
msgstr "Déclarer la mise à niveau d'un plugin"

#: ../../guides/upgrading-data.rst:18
msgid ""
"Plugin can communicate the need for an upgrade under the ``upgrades`` key in"
" ``elgg-plugin.php`` file. Each value of the array must be the fully "
"qualified name of an upgrade class that implements the "
"``Elgg\\Upgrade\\Batch`` interface."
msgstr ""
"Plugin peut signaler la nécessité d’une mise à niveau via la clef "
"``upgrades`` dans le fichier ``elgg-plugin.php`` fichier. Chaque valeur du "
"tableau doit être le nom entièrement qualifié d’une classe de mise à niveau "
"qui implémente l’interface ``Elgg\\Upgrade\\Batch``."

#: ../../guides/upgrading-data.rst:22
msgid "Example from ``mod/blog/elgg-plugin.php`` file:"
msgstr "Exemple tiré du fichier ``mod/blog/elgg-plugin.php`` :"

#: ../../guides/upgrading-data.rst:35
msgid "The class names in the example refer to the classes:"
msgstr "Les noms de classe dans l’exemple se réfèrent aux classes :"

#: ../../guides/upgrading-data.rst:34
msgid "``mod/blog/classes/Blog/Upgrades/AccessLevelFix``"
msgstr "``mod/blog/classes/Blog/Upgrades/AccessLevelFix``"

#: ../../guides/upgrading-data.rst:35
msgid "``mod/blog/classes/Blog/Upgrades/DraftStatusUpgrade``"
msgstr "``mod/blog/classes/Blog/Upgrades/DraftStatusUpgrade``"

#: ../../guides/upgrading-data.rst:37
msgid ""
"Elgg core upgrade classes can be declared in ``engine/lib/upgrades/async-"
"upgrades.php``."
msgstr ""
"Les classes de mise à niveau du noyau Elgg peuvent être déclarées dans "
"``engine/lib/upgrades/async-upgrades.php``."

#: ../../guides/upgrading-data.rst:40
msgid "The upgrade class"
msgstr "La classe de mise à niveau"

#: ../../guides/upgrading-data.rst:42
msgid ""
"A class implementing the ``Elgg\\Upgrade\\Batch`` interface has a lot of "
"freedom on how it wants to handle the actual processing of the data. It must"
" however declare some constant variables and also take care of marking "
"whether each processed item was upgraded successfully or not."
msgstr ""
"Une classe implémentant l’interface ``Elgg\\Upgrade\\Batch`` a beaucoup de "
"liberté sur la façon dont elle veut gérer le traitement réel des données. "
"IElle doit cependant déclarer certaines variables constantes et également "
"prendre soin de marquer si chaque élément traité a bien été mis à niveau ou "
"non."

#: ../../guides/upgrading-data.rst:47
msgid "The basic structure of the class is the following:"
msgstr "La structure de base de la classe est la suivante :"

#: ../../guides/upgrading-data.rst:112
msgid ""
"Do not assume when your class will be instantiated or when/how often its "
"public methods will be called."
msgstr ""
"Ne présumez pas quand votre classe sera instanciée ou quand/combien de fois "
"ses méthodes publiques seront appelées."

#: ../../guides/upgrading-data.rst:115
msgid "Class methods"
msgstr "Méthodes de la classe"

#: ../../guides/upgrading-data.rst:118
msgid "getVersion()"
msgstr "getVersion()"

#: ../../guides/upgrading-data.rst:120
msgid ""
"This must return an integer representing the date the upgrade was added. It "
"consists of eight digits and is in format ``yyyymmddnn`` where:"
msgstr ""
"Cela doit renvoyer un entier représentant la date à laquelle la mise à "
"niveau a été ajoutée. La valeur se compose de huit chiffres au format "
"``yyyymmdnn`` où:"

#: ../../guides/upgrading-data.rst:123
msgid "``yyyy`` is the year"
msgstr "``yyyy`` représente l'année"

#: ../../guides/upgrading-data.rst:124
msgid "``mm`` is the month (with leading zero)"
msgstr "``mm`` représente le mois (avec le zéro initial)"

#: ../../guides/upgrading-data.rst:125
msgid "``dd`` is the day (with leading zero)"
msgstr "``dd`` représente le jour (avec le zéro initial)"

#: ../../guides/upgrading-data.rst:126
msgid ""
"``nn`` is an incrementing number (starting from ``00``) that is used in case"
" two separate upgrades have been added during the same day"
msgstr ""
"``nn`` est un numéro d’incrément (à partir de ``00``) qui est utilisé au cas"
" où deux mises à niveau distinctes auraient été ajoutées au cours de la même"
" journée"

#: ../../guides/upgrading-data.rst:130
msgid "shouldBeSkipped()"
msgstr "shouldBeSkipped()"

#: ../../guides/upgrading-data.rst:132
msgid "This should return ``false`` unless the upgrade won't be needed."
msgstr ""
"Cela devrait renvoyer ``false`` à moins que la mise à niveau ne sera pas "
"nécessaire."

#: ../../guides/upgrading-data.rst:134
msgid "If ``true`` is returned the upgrade cannot be run later."
msgstr ""
"Si ``true`` est renvoyé, la mise à niveau ne peut pas être exécutée plus "
"tard."

#: ../../guides/upgrading-data.rst:137
msgid "needsIncrementOffset()"
msgstr "needsIncrementOffset()"

#: ../../guides/upgrading-data.rst:139
msgid ""
"If ``true``, your ``run()`` method will receive as ``$offset`` the number of"
" items aready processed. This is useful if you are only modifying data, and "
"need to use the ``$offset`` in a function like ``elgg_get_entities()`` to "
"know how many you've already handled."
msgstr ""
"Si ``true``, votre méthode ``run()`` recevra comme ``$offset`` le nombre "
"d’éléments traités. Ceci est utile si vous ne modifiez que des données et "
"que vous devez utiliser le ``$offset`` dans une fonction comme "
"``elgg_get_entities()`` pour savoir combien d'éléments ont déjà été traités."

#: ../../guides/upgrading-data.rst:144
msgid ""
"If ``false``, your ``run()`` method will receive as ``$offset`` the total "
"number of failures. ``false`` should be used if your process deletes or "
"moves data out of the way of the process. E.g. if you delete 50 objects on "
"each ``run()``, you don't really need the ``$offset``."
msgstr ""
"Si ``false``, votre méthode ``run()`` recevra comme ``$offset`` le nombre "
"total d’échecs. ``false`` doit être utilisé si votre processus supprime ou "
"déplace des données en cours de processus. Par exemple, si vous supprimez 50"
" objets sur chaque ``run()``, vous n’avez pas vraiment besoin de "
"``$offset``."

#: ../../guides/upgrading-data.rst:150
msgid "countItems()"
msgstr "countItems()"

#: ../../guides/upgrading-data.rst:152
msgid ""
"Get the total number of items to process during the upgrade. If unknown, "
"``Batch::UNKNOWN_COUNT`` can be returned, but ``run()`` must manually mark "
"the upgrade complete."
msgstr ""
"Récupère le nombre total d’éléments à traiter pendant la mise à niveau. Si "
"ce nombre est inconnu, ``Batch::UNKNOWN_COUNT`` peut être retourné, mais "
"``run()`` doit alors marquer manuellement la mise à niveau terminée."

#: ../../guides/upgrading-data.rst:156
msgid "run()"
msgstr "run()"

#: ../../guides/upgrading-data.rst:158
msgid ""
"This must perform a portion of the actual upgrade. And depending on how long"
" it takes, it may be called multiple times during a single request."
msgstr ""
"Cette fonction doit effectuer une partie de la mise à niveau réelle. Et "
"selon le temps qu’il faut, elle peut être appelée plusieurs fois au cours "
"d’une seule demande."

#: ../../guides/upgrading-data.rst:161
msgid "It receives two arguments:"
msgstr "Il reçoit deux arguments :"

#: ../../guides/upgrading-data.rst:163
msgid "``$result``: An instance of ``Elgg\\Upgrade\\Result`` object"
msgstr "``$result`` : Une instance de l’objet ``Elgg\\Upgrade\\Result``"

#: ../../guides/upgrading-data.rst:164
msgid ""
"``$offset``: The offset where the next upgrade portion should start (or "
"total number of failures)"
msgstr ""
"``$offset`` : Le décalage à partir duquel la prochaine partie de mise à "
"niveau doit commencer (ou le nombre total de défaillances)"

#: ../../guides/upgrading-data.rst:166
msgid "For each item the method processes, it must call either:"
msgstr ""
"Pour chaque élément que la méthode traite, elle doit appeler selon les cas :"

#: ../../guides/upgrading-data.rst:168
msgid "``$result->addSuccesses()``: If the item was upgraded successfully"
msgstr "``$result->addSuccesses()`` : Si l’élément a bien été mis à niveau"

#: ../../guides/upgrading-data.rst:169
msgid "``$result->addFailures()``: If it failed to upgrade the item"
msgstr ""
"``$result->addFailures()`` : Si l’élément n’a pas pu être mis à niveau"

#: ../../guides/upgrading-data.rst:171
msgid ""
"Both methods default to one item, but you can optionally pass in the number "
"of items."
msgstr ""
"Les deux méthodes ont par défaut un élément, mais vous pouvez éventuellement"
" passer le nombre d’éléments."

#: ../../guides/upgrading-data.rst:173
msgid ""
"Additionally it can set as many error messages as it sees necessary in case "
"something goes wrong:"
msgstr ""
"En outre, elle peut définir autant de messages d’erreur que nécessaire au "
"cas où quelque chose ne va pas :"

#: ../../guides/upgrading-data.rst:175
msgid "``$result->addError(\"Error message goes here\")``"
msgstr "``$result->addError(\"Le message d'erreur est ici\")``"

#: ../../guides/upgrading-data.rst:177
msgid ""
"If ``countItems()`` returned ``Batch::UNKNOWN_COUNT``, then at some point "
"``run()`` must call ``$result->markComplete()`` to finish the upgrade."
msgstr ""
"Si ``countItems()`` renvoie ``Batch::UNKNOWN_COUNT``, alors à un moment "
"donné ``run()`` doit appeler ``$result->markComplete()`` pour terminer la "
"mise à niveau."

#: ../../guides/upgrading-data.rst:180
msgid ""
"In most cases your ``run()`` method will want to pass the ``$offset`` "
"parameter to one of the ``elgg_get_entities()`` functions:"
msgstr ""
"Dans la plupart des cas, votre méthode ``run()`` voudra passer le paramètre "
"``$offset`` à l’une des fonctions ``elgg_get_entities()`` :"

#: ../../guides/upgrading-data.rst:213
msgid "Administration interface"
msgstr "Interface d'administration"

#: ../../guides/upgrading-data.rst:215
msgid ""
"Each upgrade implementing the ``Elgg\\Upgrade\\Batch`` interface gets listed"
" in the admin panel after triggering the site upgrade from the "
"Administration dashboard."
msgstr ""
"Chaque mise à niveau implémentant l’interface ``Elgg\\Upgrade\\Batch`` est "
"répertoriée dans le panneau d’administration après avoir déclenché la mise à"
" niveau du site à partir du tableau de bord Administration."

#: ../../guides/upgrading-data.rst:219
msgid "While running the upgrades Elgg provides:"
msgstr "Lors de l’exécution des mises à niveau Elgg fournit :"

#: ../../guides/upgrading-data.rst:221
msgid "Estimated duration of the upgrade"
msgstr "Durée estimée de la mise à niveau"

#: ../../guides/upgrading-data.rst:222
msgid "Count of processed items"
msgstr "Nombre d’éléments traités"

#: ../../guides/upgrading-data.rst:223
msgid "Number of errors"
msgstr "Nombre d'erreurs"

#: ../../guides/upgrading-data.rst:224
msgid "Possible error messages"
msgstr "Messages d'erreur possibles"

#: ../../guides/views.rst:9
msgid "Introduction"
msgstr "Introduction"

#: ../../guides/views.rst:11
msgid ""
"Views are responsible for creating output. They handle everything from:"
msgstr ""
"Les vues sont responsables de la création des sorties. Elles gèrent tout "
"depuis :"

#: ../../guides/views.rst:13
msgid "the layout of pages"
msgstr "la disposition des pages"

#: ../../guides/views.rst:14
msgid "chunks of presentation output (like a footer or a toolbar)"
msgstr ""
"des morceaux de sortie d'affichage (comme un pied de page ou une barre "
"d’outils)"

#: ../../guides/views.rst:15
msgid "individual links and form inputs."
msgstr "des liens individuels et des entrées de formulaire."

#: ../../guides/views.rst:16
msgid "the images, js, and css needed by your web page"
msgstr "des images, js, et css nécessaires pour votre page web"

#: ../../guides/views.rst:19
msgid "Using views"
msgstr "Utiliser les vues"

#: ../../guides/views.rst:21
msgid ""
"At their most basic level, the default views are just PHP files with "
"snippets of html:"
msgstr ""
"À leur niveau le plus élémentaire, les vues par défaut ne sont que des "
"fichiers PHP avec des extraits de html :"

#: ../../guides/views.rst:27
msgid ""
"Assuming this view is located at ``/views/default/hello.php``, we could "
"output it like so:"
msgstr ""
"En supposant que cette vue se trouve dans ``/views/default/hello.php``, nous"
" pourrions l'afficher comme ceci :"

#: ../../guides/views.rst:33
msgid ""
"For your convenience, Elgg comes with quite a lot of views by default. In "
"order to keep things manageable, they are organized into subdirectories. "
"Elgg handles this situation quite nicely. For example, our simple view might"
" live in ``/views/default/hello/world.php``, in which case it would be "
"called like so:"
msgstr ""
"Pour votre commodité, Elgg est livré avec beaucoup de vues par défaut. Afin "
"de garder les choses gérables, elles sont organisées en sous-répertoires. "
"Elgg gère très bien cette organisation. Par exemple, notre vue simple peut "
"être située dans ``/views/default/hello/world.php``, auquel cas elle sera "
"appelée comme ceci :"

#: ../../guides/views.rst:42
msgid ""
"The name of the view simply reflects the location of the view in the views "
"directory."
msgstr ""
"Le nom de la vue reflète simplement l’emplacement de la vue dans le "
"répertoire des vues."

#: ../../guides/views.rst:45
msgid "Views as templates"
msgstr "Les vues comme modèles (templates)"

#: ../../guides/views.rst:47
msgid ""
"You can pass arbitrary data to a view via the ``$vars`` array. Our "
"``hello/world`` view might be modified to accept a variable like so:"
msgstr ""
"Vous pouvez transmettre des données arbitraires à une vue via le tableau "
"``$vars``. Notre vue ``hello/wordl`` pourrait être modifié pour accepter une"
" variable comme ceci :"

#: ../../guides/views.rst:54
msgid ""
"In this case, we can pass an arbitrary name parameter to the view like so:"
msgstr ""
"Dans ce cas, nous pouvons passer un paramètre de nom arbitraire à la vue "
"comme ceci :"

#: ../../guides/views.rst:60
msgid "which would produce the following output:"
msgstr "qui produirait la sortie suivante :"

#: ../../guides/views.rst:68
msgid ""
"Views don't do any kind of automatic output sanitization by default. You are"
" responsible for doing the correct sanitization yourself to prevent XSS "
"attacks and the like."
msgstr ""
"Les vues ne font aucune sorte d’assainissement automatique de la sortie par "
"défaut. Vous êtes responsable de faire l’assainissement correct vous-même "
"pour prévenir les attaques XSS et similaires."

#: ../../guides/views.rst:73
msgid "Views as cacheable assets"
msgstr "Les vues en tant qu’actifs pouvant être mis en cache"

#: ../../guides/views.rst:75
msgid "As mentioned before, views can contain JS, CSS, or even images."
msgstr ""
"Comme mentionné précédemment, les vues peuvent contenir du JS, des CSS, ou "
"même des images."

#: ../../guides/views.rst:77
msgid "Asset views must meet certain requirements:"
msgstr "Les actifs doivent correspondre à certaines exigences :"

#: ../../guides/views.rst:79
msgid "They *must not* take any ``$vars`` parameters"
msgstr "Elles *ne doivent pas* utiliser de paramètre de ``$vars``"

#: ../../guides/views.rst:80
msgid "They *must not* change their output based on global state like"
msgstr ""
"Elles *ne doivent pas* modifier leur sortie en fonction de l’état global "
"comme"

#: ../../guides/views.rst:82
msgid "who is logged in"
msgstr "qui est connecté"

#: ../../guides/views.rst:83
msgid "the time of day"
msgstr "l’heure de la journée"

#: ../../guides/views.rst:85
msgid "They *must* contain a valid file extension"
msgstr "Elles *doivent* avoir une extension de fichier valide"

#: ../../guides/views.rst:87
msgid "Bad: ``my/cool/template``"
msgstr "Mauvais : ``my/cool/template``"

#: ../../guides/views.rst:88
msgid "Good: ``my/cool/template.html``"
msgstr "Bon : ``my/cool/template.html``"

#: ../../guides/views.rst:90
msgid ""
"For example, suppose you wanted to load some CSS on a page. You could define"
" a view ``mystyles.css``, which would look like so:"
msgstr ""
"Par exemple, supposons que vous vouliez charger certains CSS sur une page. "
"Vous pouvez définir une vue ``messtyles.css``, qui ressemblerait à ceci :"

#: ../../guides/views.rst:102
msgid ""
"Leave off the trailing \".php\" from the filename and Elgg will "
"automatically recognize the view as cacheable."
msgstr ""
"Omettez l'extension \".php\" du nom de fichier et Elgg reconnaîtra "
"automatiquement la vue comme pouvant être mise en cache."

#: ../../guides/views.rst:105
msgid "To get a URL to this file, you would use ``elgg_get_simplecache_url``:"
msgstr ""
"Pour obtenir une URL de ce fichier, vous utiliseriez "
"``elgg_get_simplecache_url`` :"

#: ../../guides/views.rst:112
msgid ""
"Elgg automatically adds the magic numbers you see there for cache-busting "
"and sets long-term expires headers on the returned file."
msgstr ""
"Elgg ajoute automatiquement les numéros magiques que vous voyez là pour le "
"cache-busting et définit les entêtes Expires à long terme sur le fichier "
"renvoyé."

#: ../../guides/views.rst:117
msgid ""
"Elgg may decide to change the location or structure of the returned URL in a"
" future release for whatever reason, and the cache-busting numbers change "
"every time you flush Elgg's caches, so the exact URL is not stable by "
"design."
msgstr ""
"Elgg pourrait décider de modifier l’emplacement ou la structure de l’URL "
"retournée dans une version ultérieure pour une raison quelconque, et les "
"numéros d'invalidation du cache (cache-busting) changent à chaque fois que "
"vous videz les caches d’Elgg, de sorte que l’URL exacte n’est pas stable par"
" design."

#: ../../guides/views.rst:121
msgid "With that in mind, here's a couple anti-patterns to avoid:"
msgstr "Avec cela à l’esprit, voici quelques anti-modèles à éviter :"

#: ../../guides/views.rst:123
msgid "Don't rely on the exact structure/location of this URL"
msgstr "Ne vous fiez pas à la structure/emplacement exacts de cette URL"

#: ../../guides/views.rst:124
msgid "Don't try to generate the URLs yourself"
msgstr "N’essayez pas de générer les URL vous-même"

#: ../../guides/views.rst:125
msgid "Don't store the returned URLs in a database"
msgstr "Ne stockez pas les URL renvoyées dans une base de données"

#: ../../guides/views.rst:127
msgid "On the page you want to load the css, call:"
msgstr "Sur la page où vous souhaitez charger le css, appelez :"

#: ../../guides/views.rst:137
msgid "Views and third-party assets"
msgstr "Vues et actifs tierce-partie (assets)"

#: ../../guides/views.rst:139
msgid ""
"The best way to serve third-party assets is through views. However, instead "
"of manually copy/pasting the assets into the right location in ``/views/*``,"
" you can map the assets into the views system via the ``\"views\"`` key in "
"your plugin's ``elgg-plugin.php`` config file."
msgstr ""
"La meilleure manière de servir des actifs tiers est par le biais des vues. "
"Toutefois, au lieu de copier/coller manuellement les actifs au bon endroit "
"dans ``/views/*``, vous pouvez mapper les actifs dans le système de vues via"
" la clef ``\"views\"`` dans le fichier de configuration ``elgg-plugin.php`` "
"de votre plugin."

#: ../../guides/views.rst:143
msgid ""
"The views value must be a 2 dimensional array. The first level maps a "
"viewtype to a list of view mappings. The secondary lists map view names to "
"file paths, either absolute or relative to the Elgg root directory."
msgstr ""
"La valeur des vues doit être un tableau à 2 dimensions. Le premier niveau "
"mappe un type de vue à une liste de mappage de vues. Le deuxième niveau "
"associe les noms des vues à des chemins de fichiers, absolus ou relatifs au "
"répertoire racine de Elgg."

#: ../../guides/views.rst:146
msgid "If you check your assets into source control, point to them like this:"
msgstr ""
"Si vous ajoutez vos actifs au suivi de version, pointez-les comme ceci :"

#: ../../guides/views.rst:162
msgid ""
"To point to assets installed with composer, use install-root-relative paths "
"by leaving off the leading slash:"
msgstr ""
"Pour pointer vers les actifs installés avec composer, utilisez les chemins "
"install-root-relative en omettant le slash initial :"

#: ../../guides/views.rst:176
msgid ""
"Elgg core uses this feature extensively, though the value is returned "
"directly from ``/engine/views.php``."
msgstr ""
"Le noyau de Elgg utilise cette fonctionnalité largement, bien que la valeur "
"soit retournée directement à partir de ``/engine/views.php``."

#: ../../guides/views.rst:180
msgid ""
"You don't have to use NPM, Composer Asset Plugin or any other script for "
"managing your plugin's assets, but we highly recommend using a package "
"manager of some kind because it makes upgrading so much easier."
msgstr ""
"Vous n’avez pas besoin d’utiliser NPM, Composer Asset Plugin, ou tout autre "
"script pour gérer les actifs de votre plugin, mais nous vous recommandons "
"fortement d’utiliser un gestionnaire de package quel qu'il soit, car cela "
"facilite grandement la mise à niveau."

#: ../../guides/views.rst:185
msgid "Specifying additional views directories"
msgstr "En spécifiant des répertoires supplémentaires pour les vues"

#: ../../guides/views.rst:187
msgid ""
"In ``elgg-plugin.php`` you can also specify directories to be scanned for "
"views. Just provide a view name prefix ending with ``/`` and a directory "
"path (like above)."
msgstr ""
"Dans ``elgg-plugin.php`` vous pouvez également spécifier des répertoires à "
"scanner pour les vues. Il suffit de fournir un préfixe de nom de vue se "
"terminant par ``/`` et un chemin de répertoire (comme ci-dessus)."

#: ../../guides/views.rst:201
msgid ""
"With the above, files found within the ``icons`` folder will be interpreted "
"as views. E.g. the view ``file/icon/general.gif`` will be created and mapped"
" to ``mod/file/graphics/icons/general.gif``."
msgstr ""
"Avec ce qui précède, les fichiers trouvés dans le dossier ``icons`` seront "
"interprétés comme des vues. Par exemple, l’affichage "
"``file/icon/general.gif`` sera créé et mappé à "
"``mod/file/graphics/icons/general.gif``."

#: ../../guides/views.rst:206
msgid ""
"This is a fully recursive scan. All files found will be brought into the "
"views system."
msgstr ""
"Il s’agit d’un scan entièrement récursif. Tous les fichiers trouvés seront "
"introduits dans le système de vues."

#: ../../guides/views.rst:208
msgid "Multiple paths can share the same prefix, just give an array of paths:"
msgstr ""
"Plusieurs chemins peuvent partager le même préfixe, il suffit de donner un "
"tableau de chemins :"

#: ../../guides/views.rst:225
msgid "Viewtypes"
msgstr "Types de vues (viewtypes)"

#: ../../guides/views.rst:227
msgid ""
"You might be wondering: \"Why ``/views/default/hello/world.php`` instead of "
"just ``/views/hello/world.php``?\"."
msgstr ""
"Vous pouvez vous demandez : \"Pourquoi ``/views/default/hello/world.php`` au"
" lieu de simplement ``/views/hello/world.php`` ?\"."

#: ../../guides/views.rst:229
msgid ""
"The subdirectory under ``/views`` determines the *viewtype* of the views "
"below it. A viewtype generally corresponds to the output format of the "
"views."
msgstr ""
"Le sous-répertoire dans ``/views`` détermine le *viewtype* des vues qu'il "
"contient. Un type de vue correspond généralement au format de sortie des "
"vues."

#: ../../guides/views.rst:232
msgid ""
"The default viewtype is assumed to be HTML and other static assets necessary"
" to render a responsive web page in a desktop or mobile browser, but it "
"could also be:"
msgstr ""
"Le type de vue par défaut est supposé être HTML et d’autres actifs statiques"
" nécessaires pour rendre une page Web réactive dans un navigateur de bureau "
"ou mobile, mais il peut également être :"

#: ../../guides/views.rst:235
msgid "RSS"
msgstr "RSS"

#: ../../guides/views.rst:236
msgid "ATOM"
msgstr "ATOM"

#: ../../guides/views.rst:237
msgid "JSON"
msgstr "JSON"

#: ../../guides/views.rst:238
msgid "Mobile-optimized HTML"
msgstr "HTML optimisé pour mobile"

#: ../../guides/views.rst:239
msgid "TV-optimized HTML"
msgstr "HTML optimisé pour TV"

#: ../../guides/views.rst:240
msgid "Any number of other data formats"
msgstr "N’importe quel nombre d’autres formats de données"

#: ../../guides/views.rst:242
msgid ""
"You can force Elgg to use a particular viewtype to render the page by "
"setting the ``view`` input variable like so: "
"``https://mysite.com/?view=rss``."
msgstr ""
"Vous pouvez forcer Elgg à utiliser un type de vue particulier pour afficher "
"la page en définissant la variable d’entrée ``view`` comme ceci : "
"``https://monsite.com/?view=rss``."

#: ../../guides/views.rst:245
msgid ""
"You could also write a plugin to set this automatically using the "
"``elgg_set_viewtype()`` function. For example, your plugin might detect that"
" the page was accessed with an iPhone's browser string, and set the viewtype"
" to ``iphone`` by calling:"
msgstr ""
"Vous pourriez également écrire un plugin pour définir ceci automatiquement à"
" l’aide de la fonction ``elgg_set_viewtype()``. Par exemple, votre plugin "
"peut détecter que la page a été consultée avec la chaîne de navigateur d’un "
"iPhone, et définir le type de vue sur ``iphone`` en appelant :"

#: ../../guides/views.rst:253
msgid ""
"The plugin would presumably also supply a set of views optimized for those "
"devices."
msgstr ""
"Le plugin fournirait probablement également un ensemble de vues optimisées "
"pour ces appareils."

#: ../../guides/views.rst:258
msgid "Altering views via plugins"
msgstr "Modification des vues via des plugins"

#: ../../guides/views.rst:260
msgid ""
"Without modifying Elgg's core, Elgg provides several ways to customize "
"almost all output:"
msgstr ""
"Sans modifier le noyau d’Elgg, Elgg offre plusieurs manières de "
"personnaliser quasiement toutes les sorties :"

#: ../../guides/views.rst:262
msgid ""
"You can `override a view <#overriding-views>`_, completely changing the file"
" used to render it."
msgstr ""
"Vous pouvez `remplacer une vue <#overriding-vues>`_, en modifiant "
"complètement le fichier utilisé pour l'afficher."

#: ../../guides/views.rst:263
msgid ""
"You can `extend a view <#extending-views>`_ by prepending or appending the "
"output of another view to it."
msgstr ""
"Vous pouvez `étendre une vue <#extending-vues>`_ en y insérant la sortie "
"d’une autre vue avant ou après."

#: ../../guides/views.rst:264
msgid ""
"You can `alter a view's inputs <#altering-view-input>`_ by plugin hook."
msgstr ""
"Vous pouvez `modifier les entrées d’une vue <#altering-view-input>`_ avec un"
" hook plugin."

#: ../../guides/views.rst:265
msgid ""
"You can `alter a view's output <#altering-view-output>`_ by plugin hook."
msgstr ""
"Vous pouvez `modifier la sortie d’une vue <#altering-view-output>`_ avec un "
"hook plugin."

#: ../../guides/views.rst:268
msgid "Overriding views"
msgstr "Surcharger les vues (override)"

#: ../../guides/views.rst:270
msgid ""
"Views in plugin directories always override views in the core directory; "
"however, when plugins override the views of other plugins, :ref:`later "
"plugins take precedent <admin/plugins#plugin-order>`."
msgstr ""
"Les vues dans les répertoires des plugins remplacent toujours les vues du "
"répertoire du noyau ; toutefois, quand les plugins remplacent les vues "
"d’autres plugins, :ref:`les vues des derniers plugins remplacent celles de "
"précédents <admin/plugins #plugin-order>`."

#: ../../guides/views.rst:274
msgid ""
"For example, if we wanted to customize the ``hello/world`` view to use an "
"``h2`` instead of an ``h1``, we could create a file at "
"``/mod/example/views/default/hello/world.php`` like this:"
msgstr ""
"Par exemple, si nous voulions personnaliser la vue ``hello/world`` pour "
"utiliser un ``h2`` au lieu d’un ``h1``, nous pourrions créer un fichier à "
"``mod/exemple/views/default/hello/world.php`` comme ceci :"

#: ../../guides/views.rst:283
msgid ""
"When considering long-term maintenance, overriding views in the core and "
"bundled plugins has a cost: Upgrades may bring changes in views, and if you "
"have overridden them, you will not get those changes."
msgstr ""
"Quand vous considérez la maintenance à long terme, la surcharge des vues du "
"noyau et des plugins inclus a un coût : les mises à niveau peuvent apporter "
"des changements dans les vues, et si vous les avez remplacées, vous "
"n’obtiendrez pas ces changements ou devrez les réintégrer dans vos vues."

#: ../../guides/views.rst:286
msgid ""
"You may instead want to alter :ref:`the input <guides/views#altering-view-"
"input>` or :ref:`the output <guides/views#altering-view-output>` of the view"
" via plugin hooks."
msgstr ""
"Vous pouvez plutôt souhaiter modifier :ref:`l'entrée  <guides/views"
"#altering-view-input>` ou :ref:{la sortie <guides/views#altering-view-"
"output>` de la vue via des hooks plugin."

#: ../../guides/views.rst:291
msgid ""
"Elgg caches view locations. This means that you should disable the system "
"cache while developing with views. When you install the changes to a "
"production environment you must flush the caches."
msgstr ""
"Elgg met en cache les chemins des vues. Cela signifie que vous devez "
"désactiver le cache système quand vous développez avec des vues. Lorsque "
"vous installez les modifications apportées dans un environnement de "
"production, vous devez vider les caches."

#: ../../guides/views.rst:295
msgid "Extending views"
msgstr "Étendre les vues"

#: ../../guides/views.rst:297
msgid ""
"There may be other situations in which you don't want to override the whole "
"view, you just want to prepend or append some more content to it. In Elgg "
"this is called *extending a view*."
msgstr ""
"Il peut y avoir d’autres situations dans lesquelles vous ne voulez pas "
"remplacer l’ensemble de la vue, et plutôt y ajouter un peu plus de contenu "
"au début ou à la fin. Dans Elgg, c’est ce qu’on appelle *étendre une vue*."

#: ../../guides/views.rst:300
msgid ""
"For example, instead of overriding the ``hello/world`` view, we could extend"
" it like so:"
msgstr ""
"Par exemple, au lieu de remplacer la vue ``hello/world``, nous pourrions "
"l’étendre comme ceci :"

#: ../../guides/views.rst:306
msgid "If the contents of ``/views/default/hello/greeting.php`` is:"
msgstr "Si le contenu de ``/views/default/hello/greeting.php`` est :"

#: ../../guides/views.rst:312
msgid "Then every time we call ``elgg_view('hello/world');``, we'll get:"
msgstr ""
"Ensuite, chaque fois que nous appelons ``elgg_view('hello/world');``, nous "
"obtiendrons :"

#: ../../guides/views.rst:319
msgid ""
"You can prepend views by passing a value to the 3rd parameter that is less "
"than 500:"
msgstr ""
"Vous pouvez ajouter des choses avant la vue en transmettant au 3ème "
"paramètre une valeur inférieure à 500 :"

#: ../../guides/views.rst:329
msgid ""
"All view extensions should be registered in your plugin's ``elgg-"
"plugin.php``."
msgstr ""
"Toutes les extensions de vue doivent être enregistrées dans le ``elgg-"
"plugin.php`` de votre plugin."

#: ../../guides/views.rst:334
msgid "Altering view input"
msgstr "Modification de l’entrée d'une vue"

#: ../../guides/views.rst:336
msgid ""
"It may be useful to alter a view's ``$vars`` array before the view is "
"rendered."
msgstr ""
"Il peut être utile de modifier le tableau ``$vars`` d’une vue avant que la "
"vue ne soit rendue."

#: ../../guides/views.rst:338
msgid ""
"Before each view rendering the ``$vars`` array is filtered by the "
":ref:`plugin hook <guides/hooks-list#views>` ``[\"view_vars\", "
"$view_name]``. Each registered handler function is passed these arguments:"
msgstr ""
"Avant chaque affichage de la vue, le tableau ``$vars`` est filtré par le "
":ref:`hook de plugin <guides/hooks-list#views>` ``[\"view_vars\", "
"$view_name]``. Chaque fonction de gestionnaire enregistrée dispose de ces "
"arguments :"

#: ../../guides/views.rst:342
msgid "``$hook`` - the string ``\"view_vars\"``"
msgstr "``$hook`` - la chaîne ``\"view_vars\"``"

#: ../../guides/views.rst:343 ../../guides/views.rst:381
msgid ""
"``$view_name`` - the view name being rendered (the first argument passed to "
"``elgg_view()``)"
msgstr ""
"``$view_name`` - le nom de la vue (le premier argument est passé à "
"``elgg_view()``)"

#: ../../guides/views.rst:344
msgid "``$returnvalue`` - the modified ``$vars`` array"
msgstr "``$returnvalue`` - le tableau modifié ``$vars``"

#: ../../guides/views.rst:345 ../../guides/views.rst:383
msgid "``$params`` - an array containing:"
msgstr "``$params`` - un tableau contenant :"

#: ../../guides/views.rst:347
msgid "``vars`` - the original ``$vars`` array, unaltered"
msgstr "``vars`` - le tableau original ``$vars``, inchangé"

#: ../../guides/views.rst:348
msgid "``view`` - the view name"
msgstr "``view`` - le nom de la vue"

#: ../../guides/views.rst:349 ../../guides/views.rst:385
msgid ""
"``viewtype`` - The :ref:`viewtype <guides/views#viewtypes>` being rendered"
msgstr ""
"``viewtype`` - Le :ref:`type de vue <guides/views#viewtypes>` en train "
"d'être affiché"

#: ../../guides/views.rst:352
msgid "Altering view input example"
msgstr "Exemple de modification des entrées d'une vue"

#: ../../guides/views.rst:354
msgid "Here we'll alter the default pagination limit for the comments view:"
msgstr ""
"Ici, nous allons modifier la limite de pagination par défaut pour la vue des"
" commentaires :"

#: ../../guides/views.rst:372
msgid "Altering view output"
msgstr "Modification de la sortie d'une vue"

#: ../../guides/views.rst:374
msgid ""
"Sometimes it is preferable to alter the output of a view instead of "
"overriding it."
msgstr ""
"Parfois, il est préférable de modifier la sortie d’une vue au lieu de la "
"remplacer."

#: ../../guides/views.rst:376
msgid ""
"The output of each view is run through the :ref:`plugin hook <guides/hooks-"
"list#views>` ``[\"view\", $view_name]`` before being returned by "
"``elgg_view()``. Each registered handler function is passed these arguments:"
msgstr ""
"La sortie de chaque vue passe par le :ref:`hook plugin <guides/hooks-"
"list#views>` ``[\"view\", $view_name]`` avant d’être renvoyé par "
"``elgg_view()``. Chaque fonction de gestionnaire enregistrée dispose de ces "
"arguments :"

#: ../../guides/views.rst:380
msgid "``$hook`` - the string ``\"view\"``"
msgstr "``$hook`` - la chaîne ``\"view\"``"

#: ../../guides/views.rst:382
msgid "``$result`` - the modified output of the view"
msgstr "``$result`` - la sortie modifiée de la vue"

#: ../../guides/views.rst:387
msgid ""
"To alter the view output, the handler just needs to alter ``$returnvalue`` "
"and return a new string."
msgstr ""
"Pour modifier le résultat de la vue, le gestionnaire n’a qu’à modifier "
"``$returnvalue`` et à renvoyer une nouvelle chaîne."

#: ../../guides/views.rst:390
msgid "Altering view output example"
msgstr "Exemple de modification d'affichage d'une vue"

#: ../../guides/views.rst:392
msgid "Here we'll eliminate breadcrumbs that don't have at least one link."
msgstr ""
"Ici, nous allons éliminer le fil d'Ariane lorsqu'il ne contient aucun lien."

#: ../../guides/views.rst:413
msgid "Replacing view output completely"
msgstr "Remplacement complet du résultat de la vue"

#: ../../guides/views.rst:415
msgid ""
"You can pre-set the view output by setting ``$vars['__view_output']``. The "
"value will be returned as a string. View extensions will not be used and the"
" ``view`` hook will not be triggered."
msgstr ""
"Vous pouvez pré-définir la sortie de la vue en définissant "
"``$vars['__view_output']``. La valeur sera retournée sous forme de chaîne. "
"Les extensions de vue ne seront pas utilisées et le hook ``view`` ne sera "
"pas déclenché."

#: ../../guides/views.rst:430
msgid ""
"For ease of use you can also use a already existing default hook callback to"
" prevent output ``\\Elgg\\Values::preventViewOutput``"
msgstr ""
"Pour une plus grande facilité d’utilisation, vous pouvez également utiliser "
"une fonction de rappel par défaut pour bloquer tout rendu : "
"``\\Elgg\\Values::preventViewOutput``"

#: ../../guides/views.rst:435
msgid ""
"If you don't know what an entity is, :doc:`check this page out first "
"</design/database>`."
msgstr ""
"Si vous ne savez pas ce qu’est une entité, :doc:`commencez par lire cette "
"page </design/database>`."

#: ../../guides/views.rst:437
msgid ""
"The following code will automatically display the entity in ``$entity``:"
msgstr "Le code suivant affiche automatiquement l’entité dans ``$entity`` :"

#: ../../guides/views.rst:443
msgid ""
"As you'll know from the data model introduction, all entities have a *type* "
"(object, site, user or group), and optionally a subtype (which could be "
"anything - 'blog', 'forumpost', 'banana')."
msgstr ""
"Comme vous le savez après la lecture de l’introduction au modèle de données,"
" toutes les entités ont un *type* (object, site, user ou group), et "
"éventuellement un sous-type (qui pourrait être n’importe quoi - ``blog``, "
"``forumpost``, ``banane``)."

#: ../../guides/views.rst:447
msgid ""
"``elgg_view_entity`` will automatically look for a view called "
"``type/subtype``; if there's no subtype, it will look for ``type/type``. "
"Failing that, before it gives up completely it tries ``type/default``."
msgstr ""
"``''elgg_view_entity`` va automatiquement rechercher une vue appelée "
"``type/subtype`` ; s’il n’y a pas de sous-type, elle recherchera "
"``type/type``. À défaut, elle essaiera ``type/default`` avant de renoncer."

#: ../../guides/views.rst:451
msgid ""
"RSS feeds in Elgg generally work by outputting the ``object/default`` view "
"in the 'rss' viewtype."
msgstr ""
"Les flux RSS d’Elgg fonctionnent généralement en affichant la vue "
"``object/default`` dans le type de vue 'rss'."

#: ../../guides/views.rst:453
msgid ""
"For example, the view to display a blog post might be ``object/blog``. The "
"view to display a user is ``user/default``."
msgstr ""
"Par exemple, la vue pour afficher un article de blog peut être "
"``object/blog``. La vue pour afficher un utilisateur est ``user/default``."

#: ../../guides/views.rst:457
msgid "Full and partial entity views"
msgstr "Vues des entités partielles et complètes"

#: ../../guides/views.rst:459
msgid ""
"``elgg_view_entity`` actually has a number of parameters, although only the "
"very first one is required. The first three are:"
msgstr ""
"``elgg_view_entity`` dispose en fait d'un certain nombre de paramètres, bien"
" que seul le tout premier soit nécessaire. Les trois premiers sont :"

#: ../../guides/views.rst:462
msgid "``$entity`` - The entity to display"
msgstr "``$entity`` - L'entité à afficher"

#: ../../guides/views.rst:463
msgid ""
"``$viewtype`` - The viewtype to display in (defaults to the one we're "
"currently in, but it can be forced - eg to display a snippet of RSS within "
"an HTML page)"
msgstr ""
"``''$viewtype`` - Le type de vue à afficher (par défaut c'est celui "
"actuellement utilisé, mais il peut être forcé - par exemple pour afficher un"
" extrait RSS dans une page HTML)"

#: ../../guides/views.rst:465
msgid ""
"``$full_view`` - Whether to display a *full* version of the entity. "
"(Defaults to ``true``.)"
msgstr ""
"``''$full_view`` - Affichage d’une version *complète* de l’entité. (Par "
"défaut à ``true``.)"

#: ../../guides/views.rst:467
msgid ""
"This last parameter is passed to the view as ``$vars['full_view']``. It's up"
" to you what you do with it; the usual behaviour is to only display comments"
" and similar information if this is set to true."
msgstr ""
"Ce dernier paramètre est transmis à la vue sous le nom de "
"``$vars['full_view']``. C’est à vous de déterminer comment vous souhaitez "
"l'utiliser ; le comportement habituel consiste à afficher uniquement des "
"commentaires et des informations de ce type si cela est défini sur true."

#: ../../guides/views.rst:474
msgid "Listing entities"
msgstr "Lister des entités"

#: ../../guides/views.rst:476
msgid ""
"This is then used in the provided listing functions. To automatically "
"display a list of blog posts (:doc:`see the full tutorial "
"</tutorials/blog>`), you can call:"
msgstr ""
"Ceci est ensuite utilisé dans les fonctions de liste fournies. Pour afficher"
" automatiquement une liste d'articles de blog (:doc:`voir le tutoriel "
"complet </tutoriels/blog>`), vous pouvez appeler :"

#: ../../guides/views.rst:486
msgid ""
"This function checks to see if there are any entities; if there are, it "
"first displays the ``navigation/pagination`` view in order to display a way "
"to move from page to page. It then repeatedly calls ``elgg_view_entity`` on "
"each entity before returning the result."
msgstr ""
"Cette fonction vérifie s’il y a des entités ; s’il y en a, elle affiche "
"d’abord la vue ``navigation/pagination`` afin d’afficher un moyen de passer "
"d’une page à l’autre. Elle appelle ensuite à plusieurs reprises "
"``elgg_view_entity`` sur chaque entité avant de renvoyer le résultat."

#: ../../guides/views.rst:491
msgid ""
"Note that ``elgg_list_entities`` allows the URL to set its ``limit`` and "
"``offset`` options, so set those explicitly if you need particular values "
"(e.g. if you're not using it for pagination)."
msgstr ""
"Notez que ``elgg_list_entities`` permet à l’URL de définir ses options "
"``limit`` et ``offset``, aussi définissez-les explicitement si vous avez "
"besoin de valeurs particulières (par exemple si vous ne les utilisez pas "
"pour la pagination)."

#: ../../guides/views.rst:494
msgid ""
"Elgg knows that it can automatically supply an RSS feed on pages that use "
"``elgg_list_entities``. It initializes the ``[\"head\",\"page\"]`` plugin "
"hook (which is used by the header) in order to provide RSS autodiscovery, "
"which is why you can see the orange RSS icon on those pages in some "
"browsers."
msgstr ""
"Elgg sait qu’il peut automatiquement fournir un flux RSS sur les pages qui "
"utilisent ``elgg_list_entities``. Il initialise le hook de plugin "
"``[\"head\",\"page\"]`` (qui est utilisé par l’entête) afin de fournir la "
"découverte automatique RSS, c’est pourquoi vous pouvez voir l’icône RSS "
"orange sur ces pages dans certains navigateurs."

#: ../../guides/views.rst:499
msgid ""
"Entity listings will default try to load entity owners and container owners."
" If you want to prevent this you can turn this off."
msgstr ""
"Les listes d’entités tenteront par défaut de charger les propriétaires des "
"entités et les propriétaires de leur conteneur. Si vous voulez éviter cela, "
"vous pouvez le désactiver."

#: ../../guides/views.rst:511
msgid ""
"See also :doc:`this background information on Elgg's database "
"</design/database>`."
msgstr ""
"Voyez aussi :doc:`ces informations de contexte sur la base de données d’Elgg"
" </design/database>`."

#: ../../guides/views.rst:513
msgid ""
"If you want to show a message when the list does not contain items to list, "
"you can pass a ``no_results`` message or ``true`` for the default message. "
"If you want even more controle over the ``no_results`` message you can also "
"pass a Closure (an anonymous function)."
msgstr ""
"Si vous souhaitez afficher un message lorsque la liste ne contient pas "
"d’élément à répertorier, vous pouvez transmettre un message avec "
"``no_results``, ou ``true`` pour le message par défaut. Si vous voulez "
"encore plus de contrôle sur le message le message ``no_results`` peut "
"également passer une Closure (une fonction anonyme)."

#: ../../guides/views.rst:527
msgid "Rendering a list with an alternate view"
msgstr "Rendu d’une liste avec une autre vue"

#: ../../guides/views.rst:529
msgid ""
"You can define an alternative view to render list items using "
"``'item_view'`` parameter."
msgstr ""
"Vous pouvez définir une autre vue pour afficher des éléments de liste à "
"l’aide du paramètre ``item_view``."

#: ../../guides/views.rst:531
msgid ""
"In some cases, default entity views may be unsuitable for your needs. Using "
"``item_view`` allows you to customize the look, while preserving pagination,"
" list's HTML markup etc."
msgstr ""
"Dans certains cas, les vues d’entité par défaut peuvent ne pas convenir à "
"vos besoins. L’utilisation de ``item_view`` vous permet de personnaliser "
"l’apparence, tout en préservant la pagination, le balisage HTML de la liste,"
" etc."

#: ../../guides/views.rst:534
msgid "Consider these two examples:"
msgstr "Prenons les deux exemples suivants :"

#: ../../guides/views.rst:556
msgid ""
"In the first example, we are displaying a list of groups a user is a member "
"of using the default group view. In the second example, we want to display a"
" list of groups the user was invited to."
msgstr ""
"Dans le premier exemple, nous affichons une liste de groupes dont un "
"utilisateur est membre à l’aide de l’affichage de groupe par défaut. Dans le"
" deuxième exemple, nous voulons afficher une liste de groupes auxquels "
"l’utilisateur a été invité."

#: ../../guides/views.rst:559
msgid ""
"Since invitations are not entities, they do not have their own views and can"
" not be listed using ``elgg_list_*``. We are providing an alternative item "
"view, that will use the group entity to display an invitation that contains "
"a group name and buttons to access or reject the invitation."
msgstr ""
"Étant donné que les invitations ne sont pas des entités, elles n’ont pas "
"leurs propres vues et ne peuvent pas être répertoriées à l’aide de "
"``elgg_list_ *``. Nous fournissons une vue d’élément alternative, qui "
"utilisera l’entité de groupe pour afficher une invitation qui contient un "
"nom de groupe et des boutons pour accéder ou rejeter l’invitation."

#: ../../guides/views.rst:564
msgid "Rendering a list as a table"
msgstr "Rendu d’une liste en tant que tableau"

#: ../../guides/views.rst:566
msgid ""
"Since 2.3 you can render lists as tables. Set ``$options['list_type'] = "
"'table'`` and provide an array of TableColumn objects as "
"``$options['columns']``. The service ``elgg()->table_columns`` provides "
"several methods to create column objects based around existing views (like "
"``page/components/column/*``), properties, or methods."
msgstr ""
"Depuis 2.3, vous pouvez afficher des listes sous forme de tableaux. "
"Définissez ``$options[`list_type'] = 'table'`` et fournissez un tableau "
"d’objets TableColumn comme ``$options['columns']``. Le service "
"``elgg()->table_columns`` fournit plusieurs méthodes pour créer des objets "
"de colonnes basés sur des vues (comme ``page/components/column/*`` ), des "
"propriétés, ou des méthodes existantes."

#: ../../guides/views.rst:571
msgid ""
"In this example, we list the latest ``my_plugin`` objects in a table of 3 "
"columns: entity icon, the display name, and a friendly format of the time."
msgstr ""
"Dans cet exemple, nous répertorions les derniers objets ``mon_plugin`` dans "
"un tableau de 3 colonnes : icône de l’entité, nom d’affichage, et date dans "
"un format convivial."

#: ../../guides/views.rst:590
msgid ""
"See the ``Elgg\\Views\\TableColumn\\ColumnFactory`` class for more details "
"on how columns are specified and rendered. You can add or override methods "
"of ``elgg()->table_columns`` in a variety of ways, based on views, "
"properties/methods on the items, or given functions."
msgstr ""
"Pour plus d’informations sur la façon dont les colonnes sont spécifiées et "
"rendues, consultez la classe ``Elgg\\Views\\TableColumn\\ColumnFactory``. "
"Vous pouvez ajouter ou remplacer des méthodes de ``elgg()->table_columns`` "
"de diverses façons, en fonction des vues, des propriétés/méthodes sur les "
"éléments ou des fonctions données."

#: ../../guides/views.rst:597
msgid ""
"Elgg has support for two kind of icons: generic icons to help with styling "
"(eg. show delete icon) and Entity icons (eg. user avatar)."
msgstr ""
"Elgg supporte deux types d’icônes : les icônes génériques pour aider avec le"
" style des pages (par exemple, afficher l’icône de suppression) et les "
"icônes des Entity (par exemple l'avatar utilisateur)."

#: ../../guides/views.rst:600
msgid "Generic icons"
msgstr "Icônes génériques"

#: ../../guides/views.rst:602
msgid ""
"As of Elgg 2.0 the generic icons are based on the FontAwesome_ library. You "
"can get any of the supported icons by calling ``elgg_view_icon($icon_name, "
"$vars);`` where:"
msgstr ""
"À partir d’Elgg 2.0, les icônes génériques sont basées sur la bibliothèque "
"FontAwesome_. Vous pouvez obtenir n’importe laquelle des icônes prises en "
"charge en appelant ``elgg_view_icon($icon_name, $vars);`` où :"

#: ../../guides/views.rst:605
msgid ""
"``$icon_name`` is the FontAwesome name (without ``fa-``) for example "
"``user``"
msgstr ""
"``$icon_name`` est le nom de l'icône FontAwesome (sans ``fa-``) par exemple "
"``user``"

#: ../../guides/views.rst:606
msgid "``$vars`` is optional, for example you can set an additional class"
msgstr ""
"``$vars`` est facultatif, par exemple vous pouvez définir une classe "
"supplémentaire"

#: ../../guides/views.rst:608
msgid ""
"``elgg_view_icon()`` calls the view ``output/icon`` with the given icon name"
" and outputs all the correct classes to render the FontAwesome icon. If you "
"wish to replace an icon with another icon you can write a ``view_vars``, "
"``output/icon`` hook to replace the icon name with your replacement."
msgstr ""
"``elgg_view_icon()`` appelle la vue ``output/icon`` avec le nom de l’icône "
"donné et ajoute toutes les classes pour afficher l’icône FontAwesome. Si "
"vous souhaitez remplacer une icône par une autre icône, vous pouvez écrire "
"un hook ``view_vars``, ``output/icon`` pour remplacer le nom de l’icône par "
"votre remplacement."

#: ../../guides/views.rst:611
msgid ""
"For backwards compatibility some older Elgg icon names are translated to a "
"corresponding FontAwesome icon."
msgstr ""
"A des fins de rétro-compatibilité, certains anciens noms d’icônes Elgg sont "
"traduits en une icône FontAwesome correspondante."

#: ../../guides/views.rst:614
msgid "Entity icons"
msgstr "Icônes des entités"

#: ../../guides/views.rst:616
msgid ""
"To view an icon belowing to an Entity call ``elgg_view_entity_icon($entity, "
"$size, $vars);`` where:"
msgstr ""
"Pour afficher un icône appartenant à une Entité appelez "
"``elgg_view_entity_icon($entity, $size, $vars);`` où :"

#: ../../guides/views.rst:618
msgid "``$entity`` is the ``ElggEntity`` you wish to show the icon for"
msgstr "``$entity`` est l'``ElggEntity`` dont vous voulez afficher l'icône"

#: ../../guides/views.rst:619
msgid ""
"``$size`` is the requestes size. Default Elgg supports ``large``, "
"``medium``, ``small``, ``tiny`` and ``topbar`` (``master`` is also "
"available, but don't use it)"
msgstr ""
"``$size`` est la dimension demandée. Par défaut Elgg supporte ``large``, "
"``medium``, ``small``, ``tiny`` et ``topbar`` (``master`` est également "
"disponible, mais ne l'utilisez pas)"

#: ../../guides/views.rst:621
msgid "``$vars`` in order to pass additional information to the icon view"
msgstr ""
"``$vars`` pour passer des informations additionnelles à la vue de l'icône"

#: ../../guides/views.rst:623
msgid "``elgg_view_entity_icon()`` calls a view in the order:"
msgstr "``elgg_view_entity_icon()`` appele une vue dans l'ordre :"

#: ../../guides/views.rst:625
msgid "``icon/<type>/<subtype>``"
msgstr "``icon/<type>/<subtype>``"

#: ../../guides/views.rst:626
msgid "``icon/<type>/default``"
msgstr "``icon/<type>/default``"

#: ../../guides/views.rst:627
msgid "``icon/default``"
msgstr "``icon/default``"

#: ../../guides/views.rst:629
msgid ""
"So if you wish to customize the layout of the icon you can overrule the "
"corresponding view."
msgstr ""
"Ainsi si vous souhaitez personnaliser la mise en page de l'icône, vous "
"pouvez surcharger la vue correspondante."

#: ../../guides/views.rst:631
msgid "An example of displaying a user avatar is"
msgstr "Un exemple d'affichage d'un avatar utilisateur est"

#: ../../guides/views/foot-vs-footer.rst:2
msgid "Page/elements/foot vs footer"
msgstr "Page/elements/foot vs footer"

#: ../../guides/views/foot-vs-footer.rst:4
msgid ""
"``page/elements/footer`` is the content that goes inside this part of the "
"page:"
msgstr ""
"``page/elements/footer`` est le contenu qui s'affiche dans cette partie de "
"la page :"

#: ../../guides/views/foot-vs-footer.rst:14
msgid ""
"It's content is visible to end users and usually where you would put a "
"sitemap or other secondary global navigation, copyright info, powered by "
"elgg, etc."
msgstr ""
"Son contenu est visible des utilisateurs finaux, et c'est habituellement "
"l'endroit où vous mettriez un plan du site ou un autre système de navigation"
" secondaire, des informations sur les mentions légales, l'indication "
"propulsé par elgg, etc."

#: ../../guides/views/foot-vs-footer.rst:16
msgid ""
"``page/elements/foot`` is inserted just before the ending ``</body>`` tag "
"and is mostly meant as a place to insert scripts that don't already work "
"with ``elgg_require_js('amd/module');``. In other words, you should never "
"override this view and probably don't need to extend it either. Just use the"
" ``elgg_*_js`` functions instead"
msgstr ""
"``page/elements/foot`` est inséré juste avant la balise de fin ``</body>`` "
"et est principalement destiné à insérer des scripts qui ne fonctionnent pas "
"déjà avec ``elgg_require_js('amd/module');`` . En d'autres termes, vous ne "
"devriez jamais remplacer cette vue et vous n'avez probablement pas besoin de"
" l'étendre non plus. Utilisez simplement les fonctions ``elgg_*_js`` à la "
"place"

#: ../../guides/views/page-structure.rst:2
msgid "Page structure best practice"
msgstr "Recommandations pour la structure des pages"

#: ../../guides/views/page-structure.rst:4
msgid ""
"Elgg pages have an overall pageshell, a main layout and several page "
"elements. It's recommended to always use the ``default`` layout as all page "
"elements can be controlled using that layout."
msgstr ""
"Les pages Elgg utilisent un pageshell (coquille HTML) global, une mise en "
"page principale et plusieurs éléments de page. Il est recommandé d’utiliser "
"toujours la disposition ``default`` car tous les éléments de page peuvent "
"être contrôlés à l’aide de cette disposition."

#: ../../guides/views/page-structure.rst:7
msgid "If you're not using the ``default`` layout you can call"
msgstr "If you're not using the ``default`` layout you can call"

#: ../../guides/views/page-structure.rst:16
msgid ""
"The different page elements are passed as an ``array`` in the second "
"parameter. The array keys correspond to elements in the layout. The array "
"values contain the html that should be displayed in those areas:"
msgstr ""
"Les différents éléments de page sont passés sous la forme d’un ``array`` "
"dans le deuxième paramètre. Les touches de tableau correspondent à des "
"éléments de la disposition. Les valeurs de tableau contiennent le html qui "
"devrait être affiché dans ces zones :"

#: ../../guides/views/page-structure.rst:32
msgid ""
"You can then, ultimately, pass this into the ``elgg_view_page`` function:"
msgstr ""
"Vous pouvez ensuite, finalement, passer ceci dans la fonction "
"``elgg_view_page`` :"

#: ../../guides/views/page-structure.rst:38
msgid ""
"If you're using the ``default`` layout you can also pass the array with page"
" elements directly to ``elgg_view_page``:"
msgstr ""
"Si vous utilisez la disposition ``default``, vous pouvez également passer le"
" tableau avec les éléments de page directement à ``elgg_view_page`` :"

#: ../../guides/views/page-structure.rst:47
msgid "You can control many of the page elements:"
msgstr "Vous pouvez contrôler de nombreux élément de la page :"

#: ../../guides/views/page-structure.rst:60
msgid ""
"Have a look at the ``page/layouts/default`` view to find out more "
"information about the supported page elements"
msgstr ""
"Regardez la vue ``page/layouts/default`` pour obtenir plus d’informations "
"sur les éléments de page pris en charge"

#: ../../guides/views/simplecache.rst:2
msgid "Simplecache"
msgstr "Cache simple (Simplecache)"

#: ../../guides/views/simplecache.rst:6
msgid ":doc:`/admin/performance`"
msgstr ":doc:`/admin/performance`"

#: ../../guides/views/simplecache.rst:7
msgid ":doc:`/guides/views`"
msgstr ":doc:`/guides/views`"

#: ../../guides/views/simplecache.rst:9
msgid ""
"The Simplecache is a mechanism designed to alleviate the need for certain "
"views to be regenerated dynamically. Instead, they are generated once, saved"
" as a static file, and served in a way that entirely bypasses the Elgg "
"engine."
msgstr ""
"Le Simplecache est un mécanisme conçu pour atténuer la nécessité de "
"régénérer dynamiquement certaines vues. Au lieu de cela, elles sont générées"
" une seule fois, enregistrées comme un fichier statique, et servies d’une "
"manière qui contourne entièrement le moteur Elgg."

#: ../../guides/views/simplecache.rst:12
msgid ""
"If Simplecache is turned off (which can be done from the administration "
"panel), these views will be served as normal, with the exception of site "
"CSS."
msgstr ""
"Si Simplecache est désactivé (ce qui peut être fait à partir du panneau "
"d’administration), ces vues seront servies comme d’habitude, à l’exception "
"des CSS du site."

#: ../../guides/views/simplecache.rst:15
msgid ""
"The criteria for whether a view is suitable for the Simplecache is as "
"follows:"
msgstr ""
"Les critères pour savoir si une vue convient pour Simplecache sont les "
"suivants :"

#: ../../guides/views/simplecache.rst:17
msgid ""
"The view must not change depending on who or when it is being looked at"
msgstr "La vue ne doit pas changer selon par qui ou quand elle est affichée"

#: ../../guides/views/simplecache.rst:18
msgid ""
"The view must not depend on variables fed to it (except for global variables"
" like site URL that never change)"
msgstr ""
"La vue ne doit pas dépendre des variables qui lui sont transmises (à "
"l’exception des variables globales comme l’URL du site qui ne changent "
"jamais)"

#: ../../guides/views/simplecache.rst:21
msgid "Regenerating the Simplecache"
msgstr "Régénérer le Simplecache"

#: ../../guides/views/simplecache.rst:23
msgid "You can regenerate the Simplecache at any time by:"
msgstr "Vous pouvez régénérer la Simplecache à tout moment en :"

#: ../../guides/views/simplecache.rst:25
msgid "Loading ``/upgrade.php``, even if you have nothing to upgrade"
msgstr ""
"Chargement de ``/upgrade.php``, même si vous n’avez rien à mettre à niveau"

#: ../../guides/views/simplecache.rst:26
msgid "In the admin panel click on 'Flush the caches'"
msgstr "Dans le panneau d’administration, cliquez sur 'Vider les caches'"

#: ../../guides/views/simplecache.rst:27
msgid "Enabling or disabling a plugin"
msgstr "Activation ou désactivation d’un plugin"

#: ../../guides/views/simplecache.rst:28
msgid "Reordering your plugins"
msgstr "Réorganiser vos plugins"

#: ../../guides/views/simplecache.rst:31
msgid "Using the Simplecache in your plugins"
msgstr "Utilisation du Simplecache dans vos plugins"

#: ../../guides/views/simplecache.rst:33
msgid "**Registering views with the Simplecache**"
msgstr "**Enregistrement des vues avec Simplecache**"

#: ../../guides/views/simplecache.rst:35
msgid ""
"You can register a view with the Simplecache with the following function at "
"init-time:"
msgstr ""
"Vous pouvez enregistrer une vue avec le Simplecache avec la fonction "
"suivante lors de la phase d'initialisation :"

#: ../../guides/views/simplecache.rst:41
msgid "**Accessing the cached view**"
msgstr "**Accès à la vue mise en cache**"

#: ../../guides/views/simplecache.rst:43
msgid ""
"If you registered a JavaScript or CSS file with Simplecache and put in the "
"view folder as ``your_view.js`` or ``your_view.css`` you can very easily get"
" the url to this cached view by calling ``elgg_get_simplecache_url($view)``."
" For example:"
msgstr ""
"Si vous avez enregistré un fichier JavaScript ou CSS avec Simplecache et que"
" vous l'avez mis dans le dossier des vues sous la forme ``votre_vue.js`` ou "
"``votre_vue.css``, vous pouvez très facilement obtenir l’URL de cette vue "
"mise en cache en appelant ``elgg_get_simplecache_url($votre_vue)``. Par "
"exemple :"

#: ../../guides/walled-garden.rst:2
msgid "Walled Garden"
msgstr "Walled Garden (Réseau privé)"

#: ../../guides/walled-garden.rst:4
msgid ""
"Elgg supports a \"Walled Garden\" mode. In this mode, almost all pages are "
"restricted to logged in users. This is useful for sites that don't allow "
"public registration."
msgstr ""
"Elgg prend en charge un mode ``Walled Garden`` (jardin clos). Dans ce mode, "
"presque toutes les pages ne sont accessible qu'aux seuls utilisateurs "
"connectés. Ceci est utile pour les sites qui n’autorisent pas l’inscription "
"publique."

#: ../../guides/walled-garden.rst:7
msgid "Activating Walled Garden mode"
msgstr "Activer le mode Walled Garden"

#: ../../guides/walled-garden.rst:9
msgid ""
"To activate Walled Garden mode in Elgg, go to the Administration section. On"
" the right sidebar menu, under the \"Configure\" section, expand "
"\"Settings,\" then click on \"Advanced.\""
msgstr ""
"Pour activer le mode Walled Garden dans Elgg, accédez à la section "
"Administration. Dans le menu de la barre latérale droite, sous la section "
"\"Configurer\", développez \"Paramètres\" puis cliquez sur \"Avancé\"."

#: ../../guides/walled-garden.rst:11
msgid ""
"From the Advanced Settings page, find the option labelled \"Restrict pages "
"to logged-in users.\" Enable this option, then click \"Save\" to switch your"
" site into Walled Garden mode."
msgstr ""
"Dans la page Paramètres avancés, recherchez l’option étiquetée \"Restreindre"
" les pages aux utilisateurs connectés\". Activez cette option, puis cliquez "
"sur \"Enregistrer\" pour passer votre site en mode Walled Garden."

#: ../../guides/walled-garden.rst:16
msgid "Exposing pages through Walled Gardens"
msgstr "Exposer des pages à travers le Walled Garden"

#: ../../guides/walled-garden.rst:18
msgid ""
"Many plugins extend Elgg by adding pages. Walled Garden mode will prevent "
"these pages from being viewed by logged out users. Elgg uses :ref:`plugin "
"hook <design/events#plugin-hooks>` to manage which pages are visible through"
" the Walled Garden."
msgstr ""
"De nombreux plugins étendent Elgg en ajoutant des pages. Le mode Walled "
"Garden empêchera ces pages d’être vues par les utilisateurs déconnectés. "
"Elgg utilise un :ref:`hook de plugin <design/events#plugin-hooks>` pour "
"gérer les pages visibles à travers le walled garden."

#: ../../guides/walled-garden.rst:21
msgid ""
"Plugin authors must register pages as public if they should be viewable "
"through Walled Gardens:"
msgstr ""
"Les auteurs de plugins doivent enregistrer les pages en tant que publiques "
"si elles doivent être visibles à travers le walled garden :"

#: ../../guides/walled-garden.rst:23
msgid "by setting ``'walled' => false`` in route configuration"
msgstr "en définissant ``'walled' => false`` dans la configuration des routes"

#: ../../guides/walled-garden.rst:24
msgid ""
"by responding to the ``public_pages``, ``walled_garden`` plugin hook. The "
"returned value is an array of regexp expressions for public pages."
msgstr ""
"en répondant au hook de plugin ``public_pages``, ``walled_garden``. La "
"valeur retournée est un tableau d’expressions regexp pour les pages "
"publiques."

#: ../../guides/walled-garden.rst:26
msgid ""
"The following code shows how to expose "
"http://example.org/my_plugin/public_page through a Walled Garden. This "
"assumes the plugin has registered a :doc:`route </guides/routing>` for "
"``my_plugin/public_page``."
msgstr ""
"Le code suivant montre comment exposer "
"http://exemple.org/mon_plugin/public_page à travers la walled garden. Cela "
"suppose que le plugin a enregistré une :doc:`route ` pour "
"``mon_plugin/public_page``."

#: ../../guides/web-services.rst:2
msgid "Web services"
msgstr "Web services"

#: ../../guides/web-services.rst:4
msgid "Build an HTTP API for your site."
msgstr "Construisez une API HTTP pour votre site."

#: ../../guides/web-services.rst:6
msgid ""
"Elgg provides a powerful framework for building web services. This allows "
"developers to expose functionality to other web sites and desktop "
"applications along with doing integrations with third-party web "
"applications. While we call the API RESTful, it is actually a REST/RPC "
"hybrid similar to the APIs provided by sites like Flickr and Twitter."
msgstr ""
"Elgg fournit un framework puissant pour la création de services web. Cela "
"permet aux développeurs d’exposer des fonctionnalités à d’autres sites Web "
"et applications de bureau, ainsi que des intégrations avec des applications "
"web tierces. Bien que nous appelions l’API RESTful, il s’agit en fait d’un "
"hybride REST/RPC similaire aux API fournies par des sites comme Flickr et "
"Twitter."

#: ../../guides/web-services.rst:12
msgid "To create an API for your Elgg site, you need to do 4 things:"
msgstr ""
"Pour créer une API pour votre site Elgg, vous devez effectuer 4 choses :"

#: ../../guides/web-services.rst:14
msgid "enable the web services plugin"
msgstr "activer le plugin web services"

#: ../../guides/web-services.rst:15
msgid "expose methods"
msgstr "exposer des méthodes"

#: ../../guides/web-services.rst:16
msgid "setup API authentication"
msgstr "mettre en place l'API d'authentification"

#: ../../guides/web-services.rst:17
msgid "setup user authentication"
msgstr "mettre en place l'authentification utilisateur"

#: ../../guides/web-services.rst:19
msgid ""
"Additionally, you may want to control what types of authentication are "
"available on your site. This will also be covered."
msgstr ""
"De plus, vous pouvez contrôler quels types d’authentification sont "
"disponibles sur votre site. Cela sera également traité."

#: ../../guides/web-services.rst:29
msgid ""
"It is crucial that the web services are consumed via secure protocols. Do "
"not enable web services if your site is not served via HTTPs. This is "
"especially important if you allow API key only authentication."
msgstr ""
"Il est essentiel que les services web soient utilisés via des protocoles "
"sécurisés. N’activez pas les services web si votre site n’est pas servi par "
"HTTPS. Ceci est particulièrement important si vous autorisez "
"l’authentification par clef d'API uniquement."

#: ../../guides/web-services.rst:33
msgid ""
"If you are using third-party tools that expose API methods, make sure to "
"carry out a thorough security audit. You may want to make sure that API "
"authentication is required for ALL methods, even if they require user "
"authentication. Methods that do not require API authentication can be easily"
" abused to spam your site."
msgstr ""
"Si vous utilisez des outils tiers qui exposent des méthodes d’API, assurez-"
"vous d’effectuer un audit de sécurité approfondi. Vous pouvez vouloir vous "
"assurer que l’authentification API est requise pour TOUTES les méthodes, "
"même si elles nécessitent l’authentification de l’utilisateur. Les méthodes "
"qui ne nécessitent pas d’authentification API peuvent être facilement "
"utilisées pour spammer votre site."

#: ../../guides/web-services.rst:38
msgid ""
"Ensure that the validity of API keys is limited and provide mechanisms for "
"your API clients to renew their keys."
msgstr ""
"Assurez-vous que la validité des clefs d'API est limitée et fournissez à vos"
" clients API des mécanismes pour renouveler leurs clefs."

#: ../../guides/web-services.rst:42
msgid "Exposing methods"
msgstr "Exposer des méthodes"

#: ../../guides/web-services.rst:44
msgid ""
"The function to use to expose a method is ``elgg_ws_expose_function()``. As "
"an example, let's assume you want to expose a function that echos text back "
"to the calling application. The function could look like this"
msgstr ""
"La fonction à utiliser pour exposer une méthode est "
"``elgg_ws_expose_function()``. Par exemple, supposons que vous souhaitez "
"exposer une fonction qui renvoie du texte à l’application appelante. La "
"fonction pourrait ressembler à ceci"

#: ../../guides/web-services.rst:54
msgid ""
"Since we are providing this function to allow developers to test their API "
"clients, we will require neither API authentication nor user authentication."
" This call registers the function with the web services API framework:"
msgstr ""
"Puisque nous fournissons cette fonction pour permettre aux développeurs de "
"tester leurs clients de l'API, nous n’aurons besoin ni d’authentification "
"API ni d’authentification utilisateur. Cet appel enregistre la fonction avec"
" le framework API des services web :"

#: ../../guides/web-services.rst:75
msgid ""
"If you add this code to a plugin and then go to "
"http://yoursite.com/services/api/rest/json/?method=system.api.list, you "
"should now see your test.echo method listed as an API call. Further, to test"
" the exposed method from a web browser, you could hit the url: "
"http://yoursite.com/services/api/rest/json/?method=test.echo&string=testing "
"and you should see JSON data like this:"
msgstr ""
"Si vous ajoutez ce code à un plugin, puis accédez à "
"http://votresite.com/services/api/rest/json/?method=system.api.list, vous "
"devez maintenant voir votre méthode test.echo répertoriée comme un appel "
"API. En outre, pour tester la méthode exposée à partir d’un navigateur web, "
"vous pouvez accéder à l’URL: "
"http://votresite.com/services/api/rest/json/?method=test.echo&string=testing"
" et vous devriez voir les données JSON comme ceci :"

#: ../../guides/web-services.rst:89
msgid ""
"Plugins can filter the output of individual API methods by registering a "
"handler for ``'rest:output',$method`` plugin hook."
msgstr ""
"Les plugins peuvent filtrer la sortie des méthodes d’API individuelles en "
"enregistrant un gestionnaire pour le hook plugin ``'rest:output',$method``."

#: ../../guides/web-services.rst:93
msgid "Response formats"
msgstr "Formats de réponse"

#: ../../guides/web-services.rst:95
msgid ""
"JSON is the default format, however XML and serialized PHP can be fetched by"
" enabling the ``data_views`` plugin and substituting ``xml`` or ``php`` in "
"place of ``json`` in the above URLs."
msgstr ""
"JSON est le format par défaut, mais il est possible de récupérer du XML et "
"du PHP sérialisé en activant le plugin ``data_views`` et en remplaçant "
"``json`` par ``xml`` ou ``php`` dans les URL ci-dessus."

#: ../../guides/web-services.rst:98
msgid ""
"You can also add additional response formats by defining new viewtypes."
msgstr ""
"Vous pouvez également ajouter des formats de réponse supplémentaires en "
"définissant de nouveaux types de vues."

#: ../../guides/web-services.rst:101
msgid "Parameters"
msgstr "Paramètres"

#: ../../guides/web-services.rst:103
msgid ""
"Parameters expected by each method should be listed as an associative array,"
" where the key represents the parameter name, and the value contains an "
"array with ``type``, ``default`` and ``required`` fields."
msgstr ""
"Les paramètres attendus par chaque méthode doivent être répertoriés comme un"
" tableau associatif, où la clef représente le nom du paramètre, et la valeur"
" contient un tableau avec des champs ``type``, ``default`` et ``required``."

#: ../../guides/web-services.rst:106
msgid ""
"Values submitted with the API request for each parameter should match the "
"declared type. API will throw on exception if validation fails."
msgstr ""
"Les valeurs soumises avec la requête auprès de d’API pour chaque paramètre "
"doivent correspondre au type déclaré. L'API renverra une exception en cas "
"d’échec de la validation."

#: ../../guides/web-services.rst:108
msgid "Recognized parameter types are:"
msgstr "Les types de paramètres reconnus sont :"

#: ../../guides/web-services.rst:110
msgid "``integer`` (or ``int``)"
msgstr "``integer`` (ou ``int``)"

#: ../../guides/web-services.rst:111
msgid ""
"``boolean`` (or ``bool``) ``'false'``, ``0`` and ``'0'`` will evaluate to "
"``false`` the rest will evaluate to ``true``"
msgstr ""
"``boolean`` (ou ``bool``) ``'false'``, ``0`` et ``'0'`` seront évalués comme"
" ``false`` le rest sera évalué comme ``true``"

#: ../../guides/web-services.rst:112
msgid "``string``"
msgstr "``string``"

#: ../../guides/web-services.rst:113
msgid "``float``"
msgstr "``float``"

#: ../../guides/web-services.rst:114
msgid "``array``"
msgstr "``array``"

#: ../../guides/web-services.rst:116
msgid "Unrecognized types will throw an API exception."
msgstr "Les types non reconnus lancent une exception d’API."

#: ../../guides/web-services.rst:118
msgid ""
"You can use additional fields to describe your parameter, e.g. "
"``description``."
msgstr ""
"Vous pouvez utiliser des champs supplémentaires pour décrire votre "
"paramètre, par exemple ``description``."

#: ../../guides/web-services.rst:146
msgid ""
"If a missing parameter has no default value, the argument will be ``null``. "
"Before Elgg v2.1, a bug caused later arguments to be shifted left in this "
"case."
msgstr ""
"Si un paramètre manquant n’a pas de valeur par défaut, l’argument sera "
"``null``. Avant Elgg v2.1, un bogue provoquait le décalage vers la gauche "
"des arguments ultérieurs dans ce cas."

#: ../../guides/web-services.rst:150
msgid "Receive parameters as associative array"
msgstr "Recevoir des paramètres en tant que tableau associatif"

#: ../../guides/web-services.rst:152
msgid ""
"If you have a large number of method parameters, you can force the execution"
" script to invoke the callback function with a single argument that contains"
" an associative array of parameter => input pairs (instead of each parameter"
" being a separate argument). To do that, set ``$assoc`` to ``true`` in "
"``elgg_ws_expose_function()``."
msgstr ""
"Si vous avez d’un grand nombre de paramètres de méthode, vous pouvez forcer "
"le script d’exécution à invoquer la fonction de rappel avec un seul argument"
" qui contient un tableau associatif de paires de paramètre => valeur (au "
"lieu que chaque paramètre soit un argument distinct). Pour ce faire, "
"définissez ``$assoc`` sur ``true`` dans ``elgg_ws_expose_function()``."

#: ../../guides/web-services.rst:185
msgid "If a missing parameter has no default value, ``null`` will be used."
msgstr ""
"Si un paramètre manquant n’a pas de valeur par défaut, ``null`` sera "
"utilisé."

#: ../../guides/web-services.rst:188
msgid "API authentication"
msgstr "API d'authentification"

#: ../../guides/web-services.rst:190
msgid ""
"You may want to control access to some of the functions that you expose. "
"Perhaps you are exposing functions in order to integrate Elgg with another "
"open source platform on the same server. In that case, you only want to "
"allow that other application access to these methods. Another possibility is"
" that you want to limit what external developers have access to your API. Or"
" maybe you want to limit how many calls a developer can make against your "
"API in a single day."
msgstr ""
"Vous pouvez souhaiter contrôler l’accès à certaines des fonctions que vous "
"exposez. Peut-être que vous exposez des fonctions afin d’intégrer Elgg avec "
"une autre plate-forme opensource sur le même serveur. Dans ce cas, vous "
"souhaitez seulement permettre à cette autre application d’accéder à ces "
"méthodes. Une autre possibilité est que vous souhaitez limiter ce à quoi des"
" développeurs externes ont accès via votre API. Ou peut-être voulez-vous "
"limiter le nombre d’appels qu’un développeur peut passer auprès de votre API"
" en une seule journée."

#: ../../guides/web-services.rst:198
msgid ""
"In all of these cases, you can use Elgg's API authentication functions to "
"control access. Elgg provides two built-in methods to perform API "
"authentication: key based and HMAC signature based. You can also add your "
"own authentication methods. The key based approach is very similar to what "
"Google, Flickr, or Twitter. Developers can request a key (a random string) "
"and pass that key with all calls that require API authentication. The keys "
"are stored in the database and if an API call is made without a key or a bad"
" key, the call is denied and an error message is returned."
msgstr ""
"Dans tous ces cas, vous pouvez utiliser les fonctions d’authentification de "
"l'API d’Elgg pour contrôler l’accès. Elgg fournit deux méthodes intégrées "
"pour effectuer l’authentification auprès de l'API : la première basée sur la"
" clef, et la signature HMAC. Vous pouvez également ajouter vos propres "
"méthodes d’authentification. L’approche basée sur les clefs est très "
"similaire à ce que font Google, Flickr, ou Twitter. Les développeurs peuvent"
" demander une clef (une chaîne aléatoire) et transmettre cette clef avec "
"tous les appels nécessitant l’authentification auprès de l'API. Les clefs "
"sont stockées dans la base de données et si un appel API est effectué sans "
"clef ou ave une mauvaise clef, l’appel est refusé et un message d’erreur est"
" renvoyé."

#: ../../guides/web-services.rst:209
msgid "Key-based authentication"
msgstr "Authentification par clef"

#: ../../guides/web-services.rst:211
msgid ""
"As an example, let's write a function that returns the number of users that "
"have viewed the site in the last x minutes."
msgstr ""
"À titre d’exemple, écrivons une fonction qui renvoie le nombre "
"d’utilisateurs qui ont consulté le site au cours des dernières x minutes."

#: ../../guides/web-services.rst:222
msgid ""
"Now, let's expose it and make the number of minutes an optional parameter:"
msgstr ""
"Maintenant, nous allons l’exposer et faire du nombre de minutes un paramètre"
" facultatif :"

#: ../../guides/web-services.rst:242
msgid ""
"This function is now available and if you check ``system.api.list``, you "
"will see that it requires API authentication. If you hit the method with a "
"web browser, it will return an error message about failing the API "
"authentication. To test this method, you need an API key. As of Elgg 3.2 API"
" keys can be generated by the webservices plugin. It will return a public "
"and private key and you will use the public key for this kind of API "
"authentication. Grab a key and then do a GET request with your browser on "
"this API method passing in the key string as the parameter ``api_key``. It "
"might look something like this: "
"http://yoursite.com/services/api/rest/xml/?method=users.active&api_key=1140321cb56c71710c38feefdf72bc462938f59f."
msgstr ""
"Cette fonction est maintenant disponible, et si vous cochez "
"``system.api.list``, vous verrez qu’elle nécessite l’authentification API. "
"Si vous testez la méthode avec un navigateur Web, cela renvoie un message "
"d’erreur concernant l’échec de l’authentification API. Pour tester cette "
"méthode, vous avez besoin d’une clef API. À partir d’Elgg 3.2 les clefs API "
"peuvent être générées par le plugin webservices. Il permet de créer une clef"
" publique et privée, et vous devrez utiliser la clef publique pour ce type "
"d’authentification API. Prenez une clef, puis effectuez une requête GET avec"
" votre navigateur sur cette méthode d'API en passant dans la chaîne de "
"paramètre la clef ``api_key``. Cela pourrait ressembler à quelque chose "
"comme ceci: "
"http://votresite.com/services/api/rest/xml/?method=users.active&api_key=1140321cb56c71710c38feefdf72bc462938f59f."

#: ../../guides/web-services.rst:254
msgid "Signature-based authentication"
msgstr "Authentification par signature"

#: ../../guides/web-services.rst:256
msgid ""
"The :doc:`web-services/hmac` is similar to what is used with OAuth or "
"Amazon's S3 service. This involves both the public and private key. If you "
"want to be very sure that the API calls are coming from the developer you "
"think they are coming from and you want to make sure the data is not being "
"tampered with during transmission, you would use this authentication method."
" Be aware that it is much more involved and could turn off developers when "
"there are other sites out there with key-based authentication."
msgstr ""
"Le :doc:`web-services/hmac` est similaire à ce qui est utilisé avec OAuth ou"
" le service S3 d’Amazon. Il s’agit d'utiliser à la fois clef publique et "
"clef privée. Si vous voulez vous assurer  que les appels API proviennent du "
"développeur dont vous pensez qu’ils viennent et que vous voulez vous assurer"
" que les données ne sont pas altérées pendant la transmission, vous devriez "
"utiliser cette méthode d’authentification. Soyez conscient que cela demande "
"beaucoup plus de travail et que cela pourrait décourager des développeurs "
"quand il existe d’autres qui n'utilisent qu'une simple authentification "
"basée sur les clefs."

#: ../../guides/web-services.rst:266
msgid "User authentication"
msgstr "Authentification utilisateur"

#: ../../guides/web-services.rst:268
msgid ""
"So far you have been allowing developers to pull data out of your Elgg site."
" Now we'll move on to pushing data into Elgg. In this case, it is going to "
"be done by a user. Maybe you have created a desktop application that allows "
"your Users to post to the wire without going to the site. You need to expose"
" a method for posting to the wire and you need to make sure that a user "
"cannot post using someone else's account. Elgg provides a token-based "
"approach for user authentication. It allows a user to submit their username "
"and password in exchange for a token using the method ``auth.gettoken``. "
"This token can then be used for some amount of time to authenticate all "
"calls to the API before it expires by passing it as the parameter "
"``auth_token``. If you do not want to have your users trusting their "
"passwords to 3rd-party applications, you can also extend the current "
"capability to use an approach like OAuth."
msgstr ""
"Jusqu’à présent, vous avez permis aux développeurs d'extraire des données de"
" votre site Elgg. Maintenant, nous allons passer à pousser des données dans "
"Elgg. Dans ce cas, cela va être fait par un utilisateur. Par exemple vous "
"pouvez avoir créé une application de bureau qui permet à vos utilisateurs de"
" poster sur le fil sans aller sur le site. Vous devez exposer une méthode "
"pour afficher sur le fil et vous devez vous assurer qu’un utilisateur ne "
"peut pas publier à l’aide du compte de quelqu’un d’autre. Elgg fournit une "
"approche basée sur des jetons pour l’authentification utilisateur. Cela "
"permet à un utilisateur de soumettre son nom d’utilisateur et son mot de "
"passe en échange d’un jeton utilisant la méthode ``auth.gettoken``. Ce jeton"
" peut ensuite être utilisé pendant un certain temps comme paramètre "
"``auth_token`` pour authentifier tous les appels à l’API, jusqu'à-ce qu’il "
"expire. Si vous ne voulez pas que vos utilisateurs fassent confiance à leurs"
" mots de passe pour des applications tierces, vous pouvez également étendre "
"la capacité actuelle d’utiliser une approche comme OAuth."

#: ../../guides/web-services.rst:282
msgid "Let's write our wire posting function:"
msgstr "Écrivons notre fonction d’affichage du fil :"

#: ../../guides/web-services.rst:296
msgid ""
"Exposing this function is the same as the previous except we require user "
"authentication and we're going to make this use POST rather than GET HTTP "
"requests."
msgstr ""
"Exposer cette fonction est la même chose qu'auparavant, sauf que nous avons "
"besoin de l’authentification de l'utilisateur et nous allons faire cela via "
"des requêtes POST plutôt que des requêtes HTTP."

#: ../../guides/web-services.rst:316
msgid ""
"Please note that you will not be able to test this using a web browser as "
"you did with the other methods. You need to write some client code to do "
"this."
msgstr ""
"Veuillez noter que vous ne pourrez pas tester cela à l’aide d’un navigateur "
"Web comme vous l’avez fait avec les autres méthodes. Vous devez écrire du "
"code client pour ce faire."

#: ../../guides/web-services.rst:321
msgid "Building out your API"
msgstr "Créer votre propre API"

#: ../../guides/web-services.rst:323
msgid ""
"As soon as you feel comfortable with Elgg's web services API framework, you "
"will want to step back and design your API. What sort of data are you trying"
" to expose? Who or what will be API users? How do you want them to get "
"access to authentication keys? How are you going to document your API? Be "
"sure to take a look at the APIs created by popular Web 2.0 sites for "
"inspiration. If you are looking for 3rd party developers to build "
"applications using your API, you will probably want to provide one or more "
"language-specific clients."
msgstr ""
"Dès que vous vous sentirez à l’aise avec l'API du framework de web services "
"Elgg, vous voudrez prendre du recul et concevoir votre API. Quel genre de "
"données essayez-vous d’exposer ? Qui ou qu'est-ce qui seront les "
"utilisateurs d’API ? Comment voulez-vous qu’ils aient accès aux clés "
"d’authentification ? Comment allez-vous documenter votre API ? N’oubliez pas"
" de jeter un œil aux API créées par les sites Web populaires 2.0 pour "
"l’inspiration. Si vous recherchez des développeurs tiers pour créer des "
"applications à l’aide de votre API, vous voudrez probablement fournir un ou "
"plusieurs clients dans un langage spécifique."

#: ../../guides/web-services.rst:333
msgid "Determining the authentication available"
msgstr "Déterminer l'authentification disponible"

#: ../../guides/web-services.rst:335
msgid ""
"Elgg's web services API uses a type of `pluggable authentication module "
"(PAM)`_ architecture to manage how users and developers are authenticated. "
"This provides you the flexibility to add and remove authentication modules. "
"Do you want to not use the default user authentication PAM but would prefer "
"using OAuth? You can do this."
msgstr ""
"L’API des services Web d’Elgg utilise un type d’architecture de `pluggable "
"authentication module (PAM)`_ (module d’authentification insérable) pour "
"gérer comment les utilisateurs et les développeurs sont authentifiés. Cela "
"vous donne la flexibilité d’ajouter et de supprimer des modules "
"d’authentification. Vous ne voulez pas utiliser l’authentification "
"utilisateur par défaut PAM, mais préférez utiliser OAuth ? Vous pouvez le "
"faire."

#: ../../guides/web-services.rst:341
msgid ""
"The first step is registering a callback function for the *rest, init* "
"plugin hook:"
msgstr ""
"La première étape consiste à enregistrer une fonction de rappel pour le hook"
" de plugin *rest, init* :"

#: ../../guides/web-services.rst:348
msgid ""
"Then in the callback function, you register the PAMs that you want to use:"
msgstr ""
"Ensuite, dans la fonction de rappel, vous enregistrez les PAMs que vous "
"souhaitez utiliser :"

#: ../../guides/web-services/hmac.rst:2
msgid "HMAC Authentication"
msgstr "Authentification HMAC"

#: ../../guides/web-services/hmac.rst:4
msgid ""
"Elgg's RESTful API framework provides functions to support a `HMAC`_ "
"signature scheme for API authentication. The client must send the HMAC "
"signature together with a set of special HTTP headers when making a call "
"that requires API authentication. This ensures that the API call is being "
"made from the stated client and that the data has not been tampered with."
msgstr ""
"Le framework d’API RESTful d’Elgg fournit des fonctions pour prendre en "
"charge un schéma de signature `HMAC`_ pour l’authentification API. Le client"
" doit envoyer la signature HMAC ainsi qu’un ensemble d’en-têtes HTTP "
"spéciaux lors de l’exécution d’un appel qui nécessite l’authentification "
"API. Cela garantit que l’appel API est effectué à partir du client déclaré "
"et que les données n’ont pas été falsifiées."

#: ../../guides/web-services/hmac.rst:10
msgid "The HMAC must be constructed over the following data:"
msgstr "Le HMAC doit être construit à partir des données suivantes :"

#: ../../guides/web-services/hmac.rst:12
msgid ""
"The public API key identifying you to the Elgg api server as provided by the"
" APIAdmin plugin"
msgstr ""
"La clef d'API publique qui vous identifie auprès du serveur api de Elgg, tel"
" que fourni par le plugin APIAdmin"

#: ../../guides/web-services/hmac.rst:13
msgid ""
"The private API Key provided by Elgg (that is companion to the public key)"
msgstr ""
"La clef d'API privée fournie par Elgg (qui accompagne la clef publique)"

#: ../../guides/web-services/hmac.rst:14
msgid "The current unix time in seconds"
msgstr "L'heure unix actuelle en secondes"

#: ../../guides/web-services/hmac.rst:15
msgid ""
"A nonce to guarantee two requests the same second have different signatures"
msgstr ""
"Une valeur créée pour l'occasion pour garantir que deux requêtes faites à la"
" même seconde ont des signatures différentes"

#: ../../guides/web-services/hmac.rst:16
msgid ""
"URL encoded string representation of any GET variable parameters, eg "
"``method=test.test&foo=bar``"
msgstr ""
"Une représentation de la chaîne encodée pour l'URL de n'importe quels "
"paramètres variables GET, par ex. ``method=test.test&foo=bar``"

#: ../../guides/web-services/hmac.rst:17
msgid "If you are sending post data, the hash of this data"
msgstr "Si vous envoyez des données post, le hash de ces données"

#: ../../guides/web-services/hmac.rst:19
msgid ""
"Some extra information must be added to the HTTP header in order for this "
"data to be correctly processed:"
msgstr ""
"Quelques informations supplémentaires doivent être ajoutées à l'entête HTTP "
"pour que ces données soient traitées correctement :"

#: ../../guides/web-services/hmac.rst:21
msgid "**X-Elgg-apikey** - The public API key"
msgstr "**X-Elgg-apikey** - La clef d'API publique"

#: ../../guides/web-services/hmac.rst:22
msgid "**X-Elgg-time** - Unix time used in the HMAC calculation"
msgstr "**X-Elgg-time** - L'heure Unix utilisée dans le calcul HMAC"

#: ../../guides/web-services/hmac.rst:23
msgid "**X-Elgg-nonce** - a random string"
msgstr "**X-Elgg-nonce** - une chaîne aléatoire"

#: ../../guides/web-services/hmac.rst:24
msgid "**X-Elgg-hmac** - The HMAC as base64 encoded"
msgstr "**X-Elgg-hmac** - Le HMAC encodé en base64"

#: ../../guides/web-services/hmac.rst:25
msgid "**X-Elgg-hmac-algo** - The algorithm used in the HMAC calculation"
msgstr "**X-Elgg-hmac-algo** - L’algorithme utilisé dans le calcul HMAC"

#: ../../guides/web-services/hmac.rst:27
msgid "If you are sending POST data you must also send:"
msgstr "Si vous envoyez des données POST vous devez également envoyer :"

#: ../../guides/web-services/hmac.rst:29
msgid "**X-Elgg-posthash** - The hash of the POST data"
msgstr "**X-Elgg-posthash** - Le hash des données POST"

#: ../../guides/web-services/hmac.rst:30
msgid ""
"**X-Elgg-posthash-algo** - The algorithm used to produce the POST data hash"
msgstr ""
"**X-Elgg-posthash-algo** - Algorithme utilisé pour le hachage des données "
"POST"

#: ../../guides/web-services/hmac.rst:31
msgid ""
"**Content-type** - The content type of the data you are sending (if in doubt"
" use ``application/octet-stream``)"
msgstr ""
"**Content-type** - Le type de contenu des données que vous envoyez (en cas "
"de doute, utilisez ``application/octet-stream``)"

#: ../../guides/web-services/hmac.rst:32
msgid "**Content-Length** - The length in bytes of your POST data"
msgstr "**Content-Length** - La longueur et octets de vos données POST"

#: ../../guides/web-services/hmac.rst:34
msgid ""
"Elgg provides a sample API client that implements this HMAC signature: "
"``\\Elgg\\WebServices\\ElggApiClient``. It serves as a good reference on how"
" to implement it."
msgstr ""
"Elgg fournit un exemple de client API qui implémente cette signature HMAC : "
"``\\Elgg\\WebServices\\ElggApiClient``. Il constitue une bonne référence sur"
" la manière de le mettre en œuvre."

#: ../../guides/web-services/hmac.rst:38
msgid "Supported hashing algorithms"
msgstr "Algorithmes de hachage pris en charge"

#: ../../guides/web-services/hmac.rst:40
msgid "``sha256``: recommended"
msgstr "``sha256`` : recommandé"

#: ../../guides/web-services/hmac.rst:41
msgid "``sha1``: fast however less secure"
msgstr "``sha1`` : rapide mais moins sûr"

#: ../../guides/web-services/hmac.rst:42
msgid "``md5``: weak and will be removed in the future"
msgstr "``md5`` : faible et sera supprimé à l’avenir"

#: ../../guides/web-services/hmac.rst:45
msgid "Post hash calculation"
msgstr "Calcul de hachage des données POST"

#: ../../guides/web-services/hmac.rst:47
msgid ""
"The post hash needs to be calculated over all the post data using one of the"
" supported hashing algorithms. The result of the hashing needs to be "
"reported in the ``X-Elgg-posthash`` header and the used hashing algorithm "
"must be reported in the ``X-Elgg-posthash-algo`` header."
msgstr ""
"Le hachage de poste doit être calculé sur toutes les données POST à l’aide "
"de l’un des algorithmes de hachage pris en charge. Le résultat du hachage "
"doit être signalé dans l’en-tête ``X-Elgg-posthash`` et l’algorithme de "
"hachage utilisé doit être signalé dans l’en-tête ``X-Elgg-posthash-algo``."

#: ../../guides/web-services/hmac.rst:52
msgid "HMAC hash calculation"
msgstr "Calcul du hachage HMAC"

#: ../../guides/web-services/hmac.rst:54
msgid ""
"The overall HMAC needs to be calculated over the following data (in order) "
"using the API secret as the HMAC secret and with one of the supported "
"hashing algorithms:"
msgstr ""
"Le HMAC global doit être calculé sur les données suivantes (dans l’ordre) en"
" utilisant le secret API comme le secret HMAC et avec l’un des algorithmes "
"de hachage pris en charge :"

#: ../../guides/web-services/hmac.rst:57
msgid "a UNIX timestamp, report this timestamp in the ``X-Elgg-time`` header"
msgstr ""
"un horodatage UNIX, indiquez cet horodatage dans l’en-tête ``X-Elgg-time``"

#: ../../guides/web-services/hmac.rst:58
msgid "a random string, report this string in the ``X-Elgg-nonce`` header"
msgstr ""
"une chaîne aléatoire, indiquez cette chaîne dans l’en-tête ``X-Elgg-nonce``"

#: ../../guides/web-services/hmac.rst:59
msgid ""
"the public API key, report this API key in the ``X-Elgg-apikey`` header"
msgstr ""
"la clef publique d'API, indiquer cette clef d'API dans l’en-tête ``X-Elgg-"
"apikey``"

#: ../../guides/web-services/hmac.rst:60
msgid "the url query string (for example ``method=test.test&foo=bar``)"
msgstr "la chaîne de requête url (par exemple ``method=test.test&foo=bar``)"

#: ../../guides/web-services/hmac.rst:61
msgid ""
"when the request is a POST add the ``posthash`` as reported in the ``X-Elgg-"
"posthash`` header"
msgstr ""
"lorsquequ'il s'agit d'une requête POST, ajoutez le ``posthash`` tel "
"qu'indiqué dans l’entête ``X-Elgg-posthash``"

#: ../../guides/web-services/hmac.rst:63
msgid ""
"The resulting string needs to be base64 encoded and then url encoded and be "
"repoted in the ``X-Elgg-hmac`` header. The used hashing algorithm needs to "
"be reported in the ``X-Elgg-hmac-algo``."
msgstr ""
"La chaîne résultante doit être codée en base64, puis l’URL codée et indiquée"
" dans l’en-tête ``X-Elgg-hmac``. L’algorithme de hachage utilisé doit être "
"signalé dans ``X-Elgg-hmac-algo``."

#: ../../guides/web-services/hmac.rst:67
msgid "Hashing cache"
msgstr "Cache de hachage"

#: ../../guides/web-services/hmac.rst:69
msgid ""
"For security reasons each HMAC hash needs to be unique, all submitted hashes"
" are stored for 25 hours to prevent reuse."
msgstr ""
"Pour des raisons de sécurité, chaque hachage HMAC doit être unique, tous les"
" hachages soumis sont stockés pendant 25 heures pour éviter la "
"réutilisation."

#: ../../guides/web-services/result.rst:2
msgid "API results"
msgstr "Résultats de l’API"

#: ../../guides/web-services/result.rst:9
msgid "Success result structure"
msgstr "Structure des résultats de succès"

#: ../../guides/web-services/result.rst:11
msgid "A successful API result looks like this:"
msgstr "Un résultat d’API réussi ressemble à ceci :"

#: ../../guides/web-services/result.rst:20
msgid ""
"Depending on the API call ``result`` can contain any type of content "
"(string, number, array, object, etc.)."
msgstr ""
"Selon l’appel API ``result`` peut contenir n’importe quel type de contenu "
"(chaîne, nombre, tableau, objet, etc.)."

#: ../../guides/web-services/result.rst:22
msgid "An example of a numberic result (for example a user count):"
msgstr ""
"Exemple de résultat numérique (par exemple un nombre d’utilisateurs) :"

#: ../../guides/web-services/result.rst:31
msgid "An example of an object result (for example a user):"
msgstr "Exemple de résultat objet (par exemple un utilisateur) :"

#: ../../guides/web-services/result.rst:45
msgid "Error result structure"
msgstr "Structure d'un résultat d’erreur"

#: ../../guides/web-services/result.rst:47
msgid "When an API call fails the result will look like this:"
msgstr "Lorsqu’un appel API échoue, le résultat ressemble à ceci :"

#: ../../guides/web-services/result.rst:58
msgid "Default status codes"
msgstr "Codes d’état par défaut"

#: ../../guides/web-services/result.rst:60
msgid ""
"The ``status`` field always contains a number representing the result. Any "
"value other than ``0`` is considered an error."
msgstr ""
"Le champ ``status`` contient toujours un nombre représentant le résultat. "
"Toute valeur autre que ``0`` est considérée comme une erreur."

#: ../../guides/web-services/result.rst:62
msgid "``0``: This is a success result"
msgstr "``0`` : C’est un résultat réussi"

#: ../../guides/web-services/result.rst:63
msgid "``-1``: This is a generic error result"
msgstr "``-1`` : Il s’agit d’un résultat d’erreur générique"

#: ../../guides/web-services/result.rst:64
msgid ""
"``-20``: The user authentication token is missing, is invalid or has expired"
msgstr ""
"``-20`` : le jeton d’authentification utilisateur est manquant, est invalide"
" ou a expiré"

#: ../../guides/web-services/result.rst:65
msgid "``-30``: The api key has been disabled"
msgstr "``-30`` : La clé api a été désactivée"

#: ../../guides/web-services/result.rst:66
msgid "``-31``: The api key is inactive"
msgstr "``-31`` : La clé api est inactive"

#: ../../guides/web-services/result.rst:67
msgid "``-32``: The api key is invalid"
msgstr "``-32`` : La clef api est invalide"

#: ../../guides/web-services/result.rst:69
msgid ""
"Developers can implement their own status codes to represent different error"
" states, so the request doesn't have to rely on the error message to know "
"what went wrong."
msgstr ""
"Les développeurs peuvent implémenter leurs propres codes d’état pour "
"représenter différents états d’erreur, de sorte que la demande n’a pas à "
"s’appuyer sur le message d’erreur pour savoir ce qui s’est passé."

#: ../../guides/web-services/result.rst:74
msgid ""
"``result`` and ``message`` can contain messages in different languages. This"
" is depending on the user language when using user authenticated API calls "
"or the site langauge for other API calls. Keep in mind that the language can"
" change, eighter by the user or by a site administrator for the site "
"language."
msgstr ""
"``result`` et ``message`` peuvent contenir des messages dans différentes "
"langues. Cela dépend de la langue utilisateur lors de l’utilisation d’appels"
" API authentifiés par l’utilisateur ou de la langue de site pour les autres "
"appels API. Gardez à l’esprit que la langue peut changer, que ce soit par "
"l’utilisateur ou par un administrateur du site pour la langue du site."

#: ../../guides/widgets.rst:2
msgid "Widgets"
msgstr "Widgets"

#: ../../guides/widgets.rst:4
msgid ""
"Widgets are content areas that users can drag around their page to customize"
" the layout. They can typically be customized by their owner to show "
"more/less content and determine who sees the widget. By default Elgg "
"provides plugins for customizing the profile page and dashboard via widgets."
msgstr ""
"Les widgets sont des zones de contenu que les utilisateurs peuvent déplacer "
"dans leur page pour personnaliser la mise en page. Ils peuvent typiquement "
"être personnalisés par leur propriétaire pour afficher plus ou moins de "
"contenu et déterminer qui peut voir le widget. Par défaut, Elgg fournit des "
"plugins pour personnaliser la page de profil et le tableau de bord avec des "
"widgets."

#: ../../guides/widgets.rst:11
msgid "Structure"
msgstr "Structure"

#: ../../guides/widgets.rst:13
msgid "To create a widget, create two views:"
msgstr "Pour créer un widget, créez deux vues :"

#: ../../guides/widgets.rst:15
msgid "``widgets/widget/edit``"
msgstr "``widgets/widget/edit``"

#: ../../guides/widgets.rst:16
msgid "``widgets/widget/content``"
msgstr "``widgets/widget/content``"

#: ../../guides/widgets.rst:18
msgid ""
"``content.php`` is responsible for all the content that will output within "
"the widget. The ``edit.php`` file contains any extra edit functions you wish"
" to present to the user. You do not need to add access level as this comes "
"as part of the widget framework."
msgstr ""
"``content.php`` est responsable pour tout le contenu qui sera affiché dans "
"le widget. Le fichier ``edit.php`` contient teoutes les fonctions d'édition "
"supplémentaires que vous souhaitez proposer à l'utilisateur. Vous n'avez pas"
" besoin d'ajouter de niveau d'accès car ceci est pris en charge par le "
"framework des widgets."

#: ../../guides/widgets.rst:22
msgid ""
"Using HTML checkboxes to set widget flags is problematic because if "
"unchecked, the checkbox input is omitted from form submission. The effect is"
" that you can only set and not clear flags. The \"input/checkboxes\" view "
"will not work properly in a widget's edit panel."
msgstr ""
"L'utilisation de cases à cocher HTML pour définir des drapeux pour le widget"
" est problématique parce que si la case n'est pas cochée, le champ de la "
"case à cocher est omis de l'envoi du formulaire. Le résultat est que vous "
"pouvez seulement définir ces champs, et pas les supprimer. La vue "
"\"input/checkboxes\" ne va pas focntionner correctement dans le panneau "
"d'édition d'un widget."

#: ../../guides/widgets.rst:28
msgid "Register the widget"
msgstr "Enregistrez le widget"

#: ../../guides/widgets.rst:30
msgid ""
"Once you have created your edit and view pages, you need to initialize the "
"plugin widget."
msgstr ""
"Une fois que vous avez créé vos pages edit et view, vous devez initialiser "
"le widget du plugin."

#: ../../guides/widgets.rst:32
msgid ""
"The easiest way to do this is to add the ``widgets`` section to your ``elgg-"
"plugin.php`` config file."
msgstr ""
"La manière la plus simple de faire cela est d'ajouter la section ``widgets``"
" à votre fichier de configuration ``elgg-plugin.php``."

#: ../../guides/widgets.rst:44
msgid ""
"Alternatively you can also use an function to add a widget. This is done "
"within the plugins ``init()`` function."
msgstr ""
"Alternativement, vous pouvez aussi utiliser une fonction pour ajouter un "
"widget. Ceci est effectué au sien de la focntion ``init()`` du plugin."

#: ../../guides/widgets.rst:58
msgid "The only required attribute is the ``id``."
msgstr "Le seul attribut requis est l'``id``."

#: ../../guides/widgets.rst:61
msgid "Multiple widgets"
msgstr "Widgets multiples"

#: ../../guides/widgets.rst:63
msgid ""
"It is possible to add multiple widgets for a plugin. You just initialize as "
"many widget directories as you need."
msgstr ""
"Il est possible d'ajouter plusieurs widgets pour un plugin. Vous initialisez"
" seulement autant de répertoires de widgets que vous voulez."

#: ../../guides/widgets.rst:91
msgid ""
"Make sure you have the corresponding directories within your plugin views "
"structure:"
msgstr ""
"Assurez-vous que vous avez les répertoires correspondants suivants au sien "
"de la structure de votre plugin :"

#: ../../guides/widgets.rst:111
msgid "Magic widget name and description"
msgstr "Nom et description magiques du widget"

#: ../../guides/widgets.rst:112
msgid ""
"When registering a widget you can omit providing a name and a description. "
"If a translation in the following format is provided, they will be used. For"
" the name: ``widgets:<widget_id>:name`` and for the description "
"``widgets:<widget_id>:description``. If you make sure these translation are "
"available in a translation file, you have very little work registering the "
"widget."
msgstr ""
"Quand vous enregistrez un widget vous pouvez omettre de lui donner un nom et"
" une description. Si la traduction est fournie dans le format suivant, elle "
"sera utilisée. Pour le nom : ``widgets:<widget_id>:name`` et pour la "
"description ``widgets:<widget_id>:description``. Si vous vous vous assurez "
"que ces traductions existent dans le fichier de traduction, vous avez très "
"peu de travail pour enregistrer le widget."

#: ../../guides/widgets.rst:119
msgid "How to restrict where widgets can be used"
msgstr ""
"Comment restreindre les emplacements où les widgets peuvent être utilisés"

#: ../../guides/widgets.rst:120
msgid ""
"The widget can specify the context that it can be used in (just profile, "
"just dashboard, etc.)."
msgstr ""
"Le widget peut définir le contexte dans lequel il peut être utilisé "
"(seulement profile, seulement dashboard, etc.)."

#: ../../guides/widgets.rst:130
msgid "Allow multiple widgets on the same page"
msgstr "Autorisez plusieurs widgets sur la même page"

#: ../../guides/widgets.rst:131
msgid ""
"By default you can only add one widget of the same type on the page. If you "
"want more of the same widget on the page, you can specify this when "
"registering the widget:"
msgstr ""
"Par défaut vous ne pouvez ajouter qu'un seul widget du même type sur une "
"page. Si vous voulez plusieurs widgets du même type sur la page, vous pouvez"
" spécifier ceci quand vous enregistrez le widget :"

#: ../../guides/widgets.rst:142
msgid "Register widgets in a hook"
msgstr "Enregistrer des widgets dans un hook"

#: ../../guides/widgets.rst:143
msgid ""
"If, for example, you wish to conditionally register widgets you can also use"
" a hook to register widgets."
msgstr ""
"Si, par exemple, vous souhaitez enregistrer des widgets de manière "
"conditionnelle, vous pouvez utiliser un hook pour enregistrer des widgets."

#: ../../guides/widgets.rst:166
msgid "Modify widget properties of existing widget registration"
msgstr ""
"Modifiez les propriétés de widget d'un enregistrement de widget existant"

#: ../../guides/widgets.rst:167
msgid ""
"If, for example, you wish to change the allowed contexts of an already "
"registered widget you can do so by re-registering the widget with "
"``elgg_register_widget_type`` as it will override an already existing widget"
" definition. If you want even more control you can also use the ``handlers, "
"widgets`` hook to change the widget definition."
msgstr ""
"Si, par exemple, vous souhaitez changer les contextes autorisés pour un "
"widget déjà enregistré, vous pouvez faire cela en ré-enregistrant le widget "
"avec ``elgg_register_widget_type``, ce qui va remplacer une définition de "
"widget existante. Si vous voulez encore plus de contrôle vous pouvez "
"également utiliser le hook ``handlers, widgets`` pour changer la définition "
"du widget."

#: ../../guides/widgets.rst:188
msgid "Default widgets"
msgstr "Widgets par défaut"

#: ../../guides/widgets.rst:190
msgid ""
"If your plugin uses the widget canvas, you can register default widget "
"support with Elgg core, which will handle everything else."
msgstr ""
"Si votre plugin utilise le canevas des widgets, vous pouvez enregistrer le "
"support d'un widget par défaut avec le noyau de Elgg, qui va se charger de "
"tout le reste."

#: ../../guides/widgets.rst:192
msgid ""
"To announce default widget support in your plugin, register for the "
"``get_list, default_widgets`` plugin hook:"
msgstr ""
"Pour déclarer le support d'un widget par défaut dans votre plugin, "
"enregistrez le hook plugin ``get_list, default_widgets`` :"

#: ../../guides/widgets.rst:215
msgid ""
"In the plugin hook handler, push an array into the return value defining "
"your default widget support and when to create default widgets. Arrays "
"require the following keys to be defined:"
msgstr ""
"Dans le gestionnaire du hook plugin, poussez un tableau dans la valeur de "
"retour, qui définit le support de votre widget par défaut et quand créer les"
" widgets par défaut. Les tableaux doivent définir les clefs suivantes :"

#: ../../guides/widgets.rst:217
msgid ""
"name - The name of the widgets page. This is displayed on the tab in the "
"admin interface."
msgstr ""
"name - Le nom de la page des widgets. Ceci est affiché sur l'onglet dans "
"l'interface d'administration."

#: ../../guides/widgets.rst:218
msgid ""
"widget\\_context - The context the widgets page is called from. (If not "
"explicitly set, this is your plugin's id.)"
msgstr ""
"widget\\_context - Le contexte depuis lequel la page des widgets est "
"appelée. (Si ce n'est pas défini explicitement, ce sera l'id de votre "
"plugin.)"

#: ../../guides/widgets.rst:219
msgid "widget\\_columns - How many columns the widgets page will use."
msgstr "widget\\_columns - Combien de colonnes la page widgets va utiliser."

#: ../../guides/widgets.rst:220
msgid ""
"event\\_name - The Elgg event name to create new widgets for. This is "
"usually ``create``."
msgstr ""
"event\\_name - Le nom de l'événement Elgg pour créer de nouveaux widgets."

#: ../../guides/widgets.rst:221
msgid "event\\_type - The Elgg event type to create new widgets for."
msgstr ""
"event\\_type - Le type de l'événement Elgg pour créer de nouveaux widgets."

#: ../../guides/widgets.rst:222
msgid "entity\\_type - The entity type to create new widgets for."
msgstr "entity\\_type - Le type d'entité pour lequel créer de nouveaux widgets."

#: ../../guides/widgets.rst:223
msgid ""
"entity\\_subtype - The entity subtype to create new widgets for. The can be "
"ELGG\\_ENTITIES\\_ANY\\_VALUE to create for all entity types."
msgstr ""
"entity\\_subtype - Le sous-type d'entité pour lequel créer de nouveaux "
"widgets. Peut être ELGG\\_ENTITIES\\_ANY\\_VALUE pour le créer pour tous les"
" types d'entités."

#: ../../guides/widgets.rst:225
msgid ""
"To have widgets be created you need to register the following plugin hook:"
msgstr ""
"Pour que des widgets soient créés, vous devez enregistrer le hook de plug-in"
" suivant :"

#: ../../guides/widgets.rst:231
msgid ""
"When an object triggers an event that matches the event, entity\\_type, and "
"entity\\_subtype parameters passed, Elgg core will look for default widgets "
"that match the widget\\_context and will copy them to that object's "
"owner\\_guid and container\\_guid. All widget settings will also be copied."
msgstr ""
"Quand un objet déclenche un événement qui correspond à event, entity\\_type,"
" et entity\\_subtype, le noyau de Elgg va regarder les widgets par défaut "
"qui correspondent au widget\\_context et va les copier vers l'owner\\_guid "
"et le container\\_guid de l'objet. Tous les paramètres du widget seront "
"également copiés."
