Présentation de NetBeans 4.0 - Général
Cet article fait partie de la série d'articles soumis
par la communauté NetBeans dans le cadre du concours "Win
With NetBeans".
Cet article fait partie d'une série de trois articles:
Présentation Générale
Résumé:
|
 |
Introduction:
Un Environnemet de Développement Intégré est un ensemble d'outils, venant aider les
programmeurs. NetBeans est l'un deux, et est spécialisé dans le domaine Java.
Vous pouvez, de cette façon, libérer votre esprit et vous concentrer sur votre code.
Nous allons explorer la plupart des fonctionnalités de ce logiciel, et les plus importantes
en premier lieu. Ensuite, nous ferons un peu de pratique.
Pour terminer, nous ferons une présentation des modules et dresserons la liste
des avantages/désavantages de cet EDI.
Il est développé par Sun Microsystems, et téléchargeable gratuitement sur son
site officiel www.netbeans.org.
Attention : L'objectif de cet article n'est pas de présenter
toutes les fonctionnalités, mais d'avoir une vision large de ses possibilités.
Je vous suggère de consulter le site officiel et la documentation si vous avez quelques problèmes.
Histoire:
1996: Le projet NetBeans fut lancé par une compagnie tchèque appelée Xelfi.
Ils désiraient écrire un EDI semblable à Delphi, pour Java et écrit par Java.
Il y avait deux versions commerciales "Developer" 2.0 et 2.1 .
May 1999: la version béta 3.0 est sortie.
October 1999: Sun Microsystems rachète NetBeans. L'EDI change son nom en " Sun Forte For Java Community Edition ". Cette version est gratuite,
et la professionelle doit être achetée.
Juin 2000: Sun sort NetBeans en open-source (qui est renommé avec son nom d'origine).
Décembre 2004: La quatrière version sort. Avec de nouvelles fonctionnalités comme le support pour Java 5, un meilleur gestionnaire de projet, une interface graphique améliorée, Ant est inclut dans les projets, ...
Pour le Future:
Printemps 2005. La version 4.1 sera disponible, avec du support pour le développement J2EE.
Dans la politique de Sun, NetBeans est à la base de "Sun ONE Studio", l'EDI de ONE (One Net Environment). ONE est un projet
supposé fournir un groupe d'applications supposées aider les professionnels du développement et réseau.
Dans ce projet, on peut y voir "Sun ONE Application server", "Sun ONE Web Services platform", ...
NetBeans tourne sous Win32, Linux, MacOs X et Solaris. L'architechture est écrite en 100% java.
De plus, tous les outils que nous verrons sont gratuis. NetBeans est le couteau suisse
du programmeur.
Présentation Générale:
Gestionnaire de Projet:
Allons dans
File -> New Project

NetBeans propose des modèles de projets prêts à l'emploi:
- Pour des applications standards (pour les lignes de commandes, interfaces graphiques ,...)
- Pour des applications Web. La version 4.1 fournira des modèles pour J2EE, comme EJB et web-services
- Une entrée "sample", qui contient des exemples de code
Les modèles de projets simplifient votre travail, puisque NetBeans va configurer automatiquement le logiciel dans votre environnement, comme
les web (Tomcat, que nous verrons plus tard).
Nous allons créer un projet dans Standard -> java application, que nous appelerons "NetBeans".

Il y a deux catégories de paquetages:
"Source Packages" contient vos sources. Nous y mettrons nos fichiers, images, ...
"Test Packages" contient les sources de vos classes de test Junit. Junit est une framework de test (nous le verrons plus tard).
Si nous désirons ajouter un nouvel élément dans notre logiciel, allons-y et sélectionnons le projet dans l'onglet Project et
sélectionnez dans le menu File -> New File ...

Cette fenêtre est remplie de modèles de fichier, des paquetages Java aux servlettes
en passant par des interfaces graphiques Swing.
Nous créons ici une classe Java:
Java Classes -> Java Class
Je vous conseille de tester quelques peu ces modèles pour comprendre les fonctionnalités de NetBeans.
J'ai créé deux paquetages Java : netbeans et netbeans.test, et deux classes java : Main.java et classeTest.java

Si vous désirez créer un modèle, cliquez-droit sur un fichier du projet et sélectionnez
Save As Template ...
Nous verrons plus loin comment compiler, exécuter, et distribuer un projet.
Fichiers Supportés:
Un EDI doit supporter les fichiers couramment utilisés pour aider le travail du
développeur. NetBeans peut reconnaitre la structure de ces fichiers, coloriant quelques
mots lexicaux et syntaxes:
- Les fichiers java, avec colorisation syntaxique et lexicale, completion automatique, et
correction d'erreur.
- xml, avec colorisation syntaxique, un générateur de dtd et xsl, et un validateur.
- html et css, avec colorisation syntaxique.
Completion Automatique:
La completion automatique, parfois appelée "intellisense" dans d'autres EDI, vous suggère la fin des mots.
Un exemple vous aidera à mieux comprendre:
Nous commencons une nouvelle ligne, et nous écrivons "String", en pressant CTRL-Barre d'espacement, une fenêtre flottante apparaît, avec le nom
des classes et interfaces utilisables, et même une documentation est visible:

La documentation java est de ce fait, intégrée à NetBeans, comme nous venons juste de le voir.
Auto-Correction:
En écrivant la ligne suivante:
StringBuffer sb = new StringBuffer("test",5);
NetBeans va la souligner. La raison est qu'il n'y a pas de constructeur
disponible avec deux arguments, comme NetBeans le montre :

La correction automatique est disponible même avant la compilation du fichier.
Refactoring:
Le refactoring est une fonctionnalité permettant de renommer des paquetages, ou fichiers,
sans devoir écrire/modifier une ligne de code.
Si vous désirez renommer un paquetage, par exemple, sélectionnez-le dans l'onglet Project, et choisissez dans le menu Refactor -> Rename ...

Cliquez sur "Next", vous verrez un résumé de toutes les actions qui seront exécutées par NetBeans:

En cliquant sur "Do Refactoring", le paquetage "netbeans" sera renommé en "supinfo.labo.sun", et le fichier main.java sera déplacé dans le nouveau paquetage.
Organisation de Fichier:
Nous pouvons voir différents fichiers dans différens répertoires :
- build contient les fichiers class, résultant de la compilation.
- dist contient les fichiers finaux de votre projet. Il y a un jar de votre application, et la Javadoc.
- nbproject contient les fichiers de configuration ant, qui détermine comment compiler, exécuter, déployer... un projet.
- src contient les sources du projet
- test contient les fichiers de test du projet (nous verrons JUnit plus loin)
- autres fichiers : build.xml utilisé pour compiler (c'est un fichier ant) et manifest.mf pour définir le projet
Générer Fichiers JavaDoc:
La création de la documentation permet aux autres programmeurs de comprendre l'architecture de votre code.
Nous pouvons utiliser l'outil Javado, fournit par ke JDK, via l'interface graphique de NetBeans.
Javadoc utilise les commentaires de votre code pour écrire la documentation (avec les symboles /** @autor nom_de_l_auteur */, par exemple).
En sélectionnant dans le menu Build -> Generate JavaDoc For Project, la documentation est faite. Vous pouvez la consulter dans
le répertoire dist/javadoc de votre projet.
Compilation Automatique:
Compilation est prise en charge par les fichiers XML, interpretés par Ant. Si vous n'avez aucun besoin spécifique,
cette partie est automatiquement générée.
La compilation est automatique à l'exécution du logiciel, en faisant Run ---> Run Main Project ... La compilation
peut être lancée manuellement en sélectionnant le menu Build -> Build main project. Le fichier Jar de l'application
sera alors situé dans le répertoire "dist" par rapport au répertoire racine de l'application (que vous pouvez voir dans
l'onglet "Files").
Les fichiers Xml supposés être utilisés par Ant sont automatiquement générés dans les fichiers
"nbproject" à la racine de votre application.
Ils seront utilisés ultérieurement à la compilation, la génération de Javadoc, l'exécution.
Si vous ne savez pas comment Ant fonctionne, je vous suggère de lire la documentation officielle.
"Débogage"
Lorsque vous écrivez votre code, il est important de contrôler chaque partie de l'exécution de votre
logiciel. Si vous désirez lancer votre application pas-à-pas, il y a trois grandes étapes:
- Vous devez définir vos points d'arrêt dans votre code en faisant un clic droit dans le source -> toggle Breakpoint
- Sélectionnez dans le menu Run -> Debug , le projet sera compilé automatiquement et ensuite lancé.
- Votre programme sera suspendu sur le premier point d'arrêt rencontré.
Le menu Run vous offre toute une série de fonctionnalités comme: Run -> Step Over, Run -> Run to Cursor, ...
Les fenêtres dans
Window -> Debug vous donne plein d'informations concernant les variables, threads, ...
- Dans la copie d'écran qui suit, vous pouvez voir trois choses importantes :
- Points d'arrêt qui sont coloriés en rouge
- La ligne verte, qui vous montre où s'est arrêté votre logiciel
- Ci-dessous, nous pouvons voir les objets actuellement utilisés
Tester les Classes (JUnit Framework)
Les tests prennent une part importante lorsque vos projets deviennent de plus en plus large.
Il est impensable de les écrire dans une fonction main().
Nous devrions mieux les organiser dans des classes de tests, créant une classe de test
pour chaque classe dans votre application. A cette fin, le framework JUnit vous permet
de simuler l'exécution de votre application.
Comment créer un test:
- Placez le curseur sur une classe. Dans l'onglet "Project".
- Cliquez-droit ---> Tools ---> Junit Tests ---> Create Test ... et acceptez la fenêtre qui est montrée avec les options par défaut.
- Une classe sera créée dans la section "Test Packages". Elle étend un TestCase, cette classe du framework JUnit vous permet de créer des tests.
Cette classe contient un constructeur, une fonction appelée setUp (utilisée comme initialisateur de test), tearDown (utilisé à la cloture de chaque test), et finallement, un nombre infini de méthodes nommées testXXX où XXX est le nom d'un test.
Voici un exemple, pour une classe JUnit:

Cette classe JUnit peut être lancé à n'importe quel moment, depuis NetBeans, en sélectionnant Run ---> Run Other ---> Test File.
Dans ce cas, la classe JUnit affichera sur la console :
maintTest
setUp <--- à l'exécution de testHello()
hello
tearDown
setUp <--- à l'exécution de testHello2()
hello2
tearDown
Nous vous conseillons un bon tutoriel à propose de JUnit, sur son website officiel:
http://junit.sourceforge.net/doc/testinfected/testing.htm
Internationalisation:
NetBeans vous permet d'utiliser les fonctions Java d'internationalisation (i18n).
Créez un nouveau projet standard, avec une nouvelle classe et écrivez cette
ligne dans la méthode main():
et placez le curseur entre les parenthèses. Allez dans le menu :
- Tools ---> Internationalization ---> Insert Internationalized String ...
Créez un " bundle ", avec une clef, et une valeur. Pressez sur " OK " , et une référence
à la clef sera créee.

NetBeans va insérer une valeur dans votre ligne:
- System.out.println(java.util.ResourceBundle.getBundle("supinfo/labo/sun/i18n").getString("key_name"));
Nous allons insérer une nouvelle valeur
- Dans l'onglet "Project", sélectionnez le fichier bundle, cliquez-droit dessus ---> Add Locale ... ensuite, sélectionnez une nouvelle valeur.
Les nouvelles références seront rajoutées dans le fichier i18n.properties.

Pour sélectionnez des valeurs clefs, vous pouvez utiliser des valeurs finales de la classe
java.util.Locale, comme Locale.FRANCE, Locale.CANADA_FRENCH, Locale.CHINESE, ...
Vous devez spécifier la valeur de la localité comme second argument de la méthode
getBundle():
System.out.println(java.util.ResourceBundle.getBundle("supinfo/labo/sun/i18n",Locale.JAPAN).getString("key_name"));
Utilisation de CVS
Le Travail en Equipe vous permet de synchroniser votre travail
avec vos collègues. NetBeans fournit un client CVS intégré.
Nous allons nous connecteur au serveur CVS du projet NetBeans
Utilisons le client CVS:
- Versioning ---> Versioning Manager ...
- Cliquez sur Add, pour rajouter un nouveau répertoire de travail
- Introduisez ces informations:
- Working Directory : le répertoire de votre OS où les sources seront rapatriés.
- CVS Server Type: pserver
- CVS server name: cvs.netbeans.org
- Port: 2401
- Username: anoncvs
- Repository: /cvs
- "Perform Checkout" doit être coché
- Cliquez sur "Next" au bas de la fenêtre, et finallement sur Finish.
NetBeans va télécharger tous les fichiers sources. Cela va prendre un certain temps
pour rapatrier toutes les sources, mais vous pouvez arrêter l'opération, puisque
ce n'était qu'un test.
Connection A Une Base De Données
La plupart des applications Web travaillent avec des bases de données, vous
permettant de sauvegarder des informations. NetBeans a un outil intégré pour se
connecter à une base de données.
Nous allons tester cette partie avec MySql. Tout d'abord,
vous devez télécharger les drivers de ce site web:
http://dev.mysql.com/downloads/connector/j/
- Sélectionnez l'onglet "RunTime", et le sous-menu "DataBase"
- Cliquez-droit sur Drivers, Add drivers ... et sélectionnez le driver MySQL (c'est un fichier jar).
- Sélectionnez votre driver dans le sous-répertoire Driver, et créez une connection par un
clic-droit ---> Connect Using ... Pour ce test, nous allons entrer les informations suivantes:
- Database Url : jdbc:mysql://localhost:3306/mysql (où localhost est notre machine locale, où tourne
le daemon mysql).
- Username et Password : ... à votre convenance ... !
Vous pouvez sélectionner des données, créer des tables, créer des vues
(mais cette fonctionnalité n'existe pas encore dans MySQL).
Auto-comment:
Il y a un éditeur graphique qui vous aide à écrire vos commentaires
pour les classes Java. Pour l'utiliser, vous devez cliquez-droit sur une classe
Java, dans l'onglet "Project" ou "File", et sélectionnez Tools -> Auto-comment ...
Une interface vous montrera toutes les méthodes, classes, ... à commenter
C'est plus facile et plus attrayant que de les écrire à la main.