À propos du projet

GitHub Languages Card est un service web Node.js/Express qui génère des cartes SVG montrant les langages de programmation les plus utilisés d'un utilisateur GitHub, conçu pour être intégré dans les README de profils, portfolios et documentations. Une démo hébergée est disponible à github-languages-card.vercel.app, et le projet peut également être auto-hébergé. Fonctionnalité principale : le point de terminaison GET /api/top-languages accepte un paramètre username requis et un paramètre optionnel theme (par défaut pink), renvoyant une image SVG pouvant être intégrée directement en Markdown. La carte affiche les langages principaux avec leurs pourcentages, ainsi que des statistiques GitHub telles que les dépôts, followers, étoiles et forks, et optionnellement l'avatar de l'utilisateur. Le README indique qu'aucune donnée n'est stockée et que les requêtes vont directement à l'API GitHub. Thèmes : le README liste plus de 18 thèmes nommés, incluant pink, dark, mint, purple, ocean, sunset, graphite, coffee, lavender, peach, neon, strawberry, darkNeon, fire, snow, hacker, white et golden. Le README présente une liste classée de « meilleurs choix » de thèmes, qui est la présentation propre à l'auteur plutôt qu'une évaluation indépendante. Auto-hébergement : nécessite Node.js 18+ et npm/yarn. Les étapes consistent à cloner le dépôt, exécuter npm install, copier .env.example vers .env, et démarrer avec node server.js, après quoi l'application est disponible à localhost:3000. Un exemple de Dockerfile basé sur node:18-alpine est fourni. Les variables d'environnement incluent PORT (défaut 3000), GITHUB_TOKEN (optionnel, pour des limites de débit API plus élevées), NODE_ENV et RENDER_EXTERNAL_URL. Structure du projet : server.js est le serveur Express principal ; public/ contient la page d'accueil et les images de documentation ; utils/ contient github.js (intégration API GitHub), svgBuilder.js (constructeur de cartes SVG) et helpers.js ; themes/ contient les définitions par thème. La pile technologique déclarée est Node.js, Express, Axios et génération SVG. Limitations connues notées par les auteurs : l'API GitHub est limitée en débit (60 requêtes/heure sans jeton, 5000/heure avec GITHUB_TOKEN), et la première requête peut être lente en raison du temps de réponse de l'API GitHub. Le projet est sous licence MIT et accepte les contributions via un flux de travail fork/branche/pull-request. Le README note également que les utilisateurs dans des régions restreintes peuvent avoir besoin d'un VPN pour atteindre la démo hébergée sur Vercel.