Le 11/09/2011 11:39, Stéphane Blondon a écrit : > Le 11 septembre 2011 10:35, Cédric Boutillier > <cedric.boutillier@gmail.com> a écrit : >> On Sat, Sep 10, 2011 at 06:11:09PM -0400, David Prévot wrote: >> Voici quelques propositions en pièce jointe. Intégrées, merci. > Ajout de majuscules en début de phrases. Mon diff est complémentaire > de celui de Cédric. > Peut-être y-avait-il une bonne raison pour ne pas mettre les majuscules ? Oui, ce ne sont pas des phrases mais des éléments de liste ou énumération en fait, à voir en HTML [1][2] ou en pages 10 (18e page) et 41 (49e page) du document PDF [3]. Les fichiers PO complets à jours sont aussi en ligne [4], le différentiel joint est celui des dernières modifications, y compris celles de Cédric, avec un peu plus de contexte que la dernière fois. Par avance merci pour vos relectures. 1 : http://people.debian.org/~taffit/dev-ref/developer-duties.html#returning 2 : http://people.debian.org/~taffit/dev-ref/pkgs.html#non-free-buildd 3 : http://people.debian.org/~taffit/dev-ref/developers-reference.pdf 4 : http://anonscm.debian.org/viewvc/ddp/manuals/trunk/developers-reference/po4a/fr/ Amicalement David
Index: po4a/fr/pkgs.po
===================================================================
--- po4a/fr/pkgs.po (révision 8922)
+++ po4a/fr/pkgs.po (copie de travail)
@@ -1,27 +1,27 @@
# French po4a translation of developers-reference: pkgs
-# Copyright (C) 1999-2006, 2010 Debian French l10n team <debian-l10n-french@lists.debian.org>
+# Copyright (C) 1999-2006, 2010, 2011 Debian French l10n team <debian-l10n-french@lists.debian.org>
# This file is distributed under the same license as the developers-reference package.
#
# Antoine Hulin <antoine@origan.fdn.fr>, 1999-2002.
# Frédéric Bothamy <frederic.bothamy@free.fr>, 2003-2006.
# David Prévot <david@tilapin.org>, 2010, 2011.
msgid ""
msgstr ""
"Project-Id-Version: developers-reference 3.4.3\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-09-10 14:02-0400\n"
-"PO-Revision-Date: 2011-04-20 22:48-0400\n"
+"POT-Creation-Date: 2011-09-10 17:46-0400\n"
+"PO-Revision-Date: 2011-09-10 17:44-0400\n"
"Last-Translator: David Prévot <david@tilapin.org>\n"
"Language-Team: French <debian-l10n-french@lists.debian.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
-"X-Generator: Lokalize 1.0\n"
+"X-Generator: Lokalize 1.2\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
# type: Content of: <chapter><title>
#. type: Content of: <chapter><title>
#: pkgs.dbk:7
msgid "Managing Packages"
msgstr "Gestion des paquets"
@@ -1798,43 +1798,38 @@
"aider les responsables ayant des problèmes de sécurité ou pour les corriger "
"elle-même, pour envoyer les annonces de sécurité et pour maintenir "
"<literal>security.debian.org</literal>."
# type: Content of: <chapter><section><section><para>
#. type: Content of: <chapter><section><section><para>
#: pkgs.dbk:842
-#, fuzzy
-#| msgid ""
-#| "When you become aware of a security-related bug in a Debian package, "
-#| "whether or not you are the maintainer, collect pertinent information "
-#| "about the problem, and promptly contact the security team at &email-"
-#| "security-team; as soon as possible. <emphasis role=\"strong\">DO NOT "
-#| "UPLOAD</emphasis> any packages for <literal>stable</literal> without "
-#| "contacting the team. Useful information includes, for example:"
msgid ""
"When you become aware of a security-related bug in a Debian package, whether "
"or not you are the maintainer, collect pertinent information about the "
-"problem, and promptly contact the security team, preferedly by filing a "
+"problem, and promptly contact the security team, preferably by filing a "
"ticket in their Request Tracker. See <ulink url=\"http://wiki.debian.org/rt."
-"debian.org#SecurityTeam\"></ulink>. Alternatively you may email &email-"
+"debian.org#Security_Team\"></ulink>. Alternatively you may email &email-"
"security-team;. <emphasis role=\"strong\">DO NOT UPLOAD</emphasis> any "
"packages for <literal>stable</literal> without contacting the team. Useful "
"information includes, for example:"
msgstr ""
"Si vous prenez connaissance d'un bogue lié à un problème de sécurité sur un "
"paquet Debian, que vous soyez ou non le responsable, regroupez les "
"informations pertinentes sur le problème et contactez rapidement l'équipe de "
-"sécurité à &email-security-team;. <emphasis role=\"strong\">n'envoyez pas</"
-"emphasis> de paquet pour <literal>stable</literal> sans contacter l'équipe "
-"de sécurité. Les informations utiles comprennent, par exemple :"
+"sécurité, de préférence en remplir un ticket sur leur système de suivi de "
+"requêtes. Consultez <ulink url=\"http://wiki.debian.org/rt.debian."
+"org#Security_Team\"></ulink>. Sinon, vous pourriez envoyer un courrier à "
+"&email-security-team;. <emphasis role=\"strong\">n'envoyez pas</emphasis> de "
+"paquet pour <literal>stable</literal> sans contacter l'équipe de sécurité. "
+"Les informations utiles comprennent, par exemple :"
#. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
#: pkgs.dbk:855
msgid "Whether or not the bug is already public."
-msgstr ""
+msgstr "si le bogue a déjà été rendu public on non ;"
# type: Content of: <chapter><section><section><itemizedlist><listitem><para>
#. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
#: pkgs.dbk:860
msgid ""
"Which versions of the package are known to be affected by the bug. Check "
"each version that is present in a supported Debian release, as well as "
@@ -2585,17 +2580,17 @@
"(« <literal>Debian Policy Manual</literal> »)</ulink> pour savoir dans "
"quelle section un paquet doit être classé."
#. type: Content of: <chapter><section><section><para>
#: pkgs.dbk:1248
msgid ""
"Sometimes a package will change its section. For instance, a package from "
-"the `non-free' section might be GPL'd in a later version, in which case the "
-"package should be moved to `main' or `contrib'.<placeholder type=\"footnote"
-"\" id=\"0\"/>"
+"the <literal>non-free</literal> section might be GPL'd in a later version, "
+"in which case the package should be moved to `main' or `contrib'."
+"<placeholder type=\"footnote\" id=\"0\"/>"
msgstr ""
"Il arrive parfois qu'un paquet change de section. Un paquet de la section "
"<literal>non-free</literal> pourrait, par exemple, être distribuée sous "
"licence GNU GPL dans une nouvelle version ; dans ce cas, le paquet devrait "
"être déplacé vers la section <literal>main</literal> ou <literal>contrib</"
"literal>.<placeholder type=\"footnote\" id=\"0\"/>"
@@ -3909,44 +3904,55 @@
"pas. Si par le passé, certains paquets binaires ont été envoyés pour des "
"architectures non gérées, demandez leur suppression en remplissant un bogue "
"sur <systemitem role=\"package\">ftp.debian.org</systemitem>."
#. type: Content of: <chapter><section><section><title>
#: pkgs.dbk:1875
msgid "Marking non-free packages as auto-buildable"
-msgstr ""
+msgstr "Paquets non libres pouvant être automatiquement construits"
#. type: Content of: <chapter><section><section><para>
#: pkgs.dbk:1877
msgid ""
-"By default packages from non-free are not built by the autobuilder network "
-"(mostly because the license of the packages could disapprove). To enable a "
-"package to be build you need to perform the following steps:"
-msgstr ""
+"By default packages from the <literal>non-free</literal> section are not "
+"built by the autobuilder network (mostly because the license of the packages "
+"could disapprove). To enable a package to be build you need to perform the "
+"following steps:"
+msgstr ""
+"Par défaut, les paquet de la section <literal>non-free</literal> ne sont pas "
+"construits sur le réseau d'empaqueteurs automatiques (surtout parce que la "
+"licence des paquets pourrait l'interdire). Pour permettre à un paquet d'être "
+"construit, vous devez suivre les étapes suivantes :"
#. type: Content of: <chapter><section><section><orderedlist><listitem><para>
#: pkgs.dbk:1885
msgid ""
"Check whether it is legally allowed and technically possible to auto-build "
-"the package ;"
+"the package;"
msgstr ""
+"vérifier s'il est légalement permis et techniquement possible de construire "
+"automatiquement le paquet ;"
#. type: Content of: <chapter><section><section><orderedlist><listitem><para>
#: pkgs.dbk:1891
msgid ""
"Add <literal>XS-Autobuild: yes</literal> into the header part of "
-"<filename>debian/control</filename> ;"
+"<filename>debian/control</filename>;"
msgstr ""
+"ajouter <literal>XS-Autobuild: yes</literal> dans la partie en-tête de "
+"<filename>debian/control</filename>Â ;"
#. type: Content of: <chapter><section><section><orderedlist><listitem><para>
#: pkgs.dbk:1897
msgid ""
"Send an email to &email-nonfree-release; and explain why the package can "
"legitimately and technically be auto-built."
msgstr ""
+"envoyer un courrier à &email-nonfree-release; et expliquer pourquoi le "
+"paquet peut légalement et automatiquement être construit."
# type: Content of: <chapter><section><title>
#. type: Content of: <chapter><section><title>
#: pkgs.dbk:1906
msgid "Non-Maintainer Uploads (NMUs)"
msgstr "Mises à jour indépendantes (<literal>NMU</literal>)"
@@ -4113,14 +4119,17 @@
#. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
#: pkgs.dbk:1987
msgid ""
"Upload fixing only release-critical bugs older than 7 days, with no "
"maintainer activity on the bug for 7 days and no indication that a fix is in "
"progress: 0 days"
msgstr ""
+"envoi corrigeant seulement un bogue critique pour la publication ouvert il y "
+"a plus de sept jours, sans réaction du responsable sur le bogue pendant sept "
+"jours, et sans indication qu'un correctif est en cours : zéro jour ;"
# type: Content of: <chapter><section><section><itemizedlist><listitem><para>
#. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
#: pkgs.dbk:1992
msgid "Upload fixing only release-critical bugs older than 7 days: 2 days"
msgstr ""
"envoi corrigeant seulement un bogue critique pour la publication ouvert il y "
Index: po4a/fr/best-pkging-practices.po
===================================================================
--- po4a/fr/best-pkging-practices.po (révision 8922)
+++ po4a/fr/best-pkging-practices.po (copie de travail)
@@ -1,28 +1,28 @@
# French po4a translation of developers-reference: best-pkging-practices
-# Copyright (C) 1999-2006, 2008-2010 Debian French l10n team <debian-l10n-french@lists.debian.org>
+# Copyright (C) 1999-2006, 2008-2011 Debian French l10n team <debian-l10n-french@lists.debian.org>
# This file is distributed under the same license as the developers-reference package.
#
# Antoine Hulin <antoine@origan.fdn.fr>, 1999-2002.
# Frédéric Bothamy <frederic.bothamy@free.fr>, 2003-2006.
# Christian Perrier <bubulle@debian.org>, 2008, 2009.
-# David Prévot <david@tilapin.org>, 2010.
+# David Prévot <david@tilapin.org>, 2010, 2011.
msgid ""
msgstr ""
"Project-Id-Version: developers-reference 3.4.3\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-09-10 14:02-0400\n"
-"PO-Revision-Date: 2010-07-22 18:05-0400\n"
+"POT-Creation-Date: 2011-09-10 17:50-0400\n"
+"PO-Revision-Date: 2011-09-10 16:49-0400\n"
"Last-Translator: David Prévot <david@tilapin.org>\n"
"Language-Team: French <debian-l10n-french@lists.debian.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Lokalize 1.0\n"
+"X-Generator: Lokalize 1.2\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Poedit-Language: French\n"
# type: Content of: <chapter><title>
#. type: Content of: <chapter><title>
#: best-pkging-practices.dbk:7
msgid "Best Packaging Practices"
@@ -3560,14 +3560,17 @@
#. type: Content of: <chapter><section><section><para>
#: best-pkging-practices.dbk:1674
msgid ""
"Also, it is recommended to adjust its section to <literal>oldlibs</literal> "
"and its priority to <literal>extra</literal> in order to ease "
"<command>deborphan</command>'s job."
msgstr ""
+"De même, vous devriez configurer sa section en <literal>oldlibs</literal> et "
+"sa priorité en <literal>extra</literal> afin de faciliter le travail de "
+"<command>deborphan</command>."
# type: Content of: <chapter><section><section><title>
#. type: Content of: <chapter><section><section><title>
#: best-pkging-practices.dbk:1683
msgid "Best practices for <filename>.orig.tar.{gz,bz2,lzma}</filename> files"
msgstr ""
"Meilleures pratiques pour les fichiers <filename>.orig.tar.{gz,bz2,lzma}</"
@@ -4051,39 +4054,58 @@
#, no-wrap
msgid "Depends: libfoo (= ${binary:Version})\n"
msgstr "Depends: libtruc (= ${binary:Version})\n"
# type: Content of: <chapter><section><section><title>
#. type: Content of: <chapter><section><section><title>
#: best-pkging-practices.dbk:1908
-#, fuzzy
-#| msgid "Best practices for debug packages"
msgid "Best practices for meta-packages"
-msgstr "Meilleures pratiques pour les paquets de débogage"
+msgstr "Meilleures pratiques pour les métapaquets"
#. type: Content of: <chapter><section><section><para>
#: best-pkging-practices.dbk:1910
msgid ""
"A meta-package is a mostly empty package that makes it easy to install a "
"coherent set of packages that can evolve over time. It achieves this by "
"depending on all the packages of the set. Thanks to the power of APT, the "
"meta-package maintainer can adjust the dependencies and the user's system "
"will automatically get the supplementary packages. The dropped packages that "
-"were automaticaly installed will be also be marked as removal candidates "
+"were automatically installed will be also be marked as removal candidates "
"(and are even automatically removed by <command>aptitude</command>). "
"<systemitem role=\"package\">gnome</systemitem> and <systemitem role="
"\"package\">linux-image-amd64</systemitem> are two examples of meta-packages "
"(built by the source packages <systemitem role=\"package\">meta-gnome2</"
-"systemitem> and <systemitem role=\"package\">linux-latest</systemitem>)"
+"systemitem> and <systemitem role=\"package\">linux-latest</systemitem>)."
msgstr ""
+"Un métapaquet est un paquet principalement vide qui facilite l'installation "
+"d'un ensemble de paquets cohérents qui peut évoluer avec le temps. Il "
+"atteint cet objectif en dépendant de tous les paquets de l'ensemble. Grâce à "
+"la puissance d'APT, le responsable du métapaquet peut configurer les "
+"dépendances et le système de l'utilisateur obtiendra automatiquement les "
+"paquets supplémentaires. Les paquets devenus inutiles qui avaient été "
+"installés automatiquement seront aussi marqués comme candidats à la "
+"suppression (et même automatiquement supprimés par <command>aptitude</"
+"command>). Par exemple <systemitem role=\"package\">gnome</systemitem> et "
+"<systemitem role=\"package\">linux-image-amd64</systemitem> sont deux "
+"métapaquets (construits par les paquets source <systemitem role=\"package"
+"\">meta-gnome2</systemitem> et <systemitem role=\"package\">linux-latest</"
+"systemitem>)."
#. type: Content of: <chapter><section><section><para>
#: best-pkging-practices.dbk:1924
msgid ""
"The long description of the meta-package must clearly document its purpose "
"so that the user knows what he will lose if he removes the package. Being "
"explicit about the consequences is recommended. This is particularly "
"important for meta-packages which are installed during initial installation "
"and that have not been explicitly installed by the user. Those tend to be "
"important to ensure smooth system upgrades and the user should be "
"discouraged from uninstalling them to avoid potential breakages."
msgstr ""
+"La description longue du métapaquet doit clairement expliquer son objectif, "
+"afin d'informer l'utilisateur sur ce qu'il perdra s'il supprime le paquet. Vous "
+"devriez être explicite sur les conséquences. C'est tout particulièrement "
+"important pour les métapaquets installés lors de l'installation initiale qui "
+"n'ont pas été installés explicitement par l'utilisateur. Ils ont tendance à "
+"être importants pour garantir les mises à niveau du système et la "
+"description devrait essayer de dissuader l'utilisateur de les désinstaller "
+"pour éviter d'éventuels dommages."
Index: po4a/fr/developer-duties.po
===================================================================
--- po4a/fr/developer-duties.po (révision 8922)
+++ po4a/fr/developer-duties.po (copie de travail)
@@ -1,27 +1,27 @@
# French po4a translation of developers-reference: developer-duties
-# Copyright (C) 1999-2006, 2010 Debian French l10n team <debian-l10n-french@lists.debian.org>
+# Copyright (C) 1999-2006, 2010, 2011 Debian French l10n team <debian-l10n-french@lists.debian.org>
# This file is distributed under the same license as the developers-reference package.
#
# Antoine Hulin <antoine@origan.fdn.fr>, 1999-2002.
# Frédéric Bothamy <frederic.bothamy@free.fr>, 2003-2006.
# David Prévot <david@tilapin.org>, 2010, 2011.
msgid ""
msgstr ""
"Project-Id-Version: developers-reference 3.4.3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-09-10 14:02-0400\n"
-"PO-Revision-Date: 2011-03-19 09:35-0400\n"
+"PO-Revision-Date: 2011-09-10 17:05-0400\n"
"Last-Translator: David Prévot <david@tilapin.org>\n"
"Language-Team: French <debian-l10n-french@lists.debian.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
-"X-Generator: Lokalize 1.0\n"
+"X-Generator: Lokalize 1.2\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
# type: Content of: <chapter><title>
#. type: Content of: <chapter><title>
#: developer-duties.dbk:7
msgid "Debian Developer's Duties"
msgstr "Devoirs du développeur Debian"
@@ -631,54 +631,69 @@
#. type: Content of: <chapter><section><section><para>
#: developer-duties.dbk:275
msgid ""
"It is important that the above process is followed, because finding inactive "
"developers and orphaning their packages takes significant time and effort."
msgstr ""
+"Le processus précédemment décrit devrait absolument être suivi, car trouver "
+"les développeurs inactifs et abandonner leurs paquets est une tâche longue et "
+"fastidieuse."
#. type: Content of: <chapter><section><section><title>
#: developer-duties.dbk:281
msgid "Returning after retirement"
-msgstr ""
+msgstr "Revenir après démission"
#. type: Content of: <chapter><section><section><para>
#: developer-duties.dbk:283
msgid ""
"A retired developer's account is marked as \"emeritus\" when the process in "
"<xref linkend=\"s3.7\"/> is followed, and \"disabled\" otherwise. Retired "
"developers with an \"emeritus\" account can get their account re-activated "
"as follows:"
msgstr ""
+"Le compte d'un développeur est marqué « emeritus » (honoraire) quand le "
+"processus précédent en <xref linkend=\"s3.7\"/> est suivi, et « disabled » "
+"(désactivé) sinon. Un développeur ayant démissionné avec un compte "
+"« emeritus » peut réactiver son compte de la façon suivante :"
#. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
#: developer-duties.dbk:292
msgid "Contact &email-debian-account-manager;."
-msgstr ""
+msgstr "contacter &email-debian-account-manager;Â ;"
#. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
#: developer-duties.dbk:297
msgid ""
"Go through a shortened NM process (to ensure that the returning developer "
"still knows important parts of P&P and T&S)."
msgstr ""
+"passer le processus raccourci de nouveau responsable (pour s'assurer qu'il "
+"connaît toujours les parties importantes de « philosophie et procédures » et "
+"« tâches et compétences ») ;"
#. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
#: developer-duties.dbk:303
msgid ""
"Prove that they still control the GPG key associated with the account, or "
"provide proof of identify on a new GPG key, with at least two signatures "
"from other developers."
msgstr ""
+"démontrer qu'il possède toujours la clef GPG associée au compte, ou fournir "
+"des preuves d'identité sur une nouvelle clef GPG, avec au moins deux "
+"signatures d'autres développeurs Debian."
#. type: Content of: <chapter><section><section><para>
#: developer-duties.dbk:310
msgid ""
"Retired developers with a \"disabled\" account need to go through NM again."
msgstr ""
+"Les développeurs ayant démissionné avec un compte « disabled » doivent "
+"repasser le processus complet de nouveau développeur."
# type: Content of: <chapter><section><para>
#~ msgid ""
#~ "Developers who are part of the <ulink url=\"&url-debian-qa;\">Quality "
#~ "Assurance</ulink> group are following all such bugs, and trying to help "
#~ "whenever possible. If, for any reason, you aren't able fix an RC bug in "
#~ "a package of yours within 2 weeks, you should either ask for help by "
Index: po4a/fr/tools.po
===================================================================
--- po4a/fr/tools.po (révision 8922)
+++ po4a/fr/tools.po (copie de travail)
@@ -1,27 +1,27 @@
# French po4a translation of developers-reference: tools
-# Copyright (C) 1999-2006, 2010 Debian French l10n team <debian-l10n-french@lists.debian.org>
+# Copyright (C) 1999-2006, 2010, 2011 Debian French l10n team <debian-l10n-french@lists.debian.org>
# This file is distributed under the same license as the developers-reference package.
#
# Antoine Hulin <antoine@origan.fdn.fr>, 1999-2002.
# Frédéric Bothamy <frederic.bothamy@free.fr>, 2003-2006.
-# David Prévot <david@tilapin.org>, 2010.
+# David Prévot <david@tilapin.org>, 2010, 2011.
msgid ""
msgstr ""
"Project-Id-Version: developers-reference 3.4.3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-06-20 09:23-0400\n"
-"PO-Revision-Date: 2010-06-13 18:32-0400\n"
+"PO-Revision-Date: 2011-09-10 15:59-0400\n"
"Last-Translator: David Prévot <david@tilapin.org>\n"
"Language-Team: French <debian-l10n-french@lists.debian.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
-"X-Generator: Lokalize 1.0\n"
+"X-Generator: Lokalize 1.2\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
# type: Content of: <appendix><title>
#. type: Content of: <appendix><title>
#: tools.dbk:7
msgid "Overview of Debian Maintainer Tools"
msgstr "Aperçu des outils du responsable Debian"
@@ -491,15 +491,15 @@
"package simply to fulfill dependencies. It is also sometimes used when "
"making ``meta-packages'', which are packages whose only purpose is to depend "
"on other packages."
msgstr ""
"<systemitem role=\"package\">equivs</systemitem> est encore un assistant. Il "
"est souvent conseillé pour un usage local, pour faire un paquet qui "
"satisfasse des dépendances. Il est aussi parfois utilisé pour faire des "
-"« méta-paquets », dont l'unique objet est de dépendre d'autres paquets."
+"« métapaquets », dont l'unique objet est de dépendre d'autres paquets."
# type: Content of: <appendix><section><title>
#. type: Content of: <appendix><section><title>
#: tools.dbk:228
msgid "Package builders"
msgstr "Construction de paquets"
Attachment:
signature.asc
Description: OpenPGP digital signature