Jean-François VILLAC

Mes veilles technologiques

GitHub

Qu'est-ce que GitHub ?

GitHub est un service d’hébergement Open-Source, permettant aux programmeurs et aux développeurs de partager le code informatique de leurs projets afin de travailler dessus de façon collaborative. On peut le considérer comme un Cloud dédié au code informatique. Le code source des projets est hébergé dans différents langages de programmation, et les changements apportés à chaque itération sont gardés en mémoire. Les autres utilisateurs de GitHub peuvent passer en revue le code et proposer des modifications ou des améliorations. L’une des principales fonctionnalités de GitHub est son système de contrôle de version. Grâce à cette fonctionnalité, les autres utilisateurs peuvent modifier le code d’un logiciel sans toutefois impacter directement le logiciel ou l’expérience des utilisateurs actuels. Les changements proposés peuvent être intégrés au logiciel, après avoir été passés en revue et approuvés. Un autre point fort est la possibilité d’intégrer GitHub avec la plupart des plateformes et services les plus communs comme Amazon, Google Cloud ou Code Climate. En outre, ce service est compatible avec la syntaxe de plus de 200 langages de programmation différents. Notons que GitHub n’est pas le seul site web dédié au développement collaboratif de logiciel grâce au contrôle de version. Cependant, il s’agit certainement du plus populaire. En juillet 2020, la plateforme fédère plus de 45 millions d’utilisateurs. Le succès de ce service a attiré l’attention de Microsoft. En 2018, le géant américain a acquis GitHub pour la somme de 7,5 milliards de dollars en actions.

Comment fonctionne GitHub ?

Pour comprendre le fonctionnement de GitHub, il est pertinent de passer en revue trois de ses principales fonctionnalités : le forking (bifurcation), les pull requests (requêtes de tirage), et le merging (fusion). Le forking consiste à créer une copie d’un projet. Ainsi, il est possible d’expérimenter librement sur ce projet sans affecter l’original. Après avoir effectué des changements satisfaisants, il suffit de soumettre une pull request ou requête de tirage. Cette requête est envoyée au propriétaire du projet, qui peut alors passer en revue les modifications effectuées et poser ses éventuelles questions. Si le propriétaire du projet est satisfait par les changements proposés, il ne lui reste plus qu’à fusionner la pull request avec le code d’origine. Les modifications seront alors apportées au projet originel.

Quels sont ses avantages ?

GitHub doit son succès aux nombreux avantages qu’il offre aux développeurs. Voici ses principaux points forts.
Un réseau social pour les développeurs:
Le succès de GitHub est lié aux nombreux avantages qu’il offre aux développeurs. Ce service peut être perçu comme un réseau social pour les programmeurs, et représente d’ailleurs la plus vaste communauté mondiale dédiée au codage. Les développeurs peuvent partager leurs projets de façon publique, et recevoir non seulement de l’aide, mais aussi une importante exposition potentiellement très bénéfique. Dès qu’un projet est partagé sur GitHub, tous les programmeurs et autres passionnés de cette communauté peuvent l’évaluer. L’auteur du projet peut donc être averti en cas de problèmes dont il ne se serait pas aperçu seul. La communauté peut même lui proposer directement des solutions et lui permettre de gagner un temps précieux.
Une traçabilité complète des modifications:
Sur GitHub, toutes les modifications apportées à un projet sont sauvegardées dans un « changelog » . Il est donc aisé de savoir exactement quels changements ont été apportés à chaque nouvelle version. Cette fonctionnalité est très utile pour regarder en arrière et identifier les modifications apportées par un collaborateur. Il est possible de remonter jusqu’à la création initiale du projet, pour passer en revue quels changements ont été effectués, par qui, et à quelle date.
Une plateforme Open-Source:
Sur GitHub, les projets sont présentés sous forme de code Open-Source. C’est ce qui autorise n’importe qui à consulter le code et à proposer des changements. C’est un véritable point fort, car les projets Open-Source sont généralement plus flexibles. En effet, ils peuvent réagir et s’adapter plus rapidement aux demandes du marché. Les logiciels « closed-source », au contraire, doivent convaincre un marché cible de leur valeur. Avec GitHub, toute une communauté de programmeurs peut travailler constamment à la recherche de solutions aux problèmes concrets. Et ces solutions peuvent être directement proposées au public.
Un vivier de talents:
La communauté GitHub est si vaste qu’il est fréquent pour un utilisateur de trouver des programmeurs travaillant sur des projets similaires au sien. Il est aussi possible pour une entreprise de rencontrer des programmeurs dotés de compétences, d’expériences ou d’une vision complémentaire. En rejoignant cette communauté, il est possible d’identifier ces personnes, de travailler avec elles, et éventuellement de les enrôler. Il s’agit donc du meilleur endroit pour rencontrer de nouveaux talents.
Une collaboration fluide et sans accroc:
Quand de nombreuses personnes travaillent en même temps sur un projet, alors même qu’elles sont situées à différents emplacements géographiques, il est fort probable qu’elles manquent de coordination ou qu’elles empiètent sur leurs travaux respectifs. Par exemple, un collaborateur peut résoudre un problème d’une manière incompatible avec l’approche d’un autre. Avec GitHub et son système de contrôle de version, ce problème est résolu. Les collaborateurs peuvent travailler ensemble sans se gêner mutuellement. Chacun peut voir et savoir ce que les autres font en temps réel, et les projets peuvent être gérés de manière optimale en fonction des besoins de l’entreprise ou de l’organisation.

