Réservation du préfixe d’ID de package

Les propriétaires de packages peuvent réserver et protéger leur identité en réservant des préfixes d’ID. Durant l’installation d’un package, les consommateurs reçoivent des informations supplémentaires indiquant que les propriétés d’identification du package qu’ils consomment ne sont pas trompeuses.

NuGet.org et Visual Studio 2017 version 15.4 ou ultérieure affichent un indicateur visuel pour les packages soumis par les propriétaires avec un préfixe d’ID de package réservé, et ce tant que le package correspond au modèle de nommage du préfixe d’ID réservé. La référence ci-dessous explique en quoi consiste la réservation d’un préfixe d’ID et comment un propriétaire peut demander un préfixe d’ID.

Détails de la réservation de préfixe d’ID

Quand un préfixe d’ID de package est réservé, plusieurs choses se produisent dans la galerie nuget.org et dans Visual Studio. Les réservations de préfixe d’ID prennent également en charge des scénarios avancés, notamment la définition d’un préfixe « public » et la délégation de sous-ensembles de préfixes à plusieurs propriétaires.

Réservation de préfixe d’ID sur nuget.org

Quand un préfixe est réservé sur nuget.org, voilà ce qui se produit :

  1. Une réservation de préfixe est associée à un propriétaire ou à un ensemble de propriétaires sur nuget.org.

  2. Chaque fois qu’un package est soumis à nuget.org avec un ID correspondant au préfixe d’ID réservé, le package est rejeté, sauf s’il provient du ou des propriétaires ayant réservé le préfixe d’ID.

  3. Tout package correspondant au préfixe d’ID réservé et provenant du ou des propriétaires ayant réservé le préfixe d’ID comporte un indicateur visuel dans Visual Studio 2017 version 15.4 ou ultérieure ainsi que sur nuget.org pour signaler que le package est associé à un préfixe d’ID réservé. Cela vaut pour les nouvelles soumissions de package ainsi que pour les packages existants sous le ou les propriétaires. Remarque : l’indicateur dans Visual Studio apparaît uniquement si un flux unique est sélectionné comme source du package.

  4. Tous les packages existants qui correspondent au préfixe d’ID réservé, mais qui ne sont pas détenus par le propriétaire du préfixe réservé restent inchangés (ils ne sont pas supprimés de la liste, mais ils n’ont pas non plus d’indicateur visuel). De plus, les propriétaires de ces packages peuvent toujours soumettre de nouvelles versions au package.

Ces changements sont basés sur les conditions suivantes et imposent plusieurs restrictions supplémentaires :

  • Il suffit qu’un propriétaire de package ait le préfixe réservé pour que l’indicateur visuel apparaisse (pour les packages ayant plusieurs propriétaires).

  • Si un package compte plusieurs propriétaires et que certains ont le préfixe réservé et d’autres pas, seuls ceux ayant le préfixe réservé peuvent supprimer d’autres propriétaires ayant un préfixe réservé. Les propriétaires qui n’ont pas le préfixe réservé ne peuvent pas supprimer les propriétaires ayant ce préfixe. Ils peuvent toutefois supprimer ceux qui n’ont pas non plus le préfixe réservé.

  • Une fois qu’un package a l’indicateur visuel, il doit toujours l’avoir (ce qui garantit l’existence d’au moins un propriétaire avec le préfixe réservé).

Scénarios de réservation de préfixe avancés

Plusieurs scénarios de réservation de préfixe plus avancés sont décrits ci-dessous, notamment la délégation de sous-préfixes et le marquage de ces derniers comme étant publics. Vous trouverez ci-dessous les réservations de préfixe plus avancées qui peuvent être effectuées.

  • Durant la réservation du préfixe, le propriétaire peut demander la délégation de sous-ensembles de préfixes (ou du préfixe) à d’autres propriétaires. Par exemple, si « Microsoft » détient « Microsoft.* », mais que « aspnet » souhaite réserver « Microsoft.AspNet.* », « Microsoft » peut choisir de déléguer « Microsoft.AspNet.* » au compte aspnet.

  • Durant la réservation du préfixe, le propriétaire peut choisir de rendre un préfixe public. Il obtient encore l’indicateur visuel montrant que le package provient d’un préfixe réservé, mais les soumissions de package futures sur le préfixe ne sont pas bloquées, et ce quel que soit le propriétaire. Ceci est utile pour les projets open source comptant de nombreux contributeurs : le préfixe peut être réservé pour les contributeurs principaux, mais il peut rester ouvert à tous les contributeurs.

