Publier Votre Plugin

Le dépôt officiel de plugins et mods de Sponge, Ore, est un projet libre et ouvert à n’importe qui qui souhaite public son plugin Sponge ou sont mod Forge.

Préparation de votre Plugin

Ore requiert tous les projets d’avoir un fichier mcmod.info situé à la racine du jar. Ce fichier est utilisé pour récupérer certaines informations importantes sur le projet et permet de simplifier le processus de mise en ligne. Ore refusera votre plugin si ce fichier n’est pas présent. SpongeAPI possède un annotation processor qui se charge de créer de fichier pour vous lors de la compilation en se basant sur l’annotation @Plugin que vous devriez déjà avoir dans la classe principale de votre plugin.

Note

Pour plus d’informations pour la création et la compilation de votre premier plugin, voir : Classe Principale du Plugin.

Pour référence, voici un exemple de fichier mcmod.info.

[
    {
        "modid": "my-plugin",
        "name": "MyPlugin",
        "version": "1.0.0",
        "description": "My first plugin!",
        "url": "https://spongepowered.org",
        "authorList": [
            "windy",
            "Zidane",
            "gabizou"
        ],
        "requiredMods": [
            "bookotd@1.0.0",
            "ore-test@1.0.0",
            "worldedit@1.0.0"
        ],
        "dependencies": [
            "bookotd@1.0.0",
            "ore-test@1.0.0",
            "worldedit@1.0.0"
        ]
    }
]

Au minimum, chaque projet Ore doit avoir les champs modid, name et version de complétés !

Signer votre Plugin

Pour des raisons de sécurité, Ore exige que chaque fichier de plugin (ZIP ou JAR) soit envoyé avec une signature détachée Pretty Good Privacy (PGP) <https://en.wikipedia.org/wiki/Pretty_Good_Privacy>`__ pour une clé publique qui est associée avec l’email avec lequel vous vous êtes inscrit sur Sponge. La signature digitale garantit que tous les fichiers envoyés par un utilisateur soient bien envoyés par le titulaire du compte.

Note

Une signature numérique certifie et horodate un document. Si le document est modifié par la suite de quelque façon, une vérification de la signature échouera. Une signature digitale peut avoir le même but qu’une signature manuscrite avec l’avantage d’être inviolable La distribution de source GnuPG, par exemple, est signée afin que les utilisateurs puissent vérifier que le code source n’a pas été modifié depuis qu’il a été emballé.

Afin de signer votre plugin, vous devez tout d’abord télécharger un logiciel compatible avec PGP, comme GnuPG (GPG).. GPG est disponible pour toutes les plateformes majeures et les fichiers binaires peuvent être téléchargés ici.

Une fois que vous avez installé GPG et que vous avez généré votre première clé publique, vous aurez besoin d’ajouter la clé à votre compte. Pour faire ceci, vous pouvez accéder à votre profil et cliquer sur le symbole de la clé à côté de votre avatar.

PGP public key 1

Vous serez ensuite invité à entrer la clé dans une boîte de texte. Assurez-vous d’avoir entré l’intégralité de la clé sinon la validation de la signature échouera.

PGP public key 2

Finalement, vous devez signer votre plugin avec votre clé privée de la clé publique que vous avez envoyé. Vous devez seulement signer le fichier que vous envoyez : par exemple, si vous envoyez un fichier ZIP avec le JAR de votre plugin inclus, seulement le ZIP a besoin d’être (et doit être) signé. La façon la plus simple de signer le fichier que vous souhaitez envoyé est avec la commande GPG suivante.

gpg --output myplugin-1.0.0.jar.sig --detach-sig myplugin-1.0.0.jar

Note

Si vous utiliser un build tool comme Gradle ou Maven, il y a des plugins que vous pouvez utiliser pour signer les artefacts automatiquement. Pour plus d’informations consultez la documentation de Gradle ou celle de Maven.

Mettre en Ligne votre Plugin

Une fois que le fichier JAR de votre plugin est emballé avec un fichier descripteur mcmod.info au niveau supérieur et qu’il est signé avec votre clé privée PGP, votre plugin est prêt pour la mise en ligne ! Pour créer un projet sur Ore, vous devez avoir un compte Sponge actif. Cliquer sur le bouton « Sign up » dans le coin en haut à droite vous mènera sur la page appropriée pour en créer un. Si vous possédez déjà un compte, appuyez juste sur le bouton « Log in » en haut à droite pour vous connecter à Ore.

