Sublime Code

Sublime code est un outil d'aide à la compréhension logicielle grâce à une interprétation statique et/ou dynamique de la structure d'un projet à source ouverte.

De nombreux aspects de notre vie dépendent directement ou indirectement d'une multitude de logiciels, et une grande partie d’entre eux sont aujourd'hui des logiciels libres. En effet, de nombreux projets libres ont vu le jour, certains sont très connus et largement utilisés dans le domaine grand public. Ce qui fait la puissance de ces projets libres est la libre collaboration de la communauté à son développement. Le monde du libre montre la possibilité de fédérer le travail de nombreux développeurs répartis dans le monde entier. Ainsi, s’il prend l’envie à quelqu’un de développer une nouvelle fonctionnalité ou de corriger une erreur, il peut reverser son travail au profit du logiciel et de sa communauté.

Néanmoins, la complexité toujours croissante des technologies amène de nombreux projets à devenir de plus en plus lourds et complexes. Cette tendance risque alors de freiner les contributions, en cela qu’il devient plus difficile de s’impliquer dans un projet difficile à comprendre. La bonne question à se poser est de quoi ai-je besoin comme informations pour comprendre un logiciel que je ne connais pas, et ce, de manière à pouvoir apporter ma contribution à ce projet ?

Il existe des logiciels qui proposent une analyse statique ou bien dynamique d'un projet, mais celle-ci est souvent très spécifique ou trop complexe pour un utilisateur qui souhaiterait simplement prendre en main le code d'un projet informatique. De plus, le résultat des analyses est généralement affiché en console et non dans une interface graphique dédiée. C'est pourquoi l'intérêt de la création d'un nouvel outil qui permettrait d'aider cette personne à analyser comment le projet a été structuré ou encore de lui fournir le nécessaire pour comprendre comment le logiciel fonctionne devient aujourd'hui crucial. Celui-ci sera accompagné d'une interface lui offrant confort et facilité d'utilisation.

Le but n'est pas de redévelopper ce qui existe déjà, ni même d'apporter des résultats encore plus complexes, mais plutôt d'apporter une aide à la compréhension logicielle en extrayant les informations indispensables à l'utilisateur lors de la prise en main du code d’un programme notamment grâce à une interprétation statique de celui-ci.

Ainsi, en s'appuyant sur des outils tels que CTags (générateur de symboles) ou encore CScope (identificateur de symboles), l'application propose une solution plus complète en traitant leurs résultats et en les mettant en forme directement dans une interface ergonomique pour l’utilisateur à l'aide d'un affichage sous forme de graphes ou de diagrammes facilitant la lecture des données. Ensuite, la possibilité de récupérer les sources directement depuis les principaux gestionnaires de versions offre davantage de flexibilité.

Outre l'aspect ergonomique de l'outil, l'analyse réalisée ne se repose pas uniquement sur l'harmonisation de différents logiciels, mais apporte une réelle plus-value avec une analyse plus précise grâce à un traitement complémentaire appliqué à ces données. À partir de ces données fournies par l’outil d’aide à la compréhension logicielle qui apporteront les informations nécessaires pour bien appréhender le projet, ce sera à l’utilisateur d’en faire bon usage pour évaluer la complexité de celui-ci et mesurer l’étendue de la tâche à accomplir.

Ajouter un commentaire

CAPTCHA
Ce test a pour but d'empêcher les spams.
9 + 1 =
Trouvez la solution de ce problème mathématique simple et saisissez le résultat. Par exemple, pour 1 + 3, saisissez 4.