0% ont trouvé ce document utile (0 vote)
21 vues68 pages

Réutilisation et Frameworks Logiciels

Le document présente un cours sur la réutilisation logicielle et les frameworks, abordant des concepts clés tels que la réutilisation de code, les différences entre frameworks et bibliothèques, et les avantages de l'utilisation de frameworks. Il souligne l'importance de la transmission de connaissances et de la traçabilité dans le développement logiciel, ainsi que les critères et caractéristiques d'un bon logiciel réutilisable. Enfin, il discute de la classification des biens logiciels et de l'importance d'une bibliothèque de logiciels pour gérer et réutiliser efficacement les composants logiciels.

Transféré par

kely6578
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
21 vues68 pages

Réutilisation et Frameworks Logiciels

Le document présente un cours sur la réutilisation logicielle et les frameworks, abordant des concepts clés tels que la réutilisation de code, les différences entre frameworks et bibliothèques, et les avantages de l'utilisation de frameworks. Il souligne l'importance de la transmission de connaissances et de la traçabilité dans le développement logiciel, ainsi que les critères et caractéristiques d'un bon logiciel réutilisable. Enfin, il discute de la classification des biens logiciels et de l'importance d'une bibliothèque de logiciels pour gérer et réutiliser efficacement les composants logiciels.

Transféré par

kely6578
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université de Fianarantsoa Ecole Nationale d’Informatique

Réutilisation logicielle
& Framework
Enseignant: Mr DIMBISOA William Germain
Maître de Conférences

RL&FW, Master ENI, Dr William jeudi 3 avril 2025 1


Objectifs du cours
u Comment réutiliser
u Un extrait de code
u Un modèle
u Un module
u Quelle est la différence entre un Framework et une
bibliothèque ?
u Quels sont les avantages d’utiliser un Framework pour
votre logiciel ?
u Réutilisation logicielle et Framework
u Bien choisir et utiliser à bon escient votre Framework
jeudi 3 avril
RL&FW, Master ENI, Dr William 2
2025
I- Réutilisation
u Ensemble des théories, méthodes, techniques, et
outils permettant de récupérer, étendre, adapter, si
possible sans modification de leur code, des
programmes existants
u Intérêts : coûts, qualité (si réutilisation de quelque
chose de bien fait), ...
u La réutilisation consiste à développer du logiciel en
partant systématiquement d’un stock de « briques de
construction », afin d’exploiter les architectures et
besoins communs à plusieurs applications.
jeudi 3 avril
RL&FW, Master ENI, Dr William 3
2025
Renseigner au logiciel réutilisable
u La réutilisation est une dimension importante que
l’on peut développer à tous les niveaux du génie
logiciel (conception, développement, test,
documentation, exploitation et maintenance).
u La réutilisation doit être systématique, c'est-à-dire
doit être pratiquée en permanence, si l’on veut
atteindre les objectifs de la réutilisation.
u Proposer un logiciel en réutilisation implique de
mettre la connaissance du logiciel à la portée des
réutilisateurs.
jeudi 3 avril
RL&FW, Master ENI, Dr William 4
2025
Renseigner au logiciel réutilisable
u Et ce serait faire abstraction de la partie humaine de
l’ingénierie du logiciel que de sous-estimer les efforts
à déployer d’une part pour donner moyen à quelqu’un
de comprendre un logiciel et d’autre part pour
prendre connaissance d’un logiciel qu’on n’a pas
conçu soi-même.
u Le code source ne contient pas toute l’information
nécessaire pour appréhender la structure interne et
la conception générale d’un système logiciel.

jeudi 3 avril
RL&FW, Master ENI, Dr William 5
2025
Transmission de connaissance
u Il est nécessaire de transmettre par d’autres moyens
et sous d’autres formes des informations comme la
connaissance des architectures, des différences de
conception, des contraintes diverses et enfin du
domaine de l’application,
u faute de quoi toute cette information existe
seulement dans l’esprit des ingénieurs informatiques
ayant participé à l’élaboration du logiciel.

