# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: Apache CloudStack Administration RTD\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-06-30 12:52+0200\n"
"PO-Revision-Date: 2017-03-29 18:34+0100\n"
"Language-Team: French (http://www.transifex.com/ke4qqq/apache-cloudstack-"
"administration-rtd/language/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"
"Last-Translator: Antoine Le Morvan <antoine@le-morvan.com>\n"
"X-Generator: Poedit 1.6.10\n"

# f960d1bdf1ff4edcab85c8de14d937d9
#: ../../usage.rst:18
msgid "Working with Usage"
msgstr "Travailler avec Usage"

# 15ed9c55a30744308390d710f71e001e
#: ../../usage.rst:20
msgid ""
"The Usage Server is an optional, separately-installed part of CloudStack "
"that provides aggregated usage records which you can use to create billing "
"integration for CloudStack. The Usage Server works by taking data from the "
"events log and creating summary usage records that you can access using the "
"listUsageRecords API call."
msgstr ""
"Le serveur Usage est une partie optionnelle, installée séparément de "
"CloudStack, fournissant des enregistrements d'utilisation agrégés, que vous "
"pouvez ensuite utiliser pour l'intégration de la facturation dans "
"CloudStack. Le serveur Usage fonctionne en prenant les données des "
"enregistrements d'évènements et en créant des enregistrements récapitulatifs "
"d'utilisation auxquels vous pouvez accéder avec un appel à l'API "
"listUsageRecords."

# 96a54f49657f4ecb814c7babc3d12cd5
#: ../../usage.rst:26
msgid ""
"The usage records show the amount of resources, such as VM run time or "
"template storage space, consumed by guest instances."
msgstr ""
"Les enregistrements d'utilisation indiquent la quantité de ressources, comme "
"le temps d'exécution de VM ou l'espace de stockage des modèles, consommées "
"par les instances invitées."

# 55c9c7dee78b4ff284f8a3775ee15d80
#: ../../usage.rst:29
msgid ""
"The Usage Server runs at least once per day. It can be configured to run "
"multiple times per day."
msgstr ""
"Le serveur Usage s'exécute au moins une fois par jour. Il peut être "
"configuré pour s'exécuter plusieurs fois par jour."

# e3e786135adc456da195d8c62094e4cf
#: ../../usage.rst:34
msgid "Configuring the Usage Server"
msgstr "Configurer le serveur Usage"

# 6fb60ef9e16e4db0878d21a3d8ae162b
#: ../../usage.rst:36
msgid "To configure the usage server:"
msgstr "Pour configurer le serveur usage :"

# 5adc62eff1f640a094ea087767a99266
#: ../../usage.rst:38
msgid ""
"Be sure the Usage Server has been installed. This requires extra steps "
"beyond just installing the CloudStack software. See Installing the Usage "
"Server (Optional) in the Advanced Installation Guide."
msgstr ""
"S'assurer que le serveur Usage a bien été installé. Cela nécessite des "
"étapes complémentaires après l'installation du logiciel CloudStack. Voir "
"Installer le serveur Usage (Optionel) dans le Guide d'installation Avancé."

# 79b6062dbd284c60a7d174315e5ddf4f
#: ../../usage.rst:42
msgid "Log in to the CloudStack UI as administrator."
msgstr "Se connecter à l'interface de CloudStack en tant qu'administrateur."

# 19a9f5fbef3041d9b13807ca7c2cb8b9
#: ../../usage.rst:44
msgid "Click Global Settings."
msgstr "Cliquer sur Configuration globale"

# 667e5b8b21924fb69b4fa8afbf76896b
#: ../../usage.rst:46
msgid ""
"In Search, type usage. Find the configuration parameter that controls the "
"behavior you want to set. See the table below for a description of the "
"available parameters."
msgstr ""
"Dans Chercher, taper usage. Trouvez le paramètre de configuration qui "
"contrôle le comportement que vous voulez paramétrer. Voir le tableau ci-"
"dessous pour une description des paramètres disponibles."

# 8fa5855d775b43958fe08525d0e94aae
#: ../../usage.rst:50
msgid "In Actions, click the Edit icon."
msgstr "Dans Actions, cliquer sur l'icône Modifier la valeur."

# 63178267fdd94998ab92da5146692648
#: ../../usage.rst:52
msgid "Type the desired value and click the Save icon."
msgstr "Saisir la valeur désirée puis cliquer sur l'icône Save."

# 5d851f4543c0408f8e57dce0857766a3
#: ../../usage.rst:54
msgid ""
"Restart the Management Server (as usual with any global configuration "
"change) and also the Usage Server:"
msgstr ""
"Redémarrer le serveur de gestion (comme d'habitude avec n'importe quel "
"changement de configuration globale) mais également le serveur Usage :"

# b91f29141e0f4cdaaa81be318e86c10e
#: ../../usage.rst:62
msgid ""
"The following table shows the global configuration settings that control the "
"behavior of the Usage Server."
msgstr ""
"La tableau suivant montre les options de configuration globale qui "
"contrôlent le comportement du serveur Usage."

# 1e76426d14bf4fc6915a0e1c79ef2b9a
#: ../../usage.rst:65
msgid "Parameter Name  Description"
msgstr "Paramètre Nom Description"

# 668e6317ce104d72ab45c55b9411ea8e
#: ../../usage.rst:67
msgid "enable.usage.server  Whether the Usage Server is active."
msgstr "enable.usage.server Si le serveur Usage est actif."

# 1fcaf07a4ddb4e8c958cd1b6ef8cfe91
#: ../../usage.rst:69
msgid "usage.aggregation.timezone"
msgstr "usage.aggregation.timezone"

# fb381c2892df4ea7b1c44440f03ba556
#: ../../usage.rst:71
msgid ""
"Time zone of usage records. Set this if the usage records and daily job "
"execution are in different time zones. For example, with the following "
"settings, the usage job will run at PST 00:15 and generate usage records for "
"the 24 hours from 00:00:00 GMT to 23:59:59 GMT:"
msgstr ""
"Fuseau horaire pour les enregistrements d'utilisation. Fixez cette option si "
"les enregistrements d'utilisation et l'exécution des travaux journaliers "
"sont dans des fuseaux horaires différents. Par exemple, avec les paramètres "
"suivants, la tâche d'utilisation va s'exécuter à PST 00:15 et générer des "
"enregistrements d'utilisation pour les 24 heures allant de 00:00:00 GMT à "
"23:59:59 GMT :"

# 509f3bce303a4ab7a526dcc19e3c3e50
#: ../../usage.rst:82
msgid ""
"Valid values for the time zone are specified in `Appendix A, *Time Zones* "
"<http://docs.cloudstack.apache.org/en/latest/dev.html?highlight=time"
"%20zones#time-zones>`_"
msgstr ""
"Les valeurs valides pour les fuseaux horaires sont spécifiées dans : "
"`Annexe A, Fuseaux Horaires <http://docs.cloudstack.apache.org/en/latest/dev."
"html?highlight=time%20zones#time-zones>`_"

# 3133231b20dd4c9da1fe9fd7d09136a3
#: ../../usage.rst:85
msgid "Default: GMT"
msgstr "Défaut : GMT"

# 22dabfab93eb4361b26eb9088cad5134
#: ../../usage.rst:87
msgid "usage.execution.timezone"
msgstr "usage.execution.timezone"

# a27f0dcfc71847ee846e80cb1b5c6e66
#: ../../usage.rst:89
msgid ""
"The time zone of usage.stats.job.exec.time. Valid values for the time zone "
"are specified in `Appendix A, *Time Zones* <http://docs.cloudstack.apache."
"org/en/latest/dev.html?highlight=time%20zones#time-zones>`_"
msgstr ""
"Le fuseau horaire de usage.stats.job.exec.time. Les valeurs valides pour le "
"fuseau horaire sont spécifiées dans l'`Annexe A, Fuseaux horaires <http://"
"docs.cloudstack.apache.org/en/latest/dev.html?highlight=time%20zones#time-"
"zones>`_"

# 101b64630291428aa4dce0f295b51f96
#: ../../usage.rst:93
msgid "Default: The time zone of the management server."
msgstr "Défaut : Le fuseau horaire du serveur de gestion."

# e5296f4116c949e282dda12b62a2e31b
#: ../../usage.rst:95
msgid "usage.sanity.check.interval"
msgstr "usage.sanity.check.interval"

# 12e3d1486808475ba2d50b4b1f480b20
#: ../../usage.rst:97
msgid ""
"The number of days between sanity checks. Set this in order to periodically "
"search for records with erroneous data before issuing customer invoices. For "
"example, this checks for VM usage records created after the VM was "
"destroyed, and similar checks for templates, volumes, and so on. It also "
"checks for usage times longer than the aggregation range. If any issue is "
"found, the alert ALERT\\_TYPE\\_USAGE\\_SANITY\\_RESULT = 21 is sent."
msgstr ""
"Le nombre de jours entre les contrôles de validité. Paramétrez cela pour "
"rechercher périodiquement les enregistrements avec des données erronées "
"avant d'émettre les factures clients. Par exemple, cela vérifie les "
"enregistrements d'utilisation pour une VM qui aurait été créée après que la "
"VM soit détruite, et des vérifications similaires pour les modèles, les "
"volumes, etc. Cela vérifie également les temps d'utilisation plus long que "
"l'intervalle d'aggrégation. Si une erreur est détectée, l'alerte  ALERT"
"\\_TYPE\\_USAGE\\_SANITY\\_RESULT = 21 est envoyée."

# d6a51defdc9b4ca1900dca6ee38d488b
#: ../../usage.rst:105
msgid "usage.stats.job.aggregation.range"
msgstr "usage.stats.job.aggregation.range"

# f200ecf1491a41c58c58d607a2030621
#: ../../usage.rst:107
msgid ""
"The time period in minutes between Usage Server processing jobs. For "
"example, if you set it to 1440, the Usage Server will run once per day. If "
"you set it to 600, it will run every ten hours. In general, when a Usage "
"Server job runs, it processes all events generated since usage was last run."
msgstr ""
"La période de temps en minutes entre les traitements du serveur Usage. Par "
"exemple, si vous la fixez à 1440, le serveur Usage va s'exécuter une fois "
"par jour. Si vous la fixez à 600, il va s'exécuter toutes les 10 heures. En "
"général, lorsque la tâche du serveur Usage s'exécute, elle traite tous les "
"évènements générés depuis la dernière exécution du serveur Usage."

