---
url: 'https://www.redhat.com/topics/cloud-native-apps/what-is-a-Java-framework'
title: "Un framework Java, qu'est-ce que c'est ?"
date: '2024-11-20T22:53:14+00:00'
updated: '2026-05-08T04:01:00+00:00'
type: website
summary: "Un framework Java est un bloc de code prérédigé qu'utilisent les développeurs pour créer des applications avec le langage de programmation Java."
tags:
  - Article
  - 'Application development and delivery'
  - "Développement et distribution d'applications"
image: 'https://www.redhat.com/profiles/rh/themes/redhatdotcom/img/logo-rh-og-image.png'
published: true
---
  

  

1. [Sujets](/fr/topics "Sujets")
2. [Développement et distribution d'applications](/fr/topics/application-modernization "Développement et distribution d'applications")
3. [Un framework Java, qu'est-ce que c'est ?](# "Un framework Java, qu'est-ce que c'est ?")

 

 

# Un framework Java, qu'est-ce que c'est ?





 Publié  17 décembre 2019•*3* minutes (temps de lecture)

URL copiéeLa copie a échouéCopier l'URL





 

 

 

   

## Raccourcis

PrésentationJava, qu'est-ce que c'est ?Bibliothèque, framework et APIFrameworks Java les plus utilisésLe framework Quarkus

 

 

## Présentation



Un framework Java™ est un bloc de code prérédigé qu'utilisent les développeurs pour créer des applications avec le langage de programmation Java.

Les frameworks Java sont propres au langage de programmation Java. Il s'agit de plateformes Java destinées au développement d'applications logicielles et de programmes Java.

Un framework Java est un bloc de code prérédigé et réutilisable. Les développeurs peuvent l'utiliser comme modèle pour créer des applications en y ajoutant du code personnalisé selon les besoins.

Les frameworks sont conçus pour être utilisés et réutilisés plusieurs fois de sorte que les développeurs puissent programmer leurs applications sans avoir à écrire le code en partant de zéro.

Les frameworks Java peuvent inclure des classes prédéfinies (telles que des catégories d'objets) et des fonctions utilisables pour traiter, ajouter et gérer des périphériques matériels, ainsi qu'interagir avec les logiciels du système. Tout dépend du type de framework, du niveau de compétences du développeur Java, de ses préférences et de la fonction prévue pour l'application.

[Découvrir Red Hat OpenShift Virtualization Engine](/fr/resources/openshift-virtualization-engine-overview?intcmp=RHCTG0260000482098)







 

## Java, qu'est-ce que c'est ?



Java est un langage de programmation orientée objet qui date de 1995. Les développeurs utilisent Java pour programmer des applications qui vont s'exécuter à l'intérieur des limites du domaine dans lequel elles se trouvent.

Attention à ne pas confondre Java et JavaScript, un langage de programmation différent développé à la même époque par une autre entreprise. Le développement Java permet de créer des applications qui s'exécutent dans des navigateurs ou sur les systèmes nus, [machines virtuelles](/fr/topics/virtualization/what-is-a-virtual-machine) ou [conteneurs](/fr/topics/containers) des serveurs. De son côté, JavaScript fonctionne uniquement dans les navigateurs.







 

## Ressources Red Hat











[En savoir plus](/fr/resources "En savoir plus")







 

   

## Définitions : bibliothèque, framework et interface de programmation d'applications



La bibliothèque représente une fonction d'une application, le framework est le squelette de l'application, et ces deux composants sont rassemblés et mis à disposition de l'utilisateur au moyen de l'API. Un framework peut inclure une bibliothèque, un compilateur ainsi que d'autres programmes utilisés dans le processus de développement. Si le framework est bien conçu, le développeur n'a pas besoin de se préoccuper des portions de code qui se répètent dans un domaine ou une application.

### Bibliothèque

Une bibliothèque est une collection de routines ou de ressources précompilées fréquemment employées (classes, modèles, données de configuration, etc.), utilisable par un programme sur un ordinateur. Au lieu d'écrire le code de cette fonction à chaque exécution d'une tâche, vous pouvez utiliser des routines et les appeler lorsque la tâche doit être effectuée. Lorsqu'il a besoin d'une ressource, le programme appelle la bibliothèque correspondante.



### Framework

Un framework peut être une collection de bibliothèques. À la différence des bibliothèques qui sont appelées par un programme, c'est le framework qui appelle une action. Le contrôle est inversé. Le framework contient déjà le modèle, ou la trame, des éléments nécessaires. Il peut donc appeler les ressources dont il a besoin (les trous à remplir dans le code) sur la base de ce qu'il contient déjà.





### API (interface de programmation d'applications)

Un framework est semblable à une [interface de programmation d'application (API)](/fr/topics/api). Techniquement, les frameworks incluent des API. Les frameworks sont une base pour la programmation, alors que les API donnent accès aux éléments pris en charge par les frameworks.













 

## Frameworks Java les plus utilisés



Il existe plusieurs frameworks Java. Ce sont les compétences du développeur et les exigences de l'application ou du site web qui déterminent les frameworks à utiliser. Voici quelques exemples de frameworks Open Source parmi les plus utilisés :

- [Quarkus](/fr/topics/cloud-native-apps/what-is-quarkus), un framework Java pour l'ensemble de la pile informatique qui fonctionne parfaitement avec les [infrastructures](/fr/topics/cloud-computing/what-is-it-infrastructure)[cloud-native](/fr/topics/cloud-native-apps) basées sur des [microservices](/fr/topics/microservices)
- Grails, écrit dans le langage de programmation Groovy, qui fournit aux frameworks d'applications web des vues pour les plug-ins HTML et CSS
- Hibernate, un framework de mapping objet-relationnel utilisé pour la gestion des bases de données relationnelles qui peut exécuter des requêtes SQL à l'aide d'API fournies par Java Database Connectivity (JDBC)
- Google Web Toolkit (GWT), qui relie les équipes de développement de logiciels front-end et back-end

Il existe d'autres frameworks Java couramment utilisés :

- Vaadin, avec des frameworks axés sur les interfaces utilisateurs
- Play, qui rationalise le développement d'applications web et fonctionne bien avec le langage de programmation Scala
- Apache Struts, axé sur les applications d'entreprise, qui fonctionne bien avec les techniques asynchrones JavaScript et XML (AJAX), un moyen utile de mettre à jour des sections de pages web sans tout actualiser
- JavaServer Faces (JSF) d'Oracle, qui fournit aux développeurs back-end des frameworks front-end







 

## Quarkus, un framework Java pour toute la pile



Il s'agit d'une pile Java native pour [Kubernetes](/fr/topics/containers/what-is-kubernetes) conçue pour les machines virtuelles Java (JVM) et la compilation native. Quarkus optimise le langage Java pour Kubernetes, qui devient alors une plateforme efficace pour les environnements [cloud](/fr/topics/cloud-computing), [sans serveur](/fr/topics/cloud-native-apps/what-is-serverless) et Kubernetes.

La solution d'injection de dépendances de Quarkus utilise la spécification CDI (Contexts and Dependency Injection). Quarkus inclut aussi un framework d'extension qui permet de l'enrichir et de configurer, de démarrer et d'intégrer un framework dans votre application. Il est aussi simple d'ajouter une extension qu'une dépendance. Vous pouvez sinon utiliser les outils de Quarkus.

[En savoir plus sur Quarkus](/fr/topics/cloud-native-apps/what-is-quarkus "article | Quarkus, qu'est-ce que c'est ?")







 

 

   











### Le blog officiel de Red Hat



Découvrez les dernières informations concernant notre écosystème de clients, partenaires et communautés.











[En savoir plus](/fr/blog "Le blog officiel de Red Hat")







   

 

 

   

### Tous les essais de produits Red Hat

Profitez de nos essais gratuits de produits pour renforcer votre expérience pratique, préparer une certification ou évaluer l'adéquation d'un produit avec les besoins de votre entreprise.



 

    

[En savoir plus](/fr/products/trials "Tous les essais de produits Red Hat") 

 

 

 

 



 

   

## En savoir plus



  











### Une application d'entreprise, qu'est-ce que c'est ?



 Une application d'entreprise est un logiciel utilisé pour gérer les principaux processus métier d'une entreprise. 









[Lire l'article](/fr/topics/cloud-computing/what-is-an-enterprise-application "article | What is an enterprise application?")





 

  











### La DevEx, qu'est-ce que c'est ?



 Apprenez-en plus sur l'expérience de développement ou DevEx, qui renvoie aux actions et impressions des équipes qui interagissent avec des outils et processus de développement, ainsi que sur son importance. 









[Lire l'article](/fr/topics/application-development-and-delivery/what-developer-experience-devex "What is developer experience (DevEx)?")





 

  











### Le serverless, qu'est-ce que c'est ?



 Cet article présente le serverless, un modèle de développement cloud-native qui permet de créer et d'exécuter des applications sans avoir à gérer des serveurs. 









[Lire l'article](/fr/topics/cloud-native-apps/what-is-serverless "article | what is serverless? &#91;DO NOT OVERWRITE FR META&#93;")





 

 

 

   

### Développement et distribution d'applications : ressources recommandées



 

### Ressources associées

 

 

- Rapport d'analyste
    
     [The Total Economic Impact™ Of Red Hat AI](/fr/engage/forrester-tei-of-rh-ai-analyst-material)
- Étude de cas
    
     [Meet 7 customers innovating with Red Hat technologies](/fr/resources/meet-the-innovators-customer-success-ebook)
- Liste de contrôle
    
     [Red Hat OpenShift: 5 pillars of a modern app platform](/fr/resources/5-pillars-of-modern-app-checklist)
- Blog post
    
     [Is your app platform ready for what's next?](/fr/blog/your-app-platform-ready-whats-next)
 
 

 

 

 

 

### Articles associés

 

 

- [Shift left vs. shift right](/fr/topics/devops/shift-left-vs-shift-right)
- [What is DevSecOps?](/fr/topics/devops/what-is-devsecops)
- [Security in the software development lifecycle](/fr/topics/security/software-development-lifecycle-security)
- [What is platform engineering?](/fr/topics/platform-engineering/what-is-platform-engineering)
- [What is an enterprise application?](/fr/topics/cloud-computing/what-is-an-enterprise-application)
- [What is developer experience (DevEx)?](/fr/topics/application-development-and-delivery/what-developer-experience-devex)
- [What is serverless?](/fr/topics/cloud-native-apps/what-is-serverless)
- [What is a webhook?](/fr/topics/automation/what-is-a-webhook)
- [What are cloud applications?](/fr/topics/cloud-native-apps/what-are-cloud-applications)
- [What is application integration?](/fr/topics/cloud-native-apps/application-integration)
- [What is application migration?](/fr/topics/cloud-native-apps/application-migration)
- [What is an application architecture?](/fr/topics/cloud-native-apps/what-is-an-application-architecture)
- [What is an SDK?](/fr/topics/cloud-native-apps/what-is-SDK)
- [Stateful vs stateless applications](/fr/topics/cloud-native-apps/stateful-vs-stateless)
- [Why choose Red Hat for a DevOps Platform?](/fr/topics/devops/why-choose-red-hat-for-devops)
- [What is an application development platform?](/fr/topics/cloud-native-apps/what-app-dev-platform)
- [How to deploy Red Hat OpenShift](/fr/technologies/cloud-computing/openshift/deploy-red-hat-openshift)
- [Red Hat OpenShift for developers](/fr/technologies/cloud-computing/openshift/developers)
- [Kubernetes-native Java development with Quarkus](/fr/technologies/cloud-computing/openshift/quarkus)
- [What is deployment automation?](/fr/topics/automation/what-is-deployment-automation)
- [What is application lifecycle management (ALM)?](/fr/topics/devops/what-is-application-lifecycle-management-alm)
- [What is a Java runtime environment (JRE)?](/fr/topics/cloud-native-apps/what-is-a-Java-runtime-environment)
- [Why choose the Red Hat build of Quarkus?](/fr/topics/cloud-native-apps/why-choose-red-hat-quarkus)
- [What is Quarkus?](/fr/topics/cloud-native-apps/what-is-quarkus)
- [What is an IDE?](/fr/topics/platform-engineering/what-is-ide)
- [What is blue green deployment?](/fr/topics/devops/what-is-blue-green-deployment)
 
 

 

   

[En savoir plus sur ce sujet](/fr/topics/application-modernization "En savoir plus sur ce sujet")