Google se tourne de plus en plus vers les professionnels, et parmi eux les développeurs de logiciels, à qui il propose un nouvel outil de recherche.


Tri sélectif, grandeur d'âme et générosité
Google Code Search, comme son nom l'indique tout de même un peu, permet de chercher des portions de code-source parmi des millions, pour ne pas dire des milliards de proposition. On sait par exemple que les nombreux projets de développement open-source font transiter sur le Web d'innombrables pages emplies de portions de code, et quiconque s'y intéresse de près aimerait parfois avoir à sa disposition un outil lui permettant de faire un tri, en fonction de critères plus ou moins précis. C'est exactement ce que Google Search Code se propose de faire.

Comme le souligne un responsable de projet de chez Google, "lorsqu'il s'agit d'open-source, la plupart du temps, le code est disponible, mais ce n'est pas seulement de cela qu'il est question ici ; il s'agit également d'apprentissage à travers des exemples pratiques, et de fabrication de logiciel en suivant des règles précises." C'est le département de recherche de Google, Google Labs, qui s'est institué en maître d'ouvrage dans ce projet, et ses responsables espèrent participer activement à la formation empirique des jeunes (et des moins jeunes...) développeurs, avec Google Code Search, lequel permettra à tout un chacun de s'inspirer, sans copier bêtement, des travaux d'autres personnes.


Où il est question d'aiguilles et de bottes de foin...
Le fonctionnement de Google Code Search a demandé, vous vous en doutez, une longue et fastidieuse mise au point, car on ne conçoit pas des algorithmes de recherche de la même manière selon qu'ils vont devoir fouiner dans des collections de contenus artistiques et dans des millions de lignes de code-source. Il a donc fallu mettre en place un système qui recherche à la fois des mots isolés--empruntés pour la plupart à la syntaxe commune des langages les plus usités--et des expressions "régulières" (au sens de "qui reviennent souvent"). Il a aussi été nécessaire d'apprendre au logiciel à faire le tri de ce qui est code, et de ce qui ne l'est pas : on reproche parfois aux développeurs de ne pas suffisamment commenter leur travail, rendant la maintenance par d'autres difficile (mais n'est-ce pas précisément le but...'), mais ils insèrent tout de même de nombreuses lignes de commentaire dans leurs programmes, et il n'est pas forcément judicieux qu'un outil tel que Google Code Search s'attarde trop sur ces parties "inertes" du code-source d'une application. Dans le même esprit, il est possible de circonscrire les recherches à un langage informatique en particulier, de manière à éviter de se retrouver avec une foule de réponses inexploitables.

Pour l'heure, Google Code Search reste un fruit du travail de Google Labs, et ne devrait donc pas voir son interface défigurée par des liens sponsorisés en tous genres. De plus, Google prévoit la création d'API (Application Programming Interfaces) pour aider à ordonner les réponses apportées par le service sous un format texte intelligible, le tout en XML. Mais dans ce cas, comme dans celui de l'open-source en général, son succès reposera essentiellement sur le bon vouloir de la communauté des développeurs.