# 3fb2ba9c61a64f54bb226a97eff0e59f
#: ../../usage.rst:113
msgid ""
"There is special handling for the case of 1440 (once per day). In this case "
"the Usage Server does not necessarily process all records since Usage was "
"last run. CloudStack assumes that you require processing once per day for "
"the previous, complete day’s records. For example, if the current day is "
"October 7, then it is assumed you would like to process records for October "
"6, from midnight to midnight. CloudStack assumes this “midnight to midnight” "
"is relative to the usage.execution.timezone."
msgstr ""
"Il y a un traitement spécial pour le cas du 1440 (un par jour). Dans ce cas, "
"le serveur Usage ne traite pas nécessairement tous les enregistrements "
"depuis sa dernière exécution. CloudStack présume que vous devez traiter une "
"fois par jour les enregistrements complets de la veille. Par exemple, si le "
"jour courant est le 7 octobre, alors il présume que vous voulez traiter les "
"enregistrements du 6 octobre, de minuit à minuit. CloudStack présume que ce "
"\"minuit à minuit\" est relatif à usage.execution.timezone."

# 657e01fff8404e7086e1a5cd318ed5b9
#: ../../usage.rst:121
msgid "Default: 1440"
msgstr "Defaut : 1440"

# 8e231a3dfe9b4ac494f5ae8dc3e03001
#: ../../usage.rst:123
msgid "usage.stats.job.exec.time"
msgstr "usage.stats.job.exec.time"

# 05f6de4a7dd947ceba3246443c6e2ace
#: ../../usage.rst:125
msgid ""
"The time when the Usage Server processing will start. It is specified in 24-"
"hour format (HH:MM) in the time zone of the server, which should be GMT. For "
"example, to start the Usage job at 10:30 GMT, enter “10:30”."
msgstr ""
"L'heure de démarrage du traitement du serveur Usage. Elle est spécifiée au "
"format 24 heures (HH:MM) dans le fuseau horaire du serveur, qui devrait être "
"en GMT."

# 54677f1477574ba58b744ade5f531ddd
#: ../../usage.rst:129
msgid ""
"If usage.stats.job.aggregation.range is also set, and its value is not 1440, "
"then its value will be added to usage.stats.job.exec.time to get the time to "
"run the Usage Server job again. This is repeated until 24 hours have "
"elapsed, and the next day's processing begins again at usage.stats.job.exec."
"time."
msgstr ""
"Si usage.stats.job.aggregation.range est également défini, et que sa valeur "
"n'est pas 1440, alors cette valeur sera ajoutée à usage.stats.job.exec.time "
"pour obtenir l'heure de la prochaine exécution du serveur Usage. Cela est "
"répété jusqu'à ce que 24 heures se soient écoulées, et l'exécution du jour "
"suivant recommence à usage.stats.job.exec.time."

# 870bef8e0dc54e1a87ab39acc1c59e7b
#: ../../usage.rst:135
msgid "Default: 00:15."
msgstr "Défaut : 00:15."

# 3c30b2b9e20f485c8ac878c1c8b62ef5
#: ../../usage.rst:137
msgid ""
"For example, suppose that your server is in GMT, your user population is "
"predominantly in the East Coast of the United States, and you would like to "
"process usage records every night at 2 AM local (EST) time. Choose these "
"settings:"
msgstr ""
"Par exemple, en supposant que votre serveur est à l'heure GMT, votre "
"population d'utilisateurs est en majorité de la Côte Est des Etats Unis, et "
"vous voulez traiter les enregistrements d'utilisation toutes les nuits à "
"l'heure 2AM (EST). Choisissez ces configurations :"

# 910e4a77b6c34e64ad844e417ab623d5
#: ../../usage.rst:142
msgid "enable.usage.server = true"
msgstr "enable.usage.server = true"

# 078da3cc8569439c9002cbbb7337d936
#: ../../usage.rst:144
msgid "usage.execution.timezone = America/New\\_York"
msgstr "usage.execution.timezone = America/New\\_York"

# 42e66162ae97481083688b89c626c8cc
#: ../../usage.rst:146
msgid ""
"usage.stats.job.exec.time = 07:00. This will run the Usage job at 2:00 AM "
"EST. Note that this will shift by an hour as the East Coast of the U.S. "
"enters and exits Daylight Savings Time."
msgstr ""
"usage.stats.job.exec.time = 07:00. Cela va exécuter le traitement Usage à "
"2:00 AM EST. Notez que cela décalera d'une heure lorsque la Côte Est des "
"États-Unis entrera et sortira de l'heure d'été."

# 5ba2fd5fa7004081a393783418655cdd
#: ../../usage.rst:150
msgid "usage.stats.job.aggregation.range = 1440"
msgstr "usage.stats.job.aggregation.range = 1440"

# 1c9ce06adfa54705878ac2e20fcc8462
#: ../../usage.rst:152
msgid ""
"With this configuration, the Usage job will run every night at 2 AM EST and "
"will process records for the previous day’s midnight-midnight as defined by "
"the EST (America/New\\_York) time zone."
msgstr ""
"Avec cette configuration, la tâche Usage va s'exécuter toutes les nuits à 2H "
"EST et va traiter les enregistrements de la veille de minuit à minuit comme "
"défini par le fuseau horaire EST (America/New\\_York)."

# 1e914c7e818e47d8b13676d7f92bbe0b
#: ../../usage.rst:157
msgid ""
"Because the special value 1440 has been used for usage.stats.job.aggregation."
"range, the Usage Server will ignore the data between midnight and 2 AM. That "
"data will be included in the next day's run."
msgstr ""
"Parce que la valeur spéciale 1440 a été utilisée pour usage.stats.job."
"aggregation.range, le serveur Usage va ignorer les données entre minuit et "
"2h. Ces données seront inclues dans le traitement du jour suivant. "

# 40d99d806e4949158aa5ab2e841cfa2a
#: ../../usage.rst:164
msgid "Setting Usage Limits"
msgstr "Configurer les limites d'utilisation"

# 579aaca84d1548508b091885f6e9e9da
#: ../../usage.rst:166
msgid ""
"CloudStack provides several administrator control points for capping "
"resource usage by users. Some of these limits are global configuration "
"parameters. Others are applied at the ROOT domain and may be overridden on a "
"per-account basis."
msgstr ""
"CloudStack fournit plusieurs points de contrôle à l'administrateur pour "
"restreindre l'utilisation des ressources par les utilisateurs. Certaines de "
"ces limites sont des paramètres de configuration globaux. D'autres sont "
"appliquées au niveau du domaine ROOT et peuvent être outrepassés en se "
"basant sur le compte utilisateur."

# 229ad89efb9c4cb0ab03a6ce99f44f23
#: ../../usage.rst:173
msgid "Globally Configured Limits"
msgstr "Limites configurées globalement"

# e2b6313d1a4d4917a2544b4440379415
#: ../../usage.rst:175
msgid ""
"In a zone, the guest virtual network has a 24 bit CIDR by default. This "
"limits the guest virtual network to 254 running instances. It can be "
"adjusted as needed, but this must be done before any instances are created "
"in the zone. For example, 10.1.1.0/22 would provide for ~1000 addresses."
msgstr ""
"Dans une zone, le réseau virtuel invité a un CIDR de 24 bits par défaut. "
"Cela limite le réseau virtuel invité à 254 instances en fonctionnement. Il "
"peut être ajusté au besoin, mais cela doit être effectué avant la création "
"d'une première instance dans la zone. Par exemple, 10.1.1.0/22 fournirait "
"environ 1000 adresses."

# 84670b12426b4429831f536c401fc323
#: ../../usage.rst:181
msgid "The following table lists limits set in the Global Configuration:"
msgstr ""
"Le tableau suivant liste les limites fixée dans la configuration globale :"

# 7da9c9f6c4464762b975b5c84e4ebf9c
# 146d490544914790b152209b009cacb9
# 1bb822fa0c3e4b7db77988b5cf5efdbd
# c79e2332c1ba4ad5883126f553ad5388
#: ../../usage.rst:184 ../../usage.rst:239 ../../usage.rst:343
#: ../../usage.rst:414
msgid "Parameter Name"
msgstr "Nom du paramètre"

# 69e6a02d3513471b89dca9419976e56b
#: ../../usage.rst:184
msgid "Definition"
msgstr "Définition"

# 8f803160c7ef4b258545cf19783a2cb2
#: ../../usage.rst:186
msgid "max.account.public.ips"
msgstr "max.account.public.ips"

# 33a9e7f75edb450eb385f759769e8a27
#: ../../usage.rst:186
msgid "Number of public IP addresses that can be owned by an account"
msgstr "Nombre d'adresses IP publiques qui peuvent appartenir à un compte"

# 9d54d7043dfa4cfdba9892d7b4987d27
#: ../../usage.rst:188
msgid "max.account.snapshots"
msgstr "max.account.snapshots"

# 53e9c6336fc343f58d5d0f0c982ecd16
#: ../../usage.rst:188
msgid "Number of snapshots that can exist for an account"
msgstr "Nombre d'instantanés qui peuvent exister pour un compte"

# 6979458b8f824d9ea8eb1a932cb3700a
#: ../../usage.rst:190
msgid "max.account.templates"
msgstr "max.account.templates"

# a450954b78c549129d90f452f3261c83
#: ../../usage.rst:190
msgid "Number of templates that can exist for an account"
msgstr "Le nombre de modèles qui peuvent exister pour un compte."

# e090c2956d874c139e10f94be47e21bd
#: ../../usage.rst:192
msgid "max.account.user.vms"
msgstr "max.account.user.vms"

# d30280c4822b48cf86341f0c6f0e9f40
#: ../../usage.rst:192
msgid "Number of virtual machine instances that can exist for an account"
msgstr ""
"Le nombre d'instances de machine virtuelles qui peuvent exister pour un "
"compte"

