Next: , Previous:  GNU Makefile pour empaqueter les desklets, Up: Top


Appendix F Soumettre un desklet

F.1 Minima requis dans un paquetage de desklet

Les règles sur le contenu du paquetage d'un desklet sont maigres; les auteurs sont libres de faire ce qu'ils veulent. Ils ne doivent absolument respecter que deux choses:

  1. Le répertoire de base de l'archive du desklet doit contenir un fichier README très clair1 et tenu à jour. Il doit au moins contenir:
    • le nom et l'adresse email de l'auteur2
    • Une courte description du desklet
    • Ses dépendances
    • Comment s'en servir
  2. Le paquetage doit être une archive tar bzippée ne contenant qu'un seul répertoire source du type NOM-MAJEURE.MINEURE.REVISION, où NAME est le nom de base du desklet, et MAJOR.MINOR.REVISION sa version. Veillez noter qu'un makefile (See GNU Makefile pour empaqueter les desklets.) est aussi fourni pour automatiser la création de ce genre d'archive sur les systèmes GNU.

F.2 Le script adesklets_submit

Depuis adesklets 0.4.4, les auteurs de desklets disposent d'un script Pyhton automatisant la soumission de leurs desklets: utils/adesklets_submit dans le paquetage des sources. Utilisez l'option de configuration --with-python-install-submission-scripts pour le placer dans votre répertoire bindir lors de l'installation.

adesklets_submit peut être utilisé pour:

F.3 Invoquer adesklets_submit

La soumission du desklet commence par l'envoi d'un email formaté spécifiquement à adesklets@mailworks.org3. Le script adesklets_submit vous assiste dans la construction de cet email en utilisant le fichier de configuration $HOME/.adesklets_submit et des options de ligne de commande. Voici un exemple de configuration valide du fichier $HOME/.adesklets_submit:

# Simple demo configuration file for the submit.py script coming with adesklets.
# 
smtp_host = 'localhost'
smtp_port = 25
cc_to_self = True

info = { 'author_name'  : 'Belial Leviathan',
         'author_email' : 'leviathan@devil.net',
         'send_confirmation' : False
}

desklets = { 'beast' : { 'version' : '0.666.0', 
                         'thumbnail' : 'http://devil.net/beast_thumb.jpg',
                         'screenshot' : 'http://devil.net/beast_screen.jpg',
                         'download' : 'http://devil.net/malware/beast-0.666.0.tbz2',
                         'host_on_sourceforge': False,
                         'category': None,
                         'description' : 'Beware the power of this desklet!' 
             }
}
Il s'explique assez bien de lui-même, mais voici quelques points moins clairs:

Par exemple, Belial Leviathan devrait d'abord vérifier les données de son desklet beast en faisant quelquechose comme:

     adesklet_submit beast

Si tout fonctionne bien, l'email de soumission résultant sera affiché sur stdout. A partir de là, Belial peut:

     adesklets_submit --send beast

Une dernière chose: essayez d'éviter d'envoyer des corrections mineures à plusieurs reprises, en particulier si vous utilisez des fichiers locaux. Cela va charger à la fois le server email du webmestre et son travail de gestion. Veillez essayer de créer une entrée valide puis de l'envoyer, au lieu de patauger autrement.

F.3.1 Validation approfondie d'une entrée avec adesklets_checkin

Depuis adesklets 0.4.5, vous avez aussi à votre disposition le script adesklets_checkin. C'est le script Python que le webmestre utilise pour vérifier toutes les soumissions. N'oubliez pas que ce script n'est fournit aux auteurs de desklets que par confort, pour minimiser le nombre de rejets de soumissions–les développeurs ne sont en aucun cas forcés de l'utiliser, et peuvent même être incapables de le faire, puisque ce script n'a pas été écrit avec le souci de la portabilité, contrairement à adesklets_submit. Lisez l'en-tête du script pour une liste complète des pré-requis à son exécution.

adesklets_checkin a deux modes de fonctionnement: interactif et non-interactif. Seul le mode non-interactif interessera les auteurs de desklets. Dans ce mode, l'utilisation est franchement simple. Belial, par exemple, ferait:

     adesklets_submit beast | adesklets_checkin

Si tout fonctionne bien, le résultat serait similaire à:

     Validation started. Please wait.
     Everything seems fine, but keep in mind a few things cannot be
     verified without human intervention. See documentation for details.

Sinon, vous aurez la trace de l'exception avec quelques explications assez claires (espèrons-le).

F.3.2 Limitations d'adesklets_checkin en mode non-interactif

Voici quelques problèmes restants qu'adesklets_checkin ne peut pas détecter et qui doivent donc être absolument résolus manuellement (le webmestre en détectera la plupart, et vous aurez à renvoyer l'email de toute façon):


Footnotes

[1] NdT: et en anglais, pour plus de 'portabilité'.

[2] Ce serait surement une mauvaise idée que de publier votre adresse email privée ici; pour éviter le spam, vous devriez plutôt ouvrir un compte sur SourceForge , ou un autre fournisseur similaire disposant d'un bon système anti-spam.

[3] Il est inutile d'envoyer autre chose à cette adresse; tous les messages qui ne peuvent être interprétés par le script de réception automatique seront simplement supprimés. Ecrivez plutôt à syfou@users.sourceforge.net si vous désirez contacter le créateur du projet (qui parle très bien français, NdT).