jeudi 3 avril
RL&FW, Master ENI, Dr William 6
2025
Traçabilité
u Etant donné que le processus de développement
logiciel s’inscrit dans la durée et suit une certaine
logique, la traçabilité est un élément fondamental
pour donner la maîtrise du logiciel.
u Tous les changements opérés sur un programme
informatique devraient être consignés, tant du point
de vue des spécifications qui ont initié ces
changements que du point de vue du code source.
u Un lien explicite doit être établi entre les
spécifications et les changements de code
consécutifs.
jeudi 3 avril
RL&FW, Master ENI, Dr William 7
2025
Réutilisation - Quand?
u La réutilisation a pour objectif l’amélioration de la
qualité et de la productivité, l’industrialisation de la
production de logiciel.
u La réutilisation contribue « à l’augmentation de la
maturité de l’activité de production logicielle.
u La réutilisation se définit comme une nouvelle
approche de développement de systèmes selon
laquelle il est possible de développer un système à
partir de composants existants.

jeudi 3 avril
RL&FW, Master ENI, Dr William 8
2025
Réutilisation - Quand?
u Cette approche a été mise en œuvre dans les phases
d’ingénierie du logiciel (programmation, conception
d’architectures logicielles…).
u En revanche cette approche s’est peu développée
dans les phases initiales du cycle de développement
(ingénierie des besoins, spécification conceptuelle…).
u C’est dans ces phases là que l’approche par
réutilisation est la plus prometteuse.

jeudi 3 avril
RL&FW, Master ENI, Dr William 9
2025
Composition d’éléments logiciels
Software component Software reuse

