GitGit est un logiciel de gestion de versions décentralisé. C'est un logiciel libre et gratuit, créé en 2005 par Linus Torvalds, auteur du noyau Linux, et distribué selon les termes de la licence publique générale GNU version 2. Le principal contributeur actuel de Git, et ce depuis plus de 16 ans, est Junio C Hamano. Depuis les années 2010, il s’agit du logiciel de gestion de versions le plus populaire dans le développement logiciel et web, qui est utilisé par des dizaines de millions de personnes, sur tous les environnements (Windows, Mac, Linux).
Distributed version controlIn software development, distributed version control (also known as distributed revision control) is a form of version control in which the complete codebase, including its full history, is mirrored on every developer's computer. Compared to centralized version control, this enables automatic management branching and merging, speeds up most operations (except pushing and pulling), improves the ability to work offline, and does not rely on a single location for backups.
Gestion de versionsthumb|Exemple d'arbre de gestion de versions La gestion de versions ( ou revision control) consiste à gérer l'ensemble des versions d'un ou plusieurs fichiers (généralement en texte). Essentiellement utilisée dans le domaine de la création de logiciels, elle concerne surtout la gestion des codes source. Cette activité étant fastidieuse et relativement complexe, un appui logiciel est presque indispensable. À cet effet, il existe différents logiciels de gestion de versions qui, bien qu'ayant des concepts communs, apportent chacun leur propre vocabulaire et leurs propres usages.
GitHubGitHub (, entreprise GitHub, Inc.) est un service web d'hébergement et de gestion de développement de logiciels, utilisant le logiciel de gestion de versions Git. Ce site est développé en Ruby on Rails et Erlang par Chris Wanstrath, PJ Hyett et Tom Preston-Werner. GitHub propose des comptes professionnels payants, ainsi que des comptes gratuits pour les projets de logiciels libres. Le site assure également un contrôle d'accès et des fonctionnalités destinées à la collaboration comme le suivi des bugs, les demandes de fonctionnalités, la gestion de tâches et un wiki pour chaque projet.
Comparison of version-control softwareIn software development, version control is a class of systems responsible for managing changes to computer programs or other collections of information such that revisions have a logical and consistent organization. The following tables include general and technical information on notable version control and software configuration management (SCM) software. For SCM software not suitable for source code, see Comparison of open-source configuration management software.
Branche (gestion de configuration)En gestion de configuration logicielle, une branche est une dérivation dans l'histoire de l'évolution des éléments de configuration. Une branche est une évolution d'un élément ayant pour origine une version précise, produisant une «branche de version». Une branche de version correspond à un axe d'évolution de versions. Elle est rattachée à une branche source et peut découler sur plusieurs sous-branches. La gestion de l'ensemble des branches et des versions d'un produit constitue le versionnage (versioning en anglais) et est l'objet de la gestion de configuration.
EmacsEmacs est une famille d'éditeurs de texte disposant d'un ensemble extensible de fonctionnalités. Il est populaire parmi les programmeurs et plus généralement les personnes ayant des compétences techniques sur les ordinateurs. L'EMACS originel, signifiant Editing MACroS running on TECO, c'est-à-dire « macros d'édition pour TECO », a été écrit en 1976 par Richard Stallman, initialement avec Guy Steele. Il a été inspiré par les idées développées dans TECMAC et TMACS, deux jeux de macros d'édition pour TECO, notamment écrits par Guy Steele, David Moon, Richard Greenblatt et Charles Frankston.
Repository (version control)In version control systems, a repository is a data structure that stores metadata for a set of files or directory structure. Depending on whether the version control system in use is distributed, like Git or Mercurial, or centralized, like Subversion, CVS, or Perforce, the whole set of information in the repository may be duplicated on every user's system or may be maintained on a single server. Some of the metadata that a repository contains includes, among other things, a historical record of changes in the repository, a set of commit objects, and a set of references to commit objects, called heads.
GNU EmacsGNU Emacs est l’une des deux versions les plus populaires de l’éditeur de texte Emacs (l’autre version est XEmacs). Ces deux versions sont majoritairement compatibles et ont de très nombreux points communs, décrits dans l’article Emacs. Dans le manuel, on peut lire qu'il est l’. GNU Emacs, développé par Richard Stallman depuis 1984 dans le cadre du projet GNU, s’appuie sur le langage Emacs Lisp. GNU Emacs fait partie du projet GNU. En 1984, Stallman commence le projet sur les systèmes Unix.
Emacs Lispvignette|Logo de GNU Emacs Emacs Lisp est un dialecte du langage de programmation Lisp, utilisé entre autres par les éditeurs de texte GNU Emacs et XEmacs (qui auront la dénomination commune d'Emacs dans cet article). Il est utilisé pour l'implémentation de la plupart des fonctionnalités d'édition standard d'Emacs, le reste étant écrit en C. Les utilisateurs d'Emacs écrivent habituellement du code en Emacs Lisp afin de personnaliser et rajouter des fonctionnalités à Emacs.
MicroEMACSMicroEMACS est un éditeur de texte de la famille Emacs. MicroEMACS a été conçu fin 1985, début 1986 par Dave Conroy pour son usage privé. De nombreuses personnes lui ont alors demandé une copie du programme, et le code source fut distribué sans se soucier du droit d'auteur comme il était encore d'usage à cette époque dans le milieu hacker. Daniel M. Lawrence obtint alors une copie du programme, et le transforma en logiciel très populaire. C'est son travail qui le rendit très populaire.
XEmacsXEmacs is a graphical- and console-based text editor which runs on almost any Unix-like operating system as well as Microsoft Windows. XEmacs is a fork, based on a version of GNU Emacs from the late 1980s. Any user can download, use, and modify XEmacs as free software available under the GNU General Public License version 2 or any later version. Between 1987 and 1993 significant delays occurred in bringing out a new version of GNU Emacs (presumed to be version 19). In the late 1980s, Richard P. Gabriel's Lucid Inc.
Résolution de conflitLa résolution de conflit est un concept associé aux relations humaines, principalement lié au management et aux méthodes et outils d'aide à la prise de décision. Elle consiste dans le choix d'une solution à un affrontement et sa mise en œuvre. Lorsqu'il s'agit de pratiques en regard du système judiciaire ou d'une décision étatique, il est question de modes alternatifs de résolution des conflits. Un conflit correspond à l’interaction de personnes interdépendantes qui perçoivent des oppositions de buts et qui voient l’autre partie comme interférant dans la réalisation de leurs buts.
Conflict resolution researchConflict resolution is any reduction in the severity of a conflict. It may involve conflict management, in which the parties continue the conflict but adopt less extreme tactics; settlement, in which they reach agreement on enough issues that the conflict stops; or removal of the underlying causes of the conflict. The latter is sometimes called "resolution", in a narrower sense of the term that will not be used in this article.
Guerre d'éditeursIl existe une tradition datant du début des années 1970 (et donc dès les débuts du travail courant sur écran d'ordinateur) chez les programmeurs, qui consiste à défendre son logiciel éditeur de texte favori avec une passion qui n'est pas sans rappeler à certains celle du fanatisme religieux. De nombreuses flamewars se sont déroulées entre des groupes qui s'insultaient les uns les autres en soutenant que l'éditeur de texte de leur choix était l'outil parfait pour l'édition.
Concurrent versions systemCVS (sigle de Concurrent Versions System ("Système de versions concurrentes")) est un système de gestion de versions créé en 1990, qui a été largement utilisé par les projets de logiciels libres. Successeur de SCCS originellement écrit par Dick Grune en 1986, puis complété par Brian Berliner (avec le programme cvs lui-même) en 1989, CVS est par la suite amélioré par de très nombreux contributeurs. Puisqu'il aide les sources à converger vers la même destination, on dira que CVS fait la gestion concurrente de versions ou de la gestion de versions concurrentes.
Two-phase commit protocolIn transaction processing, databases, and computer networking, the two-phase commit protocol (2PC, tupac) is a type of atomic commitment protocol (ACP). It is a distributed algorithm that coordinates all the processes that participate in a distributed atomic transaction on whether to commit or abort (roll back) the transaction. This protocol (a specialised type of consensus protocol) achieves its goal even in many cases of temporary system failure (involving either process, network node, communication, etc.
CollaborationLa collaboration est l'acte de travailler ou de réfléchir ensemble pour atteindre un objectif. Dans son sens commun, la collaboration est un processus par lequel deux ou plusieurs personnes ou organisations s’associent pour effectuer un travail intellectuel suivant des objectifs communs. Des méthodes structurées de collaboration encouragent l'introspection de comportements et communication. Ces méthodes ont pour objectif spécifique l'augmentation du taux de réussite des équipes quand elles se livrent à la résolution de problèmes en collaboration.
Conflit (sciences sociales)thumb|Dessin d'un conflit interpersonnel. Un conflit, ou situation conflictuelle, est un état d'opposition entre personnes ou entités. Le conflit est chargé d'émotions telles que la colère, la frustration, la peur, la tristesse, la rancune, le dégoût. Parfois, il peut être fait d'agressivité et de violence. Le terme conflit est également utilisé pour décrire un état de contradiction (par exemple contradiction de textes juridiques ou conflit de loi) ou de contre-indications (par exemple l'usage de médicaments par des patients présentant des pathologies particulières) ou d'incompatibilité (systèmes en place mais dont la coexistence dans un même contexte ou dans une même vision n'est pas garantie).
Peace and conflict studiesPeace and conflict studies or conflict analysis and resolution is a social science field that identifies and analyzes violent and nonviolent behaviors as well as the structural mechanisms attending conflicts (including social conflicts), with a view towards understanding those processes which lead to a more desirable human condition. A variation on this, peace studies (irenology), is an interdisciplinary effort aiming at the prevention, de-escalation, and solution of conflicts by peaceful means, thereby seeking "victory" for all parties involved in the conflict.