Une fois connecté, naviguer à votre avatar et sélectionner l’option « New » dans le menu déroulant qui apparaît, ou appuyez juste sur la touche « C ».

Lors de la mise en ligne, l’assistant de création vous demandera tout d’abord votre fichier principal, puis votre signature détachée.

Configurer Votre Projet

Après avoir mis en ligne votre plugin, vous aurez quelques paramètres pour configurer votre projet comme vous le souhaitez. Ne vous inquiétez pas, tout ceci pourra être changé plus tard dans le panneau de paramètres. Après avoir configuré votre projet vous serez en mesure d’inviter des utilisateurs de Sponge à faire partie de votre projet. Tout utilisateur qui est inscrit sur les forums peut être invité à un projet même si ils ne ce sont jamais connectés à Ore. Lors de la création de votre projet, les utilisateurs que vous avez invités recevront une notification et pourront soit accepter, soit décliner votre invitation. Les membres du projet ne seront pas visibles au public jusqu’à que l’invitation ait été acceptée.

Il y a actuellement trois rangs que vous pouvez assigner aux membres du projet : Développeur, Editeur et Support. L’utilisateur qui a créé le projet est désigné comme Propriétaire ce qui lui confère un accès intégrale au projet. Voici un rapide aperçu de ce que chaque rang peut faire au sein de votre projet.

Propriétaire

Il y a un maximum d’un propriétaire par projet, ce rang est non transférable pour le moment. C’est le seul rang capable d’assigner des rangs aux autres membres.

Développeurs

Les développeurs peuvent créer/éditer des release channels, des pages et créer/éditer les versions.

Éditeur

Les Editeurs peuvent éditer les pages du projet.

Soutien

Les Soutiens ne peuvent rien faire, ce rang sert à montrer la participation au projet du membre.

Documenter votre projet avec les Pages

Ore vous permet de documenter votre plugin grâces à des pages. Une page “Home” sera créée par défaut à la création de votre projet. Pour ajouter plus de pages il vous suffit de cliquer sur le + dans la barre des Pages à droite de l’écran; un pop-up s’affichera et vous pourrez choisir un nom et une page parent (la page Home ne peut pas posséder de pages enfant). Si le parent est “<None>” la page deviendra une page racine qui pourra posséder des pages enfant. Si vous décidez de lui assigner un parent alors la nouvelle page sera visible quand la page parent sera étendue. Vous pouvez utiliser CommonMark en rédigeant vos pages.

Lier des pages

Si vous avez une structure de pages semblable à la suivante:

  • Home
  • Commandes
    • Utilisateur
    • Admin
  • Réglages
    • Config
    • Permissions

Et que vous voulez ajouter un lien de la pahe Home à la page Config dans la section Setup, vous pouvez utiliser des WikiLinks. Pour ajouter un WikiLink utilisez [[Link]] dans la page Home de cette manière: [[Setup/Config]] et cela sera convertit en un lien garantit de fonctionner.

Note

Vous pouvez aussi spécifier un titre dans le lien en le séparant avec un Pipe: [[Title|Link]] deviendra un lien avec un titre

Note

Les WikiLinks ne sont supportés que sur Ore, donc si vous les utilisez sur la page Home, ils ne seront pas affichés correctement sur les forums. Cependant, nous vous recommandons d’utiliser les WikiLinks à la place de liens normaux pour garantir le fonctionnement futur de votre wiki.

États du projet

En créant un nouveau projet, une bannière apparaîtra et vous indiquera que votre projet est dans l’état “new”. Cet état indique aux utilisateurs et administrateurs que vous configurez actuellement votre projet. Lorsque vous aurez fini de documenter votre plugin, cliquez sur le bouton “publish” pour compléter le processus. Sachez que le projet sera automatiquement publié 24 heures après sa création.

Besoin de changements

L’équipe d’Ore peut cacher votre projet et demander des changements; les changements en question seront listés dans la bannière. Cet état cachera votre projet du public; quand vous aurez fini d’appliquer ces modifications, vous pourrez envoyer votre projet en attente d’approbation.

Besoin d’approbation

Dans cet état votre projet est caché du public en attendant qu’un membre du staff ne valide les changements qui vous ont été demandés. Soyez patients, les membres staff peuvent être occupés par d’autres tâches. Si le projet est approuvé il redeviendra visible. Assurez-vous de correctement corriger tous les problèmes qui ont été relevés.