# ecaf59ece9264e429a9664b72c83c9d5
#: ../../usage.rst:194
msgid "max.account.volumes"
msgstr "max.account.volumes"

# 352d53dede964c53adaba408485377bb
#: ../../usage.rst:194
msgid "Number of disk volumes that can exist for an account"
msgstr "Le nombre de volumes de disque qui peuvent exister pour un compte"

# 4855308d9e7f453ca68c4f73a23b7da2
#: ../../usage.rst:196
msgid "max.template.iso.size"
msgstr "max.template.iso.size"

# c3cf19fabb7b41c6bfeda6bfcb0d40c6
#: ../../usage.rst:196
msgid "Maximum size for a downloaded template or ISO in GB"
msgstr ""
"La taille maximale pour le téléchargement d'un modèle ou d'un ISO en GB"

# e2bd816e02a74341ac3b504ef37abf9b
#: ../../usage.rst:198
msgid "max.volume.size.gb"
msgstr "max.volume.size.gb"

# ac589029cbaa451fb486f219b27caf43
#: ../../usage.rst:198
msgid "Maximum size for a volume in GB"
msgstr "La taille maximale pour un volume en GB"

# 3b152b7effc14a2098e6b2f885125e11
#: ../../usage.rst:200
msgid "network.throttling.rate"
msgstr "network.throttling.rate"

# d66b6e2b68304b4d97dae0d72709be2f
#: ../../usage.rst:200
msgid ""
"Default data transfer rate in megabits per second allowed per user "
"(supported on XenServer)"
msgstr ""
"Le taux de transfert de données par défaut en MB/s autorisé par utilisateur "
"(supporté sur XenServer)"

# e01d028d0d5643a3a283f12888581998
#: ../../usage.rst:202
msgid "snapshot.max.hourly"
msgstr "snapshot.max.hourly"

# 305a224a1c5946ab949570233597705b
#: ../../usage.rst:202
msgid ""
"Maximum recurring hourly snapshots to be retained for a volume. If the limit "
"is reached, early snapshots from the start of the hour are deleted so that "
"newer ones can be saved. This limit does not apply to manual snapshots. If "
"set to 0, recurring hourly snapshots can not be scheduled"
msgstr ""
"Le nombre maximum d'instantanés récurrents dans l'heure à être conservé pour "
"un volume. Si la limite est atteinte, les instantanés plus proche du début "
"de l'heure sont supprimés pour que les plus récents puissent être "
"sauvegardés. Cette limite ne s'applique pas aux instantanés manuels. Si fixé "
"à 0, les instantanés récurrents de l'heure ne peuvent pas être programmés."

# 7734cc014872464a8d8672c1190ff731
#: ../../usage.rst:204
msgid "snapshot.max.daily"
msgstr "snapshot.max.daily"

# ddca821bebdf4a12a2b4fb3d9e089efe
#: ../../usage.rst:204
msgid ""
"Maximum recurring daily snapshots to be retained for a volume. If the limit "
"is reached, snapshots from the start of the day are deleted so that newer "
"ones can be saved. This limit does not apply to manual snapshots. If set to "
"0, recurring daily snapshots can not be scheduled"
msgstr ""

# 90b70954860841d5a31b17b85cc10f84
#: ../../usage.rst:206
msgid "snapshot.max.weekly"
msgstr "snapshot.max.weekly"

# 8ee51877c42a40da9039bdc877f388c5
#: ../../usage.rst:206
msgid ""
"Maximum recurring weekly snapshots to be retained for a volume. If the limit "
"is reached, snapshots from the beginning of the week are deleted so that "
"newer ones can be saved. This limit does not apply to manual snapshots. If "
"set to 0, recurring weekly snapshots can not be scheduled"
msgstr ""

# 65aa1a30aab34f218756e423bac8f482
#: ../../usage.rst:208
msgid "snapshot.max.monthly"
msgstr "snapshot.max.monthly"

# 631eba2a40fe48f3b4f179dfe6e9fdc7
#: ../../usage.rst:208
msgid ""
"Maximum recurring monthly snapshots to be retained for a volume. If the "
"limit is reached, snapshots from the beginning of the month are deleted so "
"that newer ones can be saved. This limit does not apply to manual snapshots. "
"If set to 0, recurring monthly snapshots can not be scheduled."
msgstr ""

# dce0ccf760cb481290483d2e6c7439e4
#: ../../usage.rst:211
msgid ""
"To modify global configuration parameters, use the global configuration "
"screen in the CloudStack UI. See Setting Global Configuration Parameters"
msgstr ""
"Pour modifier les paramètres de configuration globale, utiliser l'écran de "
"configuration globale de l'interface de CloudStack. Voir Fixer les "
"paramètres de configuration globale."

# adacfb1bcc74482cbac23e9a14c1803c
#: ../../usage.rst:216
msgid "Limiting Resource Usage"
msgstr "Limiter l'utilisation des ressources"

# 354d5dde0afe47a982710d8800da3315
#: ../../usage.rst:218
msgid ""
"CloudStack allows you to control resource usage based on the types of "
"resources, such as CPU, RAM, Primary storage, and Secondary storage. A new "
"set of resource types has been added to the existing pool of resources to "
"support the new customization model—need-basis usage, such as large VM or "
"small VM. The new resource types are now broadly classified as CPU, RAM, "
"Primary storage, and Secondary storage. The root administrator is able to "
"impose resource usage limit by the following resource types for Domain, "
"Project, and Accounts."
msgstr ""

# b80deb66aa1244279f48b9e17db7f7a0
#: ../../usage.rst:227
msgid "CPUs"
msgstr "CPU"

# a7c54e874cae4016b7a1d2a17c5a7a89
#: ../../usage.rst:229
msgid "Memory (RAM)"
msgstr "Mémoire (RAM)"

# 3db51597d1dd4f328899070b88325384
#: ../../usage.rst:231
msgid "Primary Storage (Volumes)"
msgstr "Stockage primaire (Volumes)"

# 6de9a84059e7408e85e9fdb47dbb341d
#: ../../usage.rst:233
msgid "Secondary Storage (Snapshots, Templates, ISOs)"
msgstr "Stockage secondaire (Instantanés, modèles, ISOs)"

# 36f9c552269b44e49eb2f86fa2bd98c8
#: ../../usage.rst:235
msgid ""
"To control the behaviour of this feature, the following configuration "
"parameters have been added:"
msgstr ""
"Pour contrôler le fonctionnement de cette fonctionnalité, les paramètres de "
"configuration suivants ont été ajoutés :"

# fc46eaac2efd4bf289bbd9025fd78502
# 160c8719552a4684880d4f4a8ada714c
# 947dba25316d4d74959935b65c8c5a33
# 161ab30e9a60413d90729511c5fe9ec1
#: ../../usage.rst:239 ../../usage.rst:345 ../../usage.rst:416
#: ../../usage.rst:750
msgid "Description"
msgstr "Description"

# 23d6c966c2c94a1f986282a729352f38
#: ../../usage.rst:241
msgid "max.account.cpus"
msgstr "max.account.cpus"

# cdd19d9379ec43648cd224ba64a960dd
# 2ca1b2c4fdc44e0e940da7f75cb5788b
#: ../../usage.rst:241 ../../usage.rst:249
msgid ""
"Maximum number of CPU cores that can be used for an account. Default is 40."
msgstr ""
"Le nombre maximum de coeurs CPU qui peuvent être utilisés par compte. Par "
"défaut 40."

# 4979d3f2676e4809a49cc696c48d2f8d
#: ../../usage.rst:243
msgid "max.account.ram (MB)"
msgstr "max.account.ram (MB)"

# f3c0b37fc2ea4617b811cef9791eda3b
# 00fb0cdbac5b4ad291bc50a5e1219a47
#: ../../usage.rst:243 ../../usage.rst:251
msgid "Maximum RAM that can be used for an account. Default is 40960."
msgstr ""
"La quantité maximale de RAM qui peut être utilisée par compte. Par défaut "
"40960."

# 45df7928f7174808a2083dd11add33c0
#: ../../usage.rst:245
msgid "max.account.primary.storage (GB)"
msgstr "max.account.primary.storage (GB)"

# 1ee6c5009abd4668a5dd0a640a18c8ea
# 254b02916fc34ad6a649c8c990d4f41a
#: ../../usage.rst:245 ../../usage.rst:253
msgid ""
"Maximum primary storage space that can be used for an account. Default is "
"200."
msgstr ""
"L'espace maximal du stockage primaire qui peut être utilisé par un compte. "
"Par défaut 200."

# cdeb23ce821d4c3196c6ea784f4367b6
#: ../../usage.rst:247
msgid "max.account.secondary.storage (GB)"
msgstr "max.account.secondary.storage (GB)"

# c51c46bd539f4093a4393f2d6d4e9b79
# 982aa6e78c6f4ecda0f24acd5f6564d3
#: ../../usage.rst:247 ../../usage.rst:255
msgid ""
"Maximum secondary storage space that can be used for an account. Default is "
"400."
msgstr ""
"L'espace maximal du stockage secondaire qui peut être utilisé par un compte. "
"Par défaut 400."

# 01081c6a660a44f5851d914915a1281b
#: ../../usage.rst:249
msgid "max.project.cpus"
msgstr "max.project.cpus"

# b7aede866d8a41298cf2c284450aea39
#: ../../usage.rst:251
msgid "max.project.ram (MB)"
msgstr "max.project.ram (MB)"

# 6a66f463c8a14145b745751a99ff5412
#: ../../usage.rst:253
msgid "max.project.primary.storage (GB)"
msgstr "max.project.primary.storage (GB)"

# 86d804726f994f5ea14d1a29e97eb968
#: ../../usage.rst:255
msgid "max.project.secondary.storage (GB)"
msgstr "max.project.secondary.storage (GB)"

# 8ea9def42949482d99838f5ebe00a5e2
#: ../../usage.rst:261
msgid "User Permission"
msgstr "Droit utilisateur"