Git

QU'EST-CE QUE GIT ?

Git est un système de contrôle de version qui a été inventé et développé par Linus Torvalds, également connu pour l’invention du noyau Linux, en 2005. Il s’agit d’un outil de développement qui aide une équipe de développeurs à gérer les changements apportés au code source au fil du temps. Les logiciels de contrôle de version gardent une trace de chaque changement apporté au code dans un type spécial de base de données. Git est le plus connu des VCS (versioning control system), c’est un projet open source très puissant qui est utilisé par l’ensemble de la communauté des développeurs.

POURQUOI UTILISER GIT ?

Git permet de gérer les ajouts et changements apportés au code source de manière tracée. Ainsi, si une erreur est commise, les développeurs peuvent revenir en arrière et comparer les versions antérieures du code, ce qui leur permet de corriger l'erreur tout en minimisant les perturbations pour tous les membres de l'équipe. Git facilite donc le travail collaboratif en minimisant les risques de perte de travail et en permettant également aux développeurs de travailler chacun sur leurs branches et donc en autonomie sans empiéter sur le travail des autres. Durant les phases de test et de développement il convient alors pour les développeurs de travailler par branches afin d’éviter de polluer la branche principale. Ces développements apportés sur leurs branches sont donc revus et corrigés avant de venir les fusionner sur la branche principale. Cela évite donc les régressions et favorise la découverte et la correction de bugs au sein d’un travail collaboratif. Enfin, la sécurité et l’intégrité du code source géré par Git en fait un outil primordial. En effet, l'intégrité a été la priorité absolue lors de la conception de Git. Ainsi la traçabilité des changements ne peut jamais être remise en cause. Les équipes de développement qui n'utilisent aucune forme de contrôle de version se heurtent souvent à des problèmes tels que le fait de ne pas savoir quels changements ont été mis à la disposition des utilisateurs ou l'apport de changements incompatibles entre deux éléments indépendants, qui doivent alors être minutieusement démêlés et retravaillés.

Bootstrap

Bootstrap est un framework de développement Web open source qui permet aux développeurs de créer des sites et des applications Web de manière rapide et efficace. Il offre une gamme complète de composants de mise en page, de style et de navigation prêts à l'emploi, qui peuvent être utilisés pour créer des sites Web professionnels et réactifs qui s'adaptent automatiquement à différentes tailles d'écran. Bootstrap a été créé par Marc OTTO et Jacob THORTON en 2010 sous le nom de Twitter Blueprint et a depuis été adopté par de nombreux développeurs Web à travers le monde. Il est basé sur le langage de mise en page HTML, CSS et JavaScript et utilise un système de grille flexible pour créer des mises en page fluides et adaptatives. Bootstrap est également connu pour son utilisation de classes de style prédéfinies qui permettent de personnaliser l'apparence des éléments HTML de base, comme les titres, les paragraphes, les formulaires et les boutons. Bootstrap a été conçu pour être facile à utiliser et accessible à tous les niveaux de compétences en développement Web. Il est disponible gratuitement et peut être utilisé pour n'importe quel projet personnel ou commercial. De nombreux sites et applications Web populaires utilisent Bootstrap, notamment Twitter, Airbnb, Coursera, Dropbox et Reddit. Bootstrap est constamment mis à jour et amélioré par une communauté active de développeurs et de contributeurs. Il est disponible sous forme de code source ouvert sur GitHub et est également présent sur de nombreux sites de partage de code, comme npm et CDNJS.

En utilisant Bootstrap, les développeurs peuvent gagner du temps et de l'énergie en utilisant les composants prêts à l'emploi et en bénéficiant d'une mise en page et d'un style de qualité professionnelle sans avoir à tout créer de zéro. Bootstrap est également connu pour être facile à personnaliser grâce à son système de surcharge de style qui permet aux développeurs de modifier les couleurs, les polices et d'autres éléments de style sans avoir à modifier le code de base. Bootstrap est également compatible avec de nombreux autres frameworks et outils de développement Web, ce qui le rend facile à intégrer dans des projets existants. Il est souvent utilisé avec des frameworks JavaScript tels que React, Angular et Vue.js pour créer des applications Web riches en fonctionnalités. Chaque version offre une gamme de composants différents et présente des différences de mise en page et de style, il est donc important de choisir la version qui convient le mieux à vos besoins. Bootstrap est également disponible en plusieurs variantes, notamment Bootstrap Material Design, qui ajoute une interface utilisateur basée sur le design de Google Material, et Bootstrap for Sass, qui permet aux développeurs d'utiliser le préprocesseur de style Sass avec Bootstrap. En résumé, Bootstrap est un framework de développement Web très populaire et largement utilisé qui permet aux développeurs de créer des sites et des applications Web professionnels et réactifs de manière rapide et efficace. Il offre une gamme complète de composants de mise en page, de style et de navigation prêts à l'emploi et est facile à personnaliser grâce à son système de surcharge de style. Si vous êtes développeur Web ou si vous travaillez sur des projets de développement Web, il est recommandé de prendre en compte Bootstrap comme un outil utile pour votre travail.