• Contenu
  • Bas de page
logo ouidoulogo ouidoulogo ouidoulogo ouidou
  • Qui sommes-nous ?
  • Offres
    • 💻 Applications métier
    • 🤝 Collaboration des équipes
    • 🛡️ Sécurisation et optimisation du système d’information
    • 🔗 Transformation numérique
  • Expertises
    • 🖥️ Développement logiciel
    • ♾️ DevSecOps
    • ⚙️ Intégration de logiciels et négoce de licences
      • Atlassian : Jira, Confluence, Bitbucket…
      • Plateforme monday.com
      • GitLab
      • SonarQube
    • 📚​ Logiciel de CRM et de gestion
    • 🎨 UX/UI design
    • 🌐 Accessibilité Numérique
    • 🗂️​ Démarches simplifiées
    • 📝 Formations Atlassian
  • Références
  • Carrières
    • 🧐 Pourquoi rejoindre Ouidou ?
    • ✍🏻 Nous rejoindre
    • 👨‍💻 Rencontrer nos collaborateurs
    • 🚀 Grandir chez Ouidou
  • RSE
  • Ressources
    • 🗞️ Actualités
    • 🔍 Articles techniques
    • 📖 Livres blancs
    • 🎙️ Interviews Clients
Nous contacter
✕
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 > Articles techniques > 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

Fresque numérique miniature image
16 avril 2025

Fresque du Numérique

Lire la suite

intelligence artificielle Ouicommit miniature image
17 mars 2025

Ouicommit – L’intelligence artificielle en entreprise, on y est ! 

Lire la suite

Image miniature Hackathon Women in Tech
13 mars 2025

Hackathon Women in Tech :  un engagement pour une tech plus inclusive 

Lire la suite

image miniature les nouveautés Atlassian
26 février 2025

Les nouveautés Atlassian en 2025

Lire la suite

Articles associés

Fresque numérique miniature image
16 avril 2025

Fresque du Numérique


Lire la suite
intelligence artificielle Ouicommit miniature image
17 mars 2025

Ouicommit – L’intelligence artificielle en entreprise, on y est ! 


Lire la suite
Image miniature Hackathon Women in Tech
13 mars 2025

Hackathon Women in Tech :  un engagement pour une tech plus inclusive 


Lire la suite

À propos

  • Qui sommes-nous ?
  • Références
  • RSE
  • Ressources

Offres

  • Applications métier
  • Collaboration des équipes
  • Sécurisation et optimisation du système d’information
  • Transformation numérique

Expertises

  • Développement logiciel
  • DevSecOps
  • Intégration de logiciels et négoce de licences
  • Logiciel de CRM et de gestion
  • UX/UI design
  • Accessibilité Numérique
  • Démarches simplifiées
  • Formations Atlassian

Carrières

  • Pourquoi rejoindre Ouidou ?
  • Nous rejoindre
  • Rencontrer nos collaborateurs
  • Grandir chez Ouidou

SIEGE SOCIAL
70-74 boulevard Garibaldi, 75015 Paris

Ouidou Nord
165 Avenue de Bretagne, 59000 Lille

Ouidou Rhône-Alpes
4 place Amédée Bonnet, 69002 Lyon

Ouidou Grand-Ouest
2 rue Crucy, 44000 Nantes

Ouidou Grand-Est
7 cour des Cigarières, 67000 Strasbourg

  • Linkedin Ouidou
  • GitHub Ouidou
  • Youtube Ouidou
© 2024 Ouidou | Tous droits réservés | Plan du site | Mentions légales | Déclaration d'accessibilité
    Nous contacter