# 31b6a320c933489c96b4ce8db09ee012
#: ../../usage.rst:263
msgid ""
"The root administrator, domain administrators and users are able to list "
"resources. Ensure that proper logs are maintained in the ``vmops.log`` and "
"``api.log`` files."
msgstr ""
"L'administrateur racine, les administrateurs de domaine et les utilisateurs "
"peuvent lister les ressources. S'assurer que les enregistrements appropriés "
"sont conservés dans les fichiers ``vmops.log`` et ``api.log``."

# 41b569e3765441d69d540fed030e34e2
#: ../../usage.rst:267
msgid ""
"The root admin will have the privilege to list and update resource limits."
msgstr ""
"L'administrateur racine va avoir le privilège de lister et mettre à jour les "
"limites de ressources."

# 9f791a84c2014d73b5f8b74f287ad010
#: ../../usage.rst:270
msgid ""
"The domain administrators are allowed to list and change these resource "
"limits only for the sub-domains and accounts under their own domain or the "
"sub-domains."
msgstr ""
"Les administrateurs de domaine sont autorisés à lister et changer ces "
"limites de ressources uniquement pour les sous-domaines et comptes sous leur "
"propre domaine et sous-domaines."

# df23a35291874e2d9f7af5d93db4dae4
#: ../../usage.rst:274
msgid ""
"The end users will the privilege to list resource limits. Use the "
"listResourceLimits API."
msgstr ""
"Les utilisateurs finaux ont le droit de lister les limites de ressources. "
"Utiliser l'API listResourceLimits."

# 474425750935446e84565dc2a2f561b6
#: ../../usage.rst:279
msgid "Limit Usage Considerations"
msgstr "Considérations sur la limitation d'utilisation"

# c96935ecfc1545448c6a31bf7e9bcefa
#: ../../usage.rst:281
msgid ""
"Primary or Secondary storage space refers to the stated size of the volume "
"and not the physical size— the actual consumed size on disk in case of thin "
"provisioning."
msgstr ""
"L'espace de stockage primaire ou secondaire se réfère à la taille indiquée "
"par les volumes et non par la taille physique - la taille actuellement "
"utilisée sur le disque en cas de thin provisionning."

# 003d62e3a41b4ec0838c1ad1e22ab0c8
#: ../../usage.rst:285
msgid ""
"If the admin reduces the resource limit for an account and set it to less "
"than the resources that are currently being consumed, the existing VMs/"
"templates/volumes are not destroyed. Limits are imposed only if the user "
"under that account tries to execute a new operation using any of these "
"resources. For example, the existing behavior in the case of a VM are:"
msgstr ""
"Si l'admin réduit la limite de ressource pour un compte et la fixe à une "
"valeur inférieure à la ressource qui est actuellement consommé, alors les "
"VMs/modèles/volumes existants ne sont pas détruits. Les limites sont "
"appliquées seulement si l'utilisateur sous ce compte tente d'exécuter une "
"nouvelle opération utilisant une de ces ressources. Par exemple, les "
"comportements existants dans le cas d'une VM sont :"

# 61f14d0421dc4f27885ac8f93946dbe6
#: ../../usage.rst:292
msgid ""
"migrateVirtualMachine: The users under that account will be able to migrate "
"the running VM into any other host without facing any limit issue."
msgstr ""
"migrateVirtualMachine : les utilisateurs sous ce compte pourront migrer les "
"VM en fonctionnement vers n'importe quel autre hôte sans rencontrer de "
"problème de limitations."

# 287edb83794948b4b1509e7c1ed82b17
#: ../../usage.rst:296
msgid "recoverVirtualMachine: Destroyed VMs cannot be recovered."
msgstr ""
"recoverVirtualMachine : Les VMs détruites ne peuvent pas être rétablies."

# 2b57273cf486489e856ef1a97146d73a
#: ../../usage.rst:298
msgid ""
"For any resource type, if a domain has limit X, sub-domains or accounts "
"under that domain can have there own limits. However, the sum of resource "
"allocated to a sub-domain or accounts under the domain at any point of time "
"should not exceed the value X."
msgstr ""
"Pour tout type de ressource, si un domaine à une limite X, les sous-domaines "
"ou comptes sous ce domaine peuvent avoir leurs propres limites. Toutefois, "
"la sommes des ressources allouées aux sous-domaines ou compte sous le "
"domaine, à tout moment, ne doit pas dépasser la valeur X."

# 9f35315b3f6b4560abe71837984f2ed7
#: ../../usage.rst:303
msgid ""
"For example, if a domain has the CPU limit of 40 and the sub-domain D1 and "
"account A1 can have limits of 30 each, but at any point of time the resource "
"allocated to D1 and A1 should not exceed the limit of 40."
msgstr ""
"Par exemple, si un domaine a une limite CPU de 40 et le sous-domaine D1 et "
"le compte A1 peuvent avoir des limites à 30 chacun, mais à tout moment la "
"ressource allouée à D1 et A1 ne doit pas dépasser la limite de 40."

# cfc912fe9e294238a5a41841f8636ecf
#: ../../usage.rst:308
msgid ""
"If any operation needs to pass through two of more resource limit check, "
"then the lower of 2 limits will be enforced, For example: if an account has "
"the VM limit of 10 and CPU limit of 20, and a user under that account "
"requests 5 VMs of 4 CPUs each. The user can deploy 5 more VMs because VM "
"limit is 10. However, the user cannot deploy any more instances because the "
"CPU limit has been exhausted."
msgstr ""
"Si une opération nécessite d'outrepasser 2 ou plus des vérifications de "
"limites, alors la limite la plus basse des 2 limites sera forcée. Par "
"exemple, si un compte a une limite de VM à 10 et une limite de CPU à 20, et "
"si l'utilisateur sous ce compte demande 5 VMs de 4 CPUs chacun. "
"L'utilisateur peut déployer 5 VMs ou plus parce qu'elles sont sous la limite "
"des 10. Toutefois, l'utilisateur ne peut plus déployer d'instances à cause "
"de la limite CPU qui a été épuisée."

# fd7e43ba4fc2492cb1117d9f171cb475
#: ../../usage.rst:317
msgid "Limiting Resource Usage in a Domain"
msgstr "Limiter l'utilisation des ressources sur un domaine"

# d7bae8b0c64640aaab9b686ccb641ca1
#: ../../usage.rst:319
msgid ""
"CloudStack allows the configuration of limits on a domain basis. With a "
"domain limit in place, all users still have their account limits. They are "
"additionally limited, as a group, to not exceed the resource limits set on "
"their domain. Domain limits aggregate the usage of all accounts in the "
"domain as well as all the accounts in all the sub-domains of that domain. "
"Limits set at the root domain level apply to the sum of resource usage by "
"the accounts in all the domains and sub-domains below that root domain."
msgstr ""
"CloudStack permet la configuration des limites en se basant sur les "
"domaines. Avec une limite de domaine en place, les utilisateurs ont encore "
"leurs limites de comptes. Ils sont en plus limités, comme un groupe, pour ne "
"pas dépasser les limites de ressources fixées par leur domaine. Les limites "
"de domaine agrègent aussi bien l'utilisation de tous les comptes dans le "
"domaine que les comptes dans tous les sous-domaines de ce domaine. Les "
"limites fixées au niveau du domaine root s'appliquent à la somme de "
"l'utilisation des ressources de tous les comptes dans tous les domaines et "
"sous-domaines sous le domaine racine."

# 42cc77754b864082aff2b2d5e091fa0f
#: ../../usage.rst:328
msgid "To set a domain limit:"
msgstr "Pour fixer une limite au domaine :"

# bb5fc3b2710e4ea59810c1d28209dfc2
# b83cbc0f83d7410e8b117351958fc591
#: ../../usage.rst:330 ../../usage.rst:401
msgid "Log in to the CloudStack UI."
msgstr "Se connecter à l'interface CloudStack."

# 530247f4ca1a4475ae86e656ceff6abb
#: ../../usage.rst:332
msgid "In the left navigation tree, click Domains."
msgstr "Dans le panneau de navigation de gauche, cliquer sur Domaines."

# a9bff41fd28c435cbb09170c5b103277
#: ../../usage.rst:334
msgid ""
"Select the domain you want to modify. The current domain limits are "
"displayed."
msgstr ""
"Selectionner le domaine que vous voulez modifier. Les limites du domaine "
"courant sont affichées."

# 519c174598aa4e55b86e899664c75018
# 182d21886ebb4a09aebb0ef93e1fba63
#: ../../usage.rst:337 ../../usage.rst:408
msgid "A value of -1 shows that there is no limit in place."
msgstr "Une valeur de -1 indique qu'il n'y a pas de limites en place."

# b83647ec9f344cccbf360b1f8b85c119
#: ../../usage.rst:339
msgid "Click the Edit button |editbutton.png|"
msgstr "Cliquer sur le bouton Modifier  |editbutton.png|"

# c209d72330bd40f887995563563a6337
# 99aa0e22f71d481eb51b72047c456f3a
#: ../../usage.rst:341 ../../usage.rst:412
msgid "Edit the following as per your requirement:"
msgstr "Editer ce qui suit conformément à votre besoin :"

# cd271c3e43ea4c79a12f3f84924b6307
# f889d8a628fd4b0ba7972855f0dbdc45
#: ../../usage.rst:347 ../../usage.rst:418
msgid "Instance Limits"
msgstr "Limites des instances :"

# 5ef71e88c22848aeb261dfceed3f0ad3
#: ../../usage.rst:349
msgid "The number of instances that can be used in a domain."
msgstr "Le nombre d'instances qui peuvent être utilisées dans un domaine."

# 8eb91b3c4b884b1886b84388b430c4b5
# 50f79b10ffa84d4e8d63df31d54a18bc
#: ../../usage.rst:351 ../../usage.rst:424
msgid "Public IP Limits"
msgstr "Limite de IPs publiques"

# 9c123828b8bd44759ea889e13f4ab4bb
#: ../../usage.rst:353
msgid "The number of public IP addresses that can be used in a domain."
msgstr ""
"Le nombre d'adresses IP publiques qui peuvent être utilisées dans un domaine."