Indicateur visuel de réservation de préfixe

Si un package provient d’un préfixe réservé, vous voyez les indicateurs visuels ci-dessous dans la galerie nuget.org et dans Visual Studio 2017 version 15.4 ou ultérieure :

Galerie nuget.orgnuget.org Gallery

Visual StudioVisual Studio

Processus de demande d’une réservation de préfixe d’ID

  1. Passez en revue les critères d’acceptation pour la réservation d’ID de préfixe.

  2. Déterminez les préfixes que vous souhaitez réserver en plus des scénarios de réservation de préfixe avancés dont vous pouvez avoir besoin.

  3. Envoyez un e-mail à account@nuget.org avec le nom complet du propriétaire sur nuget.org, ainsi que tous les préfixes réservés que vous demandez. Si vous déléguez des sous-ensembles de préfixes à plusieurs propriétaires, veillez à mentionner tous les noms complets et sous-ensembles de préfixes des propriétaires.

Une fois la demande soumise, vous êtes notifié de son acceptation ou de son rejet (avec les critères ayant provoqué le rejet). Il nous arrive de poser des questions d’identification supplémentaires pour confirmer l’identité du propriétaire.

Critères de réservation de préfixe d’ID

Au cours de l’examen d’une demande de réservation de préfixe d’ID, l’équipe de NuGet.org évalue l’application par rapport aux critères ci-dessous. Veuillez noter que tous les critères ne doivent pas nécessairement être remplis pour qu’un préfixe soit réservé, mais la demande peut être refusée s’il n’y a pas de preuve substantielle que les critères sont remplis (une explication est donnée) :

  1. Le préfixe d’ID de package identifie-t-il correctement et clairement le propriétaire du de la réservation ?

  2. Le préfixe d’ID de package est-il un élément commun qui n’est pas censé appartenir à un propriétaire ou à une organisation ? Évitez les réservations de préfixe d’ID inférieures à quatre caractères et évitez les mots communs ou génériques.

  3. Le fait de ne pas réserver le préfixe d’ID de package serait-il source d’ambiguïté ou de confusion pour la communauté ? Cela serait-il dommageable ?

Lors de la publication de packages sur NuGet.org dans votre réservation de préfixe d’ID, les meilleures pratiques suivantes doivent être prises en compte :

  1. Les propriétés d’identification des packages qui correspondent au préfixe d’ID de package sont-elles claires et cohérentes (en particulier l’auteur du package) ?

  2. Les packages ont-ils une licence (qui utilise l’élément de métadonnées license et non licenseUrl qui est déprécié) ?

  3. Si les packages ont une icône (utilisant l’élément de métadonnées iconUrl), utilisent-ils également l’élément de métadonnées d’icône ? Il n’est pas nécessaire de supprimer l’icôneUrl, mais les icônes incorporées doivent être utilisées.

Envisagez d’examiner le guide complet des meilleures pratiques relatives à la création de packages en plus des points ci-dessus.

Scénarios faisant appel à un fournisseur de flux tiers

Si un fournisseur de flux tiers souhaite implémenter son propre service pour fournir des réservations de préfixe, ils peuvent modifier le service de recherche dans les fournisseurs de flux NuGet V3. La modification dans le service de recherche de flux consiste à ajouter la propriété verified. Le client NuGet ne prend pas en charge la propriété ajoutée dans le flux V2.

Pour plus d’informations, consultez la documentation sur le service de recherche de l’API.

Stratégie de contestation de la réservation de préfixe d’ID de package

Si vous pensez qu’un propriétaire sur NuGet.org s’est vu attribuer une réservation de préfixe d’ID de package qui va à l’encontre des critères listés ci-dessus ou qui enfreint des marques ou des copyrights, envoyez un e-mail à support@nuget.org avec le préfixe d’ID en question, le propriétaire du préfixe d’ID et la raison de la contestation de la réservation de préfixe attribuée.