Apprendre à chercher sur GitHub

On a la chance d’évoluer dans un écosystème riche, celui de WordPress. Mais y a pas que wordpress.org dans la vie ou les plateformes payantes. Loin de là !

GitHub est une mine. Les ressources partagées sont d’une valeur exceptionnelle. Mais comme partout et étant donné que c’est gratuit (open source) il faut savoir faire le tri.

Disclaimer

Si tu me sors que tu ne connais pas GitHub, rien de grave, sauf si t’es dév ^^.

Que trouve-t-on sur GitHub ?

De tout, et pas que du code au passage, mais pour ce qui nous intéresse ici, de très belles ressources et de la merde comme partout. C’est comme les scènes ouvertes, parfois tu vois des pépites et d’autres fois des choses affligeantes.

Dresser la liste des choses affligeantes que j’ai pu voir, ce serait possible mais beaucoup plus difficile que l’inverse. GitHub est une excellente source et qui a des années lumières d’avance sur wordpress.org qui fonctionne encore au svn…

Qui sont ces gens et que veulent-ils ?

Il y a toutes sortes de motivations :

  • celle ou celui qui va vouloir contribuer simplement
  • celle ou celui va vouloir se faire un nom, une réputation
  • celle ou celui veut faire les deux
  • celle ou celui qui veut « forker » une ressource existante
  • celle ou celui qui veut faire une « pull request »
  • etc, etc.

Peu importe finalement la motivation, cela reste du partage utile et oui faites-vous connaitre, y a strictement aucun mal à ça. Le secteur n’attend que cela ^^.

Mais comment je trouve mon plugin ?

Oui, faut connaître un peu, mais de plus en plus de billets de la communauté WordPress monde conseillent des ressources publiées sur la plateforme GitHub alors familiarisez-vous ça vaut le coup. On a même des utilitaires pour permettre de télécharger des plugins en provenance de GitHub directement depuis l’interface WordPress.


A partir de ce moment je vais commencer à donner des tips techniques pour utiliser l’interface et partir du principe que ô toi, lecteur, tu la connais ne serait-ce qu’un tout petit peu.

Si tel n’est pas le cas, tu auras toujours un lien sur n’importe quel dépôt GitHhub pour télécharger le zip du plugin en question donc pas d’inquiétude.


Alors la bonne vieille méthode de _Benchmarking, _on fait avec sa propre expérience puis on regarde des articles sur des blogs de référence et sinon on lance soi-même les recherches sur les différentes plateforme et on compare.

Les techniques que l’on va voir ici ne dispensent pas de l’évaluation technique traditionnelle du plugin une fois repéré. Même le meilleur des plugins peut ne pas correspondre tout simplement ou être limité sur certaines évolutions que l’on recherche justement.

GitHub en mode ninja

GitHub a déjà un module de recherche évidemment mais il existe certaines techniques pour affiner vos requêtes comme cela existe pour Google par exemple.

La technique de la mort : advanced search. Easy ! Mais puissant !

Là où tu vas commencer à t’amuser c’est avec les requêtes custom.

Requêtes personnalisées

Le principe général est de se dire que pratiquement tous les filtres sont possibles. Leur moteur de recherche est vraiment très impressionnant. Le tout es de connaître la syntaxe mais c’est documenté (voir le lien source plus bas).

Sur GitHub vous avez aussi un système de notation à base d’étoiles, qui n’est pas le critère absolu – car certains dépôt ont plus de citations que d’autres, parfois l’auteur est déjà un peu connu dans sa sphère et donc ses productions sont attendues – mais cela peut vous permettre de verrouiller votre affaire par exemple pour justifier l’emploi d’un plugin trouvé sur GitHub allez savoir lol :

wordpress docker stars:">500"

Avec ça j’affiche les dépôts GitHub qui concerne wordpress et docker ET qui ont plus de 500 étoiles.

Mais les dépôts GitHub sont pas mal référencés donc si tu veux être encore plus pragmatique que l’auteur de ce billet tu continues avec Google sur ce point. En général un dépôt GitHub avec plus de 500 étoiles sera repéré par notre cher et non moins tendre camarade Google.

Néanmoins sur certains besoins très spécifiques les requêtes custom peuvent s’avérer utiles pour ne pas passer à côtés de la perle rare qui parfois existe.

Source

Fun et finesse

Là où cela devient drôle est que tout est absolument filtrable. Je parlais de « fork » et de « pull request » (aussi appelée PR par les initiés qui s’initient), c’est parfois rudement pratique. Un contributeur aura pensé à forker autrement dit copier le dépôt pour le modifier, le corriger, lui donner une autre direction, apporter des améliorations, bref faire sa sauce. Il y a des chances pour que son besoin rejoigne le votre.

Donc pensez à regarder les forks aussi.

Le « saviez-tu » ? Tu peux chercher avec un filtre is:pr XD. En fait « is » sera ton ami, tu pourras l’appeler à n’importe quelle heure et plusieurs fois dans tes requêtes.

is:pr "fatal error" in:title

va te sortir toutes les pull requests à base de « fix fatal error ».

Cela devient hallucinant et limite ça fait peur mais Tout est combinable :

is:pr is:merged "don't merge"

Lol !

Conclusion

GitHub c’est la vie !