# 682adde29cb64e42b391dcb5e5cdc9ad
# f9ffeebe6c1a4111ab27c1b8d080143f
#: ../../usage.rst:355 ../../usage.rst:430
msgid "Volume Limits"
msgstr "Limites des volumes"

# 57ca197f678f416c961a36d6a71f9bf5
#: ../../usage.rst:357
msgid "The number of disk volumes that can be created in a domain."
msgstr "Le nombre de volumes de disque qui peuvent être créés dans un domaine."

# 014dffd5f65443088674d2ee9df38979
# ae967a3a9a714ab2892d18c80a55f652
#: ../../usage.rst:359 ../../usage.rst:436
msgid "Snapshot Limits"
msgstr "Limites d'instantanés"

# 11f338d7f95041eaa7b84b9960a9f12f
#: ../../usage.rst:361
msgid "The number of snapshots that can be created in a domain."
msgstr "Le nombre d'instantanés qui peuvent être créés dans un domaine."

# 07a01397e2404e18a667da23df9e7bf3
# 6ba3ca1a17df418cac4387d71ddd7656
#: ../../usage.rst:363 ../../usage.rst:442
msgid "Template Limits"
msgstr "Limites de modèle"

# 6dc70a7ce5ec48f3bcf254b4a20b4145
#: ../../usage.rst:365
msgid "The number of templates that can be registered in a domain."
msgstr "Le nombre de modèles qui peuvent être enregistrés dans un domaine."

# 3bf5c725f231453cb6152f1bade12d17
# 0b2a474b089d426d850f25818db1d152
#: ../../usage.rst:367 ../../usage.rst:448
msgid "VPC limits"
msgstr "Limites VPC"

# 6041d380cc8b460e838d34d542c0fe6f
#: ../../usage.rst:369
msgid "The number of VPCs that can be created in a domain."
msgstr "Le nombre de VPCs qui peuvent être créés dans un domaine."

# 6167d0a236e346cdac41980cca4b61a1
# efac374c510144af805a206947596f0d
#: ../../usage.rst:371 ../../usage.rst:454
msgid "CPU limits"
msgstr "Limites CPU"

# c3bb1f4173a04335bd9f9a2aa60ffb7f
#: ../../usage.rst:373
msgid "The number of CPU cores that can be used for a domain."
msgstr "Le nombre de coeurs de CPU qui peuvent être utilisés dans un domaine."

# 5b77e8eb1eed4b89a6add832c6efa78d
# 0f97c6c6f6bd48d49582e4a5773420a0
#: ../../usage.rst:375 ../../usage.rst:460
msgid "Memory limits (MB)"
msgstr "Limites mémoire (Mo)"

# 46ff0275d44b492790fbf06cfcc202f9
#: ../../usage.rst:377
msgid "The number of RAM that can be used for a domain."
msgstr "Le nombre de RAM qui peut être utilisée dans un domaine."

# cfada3bdc3304c91b6093699cc7aba26
# e09ca8ab179747818fc4be09918773c3
#: ../../usage.rst:379 ../../usage.rst:466
msgid "Primary Storage limits (GB)"
msgstr "Limites stockage primaire (Go)"

# fadd0e1341ce4a40a364f8e7e5cbd720
#: ../../usage.rst:381
msgid "The primary storage space that can be used for a domain."
msgstr "L'espace de stockage primaire qui peut être utilisé dans un domaine."

# 94e6ad3512c64a968eba503aae4228e9
# 88b20b1a22f5450abfd0371827b8a662
#: ../../usage.rst:383 ../../usage.rst:472
msgid "Secondary Storage limits (GB)"
msgstr "Limites stockage secondaire (Go)"

# af7bbd32f2d744bbb6bc8bc38f2a6fff
#: ../../usage.rst:385
msgid "The secondary storage space that can be used for a domain."
msgstr "L'espace de stockage secondaire qui peut être utilisé dans un domaine."

# 9c4e390eeaf74125aff2fabb290d7508
# 8554c878b3db4319b1e9ff271f3f2e16
#: ../../usage.rst:387 ../../usage.rst:478
msgid "Click Apply."
msgstr "Cliquer sur Appliquer."

# 0aea17dfad1c43818257b74482bdc4ec
#: ../../usage.rst:391
msgid "Default Account Resource Limits"
msgstr "Limites par défaut des ressources d'un compte"

# 5aec04d06e414d8c85567ee7ad5fa5a2
#: ../../usage.rst:393
msgid ""
"You can limit resource use by accounts. The default limits are set by using "
"Global configuration parameters, and they affect all accounts within a "
"cloud. The relevant parameters are those beginning with max.account, for "
"example: max.account.snapshots."
msgstr ""
"Vous pouvez limiter les ressources utilisées par les comptes. Les limites "
"par défaut sont fixées en utilisant les paramètres de configuration globale, "
"et elles affectent tous les comptes au sein d'un cloud. Les paramètres "
"pertinents sont ceux qui commencent avec max.account, par exemple : max."
"account.snapshots."

# 49c964b0ef8840ef953d87ef3115cf7f
#: ../../usage.rst:398
msgid ""
"To override a default limit for a particular account, set a per-account "
"resource limit."
msgstr ""
"Pour outrepasser une limite par défaut pour un compte particulier, fixez une "
"limite de ressource par compte."

# 7954a55684b74afbb3e48736fb619dfe
#: ../../usage.rst:403
msgid "In the left navigation tree, click Accounts."
msgstr "Dans le panneau de navigation de gauche, cliquer sur Comptes."

# 30a0c7b93a044a24b1bbcab3362c9130
#: ../../usage.rst:405
msgid ""
"Select the account you want to modify. The current limits are displayed."
msgstr ""
"Sélectionner le compte que vous voulez modifier. Les limites en cours sont "
"affichées."

# 247dcfe79c914ac0a42c2bb5f617c3b2
#: ../../usage.rst:410
msgid "Click the Edit button. |editbutton.png|"
msgstr "Cliquer sur le bouton Modifier.  |editbutton.png|"

# a5b53a96d84f4cb993b2539562072ba0
#: ../../usage.rst:420
msgid "The number of instances that can be used in an account."
msgstr "Le nombre d'instances qui peuvent être utilisée par un compte."

# 4f148fb22eeb4cd5867de40af5d6957d
# f6aef839dc7e4814a93524ac42691632
# c8a80cc9dabc47b7908b2be9906b47e6
# b1fc64706b924e37bcdf44b959b1a10b
# a4c96e4f6931454c803ad5d310dd832a
# 37ebe0cf9b3644a59962fb5255cd1e7c
#: ../../usage.rst:422 ../../usage.rst:428 ../../usage.rst:434
#: ../../usage.rst:440 ../../usage.rst:446 ../../usage.rst:452
msgid "The default is 20."
msgstr "Par défaut 20."

# b71498e20d9c45f5b4e6246502846b7a
#: ../../usage.rst:426
msgid "The number of public IP addresses that can be used in an account."
msgstr ""
"Le nombre d'adresses IP publiques qui peuvent être utilisée par un compte."

# a7a78f1d32244bd7ae3f36a8706565ec
#: ../../usage.rst:432
msgid "The number of disk volumes that can be created in an account."
msgstr "Le nombre de volume de disques qui peuvent être créé par un compte."

# f22d973606cc4fe68cdf2ef0d22fb7b9
#: ../../usage.rst:438
msgid "The number of snapshots that can be created in an account."
msgstr "Le nombre d'instantanésq ui peuvent être créé par un compte."

# 78aa50a7ed74400c8d0a3bcc278ed06b
#: ../../usage.rst:444
msgid "The number of templates that can be registered in an account."
msgstr "Le nombre de modèles qui peuvent être enregistré par un compte."

# 17544e59335b42c2b1dcb5439be274a4
#: ../../usage.rst:450
msgid "The number of VPCs that can be created in an account."
msgstr "Le nombre de VPCs qui peuvent être créés par un compte."

# dab1fd7da66d424fa313f0a8da2fd672
#: ../../usage.rst:456
msgid "The number of CPU cores that can be used for an account."
msgstr "Le nombre de coeurs CPU qui peuvent être utilisé par un compte."

# f8813118e7014ec4b09e2ce57e9826a0
#: ../../usage.rst:458
msgid "The default is 40."
msgstr "Par défaut 40."

# 5ee54380b1c7418aa85f1b4aa3d18f5c
#: ../../usage.rst:462
msgid "The number of RAM that can be used for an account."
msgstr "Le nombre de RAM qui peut être utilisée par un compte."

# 463fe26a18c747bdba2e4c943174df89
#: ../../usage.rst:464
msgid "The default is 40960."
msgstr "Par défaut 40960."

# 483d95c867804bd7a67bd7c5db5d7250
#: ../../usage.rst:468
msgid "The primary storage space that can be used for an account."
msgstr "L'espace de stockage primaire qui peut être utilisé par un compte."

# b5792f85ad5748629247339cddc34442
#: ../../usage.rst:470
msgid "The default is 200."
msgstr "Par défaut 200."

# cf2794b976cb4597a1c7c46023d92939
#: ../../usage.rst:474
msgid "The secondary storage space that can be used for an account."
msgstr "L'espace de stockage secondaire qui peut être utilisé par un compte."

# e31012695d1342b893a7afc797d9efc8
#: ../../usage.rst:476
msgid "The default is 400."
msgstr "Par défaut 400."

# 58fd1b50da564cbfbe626a0c715242a2
#: ../../usage.rst:482
msgid "Usage Record Format"
msgstr "Format d'un enregistrement Usage"

# bd6e6ad5dd4441038efbfa8256d54fbb
#: ../../usage.rst:485
msgid "Virtual Machine Usage Record Format"
msgstr "Format d'un enregistrement Usage d'une Machine Virtuelle"

# f4090312493645f999618d3518704fe4
#: ../../usage.rst:487
msgid ""
"For running and allocated virtual machine usage, the following fields exist "
"in a usage record:"
msgstr ""
"Pour l'utilisation d'une machine en fonctionnement ou allouée, les champs "
"suivants existent dans un enregistrement Usage :"

