Architecture d’Electron : processus principal et processus de rendu
Comprenez le modèle multiprocessus d’Electron : le processus principal pour les API natives et le processus de rendu pour l’interface React.
Architecture d’Electron : processus principal et processus de rendu est une leçon React Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage React Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours React Academy comprend 4 leçons au total.
Qu'est-ce qu'Electron ?
Electron est un framework qui associe Chromium, pour l'affichage Web, à Node.js, pour l'accès aux API natives. Il permet ainsi aux développeurs de créer des applications de bureau multiplateformes à l'aide de technologies Web familières. Votre application React s'exécute dans une fenêtre de navigateur Chromium, tandis que Node.js vous donne accès aux fonctionnalités du système d'exploitation.
Le processus principal
Le processus principal est le point d'entrée d'une application Electron : il gère le cycle de vie de l'application, crée et contrôle les fenêtres, et prend en charge les interactions natives avec l'OS. Il crée les processus de rendu et dispose d'un accès complet aux API Node.js ainsi qu'au système d'exploitation sous-jacent.
Le processus de rendu
Chaque BrowserWindow crée son propre processus de rendu, qui exécute Chromium et votre application React. Il existe un processus de rendu par fenêtre, et celui-ci se comporte comme un onglet de navigateur classique : il affiche du HTML, du CSS et du JavaScript.
Fonctionnalités du processus principal
Comme le processus principal dispose d'un accès complet à Node.js, il peut lire et écrire dans le système de fichiers, créer des menus natifs, gérer la zone de notification, créer des processus enfants et interagir avec le matériel. Pour des raisons de sécurité, ces fonctionnalités ne sont pas disponibles par défaut dans le processus de rendu.
Mise en bac à sable du processus de rendu
Lorsque contextIsolation est défini sur true, ce qui est le comportement moderne par défaut, le processus de rendu s'exécute dans un environnement isolé et ne peut pas accéder directement aux API Node.js. Ce modèle de sécurité empêche du contenu Web malveillant d'accéder à votre système de fichiers ou d'exécuter des commandes système arbitraires.
IPC : le pont entre les processus
La communication interprocessus (IPC) est le mécanisme qui permet aux processus principal et de rendu d'échanger des messages. Le processus principal utilise ipcMain pour écouter les messages et y répondre, tandis que le processus de rendu utilise ipcRenderer pour les envoyer. Toutes les communications sont asynchrones et fondées sur des messages.
Le script de préchargement
Le script de préchargement occupe une position intermédiaire particulière : il s'exécute dans le contexte du processus de rendu, mais conserve l'accès aux API Node.js avant le chargement du contenu de la page. Il constitue ainsi le pont sécurisé entre le processus de rendu isolé et le processus principal privilégié.
contextBridge : exposer une API en toute sécurité
contextBridge.exposeInMainWorld permet au script de préchargement d'exposer de manière sélective une API sûre et soigneusement sélectionnée au processus de rendu. Celui-ci peut appeler les fonctions exposées sans jamais obtenir un accès direct aux composants internes de Node.js ou d'Electron, ce qui préserve une frontière de sécurité solide.
Accéder aux API exposées depuis React
Une fois que contextBridge a exposé une API sous un nom tel que "api", vos composants React peuvent l'appeler via window.api.myFunction(). Cela ressemble à l'appel d'une fonction JavaScript ordinaire, mais, en interne, l'appel passe par l'IPC jusqu'au processus principal.
Résumé du modèle de sécurité
Le modèle de sécurité d'Electron interdit explicitement l'accès direct à Node.js dans le processus de rendu lorsque contextIsolation est activé. Toutes les opérations privilégiées doivent passer par le script de préchargement et contextBridge. Ainsi, même en cas d'attaque XSS dans le processus de rendu, celle-ci ne peut pas accéder au système de fichiers.
Flux de communication entre les processus
Une interaction classique se déroule ainsi : le composant React appelle window.api.readFile() → le script de préchargement invoque ipcRenderer.invoke() → le processus principal exécute ipcMain.handle() et fs.readFile() → le résultat revient au processus de rendu sous forme de promesse. Cette architecture maintient un processus de rendu propre et sécurisé.
Rôle de contextBridge
Quel est le rôle principal de contextBridge.exposeInMainWorld dans Electron ?
Récapitulatif de la leçon
Electron associe Chromium et Node.js : le processus principal gère le cycle de vie de l'application et dispose d'un accès complet à l'OS, tandis que les processus de rendu exécutent votre interface React dans un environnement isolé. Le script de préchargement et contextBridge constituent le pont sécurisé, et l'IPC permet une communication sûre entre le processus principal privilégié et le processus de rendu isolé.
Questions Fréquemment Posées
La leçon « Architecture d’Electron : processus principal et processus de rendu » est-elle gratuite ?
Oui — le texte complet de « Architecture d’Electron : processus principal et processus de rendu » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours React Academy, passe à CoddyKit PRO. Le cours React Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Architecture d’Electron : processus principal et processus de rendu » ?
Comprenez le modèle multiprocessus d’Electron : le processus principal pour les API natives et le processus de rendu pour l’interface React. Tu pratiques React Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer React Academy ?
Aucune expérience préalable n'est requise. React Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Architecture d’Electron : processus principal et processus de rendu » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon React Academy ?
Oui. Chaque leçon React Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Architecture d’Electron : processus principal et processus de rendu
- Configurer React avec Electron
- Communication IPC entre les processus
- Empaquetage et distribution pour les plateformes de bureau