Elément logiciel et composition d’éléments logiciels (vue d'artiste)

jeudi 3 avril
RL&FW, Master ENI, Dr William 10
2025
Quelques termes techniques

u Extensibilité : capacite à se voir ajouter de nouvelles


fonctionnalités pour de nouveaux contextes
d'utilisation.
u Adaptabilité : capacite à voir ses fonctionnalités
adaptées à de nouveaux contextes d'utilisation.
u Entité générique : entité apte à être utilisée dans, ou
adaptée a, différents contextes.

jeudi 3 avril
RL&FW, Master ENI, Dr William 11
2025
Quelques termes techniques

u Variabilité : néologisme dénotant


u Paramètre : nom dénotant un élément variable d'un
concept ou d'un calcul.
u (Nommer c'est abstraire, ce qui est abstrait se
réutilise).
u La réutilisation ne serait-ce pas l'art de donner le
même nom a des choses différentes.

jeudi 3 avril
RL&FW, Master ENI, Dr William 12
2025
Qu’est-ce qu’un bon logiciel?
u Donner moyen de réutiliser un logiciel ne se réduit
pas à remettre uniquement le code d’une application
logicielle, car alors comment comprendre ce code,
savoir qu’en faire et comment le mettre en œuvre ?
u La réutilisation porte sur tout un bon logiciel.
Définition :
u Un bon logiciel est composé d’un ensemble de
produits logiciels issus des différentes activités du
cycle de vie du logiciel : en particulier, l’expression
des besoins, la définition d’architecture, le modèle
d’analyse, le modèle de conception, le code, les
programmes de test, les rapports de test.
jeudi 3 avril
RL&FW, Master ENI, Dr William 13
2025
TD et TP: Réutilisation de modèle de conception

1. Créer un modèle de conception


2. Synchroniser ce modèle en d’autres modèles de
conception
3. Exemple:
a. Créer un diagramme de cas d’utilisation
b. Faire une description textuelle d’un cas d’utilisation
c. Faire une synchronisation en DSS et en DA

jeudi 3 avril
RL&FW, Master ENI, Dr William 14
2025
Contenu d’un bon logiciel
u Les produits logiciels réutilisables doivent être fournis
avec l’information nécessaire à leur réutilisation (la
description du bien logiciel, également appelée méta-
information).
u De même, les produits logiciels doivent être
apparentés : tels tests correspondent à telle version
de module de tel logiciel

jeudi 3 avril
RL&FW, Master ENI, Dr William 15
2025
Contenu d’un bon logiciel
u Un bon logiciel est constitué de deux types
d’information :
u le corps (contenant les produit logiciels
effectivement réutilisables)
u la description (contenant les informations
permettant de supporter le processus de
réutilisation

jeudi 3 avril
RL&FW, Master ENI, Dr William 16
2025
Cas particulier des composants
u Le terme composant est plus spécifique » que le
terme bien logiciel.
u Un composant est un bien logiciel exécutable (sous
forme binaire ou non) qui peut être intégré sans
modification dans une application.
u Cette notion fait référence aux technologies à base
de composants (EJB, Active X, CORBA, web services.

jeudi 3 avril
RL&FW, Master ENI, Dr William 17
2025
Caractéristiques d’un bon logiciel
u Réutiliser des composants logiciels « certifiés » dont
la robustesse et la fiabilité ont été éprouvées.
u On ne réutilise que des composants qui vérifient la
célèbre règle des cinq R (Reliable, Reusable,
Replaceable, Resilient, Revisable) ;
u Un composant doit alors être fiable, réutilisable,
remplaçable, élastique (souple, adaptable),
modifiable.

jeudi 3 avril
RL&FW, Master ENI, Dr William 18
2025
Caractéristiques d’un bon logiciel
u Réutiliser des composants logiciels « certifiés » dont
la robustesse et la fiabilité ont été éprouvées.
u On ne réutilise que des composants qui vérifient la
célèbre règle des cinq R (Reliable, Reusable,
Replaceable, Resilient, Revisable) ;
u Un composant doit alors être fiable, réutilisable,
remplaçable, élastique (souple, adaptable),
modifiable.

jeudi 3 avril
RL&FW, Master ENI, Dr William 19
2025
Critères généraux
Tout bon logiciel destiné à être réutilisé doit respecter
certains critères généraux:
u Conformité aux standards (normes et directives, externes
et internes),
u Application du processus d’ingénierie (rédaction de la
documentation adéquate, procédures de tests et de
validation),
u Complétude des produits logiciels et des informations
fournies,
u Simplicité et compréhensibilité,
u Modularité.
jeudi 3 avril
RL&FW, Master ENI, Dr William 20
2025
Critères techniques
u Afin d’être facilement réutilisés et intégrés dans une
nouvelle application, les bons logiciels doivent être mis
en œuvre en tant que composants, c’est-à-dire se
conformer à certaines caractéristiques techniques
favorisant leur assemblage. Ils doivent respecter les
critères techniques suivants:
u Interopérabilité,
u Portabilité (en particulier l’accès par des interfaces
logiques permet d’isoler les composants métiers à forte
valeur ajoutée des technologies d’implémentation),

jeudi 3 avril
RL&FW, Master ENI, Dr William 21
2025
Critères techniques
u Séparation de l’interface et de l’implémentation (les
services offerts par un bien logiciel et la manière dont il
est implémenté peuvent évoluer séparément et ne
doivent pas être mélangées),
u Composition (un composant peut résulter de l’assemblage
de plusieurs composants de granularité plus fine,
respectant alors les propres règles de chaque niveau
d’imbrication),
u Transparence de localisation,
u Sécurité,

jeudi 3 avril
RL&FW, Master ENI, Dr William 22
2025
Critères techniques
u Auto-descriptivité (un bien logiciel doit inclure sa propre
documentation. Un composant logiciel exécutable se doit
de décrire sa propre interface, c’est-à-dire son protocole
d’utilisation, donnant ainsi moyen à l’utilisateur de
l’assembler avec d’autres composants),
u Prêt à l’emploi.
u Méta-modélisation : Si on ajoute à un corps de bien
logiciel, un modèle décrivant l’architecture et la
conception d’un bien logiciel, on facilite sa
compréhension et son intégration dans un système
logiciel.

jeudi 3 avril
RL&FW, Master ENI, Dr William 23
2025
TD et TP: Réutilisation de modèle de conception

1. Créer un modèle de conception


2. Synchroniser ce modèle en d’autres modèles de
conception
3. Exemple:
a. Créer un modèle BPM
b. Synchroniser ce modèle en diagramme de cas
d’utilisation
c. Faire une modification du modèle cible pour qu’il
respecte les contraintes
jeudi 3 avril
RL&FW, Master ENI, Dr William 24
2025
Classification de bon logiciel (bien logiciel)

u Biens logiciels verticaux et biens logiciels horizontaux sont


associés à des motifs différents de réutilisation.
u Les biens logiciels verticaux sont spécifiques à un domaine
fonctionnel.
u Un domaine fonctionnel, ou domaine d’application, se
définit comme un ensemble d’applications (existantes ou
futures) participant à la même activité d’une entreprise.
u Les biens logiciels horizontaux sont plus faciles à
identifier et à réutiliser car ils représentent des éléments
récurrents d’architecture technique .

jeudi 3 avril
RL&FW, Master ENI, Dr William 25
2025
Classification de bon logiciel (bien logiciel)

u Dans les biens logiciels horizontaux, on peut distinguer :


u Les biens logiciels horizontaux qui sont nécessaires
techniquement pour implémenter les couches basses
(communications, entrées/sorties, accès au système
d’exploitation…) d’un système logiciel.
u Les biens logiciels horizontaux génériques qui fournissent
des services à plus d’un domaine fonctionnel (objets
graphiques d’IHM (UI kits), service d’authentification,
framework de gestion des erreurs).

jeudi 3 avril
RL&FW, Master ENI, Dr William 26
2025
Types de bons logiciels réutilisables
u Il est défini et décrit différents types de biens logiciels en fonction de la
forme que prend le bien (bibliothèque, exécutable…) et de son objet :
u Modèle métier
u Modèles d’exigences
u Modules logiciels
u Framework
u Composant exécutable
u Bibliothèque
u Pattern
u Générateur d’application
u Référentiel produit

jeudi 3 avril
RL&FW, Master ENI, Dr William 27
2025
jeudi 3 avril
RL&FW, Master ENI, Dr William 28
2025
Référentiel, bibliothèque de bons logiciels
u En rendant ses logiciels réutilisables, une entreprise
accroît la valeur de son patrimoine en le rendant pérenne.
u Son patrimoine logiciel prend la forme d’une bibliothèque
de biens logiciels, parfois aussi appelée référentiel
logiciel (en référence au terme anglais correspondant
Repository).

jeudi 3 avril
RL&FW, Master ENI, Dr William 29
2025
Référentiel, bibliothèque de bons logiciels
u La bibliothèque de biens logiciels offre :
u Un endroit connu et unique où chercher et déposer les
biens logiciels.
u L’identification et l’inventaire des biens logiciels
u Un mode homogène de documentation, de recherche et
d’administration des biens logiciels.
u Une méthode de gestion des évolutions et des
améliorations apportées aux biens logiciels, en particulier
les procédures de gestion de configuration.

jeudi 3 avril
RL&FW, Master ENI, Dr William 30
2025
Catalogue
u La bibliothèque contient les biens logiciels (composants)
et aussi un catalogue, qui associe une classification
(taxonomie) permettant de ranger logiquement les biens
logiciels.
u Il faut pouvoir agréger les catalogues de composants
(interne, externes) ou bien encore centraliser l’interface
de recherche des composants.
u Ainsi on peut par rapport à un besoin, rechercher un
composant, comparer ceux existants et choisir la
meilleure solution : acquérir, créer de rien ou récupérer
d’une application existante le composant désiré.
jeudi 3 avril
RL&FW, Master ENI, Dr William 31
2025
Fonctions de la bibliothèque
u Les fonctions de la bibliothèques sont:
u Publier les biens logiciels disponibles
u Parcourir le catalogue
u Récupérer un bien logiciel
u Classification et recherche (recherche textuelle, par mot
clé, par attribut)

jeudi 3 avril
RL&FW, Master ENI, Dr William 32
2025
Fonction de la bibliothèque
u Archivage et versioning
u Fournir des rapports, des indicateurs sur l’utilisation des
biens logiciels stockés
u Contrôler l’accès (droits d’accès en lecture, écriture,
suppression)
u Travail collaboratif (mécanismes de workflow pour la
validation)
u Notification des modifications aux utilisateurs abonnés

jeudi 3 avril
RL&FW, Master ENI, Dr William 33
2025
Solution de la réutilisation
u Pattern, Framework, Composants
u Les patterns, les frameworks et les composants peuvent
être complémentaires.
u Les patterns peuvent être caractérisés comme des
descriptions plus abstraites des frameworks, qui sont eux
implémentés dans un langage particulier.
u Des frameworks sophistiqués incorporent de nombreux
patterns.
u De la même manière, les patterns peuvent servir à
documenter les frameworks

jeudi 3 avril
RL&FW, Master ENI, Dr William 34
2025
Solution de la réutilisation
u Pattern, Framework, Composants
u Aussi les frameworks peuvent être utilisés pour
développer des composants.
u L’intégration de biens logiciels réutilisables (utilisant une
architecture à base de composants) est synthétisée et
récapitulée dans une démarche élaborée et promue par
l’OMG (Open Management Group) : il s’agit de la MDA
(Model Driven Architecture)

jeudi 3 avril
RL&FW, Master ENI, Dr William 35
2025
TD et TP: Réutilisation de modèle de conception

1. Créer un modèle de conception


2. Synchroniser et générer ce modèle en d’autres modèles
de conception
3. Exemple:
a. Créer un diagramme de classes (Classe persistable)
b. Synchroniser ce modèle en ERD (ORM)
c. Générer une base de données (PostgreSQL)

jeudi 3 avril
RL&FW, Master ENI, Dr William 36
2025
Réutilisation de codes

u On réutilise du code en créant de nouvelles


classes, mais au lieu de les créer depuis zéro, on
utilise les classes que quelqu'un a construit et
testé.
u Réutiliser de code fait appel à la
réutilisation d’une classe, d’une fonction et
d’une portion de code ou de ligne de code.

jeudi 3 avril
RL&FW, Master ENI, Dr William 37
2025
Entités logicielles réutilisables

u La programmation par objets a introduit de


nouveaux schémas de réutilisation plus simples et
intuitifs a mettre en œuvre, via:
u - extension (description différentielle, héritage)
u - paramétrage (encapsulation, passage d'objets en
argument et liaison dynamique)

jeudi 3 avril
RL&FW, Master ENI, Dr William 38
2025
Entités réutilisables du GL à objets

jeudi 3 avril
RL&FW, Master ENI, Dr William 39
2025
Modificateurs de méthodes
Modificateur Rôle
Public la méthode est accessible aux méthodes
des autres classes
Private l'usage de la méthode est réservé aux
autres méthodes de la même classe
Protected la méthode ne peut être invoquée que
par des méthodes de la classe ou de ses
sous-classes
Final la méthode ne peut être modifiée
(redéfinition lors de l'héritage interdite)

jeudi 3 avril
RL&FW, Master ENI, Dr William 40
2025
Modificateurs de méthodes
Modificateur Rôle
Static la méthode appartient simultanément à tous les objets
de la classe (comme une constante déclarée à
l'intérieur de la classe). Il est inutile d'instancier la
classe pour appeler la méthode mais la méthode ne
peut pas manipuler de variable d'instance. Elle ne peut
utiliser que des variables de classes.
Synchronised la méthode fait partie d'un thread. Lorsqu'elle est
appelée, elle barre l'accès à son instance. L'instance est
à nouveau libérée à la fin de son exécution
Native le code source de la méthode est écrit dans un autre
langage

RL&FW, Master ENI, Dr William jeudi 3 avril


41
2025
Exemple

u Création d’une classe


u Création d’une fonction / méthode
u Appel d’une fonction dans une même classe
et dans et dans des classes différentes

jeudi 3 avril
RL&FW, Master ENI, Dr William 42
2025
TP

u Il est strictement interdit de saisir des


lettres dans une zone de texte de chiffres,
créer une fonction qui permet de détecter
des lettres dans cette zone de texte et
l’algo permet de supprimer directement
des caractères interdits.

u Calcul de la combinaison en Mathématiques


jeudi 3 avril
RL&FW, Master ENI, Dr William 43
2025
Norme de codage
u Pourquoi les normes de codage sont-elles
importantes dans les projets de développement?
u Les normes de codage garantissent la cohérence, la
lisibilité et maintenabilité du code, conduisant à une
meilleure qualité et à une réduction des bogues
u Quel est l'impact d'une convention de nommage
appropriée sur la lisibilité du code?
u Des noms descriptifs et significatifs rendent le code
plus compréhensible, réduisant le besoin de
commentaires excessifs et améliorant la
compréhension globale.
jeudi 3 avril
RL&FW, Master ENI, Dr William 44
2025
Norme de codage
u Quel rôle joue la gestion des erreurs dans le
développement?
u Une bonne gestion des erreurs empêche les plantages de
l'application et fournit aux utilisateurs des messages
d'erreur significatifs, améliorant l'expérience utilisateur.
u Pourquoi la sécurité est-elle une considération
importante dans les normes de codage?
u Les mesures de sécurité protègent les applications Web
contre vulnérabilités et attaques, en protégeant les
données sensibles et en veillant à l'intégrité des
applications.
jeudi 3 avril
RL&FW, Master ENI, Dr William 45
2025
Norme de codage
u 1. Pourquoi les normes de codage sont-elles
importantes ?
u Code intelligible, réutilisable et maintenable, ce
qui réduit les défauts et améliore la qualité
globale.
u 2. Indentation et formatage cohérents
u facilite l'identification des morceaux de code et
renforce l'organisation générale du code
u Parcours rapide du flux logique de code
jeudi 3 avril
RL&FW, Master ENI, Dr William 46
2025
Norme de codage
u 3. Conventions de dénomination descriptives et
significatives
u Les développeurs peuvent comprendre la fonction et le
but de chaque pièce grâce à des étiquettes claires et
courtes.
u 4. Modularisation et réutilisation
u Code complexe en composants plus petits et
modulaires.
u Accélère non seulement le développement, mais assure
également la cohérence et réduit la possibilité de faire
des erreurs.
jeudi 3 avril
RL&FW, Master ENI, Dr William 47
2025
Norme de codage
u 5. Commentaires pour plus de clarté et de documentation
u Empêcher les pannes d'application et donner aux utilisateurs des
messages d'erreur utiles en anticipant et en gérant les problèmes
potentiels et les exceptions avec élégance, améliorant ainsi
l'expérience utilisateur
u 7. Mesures de sécurité et validation des entrées
u Les développeurs en vérifiant minutieusement les entrées de
l'utilisateur et en utilisant des techniques de codage sécurisée
u Protégées contre les vulnérabilités généralisées telles que le
cross-site scripting (XSS) et attaques par Injection SQL en
adhérant aux normes de codage.

jeudi 3 avril
RL&FW, Master ENI, Dr William 48
2025
Norme de codage
u 8. Considérations relatives à l'optimisation et aux
performances
u Minimisation des requêtes de base de données, la réduction
de la taille des fichiers et l'optimisation des algorithmes.
u 9. Contrôle de version et collaboration
u Utilisation d'outils de contrôle de version comme Git et le
respect des directives de codage pour
les messages de branchement, de fusion et de validation
permettent un développement fluide
coopération. Cela simplifie la correction des bogues, le
suivi des modifications plus facilement et
intégrer de nouvelles fonctionnalités dans la base de code.

jeudi 3 avril
RL&FW, Master ENI, Dr William 49
2025
Norme de codage
u 10. Essais et assurance qualité
u Tests et l'assurance qualité sont des processus cruciaux
u Des tests unitaires, des tests d'intégration et des frameworks de
tests automatisés sont utilisés
u 11. Suivre les tendances et les meilleures pratiques de
l'industrie
u Derniers outils et méthodes en adhérant aux normes de codage
qui encouragent à rester au courant des tendances de l'industrie
u 12. Apprentissage continu et amélioration
u Accroître leurs connaissances et conserver un avantage
concurrentiel
jeudi 3 avril
RL&FW, Master ENI, Dr William 50
2025
Norme de codage
u Organisation des fichiers et l’arborescence du projet
• services
• models/views/controllers
• components/views
• styles
u Nommage des fichiers
u Par exemple, pour une classe Automobile, on nommera le
fichier [Link].
u Pour un service NetworkService, on appellera le
fichier [Link].
jeudi 3 avril
RL&FW, Master ENI, Dr William 51
2025
Norme de codage
u Nommage des classes, variables, fonctions, etc.
• Pour une classe, on utilise du camelCase en commençant
avec une majuscule : User ;
• Pour une fonction, on utilise du camelCase en commençant
avec une minuscule : connectUser ;
• Idem pour une variable : connectedUser ;
• Une constante devrait s’écrire uniquement en majuscule
: USER_ID.

jeudi 3 avril
RL&FW, Master ENI, Dr William 52
2025
Norme de codage
u Indentation du code
u Certains utilisent les tabulations ; d’autres des espaces.
Certains préfèrent utiliser deux espaces ; d’autres quatre.
u Commentaires
u Souvent oubliés par les développeurs
débutants, les commentaires ont pourtant
une importance primordiale
u Taille des fichiers, fonctions
u Comment faire pour les réduire ? En ce qui concerne les
fonctions, il est bon, lorsqu’elles deviennent trop
imposantes, de les séparer en plusieurs fonctions.

jeudi 3 avril
RL&FW, Master ENI, Dr William 53
2025
Norme de codage
u Parenthèses, point-virgules, etc.
u Par exemple, l’utilisation d’espace avant et après une
parenthèse, et le saut à la ligne à la fin d’une
condition if. Cela est totalement arbitraire.
u Ou encore, l’utilisation ou non des ‘;’ dans les langages
où ils ne sont pas obligatoires, comme JavaScript ou
Python. C’est encore une fois arbitraire.
u Via un outil d’analyse de code
u Utiliser le bon IDE

jeudi 3 avril
RL&FW, Master ENI, Dr William 54
2025
Qu’est-ce qu’un FRAMEWORKS
u Un framework est un cadre qui dicte
l'architecture de développement d'une
application. Littéralement, un framework signifie
“cadre de travail”.
u Ce kit de composants logiciels structurels permet
aux développeurs d’être plus efficaces dans la
conception d'applications web.
u Il offre une structure pour le développement et
fournit une variété d'outils pour accompagner le
développeur.
jeudi 3 avril
RL&FW, Master ENI, Dr William 55
2025
Qu’est-ce qu’un FRAMEWORKS
u L'utilisation d'un framework peut grandement
faciliter le processus de développement en offrant
des outils préconçus et une structure cohérente.
u Cela permet aux développeurs de gagner du temps
et de suivre des bonnes pratiques établies par la
communauté de développeurs

jeudi 3 avril
RL&FW, Master ENI, Dr William 56
2025
Qu’est-ce qu’un FRAMEWORKS
u Les frameworks sont généralement conçus par une
communauté de développeurs.
u Ils fonctionnent par langage de programmation et
permettent de développer tous types de supports :
applications mobiles, logiciels de bureau,
plateformes web, jeux vidéo, etc.
u Mais l’on peut également créer son propre
framework.

jeudi 3 avril
RL&FW, Master ENI, Dr William 57
2025
Qu’est-ce qu’un FRAMEWORKS
u Il existe différentes parties dans les frameworks,
on peut citer par exemple les outils
d’authentification, de gestion de base de données,
d’affichage ou encore d’interaction utilisateur.
u Il faut avoir en tête qu’un framework permet de
créer tout type d’application complexe.
u Et pour choisir celui qui nous convient le plus, il
faut définir efficacement son besoin en amont.

jeudi 3 avril
RL&FW, Master ENI, Dr William 58
2025
Exemples de FRAMEWORKS
En PHP
u Symfony: Un framework qui offre une structure
solide pour le développement d'applications web.
u Laravel : Un autre framework PHP apprécié pour sa
facilité d'utilisation et sa robustesse. C’est l’un des
frameworks les plus utilisés dans le monde.
u CodeIgniter : Une suite d’outils simple et légère
qui permet de répondre à de nombreux cas
d’usage.

jeudi 3 avril
RL&FW, Master ENI, Dr William 59
2025
Exemples de FRAMEWORKS
En Javascript
u Express : Un framework utilisé pour développer des
applications web et des API.
u VueJs : c’est un cadre de travail évolutif dont l’approche
est orientée composants. On l’utilise généralement pour la
partie front-end. Assez simple à prendre en main, ses très
bonnes performances font de lui l’un des frameworks
JavaScript les plus rapides.
u Angular: c’est le framework front-end officiel de Google et
développé par ce dernier. Il offre des solutions prêtes à
l’emploi et c’est un très bon framework pour développer
des applications web hautement interactives. Orienté
jeudi 3 avril
composant, il apporte une base de code solide
RL&FW, Master ENI, Dr William
2025
60
Qu’est-ce qu’une LIBRAIRIE
u Une librairie, tout comme un framework, est un ensemble
d'outils utilisés dans le développement web. Contrairement
à un framework, une librairie n'impose pas une architecture
spécifique pour l'application.
u Une librairie peut être définie comme un ensemble de
fonctions, de classes ou de modules pré-écrits et
réutilisables qui peuvent être intégrés dans un programme
pour effectuer des tâches spécifiques.
u C’est donc un ensemble de codes pré-écrits et compilés,
regroupés dans des modules ou des packages, qui offrent
une fonctionnalité spécifique pour répondre à un besoin
précis.
jeudi 3 avril
RL&FW, Master ENI, Dr William 61
2025
Qu’est-ce qu’une LIBRAIRIE
u Par exemple, une librairie graphique pourrait fournir des
fonctions pour dessiner des formes, tandis qu'une librairie
de traitement d'image pourrait inclure des outils pour
modifier et manipuler des images.
u On peut les visualiser comme des fonctions prêtes à
l’emploi qui évitent aux développeurs de devoir coder ou
re-coder certaines fonctionnalités triviales.
u Les librairies offrent une plus grande flexibilité que les
frameworks, permettant aux développeurs de piocher les
outils spécifiques dont ils ont besoin, sans être contraints
par une structure prédéfinie.

jeudi 3 avril
RL&FW, Master ENI, Dr William 62
2025
Exemple de LIBRAIRIE
• React: Une librairie JavaScript développée par Facebook,
utilisée pour développer des interfaces utilisateur
interactives et dynamiques.
• jQuery : Une librairie JavaScript populaire pour simplifier
la manipulation du DOM (Document Object Model) et
l'interaction avec les événements.
• [Link] : Une librairie JavaScript progressive pour la
construction d'interfaces utilisateur.
u Ces librairies offrent une grande flexibilité aux
développeurs, leur permettant de sélectionner les outils
spécifiques dont ils ont besoin pour leurs projets.
jeudi 3 avril
RL&FW, Master ENI, Dr William 63
2025
LIBRAIRIE vs FRAMEWORKS
u Bien que les termes "bibliothèque" et "framework" soient
parfois utilisés de manière interchangeable, ils ont des
différences fondamentales dans leur utilisation et leur
architecture
u Les frameworks proposent une architecture de
développement d'application et offrent une structure
prédéfinie, tandis que les librairies offrent une plus
grande flexibilité et ne contraignent pas l'architecture de
l'application.
u En utilisant un framework, les développeurs peuvent gagner
du temps en suivant une structure cohérente et des outils
préconçus, tandis qu'avec une librairie, ils peuvent
sélectionner les outils spécifiques dont ils ont besoin sans
RL&FW, Master ENI, Dr William
jeudi 3 avril
2025
64

être contraints par une architecture spécifique.


Utilisation
u Lors du développement web, l'utilisation d'un framework ou
d'une librairie peut grandement faciliter le processus de
création d'une application.
u Comprendre quand et comment utiliser ces outils peut faire
la différence dans la qualité et l'efficacité de votre travail
de développement.
u Une librairie est un ensemble de fonctions et de modules
qui peuvent être appelés par le développeur au besoin.

jeudi 3 avril
RL&FW, Master ENI, Dr William 65
2025
Utilisation
u Ce dernier possède donc un contrôle total sur son
programme et utilise la bibliothèque de manière sélective,
quand il en a réellement besoin.
u Un framework est une infrastructure globale qui définit la
structure de l'application.
u Il est donc contraignant. Le développeur doit suivre les
règles et les conventions du framework et remplir les
parties manquantes avec son propre code.
u Les frameworks offrent une base solide pour le
développement d'applications.

jeudi 3 avril
RL&FW, Master ENI, Dr William 66
2025
Utilisation
• Commencez par apprendre un seul framework ou
une seule librairie à la fois pour bien maîtriser ses
concepts et ses fonctionnalités.
• Explorez des tutoriels, des cours en ligne ou des
ressources éducatives pour approfondir votre
compréhension des frameworks et des librairies.
• Pratiquez sur des projets réels pour appliquer vos
connaissances et renforcer votre compréhension
des concepts.

jeudi 3 avril
RL&FW, Master ENI, Dr William 67
2025
Utilisation
u Participez à des communautés de développement
web pour échanger des idées, poser des questions
et rester à jour sur les dernières tendances en
matière de frameworks et de librairies.
u Restez curieux et ouvert d'esprit pour découvrir de
nouvelles technologies et améliorer
continuellement vos compétences sur le sujet.

jeudi 3 avril
RL&FW, Master ENI, Dr William 68
2025

Vous aimerez peut-être aussi