# 1ea8ad4e82f849199566823e669d2e60
# cb746968f7ea4c6eaeae3a8696c37487
# 800271ae9863449db8b5d5a7a20f41be
# 40d84f3b7c0243a2b680c8c5ee6fe699
# b060e5d0dfc94db5a3dc884d3afc9829
# 34a867e377074d8b8b7a9d16f17250f8
#: ../../usage.rst:490 ../../usage.rst:531 ../../usage.rst:590
#: ../../usage.rst:624 ../../usage.rst:685 ../../usage.rst:719
msgid "account – name of the account"
msgstr "account - Le nom du compte"

# 0c884e63b3b6479d8ee0a652be74d5d4
# 374676d104da4bb795381a260c95ddf1
# cdf46e85f5ce46b6b29adc8183f20bc5
# 0afdb6434c584c61acb197cf1a10f04c
# 871a1002f0e34f38a9d8b6511ac9c04e
# e13b8b9c705048e583810469fcd0a485
#: ../../usage.rst:492 ../../usage.rst:533 ../../usage.rst:592
#: ../../usage.rst:626 ../../usage.rst:687 ../../usage.rst:721
msgid "accountid – ID of the account"
msgstr "accountid - L'ID du compte"

# 422137b0ab2b4696a321d367b6d26f6d
# 86455aead7614969ab37a2e295a26530
# 0c7934f2579a497cb68757e53895fe18
# cd40f5f568ed41969adeb774e54813da
# bdd3a9da32134e1e8ca88e1d720abcef
# e797f39fdbc04ecbbbe2bdc559a0b118
#: ../../usage.rst:494 ../../usage.rst:535 ../../usage.rst:594
#: ../../usage.rst:628 ../../usage.rst:689 ../../usage.rst:723
msgid "domainid – ID of the domain in which this account resides"
msgstr "domainid - L'ID du domaine dans lequel ce compte existe"

# d938ef5bbcc140c3a43fe372485e16af
# 0e8bcce04fb34321a8e64ed6f0511dc6
# 989ad97f092f4ef38b22b0112e749925
# a74af98e8b4f4970805d2c13cdf90c37
# 07ebb7ef423743fa8f659f3ab930b615
# 7f6481f066a049c68b8df922020b9f23
#: ../../usage.rst:496 ../../usage.rst:537 ../../usage.rst:596
#: ../../usage.rst:630 ../../usage.rst:691 ../../usage.rst:725
msgid "zoneid – Zone where the usage occurred"
msgstr "zoneid - La zone où l'utilisation a eu lieu"

# 603607ff4edb47e9a79f7310b5606576
# 54a63f2835ce4ebcab6a5e8f61822468
# 6c1cd88b31ef47699a96c86e2dc2fd57
# a97e62aec444404ba90732a66e38ba16
# 851e49d28b7748bc84040d925da26fc0
# cdf33c6ee5c24ddd843c0c573f0236c9
#: ../../usage.rst:498 ../../usage.rst:539 ../../usage.rst:598
#: ../../usage.rst:632 ../../usage.rst:693 ../../usage.rst:727
msgid "description – A string describing what the usage record is tracking"
msgstr ""
"description - Une chaîne décrivant ce que l'enregistrement usage a analysé"

# 18c681fd6a6d4db7ac9c8d0c14546df8
#: ../../usage.rst:500
msgid ""
"usage – String representation of the usage, including the units of usage (e."
"g. 'Hrs' for VM running time)"
msgstr ""
"usage - Une chaîne représentant l'utilisation, incluant les unités de "
"l'utilisation (par exemple 'Hrs' pour un temps d'exécution d'une VM)"

# b56f48c2ce7e4ef8a421781cd8ac72d9
# 367c8fbc6c3040e1b454649a311e5f24
# 7a9a014a24af4f13afdf4091e920b2c7
# 5ea8dfa3838546fea2bc64e05c8c673a
# 3d7a93e77f944490999348ecfa138347
# 65753a35c9384d9488a6ba39494069d9
# 72b65cd48a914780a818c78d2b39df45
# defb130ed24d43fcbdd05f28d6551b33
#: ../../usage.rst:503 ../../usage.rst:541 ../../usage.rst:603
#: ../../usage.rst:637 ../../usage.rst:698 ../../usage.rst:704
#: ../../usage.rst:732 ../../usage.rst:738
msgid "usagetype – A number representing the usage type (see Usage Types)"
msgstr ""
"usagetype - Un nombre représentant le type d'utilisation (voir Types d'Usage)"

# dead7906f5ff49c88d8e41f0a3140bd3
# 8ee236cbfec44c23a571ce1209509110
# 51b806027dda42548e0b46c7e5f0c468
# 2b60dfbda65048239a38cba051b05cd8
# da840cc63b26444a8154da21e65d5f6b
# 0f380999106d476eae77a3f78ab9bd69
#: ../../usage.rst:505 ../../usage.rst:543 ../../usage.rst:605
#: ../../usage.rst:639 ../../usage.rst:700 ../../usage.rst:734
msgid "rawusage – A number representing the actual usage in hours"
msgstr "rawusage - Un nombre représentant l'utilisation actuelle en heures"

# e398aeba3cd0401992be1f2f12e5fc91
# e9e71b3111f84185baca323877a352fd
# 28490f43f8cd44f4bf26a2abb77429ed
#: ../../usage.rst:507 ../../usage.rst:708 ../../usage.rst:710
msgid "virtualMachineId – The ID of the virtual machine"
msgstr "virtualMachineId - L'ID de la machine virtuelle"

# adce21eabe0243be8c394e06dd5f7790
#: ../../usage.rst:509
msgid "name – The name of the virtual machine"
msgstr "name - Le nom de la machine virtuelle"

# 6b520c414595424cad27b0ae57527c1f
#: ../../usage.rst:511
msgid "offeringid – The ID of the service offering"
msgstr "offeringid -L'ID de l'offre de service"

# 9329a1f52e57454a9b515f46ce1e110c
#: ../../usage.rst:513
msgid ""
"templateid – The ID of the template or the ID of the parent template. The "
"parent template value is present when the current template was created from "
"a volume."
msgstr ""
"templateid - L'ID du modèle ou l'ID du modèle parent. La valeur du modèle "
"parent est présente lorsque la valeur courante du modèle a été créée depuis "
"un volume."

# d061eac093024ebb867ea323cb34bbc0
#: ../../usage.rst:517
msgid "usageid – Virtual machine"
msgstr "usageid - Machine virtuelle"

# 047ce224b91448ba964e79cc572efd1e
# db530f7238e94cb295d4cf30edceb4bc
#: ../../usage.rst:519 ../../usage.rst:611
msgid "type – Hypervisor"
msgstr "type - Hyperviseur"

# 13784faf965d4cae937aa6cdbbb601b3
# f723716e1445424cbc729bcae6910bae
# 193cb9ce321c4844bfc67c7421b46b78
# 3362120577564331af89079c96e60819
# 48e9160ce71b475d961c452d6984a6fc
# ed62c302bb274df094275fbf56674a91
#: ../../usage.rst:521 ../../usage.rst:549 ../../usage.rst:617
#: ../../usage.rst:650 ../../usage.rst:712 ../../usage.rst:740
msgid ""
"startdate, enddate – The range of time for which the usage is aggregated; "
"see Dates in the Usage Record"
msgstr ""
"startdate, enddate - L'intervalle de temps pour lequel l'utilisation est "
"agrégée : voir Dates dans un enregistrement Usage"

# eedaa3906dfd445e8bccefccc0c58cf6
#: ../../usage.rst:526
msgid "Network Usage Record Format"
msgstr "Format d'un enregistrement Usage du Réseau"

# a62195cc17e14143a58822cf0c485c0e
#: ../../usage.rst:528
msgid ""
"For network usage (bytes sent/received), the following fields exist in a "
"usage record."
msgstr ""
"Pour une utilisation du réseau (bytes envoyés/reçus), les champs suivants "
"existent dans un enregistrement usage."

# e2aa41ae9fda438280903d7de43e9fa7
#: ../../usage.rst:545
msgid "usageid – Device ID (virtual router ID or external device ID)"
msgstr ""
"usageid - ID du périphérique (ID du routeur virtuel ou ID du périphérique "
"externe)"

# cba1335aecd94359b17f04495d757350
#: ../../usage.rst:547
msgid "type – Device type (domain router, external load balancer, etc.)"
msgstr ""
"type - Type de périphérique (routeur de domaine, répartiteur de charge "
"externe, etc.)"

# f60aa591df79401691c6f36e9a9372cd
#: ../../usage.rst:554
msgid "IP Address Usage Record Format"
msgstr "Format d'un enregistrement Usage d'une Adresse IP"

# 8c83a518ebf94bda95be14bed415fbdd
#: ../../usage.rst:556
msgid "For IP address usage the following fields exist in a usage record."
msgstr ""
"Pour une utilisation d'adresse IP, les champs suivants existe dans un "
"enregistrement usage."

# 872facde9d324938a2dc358b6f91d3d6
# a38435a4207846d386ed6690dbeb757c
#: ../../usage.rst:558 ../../usage.rst:657
msgid "account - name of the account"
msgstr "account - nom du compte"

# c2361416c29c4fbd838cca88df7fce39
# bc06c74f16144181bca49330654a8470
#: ../../usage.rst:560 ../../usage.rst:659
msgid "accountid - ID of the account"
msgstr "accountid - L'ID du compte"

# 7ad667e8f90242c5b4cacb1421dc53a2
# e6e2d964ef1a4c8b94bc42f08beea530
#: ../../usage.rst:562 ../../usage.rst:661
msgid "domainid - ID of the domain in which this account resides"
msgstr "domainid - L'ID du domaine dans lequel ce compte existe"

# c05809fe04764a479c42fe337b8f32a7
# 051704b34aa84fecb879697aa4461b9c
#: ../../usage.rst:564 ../../usage.rst:663
msgid "zoneid - Zone where the usage occurred"
msgstr "zoneid - La zone où l'utilisation a eu lieu"

