Plan du cours
Chap4 : LE VERSIONNING
INTRODUCTION
Elles permettent de réduire la dette technique de l’application. Les coûts ultérieurs tant
sur la maintenance corrective (ensemble des mesures prises pour éliminer les bugs que
peuvent rencontrer l’application dans son environnement de déploiement) que pour la
maintenance évolutive (ensemble des mesures prises pour améliorer l’application)
peuvent plus ou moins importantes selon la mise en œuvre des bonnes pratiques de
développement.se sont ces coûts additionnels qui représentent la dette technique de
l’application
Permet d’accroitre la sécurité des logiciels développés
Permet d’avoir une bonne qualité juridique au cas où
Facilite le travail en groupe en établissant un code de conduite commun à tous les
acteurs
Tous projets de développement logiciel fait peser des risques sur des données qui traitées ou
produites ainsi que sur des infrastructures qui les manipules ou les héberge par conséquent,
lorsqu’un code possède des failles et que celles-ci sont exploitées, la prise de contrôle des
serveurs peut constituer une porte d’entrée dans le système d’information de l’organisation et
provoquer de grave dommages ou dégâts comme :
Conscient des risques et de la nécessité de les réduire il est recommandé de prendre en compte
la sécurité dans la le développement dans la phase de conception
Le modèle en cascade
La méthode ou cycle en V
Le cycle en spirale
Le cycle semi-itératif
Le cycle itératif
Il est indispensable pour une équipe de développeur d’adopter dès le commencement une
méthode de développement.
Certaines méthodes comme la méthode en V sont lourds à mettre en œuvre raison pour laquelle
d’autres approches ont étés créées et mis en œuvre pour palier à ces défauts comme la méthode
itérative.
Les outils potentiels qu’on retrouve dans une forge sont les suivantes :
L’outil de gestion des codes permet non seulement l’archivage des versions, mais aussi
la traçabilité des contributions.
L’analyse fonctionnelle correspond à l’expression du besoin. Elle doit être précise, et couvre
l’intégralité des cas d’utilisation de l’application en expliquant ce qui doit être fait. L’expression
fonctionnelle du logiciel permet :
Il est important d’établir les fonctionnalités de l’application au préalable pour ne pas se lancer
aveuglement dans le codage.
2. Hh
Ici on décrit comment le code est sensé fonctionner avant d’entrer dans le codage. La conception
est la réponse technique aux spécifications fonctionnelles. Cette activité consiste à :
3. Le codage
C’est la phase de réalisation proprement dit ; ici on développe les composants qui en suite sont
assemblés pour créer le logiciel répondant aux spécifications fonctionnelles. Il est recommandé
de séparer le code en plusieurs fichiers selon la découpe architecturale :
Règles de codage
Dans un projet logiciel il est recommandé de définir les conventions de codage de nomenclature
des variables au sein de l’équipe de développement. Il est également recommandé de mettre des
commentaires qui permettront une meilleure compréhension du code. Pour limiter le nombre
de commentaire il est conseillé d’écrire un code très lisible compréhensible par tous
Agrégation de code
Il est rare de nos jours d’écrire le code d’un logiciel partant d’une page blanche par conséquent,
les bonnes pratiques doivent intégrer la réutilisation des composants des tiers. Ces composants
peuvent prendre différentes formes :
Dans tous les cas, il est important d’assurer la traçabilité et le suivi des composants des tiers.
Pour cela, il est recommandé de :
Langage de programmation
- La facilité d’usage ;
- La production du code qui doit être clair et compréhensible
- L’écosystème qui doit être riche. Et il tourne au tour de l’outillage
(compilateur, éditeur) et aussi autour du support (communauté du forum)
- Le langage doit être maintenu pour assurer une bonne sécurité
- Il ne doit pas être exotique
L’entête
L’entête permet le bon suivi historique et juridique des composants logiciels. Il mentionne le
copyright, l’année, éventuellement la licence de diffusion. Les outils existent pour vérifier que
toutes les informations sont
NB : ne jamais modifier les entêtes des composants des tiers que l’on utilise
Un éditeur de code
IDE (environnement de developpement intégré)
Compilateur et ou interpréteur
Outils de création d’Interface Homme Machine (IHM)
4. Les tests
Ils s’effectuent à un niveau atomique, chaque composant doit être testé pour s’assurer de son
fonctionnement. Ce test assure que les composants respectent de manière individuelle les
spécifications. Les tests unitaires doivent être exécuté automatiquement, il y’a ainsi un
ensemble d’outils approprié comme : Junit, Phpunit, Unitest pour Python
Ils rassurent que le logiciel intégrant les composants préalablement testés de manière unitaire
fonctionnent parfaitement, Se sont les premiers tests dans leur nature ; pour ces tests on retrouve
les outils : Jenkins, Gitlab-ci
Ils ont pour but de se rassurer que le logiciel satisfait aux besoins préalablement définis