Gestionnaire de sources Flashcards
Introduction
Gestionnaire de sources est un système de contrôle de versions.
Gestionnaire de sources autorise plusieurs personnes à travailler sur des
documents communs (chacun en ayant une copie locale).
Gestionnaire de sources est une partie prenante de l’approche agile.
Introduction
Gestionnaire de sources permet :
ü suivi et historique des modifications au cours du temps
ü synchronisations entre les différentes versions des documents et gestion de la
concurrence
ü retours arrière vers versions plus anciennes et imputabilité des changements
Introduction
Avant les gestionnaires de sources :
ü gestion manuelle des copies, des sauvegardes et des versions et possibilité
d’ écraser les modifications des autres
ü suivi et historique des modifications manuel dans un fichier et difficulté de
retracer les changements
Problème à résoudre
Solution 1 : le lock
Solution 2 : copymodify-merge (phase1)
Gestionnaire de sources
au quotidien
q Mettre à jour votre copie de travail
ü update
q Réaliser des modifications
ü add
ü delete
ü copy
ü move
q Examiner vos changements
ü status
ü diff
q Publier vos changements
ü commit
Gestionnaire de sources
au quotidien
Création d’un dépôt
Import d’un projet dans un dépôt
Contrôle d’accès au dépôt
Organisation dépôt & projet
Création d’un tag
Création d’une branche de développement
Changer de branche :
q Merge vers branche principale
q Revenir à version précédente
Gestionnaire de sources
Fonctionnalités MoSCoW
Must
- Dépôt centralisé
- Historique des modifications
- Mises à jour des sources
- Consulter les anciennes versions
- Retour en arrière
- Branches
- Appliquer une modification
- dans plusieurs branches
Should
- Fonction comparaison (diff)
- Intégration dans les IDE, système de suivi de bugs, système de gestion de projets
- Ligne de commande
- Interface graphique
Could
- Dépôt local
- Interface web
- Déplacer un fichier en conservant l‘historique des changements
Gestionnaire de sources
Inclusion VS Exclusion
INCLURE
q Code source
q Prototypes
q Documents tapés
ü tests, documentation, etc.
ü Favorisez le format texte
ü Format binaire difficile a gérer a long terme
EXCLURE
q Code généré
ü fichiers de configuration IDE
ü générateur automatisé de code
q Les librairies
ü JAR du projet
q Documents d’analyse et diagrammes de conception
ü Wiki
Types de gestionnaires
de sources :
ü Centralisé - SVN
ü Décentralisé - Git
Conclusion
q La construction automatisée et le gestionnaire de sources est une partie prenante de l’approche agile.
q Collaboration, automatisation, etc.
q Plusieurs outils disponibles.
ü Gratuit, décentralisé, etc.
q Qualités recherchées
ü Simplicité, Performance, Flexibilité, Intégration, etc.
q Outil indispensable
ü Indépendamment de la taille de l’équipe (même un seul
développeur) ou du projet
JSON
{
“status”: “OK”,
“student_id”: 12345,
“program”: “Mobile App”,
“first_name”: “Zied”,
“last_name”: “Zaier”,
“date_birth”: “10-10-99”,
“active”: true,
“GPA”: 3.7,
“courses”: [
“Applied Mathematics”,
“Introduction to Mobile”,
“Databases Structures “,
“Algorithms, Pseudocode”,
“Debugging programs”
]
}
– Utilise la syntaxe des objets JavaScript
! Format de structure de données
– Compréhensible par une machine et un humain
! Fichier texte
– Extension : .json
! Facile à mettre en œuvre et utiliser
– Simple et léger
! Portabilité
– Interopérabilité multi-plateforme
JSON
Deux structures :
Objet
ü {}
ü {chaîne : valeur}
ü {chaîne : valeur, chaîne : valeur, …}
q Tableau
ü []
ü [valeur]
ü [valeur, valeur, …]
q Aucun mot-clé réservé
q Sensible à la casse
JSON
Objet
{
“status”: “OK”,
“student_id”: 12345,
“program”: “Mobile App”,
“first_name”: “Zied”,
“last_name”: “Zaier”,
“date_birth”:”10-10-99”,
“active”: true,
“GPA”: 3.7
}
q délimité par des accolades { }
q Contient la paire propriété et valeur séparée par un “:”
q Les couples sont séparés par une virgule
q propriété définie par une chaîne de caractères
JSON
Tableau
[
“Applied Mathematics”,
“Introduction to Mobile”,
“Databases Structures”,
“Algorithms, Pseudocode”,
“Debugging programs”
]
q délimité par des crochets [ ]
q Liste de valeurs ordonnées, sans propriété
q valeurs séparées par une virgule
q tableau comme pour Java ou C++
JSON
Valeur
qLes type de valeurs possibles sont :
ü Chaîne de caractères
ü Nombre
ü Booléen
ü null
ü Objet
ü Tableau