# ef2388373bf042c79862477f5068f84f
# ac7162ddbf9b4f07a70378f7cb4f1376
#: ../../usage.rst:566 ../../usage.rst:665
msgid "description - A string describing what the usage record is tracking"
msgstr ""
"description - Une chaîne décrivant ce que l'enregistrement usage a analysé"

# 680a2939f1ab4cd0b4c7d7ba19346be0
#: ../../usage.rst:568
msgid ""
"usage - String representation of the usage, including the units of usage"
msgstr ""
"usage - Une chaîne représentant l'utilisation, incluant les unités de "
"l'utilisation"

# 552772e8c5f745518dc6484ef776e37b
# 8b658740424143e0804a450732cc90d5
# 79adc7a2a02248f8a0ee7771272a5624
#: ../../usage.rst:571 ../../usage.rst:670 ../../usage.rst:676
msgid "usagetype - A number representing the usage type (see Usage Types)"
msgstr ""
"usagetype - Un nombre représentant le type d'utilisation (voir Types d'Usage)"

# 565c646fcbed4427bf835e888529e76c
# af9345ffb0554f0eb0ad166c00406ea8
#: ../../usage.rst:573 ../../usage.rst:672
msgid "rawusage - A number representing the actual usage in hours"
msgstr "rawusage - Un nombre représentant l'utilisation actuelle en heures"

# 1ce3b40124484eefb27601e1907f939a
#: ../../usage.rst:575
msgid "usageid - IP address ID"
msgstr "usageid - ID de l'adresse IP"

# abfd139b052e4864afc695aba432783c
# a5cbc24cefb54a2996cf860cf2b1e75c
#: ../../usage.rst:577 ../../usage.rst:678
msgid ""
"startdate, enddate - The range of time for which the usage is aggregated; "
"see Dates in the Usage Record"
msgstr ""
"startdate, enddate - L'intervalle de temps pour lequel l'utilisation est "
"agrégée : voir Dates dans un enregistrement Usage"

# 7631780188e9474f8a1041b55d0ac20b
#: ../../usage.rst:580
msgid "issourcenat - Whether source NAT is enabled for the IP address"
msgstr "issourcenat - si le NAT source est activé pour l'adresse IP"

# 85f7d46f4fd5425cad1b87a37ec9ecf7
#: ../../usage.rst:582
msgid "iselastic - True if the IP address is elastic."
msgstr "iselastic - True si l'adresse IP est élastique"

# fd56a0a694804aa884be5fdefcfd3320
#: ../../usage.rst:586
msgid "Disk Volume Usage Record Format"
msgstr "Format d'un enregistrement Usage d'un Volume de Disque"

# dc66789696474008bbbc81eb24bec679
#: ../../usage.rst:588
msgid "For disk volumes, the following fields exist in a usage record."
msgstr ""
"Pour les volumes de disques, les champs suivants existent dans un "
"enregistrement usage."

# 4a12e3d8b23f40078657c836a946af1e
# d33548fd1fe240509c2c86f75c6bd701
# 38cb41b0bdc94d2e94ee5c3a6492e281
# 95202bd84a0e4a61991829c07c2c0720
#: ../../usage.rst:600 ../../usage.rst:634 ../../usage.rst:695
#: ../../usage.rst:729
msgid ""
"usage – String representation of the usage, including the units of usage (e."
"g. 'Hrs' for hours)"
msgstr ""
"usage - Une chaîne représentant l'utilisation, incluant les unités de "
"l'utilisation (par exemple 'Hrs' pour les heures)"

# c2f1554e72084e81892a0b538a19c7f8
#: ../../usage.rst:607
msgid "usageid – The volume ID"
msgstr "usageid - L'ID du volume"

# b7525535c67b49b98b4d922f07293bcb
# c781024621454a418e050f006e91921c
#: ../../usage.rst:609 ../../usage.rst:643
msgid "offeringid – The ID of the disk offering"
msgstr "offeringid - L'ID de l'offre de disque"

# 543db09e00804cd787e00be0867a5c6e
#: ../../usage.rst:613
msgid "templateid – ROOT template ID"
msgstr "templateid - ID du modèle ROOT"

# f2ab3e39617449bf8a68f1fbc0eb4fbe
#: ../../usage.rst:615
msgid "size – The amount of storage allocated"
msgstr "size - La quantité de stockage allouée"

# e54797d2c60c4441ac584d3abb0f9c77
#: ../../usage.rst:622
msgid "Template, ISO, and Snapshot Usage Record Format"
msgstr "Format d'un enregistrement Usage d'un modèle, ISO et instantané"

# 60eda22a3c7d4756847f64ff53b961e2
#: ../../usage.rst:641
msgid "usageid – The ID of the the template, ISO, or snapshot"
msgstr "usageid - L'ID du modèle, ISO ou instantané"

# 3562063eefc04af28187703974e45228
#: ../../usage.rst:645
msgid ""
"templateid – – Included only for templates (usage type 7). Source template "
"ID."
msgstr ""
"templateid - Inclue uniquement pour les modèles (usage type 7). ID du modèle "
"source."

# 9fbfbc974f184b2983595a2d4fed5cdb
#: ../../usage.rst:648
msgid "size – Size of the template, ISO, or snapshot"
msgstr "size - La taille du modèle, ISO ou instantané"

# aa26900876304f758262788c79483c44
#: ../../usage.rst:655
msgid "Load Balancer Policy or Port Forwarding Rule Usage Record Format"
msgstr ""
"Format d'un enregistrement Usage d'une stratégie de répartition de charge ou "
"d'une règle de transfert de port"

# f493ad9446bd4b0d84e50c9937d2b21c
#: ../../usage.rst:667
msgid ""
"usage - String representation of the usage, including the units of usage (e."
"g. 'Hrs' for hours)"
msgstr ""
"usage - Une chaîne représentant l'utilisation, incluant les unités de "
"l'utilisation (par exemple 'Hrs' pour les heures)"

# 03d262a193f246749d1ed6f6df6d3930
#: ../../usage.rst:674
msgid "usageid - ID of the load balancer policy or port forwarding rule"
msgstr ""
"usageid - L'ID de la stratégie du répartiteur de charge ou de la règle de "
"transfert de port"

# b01513d3fd8e466ba943f21dd926c03a
#: ../../usage.rst:683
msgid "Network Offering Usage Record Format"
msgstr "Format d'un enregistrement Usage d'une offre de réseau"

# d5c5360548e6437882e13f383f854c51
#: ../../usage.rst:702
msgid "usageid – ID of the network offering"
msgstr "usageid - L'ID de l'offre réseau"

# 1dd0260b113b4149979baeec2b430e69
#: ../../usage.rst:706
msgid "offeringid – Network offering ID"
msgstr "offeringid - L'ID de l'offre réseau"

# 2e3b410e70064b95997310d4b2f2d6bb
#: ../../usage.rst:717
msgid "VPN User Usage Record Format"
msgstr "Format d'un enregistrement Usage d'un VPN"

# 78984789b8f74fcb9ae0dc8712b092fa
#: ../../usage.rst:736
msgid "usageid – VPN user ID"
msgstr "usageid - ID du VPN utilisateur"

# 371ab2afddac4c8ebe7b59df3a7e3150
#: ../../usage.rst:745
msgid "Usage Types"
msgstr "Types d'Usage"

# bb807347fed448728c3e17662b8b1ebc
#: ../../usage.rst:747
msgid "The following table shows all usage types."
msgstr "Le tableau suivant affiche tous les types d'usage."

# 9d81d10d8b5343f19edc1316cfbf4854
#: ../../usage.rst:750
msgid "Type ID"
msgstr "ID du type"

# e5f69db4f5e44d94804a6a1fa96b3da8
#: ../../usage.rst:750
msgid "Type Name"
msgstr "Nom du type"

# 78ead0d9336c42648a3ca740bc0c71c3
#: ../../usage.rst:752
msgid "1"
msgstr "1"

# e747e335348c4f96b8157b30a1f87074
#: ../../usage.rst:752
msgid "RUNNING\\_VM"
msgstr "RUNNING\\_VM"

# 477ac63f7f36460ea08116c949753044
#: ../../usage.rst:752
msgid ""
"Tracks the total running time of a VM per usage record period. If the VM is "
"upgraded during the usage period, you will get a separate Usage Record for "
"the new upgraded VM."
msgstr ""
"Surveille le temps de fonctionnement total d'une VP par période "
"d'enregistrement d'usage. Si la VM est mise à jour durant la période "
"d'usage, vous allez obtenir un enregistrement Usage séparé pour la nouvelle "
"VM mise à jour."

# 64af61ae9a154740bc59c51cf93b8e50
#: ../../usage.rst:762
msgid "2"
msgstr "2"

# 7e1e8fb7beaf45439e7683227a55abb7
#: ../../usage.rst:762
msgid "ALLOCATED\\_VM"
msgstr "ALLOCATED\\_VM"

# 12dcdffa3a2f4d5faaece0b8ee808625
#: ../../usage.rst:762
msgid ""
"Tracks the total time the VM has been created to the time when it has been "
"destroyed. This usage type is also useful in determining usage for specific "
"templates such as Windows-based templates."
msgstr ""
"Surveille le temps total allant de la création de la VM à sa destruction. Ce "
"type d'usage est aussi utile pour déterminer l'utilisation de modèle "
"spécifiques comme les modèles Windows."

# 56a5110004de419981e5f220ae4e8552
#: ../../usage.rst:774
msgid "3"
msgstr "3"

# 9300fc0a0c054c8cb8cf1c50a798ccfe
#: ../../usage.rst:774
msgid "IP\\_ADDRESS"
msgstr "IP\\_ADDRESS"

# bdd7930fce7d439cac6b82c99e189623
#: ../../usage.rst:774
msgid "Tracks the public IP address owned by the account."
msgstr "Surveille les adresses IP publiques appartenant au compte"

# 8f41c0480a214679a34ebff91433884a
#: ../../usage.rst:778
msgid "4"
msgstr "4"

# 3468bfe1926344ed8b778f78f298e356
#: ../../usage.rst:778
msgid "NETWORK\\_BYTES\\_SENT"
msgstr "NETWORK\\_BYTES\\_SENT"

