Bac à sable (développement de logiciels)

Un bac à sable est un environnement de test qui isole les modifications de code non testées et l'expérimentation pure et simple de l'environnement de production ou du référentiel, [1] dans le contexte du développement logiciel , y compris le développement Web , l'automatisation et le contrôle des révisions . La métaphore de l'isolement est tirée de l'idée d'enfants qui ne jouent pas bien ensemble, de sorte que chacun reçoit son propre bac à sable pour jouer seul.

Le sandboxing protège les serveurs "en direct" et leurs données, les distributions de code source vérifiées et d'autres collections de code, de données et/ou de contenu, propriétaires ou publics, contre les changements qui pourraient endommager un système critique ou qui pourraient simplement être difficiles à revert , quelle que soit l'intention de l'auteur de ces modifications. Les bacs à sable reproduisent au moins les fonctionnalités minimales nécessaires pour tester avec précision les programmes ou autre code en cours de développement (par exemple, utilisation des mêmes variables d'environnement que, ou accès à une base de données identique à celle utilisée par, l'implémentation précédente stable destinée à être modifiée ; il existe de nombreuses autres possibilités, car les besoins spécifiques en fonctionnalités varient considérablement selon la nature du code et l'application ou les applications auxquelles il est destiné).

Le concept de sandboxing est intégré aux logiciels de contrôle de révision tels que Git , CVS et Subversion (SVN) , dans lesquels les développeurs « extraient » une copie de l'arborescence du code source, ou une branche de celle-ci, à examiner et à travailler. Une fois que le développeur a entièrement testé les modifications de code dans son propre bac à sable, les modifications seraient réenregistrées et fusionnées avec le référentiel et ainsi mises à la disposition d'autres développeurs ou utilisateurs finaux du logiciel. [2]

Par analogie supplémentaire, le terme "bac à sable" peut également être appliqué dans l'informatique et les réseaux à d'autres zones d'isolement temporaires ou indéfinies, telles que les bacs à sable de sécurité et les bacs à sable des moteurs de recherche (qui ont tous deux des significations très spécifiques), qui empêchent les données entrantes d'affecter un système "en direct" (ou des aspects de celui-ci) à moins que/jusqu'à ce que des exigences ou des critères définis aient été satisfaits.

Dans les services Web

Le terme bac à sable est couramment utilisé pour le développement de services Web pour désigner un environnement de production en miroir à utiliser par des développeurs externes. En règle générale, un développeur tiers développera et créera une application qui utilisera un service Web à partir du bac à sable, qui est utilisé pour permettre à une équipe tierce de valider son code avant de le migrer vers l'environnement de production. Microsoft , [3] Google , Amazon.com , [4] Salesforce.com , [5] PayPal , [6] eBay [7] et Yahoo , [8] entre autres, fournissent de tels services.

Dans les wikis

Les wikis utilisent également généralement un modèle de test de bac à sable partagé, bien qu'il soit principalement destiné à l'apprentissage et à l'expérimentation pure et simple avec des fonctionnalités plutôt qu'à tester des modifications du contenu existant (l'analogue wiki du code source). Un mode d'aperçu d'édition est généralement utilisé à la place pour tester des modifications spécifiques apportées aux textes ou à la mise en page des pages wiki.

Voir également

Les références

  1. ^ Margaret Rouse. "Définition du bac à sable". TechTarget.
  2. ^ Vivek Venugopalan, "Developer Sandbox" chapitre 4, CVS Best Practices , The Linux Documentation Project, 2005.
  3. ^ "Nœud Microsoft UDDI Business Registry (UBR)" . Archivé de l'original le 2005-11-07 . Récupéré le 27 juillet 2012 .
  4. ^ " Bac à sable pour développeur Amazon Mechanical Turk " . Récupéré le 27 juillet 2012 .
  5. ^ "Sandbox Salesforce" . salesforce.com . Récupéré le 29 août 2016 .
  6. ^ "Guide de l'utilisateur de PayPal Sandbox" (PDF) . paypal.com. Archivé de l'original (PDF) le 28 janvier 2007 . Récupéré le 27 juillet 2012 .
  7. ^ "Le bac à sable du développeur eBay" . ebay.com . Récupéré le 27 juillet 2012 .
  8. ^ "Services Web d'entreprise : bac à sable" . yahoo.com. Archivé de l'original le 2008-01-19 . Récupéré le 27 juillet 2012 .