• Contenu
  • Bas de page
blog-ouidou_logoblog-ouidou_logoblog-ouidou_logoblog-ouidou_logo
  • Actualités Ouidou
  • Articles Techniques
  • Livres blancs
  • Interviews Clients
  • Interviews collaborateurs
Découvrir Ouidou
✕
No results See all results
Authentification via FranceConnect

Authentification via FranceConnect

22 février 2024
Interview croisée Centre national musique

Comment Ouidou accompagne le Centre National de la Musique ?

12 mars 2024
Ressources > L’art de créer des composants réutilisables

L’art de créer des composants réutilisables

Écrit par Wassim Rahoual

Introduction

L’efficacité et la réactivité sont essentielles dans le développement d’une application. Un moyen d’atteindre ces objectifs est d’utiliser la notion de composants réutilisables.

Dans cet article, nous allons explorer la création d’un composant modal réutilisable en React, nommé ReusableModal. Ce composant servira de base pour démontrer l’importance des composants réutilisables dans le développement d’application.

Définissons ce composant et montrons comment il s’intègre dans une application.

const ReusableModal = ({ open, onClose, title, body }) => {
  return (
    <Modal open={open} onClose={onClose}>
      <div style={{ backgroundColor: 'white', padding: '20px' }}>
        <h2>{title}</h2>
        <p>{body}</p>
        <Button onClick={onClose}>Fermer</Button>
      </div>
    </Modal>
  );
};

export default ReusableModal;

Code 1 : Definition de ReusableModal 

const App = () => {
  const [isModalOpen, setIsModalOpen] = useState(false);

  const handleOpenModal = () => setIsModalOpen(true);
  const handleCloseModal = () => setIsModalOpen(false);

  return (
    <div>
      <button onClick={handleOpenModal}>Ouvrir le Modal</button>
      <ReusableModal 
        open={isModalOpen} 
        onClose={handleCloseModal} 
        title="Mon Modal" 
        body="Ceci est un exemple de modal réutilisable." 
      />
    </div>
  );
};

export default App;

Code 2 : Intégration de ReusableModal 

Pour le moment, notre composant est assez simpliste, il se compose de :

  • open: Contrôle si le modal est visible ou non.
  • onClose: Une fonction appelée pour fermer le modal.
  • title et body: Le contenu textuel du modal.

Principes fondamentaux des composants réutilisables

Dans le développement de composants réutilisables, plusieurs principes fondamentaux doivent être pris en compte : l’encapsulation, l’indépendance, l’interopérabilité, et le respect des principes de conception tels que la responsabilité unique.

L’encapsulation implique de masquer les détails internes du composant, l’indépendance assure son fonctionnement autonome, et l’interopérabilité garantit sa compatibilité avec différents environnements.

Le respect de ces principes permet de créer des composants robustes. Appliquons ces différents principes à notre composant :


const ReusableModal = ({ open, onClose, title, body, size }) => {
  const getSize = (size) => {
  // Logique pour déterminer la taille du modal
  };

  return (
    <Modal open={open} onClose={onClose} style={{ width: getSize(size) }}>
      // Structure du modal
    </Modal>
  );
};

Code 3 : Amélioration du reusableModal 

  • Encapsulation : La fonction getSize encapsule la logique de détermination de la taille du modal, simplifiant ainsi l’utilisation du composant.
  • Indépendance : Le composant ReusableModal reste indépendant et ne dépend pas d’autres composants de l’application, ce qui facilite sa réutilisation.
  • Interopérabilité : Grâce à des paramètres comme size, le modal peut être adapté à différents contextes, augmentant ainsi son interopérabilité.
  • Principe de conception : En se concentrant uniquement sur l’affichage, ReusableModal respecte le principe de responsabilité unique.

Avantages de la réutilisabilité

L‘utilisation de composants réutilisables, comme notre ReusableModal, présente des avantages majeurs. Ils améliorent non seulement la qualité et la maintenabilité du code, mais aussi son efficacité. Elle permet aux développeurs de gagner du temps, réduit la complexité du code, et assure une meilleure cohérence dans l’ensemble de l’application. De plus, cela facilite les mises à jour et les correctifs, tout en augmentant la scalabilité et la flexibilité de l’application.

const ReusableModal = ({ open, onClose, title, body, size, customStyles }) => {
  const defaultStyle = { backgroundColor: 'white', padding: '20px' };
  const combinedStyles = { ...defaultStyle, ...customStyles };

  const getSize = (size) => {
    // Logique pour déterminer la taille du modal
  };

  return (
    <Modal open={open} onClose={onClose} style={{ width: getSize(size) }}>
      <div style={combinedStyles}>
        <h2>{title}</h2>
        <p>{body}</p>
        <Button onClick={onClose}>Fermer</Button>
      </div>
    </Modal>
  );
};

Code 3 : Amélioration du ReusableModal 

  • Amélioration de la qualité et de la maintenabilité : L’ajout de customStyles permet une personnalisation facile tout en maintenant la cohérence du code.
  • Efficacité accrue : En évitant de réécrire le style pour chaque modal, nous économisons du temps et des efforts.
  • Cohérence dans l’application : Un style par défaut garantit une expérience utilisateur cohérente.
  • Facilité de mise à Jour : Modifier defaultStyle ou getSize impacte tous les modals, assurant des mises à jour fluides et réduisant les erreurs.
  • Réduction de la complexité du code : Un composant unique avec des styles paramétrables simplifie la gestion du code.
  • Scalabilité et flexibilité : La capacité de personnaliser les styles rend le modal adaptable à divers besoins et contextes.