# 4fc69e9acd00430db5d7bdd162d53a88
#: ../../usage.rst:778
msgid ""
"Tracks the total number of bytes sent by all the VMs for an account. Cloud."
"com does not currently track network traffic per VM."
msgstr ""
"Surveille le nombre total de bytes envoyés par toutes les VMs d'un compte. "
"Cloud.com ne surveille pas actuellement le trafic réseau par VM."

# 9c0a0d79a0ee491b99fc2f18847a9c29
#: ../../usage.rst:786
msgid "5"
msgstr "5"

# 8053534caf9a43cfbe6f344918e90568
#: ../../usage.rst:786
msgid "NETWORK\\_BYTES\\_RECEIVED"
msgstr "NETWORK\\_BYTES\\_RECEIVED"

# a09f77e6b1d540fdb4c9e398f8042f22
#: ../../usage.rst:786
msgid ""
"Tracks the total number of bytes received by all the VMs for an account. "
"Cloud.com does not currently track network traffic per VM."
msgstr ""
"Surveille le nombre total de bytes reçus par toutes les VMs d'un compte. "
"Cloud.com ne surveille pas actuellement le trafic réseau par VM."

# 5d8944a3cb7d444aa82efaa09053af2d
#: ../../usage.rst:795
msgid "6"
msgstr "6"

# bd9f4acea1a34fb5ada48e39c65e7781
#: ../../usage.rst:795
msgid "VOLUME"
msgstr "VOLUME"

# e39b0cb9d477433db943c1dfbeb90bb5
#: ../../usage.rst:795
msgid ""
"Tracks the total time a disk volume has been created to the time when it has "
"been destroyed."
msgstr ""
"Surveille le temps total depuis la création d'un volume disque jusqu'à sa "
"destruction."

# fb74bed3e64f40f4b1b99833cdfb858b
#: ../../usage.rst:801
msgid "7"
msgstr "7"

# 8dbe0a482b8740bcaba3e70100493143
#: ../../usage.rst:801
msgid "TEMPLATE"
msgstr "TEMPLATE"

# e01ba5c82149495a87253a75e8f1ee5c
#: ../../usage.rst:801
msgid ""
"Tracks the total time a template (either created from a snapshot or uploaded "
"to the cloud) has been created to the time it has been destroyed. The size "
"of the template is also returned."
msgstr ""
"Surveille le temps total depuis la création d'un modèle (qu'il soit créé "
"depuis un instantané ou téléchargé vers le cloud) jusqu'à sa destruction. La "
"taille du modèle est également renvoyée."

# ea46b251003a4703b4db0e8e9ca83a4a
#: ../../usage.rst:812
msgid "8"
msgstr "8"

# f349c4660c004c8f81133723f6ac350c
#: ../../usage.rst:812
msgid "ISO"
msgstr "ISO"

# 7c32db79c4a944e294459472e67ef9a5
#: ../../usage.rst:812
msgid ""
"Tracks the total time an ISO has been uploaded to the time it has been "
"removed from the cloud. The size of the ISO is also returned."
msgstr ""
"Surveille le temps total depuis le moment où une ISO a été téléchargée "
"jusqu'au moment de son retrait du cloud. La taille de l'ISO est également "
"renvoyée?"

# b0dacdf41a1c4d989f2f39ef17257ecc
#: ../../usage.rst:820
msgid "9"
msgstr "9"

# 1405b90e80e34b8381a814756e95d768
#: ../../usage.rst:820
msgid "SNAPSHOT"
msgstr "SNAPSHOT"

# e5fa93c081164375acc3fd52345b1187
#: ../../usage.rst:820
msgid ""
"Tracks the total time from when a snapshot has been created to the time it "
"have been destroyed."
msgstr ""
"Surveille le temps total depuis la création d'un instantané jusqu'à sa "
"destruction."

# 4f2594d3f1f24d2c9169fcfc149a62e9
#: ../../usage.rst:826
msgid "11"
msgstr "11"

# d37ae3d5c27447e4a1078346d90a373f
#: ../../usage.rst:826
msgid "LOAD\\_BALANCER\\_POLICY"
msgstr "LOAD\\_BALANCER\\_POLICY"

# 024b703ada76417194235a1d10290b53
#: ../../usage.rst:826
msgid ""
"Tracks the total time a load balancer policy has been created to the time it "
"has been removed. Cloud.com does not track whether a VM has been assigned to "
"a policy."
msgstr ""
"Surveille le temps total depuis la création d'une stratégie de répartition "
"de charge jusqu'à sa destruction. Cloud.com ne surveille pas si une VM a été "
"assignée à la stratégie."

# 6ebb8ff8421347ba8d0f37e13f9738a1
#: ../../usage.rst:836
msgid "12"
msgstr "12"

# 4f5ff172a156494c910377d3273476ca
#: ../../usage.rst:836
msgid "PORT\\_FORWARDING\\_RULE"
msgstr "PORT\\_FORWARDING\\_RULE"

# 00141f10a4c040fd9c1981d4c44a5d6b
#: ../../usage.rst:836
msgid ""
"Tracks the time from when a port forwarding rule was created until the time "
"it was removed."
msgstr ""
"Surveille le temps depuis la création d'une règle de transfert de port "
"jusqu'à sa destruction."

# bc4b98fcdabc461a8ede71b5285838b0
#: ../../usage.rst:842
msgid "13"
msgstr "13"

# 6123d10ab7004c9b943a532e894e2e20
#: ../../usage.rst:842
msgid "NETWORK\\_OFFERING"
msgstr "NETWORK\\_OFFERING"

# ec1c84a50ae5471ba6539ff923b81caa
#: ../../usage.rst:842
msgid ""
"The time from when a network offering was assigned to a VM until it is "
"removed."
msgstr ""
"Le temps depuis lequel une offre réseau a été assignée à une VM jusqu'à ce "
"quelle soit supprimée."

# 04d219bbd49540e7a4d433b51cb42d2b
#: ../../usage.rst:847
msgid "14"
msgstr "14"

# d70576ee50674251a6ee58e7a072795a
#: ../../usage.rst:847
msgid "VPN\\_USERS"
msgstr "VPN\\_USERS"

# 7031f45ce0894436b7ab77616de3681f
#: ../../usage.rst:847
msgid "The time from when a VPN user is created until it is removed."
msgstr ""
"Le temps depuis lequel un VPN utilisateur est créé jusqu'à ce qu'il soit "
"supprimé."

# da745a0b82b6445e998e6d31a0f107b7
#: ../../usage.rst:854
msgid "Example response from listUsageRecords"
msgstr "Exemple de réponse depuis listUsageRecords"

# 73da4de663384d6ba278d517dc44eeef
#: ../../usage.rst:856
msgid ""
"All CloudStack API requests are submitted in the form of a HTTP GET/POST "
"with an associated command and any parameters. A request is composed of the "
"following whether in HTTP or HTTPS:"
msgstr ""
"Toutes les requêtes d'API CloudStack sont soumises sous la forme d'un GET/"
"POST HTTP avec une commande associée et tous les paramètres. Une requête est "
"composée de ce qui suit que ce soit en HTTP ou HTTPS :"

# b1267ab3f74744b8966d6c8dce38d38a
#: ../../usage.rst:888
msgid "Dates in the Usage Record"
msgstr "Les dates dans les enregistrements d'Usage"

# f9638c3a7a0c4939922d9b03330f3a5a
#: ../../usage.rst:890
msgid ""
"Usage records include a start date and an end date. These dates define the "
"period of time for which the raw usage number was calculated. If daily "
"aggregation is used, the start date is midnight on the day in question and "
"the end date is 23:59:59 on the day in question (with one exception; see "
"below). A virtual machine could have been deployed at noon on that day, "
"stopped at 6pm on that day, then started up again at 11pm. When usage is "
"calculated on that day, there will be 7 hours of running VM usage (usage "
"type 1) and 12 hours of allocated VM usage (usage type 2). If the same "
"virtual machine runs for the entire next day, there will 24 hours of both "
"running VM usage (type 1) and allocated VM usage (type 2)."
msgstr ""
"Les enregistrements Usage incluent une date de début et une date de fin. Ces "
"dates définissent la période de temps pour laquelle le nombre brut "
"d'utilisation a été calculé. Si une agrégation journalière est utilisée, la "
"date de début est à minuit du jour en question et la date de fin est "
"23:59:59 de la date du jour en question (avec une exception : voir ci-"
"dessous). Une machine virtuelle peut avoir été déployée à midi le jour même, "
"stoppée à 18h00 puis redémarrée de nouveau à 23h00. Lorsque l'utilisation "
"sera calculée pour ce jour, il y aura 7 heures d'utilisation d'une VM en "
"fonctionnement (usage type 1) et 12 heures d'utilisation d'une VM allouée "
"(usage type 2). Si la même machine virtuelle fonctionne le jour entier "
"suivant, il y aura à la fois 24 heures d'utilisation de VM en fonctionnement "
"(type 1) et d'utilisation de VM allouée (type 2)."

# aa505995145d4de796ce7a54c69e8c04
#: ../../usage.rst:902
msgid ""
"Note: The start date is not the time a virtual machine was started, and the "
"end date is not the time when a virtual machine was stopped. The start and "
"end dates give the time range within which usage was calculated."
msgstr ""

# ffee51b332cd4e589de90c6abf2b8476
#: ../../usage.rst:907
msgid ""
"For network usage, the start date and end date again define the range in "
"which the number of bytes transferred was calculated. If a user downloads 10 "
"MB and uploads 1 MB in one day, there will be two records, one showing the "
"10 megabytes received and one showing the 1 megabyte sent."
msgstr ""

# de58fb769cc74ed3a62616b4158bd9e8
#: ../../usage.rst:913
msgid ""
"There is one case where the start date and end date do not correspond to "
"midnight and 11:59:59pm when daily aggregation is used. This occurs only for "
"network usage records. When the usage server has more than one day's worth "
"of unprocessed data, the old data will be included in the aggregation "
"period. The start date in the usage record will show the date and time of "
"the earliest event. For other types of usage, such as IP addresses and VMs, "
"the old unprocessed data is not included in daily aggregation."
msgstr ""