Technologies et Outils

La création de composants réutilisables nécessite l’utilisation de technologies et d’outils appropriés. Ces technologies facilitent la conception, le développement, et la gestion des composants réutilisables dans le développement en général.

  • Technologies front end:
    • React.js : Utilisé pour développer notre ReusableModal, React offre JSX, composants fonctionnels, hooks et contexte, facilitant la création de composants modulaires.
    • Angular.js : Une alternative à React, offrant des capacités similaires pour la création de composants d’interface utilisateur.
  • Technologies back end:
    • Spring Boot : Bien que notre exemple se concentre sur le front end, Spring Boot est un choix robuste pour le back end, fournissant des outils pour développer des services et des contrôleurs réutilisables.
  • Outils de gestion de composants:
    • Bit : Idéal pour gérer et réutiliser des composants dans différents projets.
    • Storybook : Utilisé pour cataloguer et visualiser ReusableModal et d’autres composants UI dans divers états.
  • Tests et assurance qualité:
    • Des frameworks de test comme Jest (pour React) et JUnit (pour Spring Boot) sont essentiels pour assurer la fiabilité des composants dans différents scénarios. Des tests unitaires et d’intégration doivent être implémentés pour assurer la fiabilité de ReusableModal dans différents scénarios d’utilisation.

Meilleures pratiques et stratégies

La création efficace de composants réutilisables implique l’adoption de stratégies et de pratiques spécifiques :

  • Privilégier la réutilisabilité dès la conception : On peut prendre l’exemple de ReusableModal qui a été conçu avec des dépendances minimales, ce qui facilite sa réutilisation dans divers contextes.
  • S’aligner sur les principes SOLID : Le composant ReusableModal suit la responsabilité unique, se concentrant uniquement sur l’affichage du modal, ce qui le rend robuste et évolutif.
  • Documentation complète : Une documentation détaillée pour ReusableModal doit être fournie, pour faciliter son utilisation et sa compréhension par les développeurs.
  • Amélioration continue : Le composant doit régulièrement être revu et amélioré, garantissant son évolution et sa pertinence.
  • Adaptabilité aux technologies émergentes : ReusableModal est conçu pour être adaptable et peut être mis à jour pour s’aligner sur les nouvelles fonctionnalités et l’évolution de la technologie utilisée.

Ces pratiques garantissent que ReusableModal est non seulement fonctionnel mais aussi optimisé pour des évolutions futures.

Conclusion

Les composants réutilisables, comme notre ReusableModal, jouent un rôle crucial dans l’avenir du développement d’applications. Ils sont au cœur d’une tendance vers plus d’innovation et d’efficacité, portée par des évolutions technologiques clés :

  • Émergence des composants en tant que service : Outils comme Bit, facilitant la gestion et le partage de composants, reflètent cette tendance.
  • Rôle de l’intelligence artificielle : L’IA commence à influencer la sélection et la recommandation de composants adaptés.
  • Évolution des frameworks front end : Des frameworks comme React rendent la création de composants plus simple.
  • Normes universelles pour les composants : Le développement de normes universelles facilitera l’intégration de composants dans divers projets.
  • Personnalisation et adaptabilité : La capacité des composants à s’adapter à différents contextes est primordiale.

En conclusion, la maîtrise des composants réutilisables est une étape clé vers un développement plus agile, robuste et innovant. Notre composant ReusableModal illustre comment les composants réutilisables peuvent améliorer la qualité, l’efficacité et la maintenabilité des applications.

À lire aussi

Diagnostiquer, comprendre et optimiser les performances d’une application React
4 mai 2026

Diagnostiquer, comprendre et optimiser les performances d’une application React

Lire la suite de l'article

Ouicommit Paris – IA : de l’expérimentation à l’industrialisation
15 avril 2026

Ouicommit Paris – IA : de l’expérimentation à l’industrialisation

Lire la suite de l'article

Ouidou et Scaleway : un partenariat stratégique pour accélérer le cloud souverain en Europe
8 avril 2026

Ouidou et Scaleway : un partenariat stratégique pour accélérer le cloud souverain en Europe

Lire la suite de l'article

Replay webinaire Ouidou x Sonar
2 juillet 2026

Replay webinaire Ouidou x Sonar

Lire la suite de l'article

Articles associés

Ouicommit Paris – IA : de l’expérimentation à l’industrialisation
15 avril 2026

Ouicommit Paris – IA : de l’expérimentation à l’industrialisation


Lire la suite
Ouidou et Scaleway : un partenariat stratégique pour accélérer le cloud souverain en Europe
8 avril 2026

Ouidou et Scaleway : un partenariat stratégique pour accélérer le cloud souverain en Europe


Lire la suite
Comment préparer votre Jira Cloud dès maintenant ? 
14 novembre 2025

Comment préparer votre Jira Cloud dès maintenant ? 


Lire la suite
Replay webinaire IA
5 novembre 2025

Replay webinaire IA


Lire la suite
  • Linkedin Ouidou
  • Youtube Ouidou

Blog Ouidou, le rendez-vous des équipes tech qui veulent comprendre avant de décider. Veille, retours d'expérience et décryptages pour rester à la pointe.

© 2026 Ouidou | Tous droits réservés | Plan du site | Mentions légales | Déclaration d'accessibilité
    Découvrir Ouidou
    No results See all results