<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4041311230228298868</id><updated>2011-04-21T22:53:40.775+02:00</updated><title type='text'>Introspection en JAVA , Projet 1A ENSISA (c) 2008</title><subtitle type='html'>Frédéric RIGENBACH et Yann MARCOU, élèves à l’ENSISA (Mulhouse) en 1ére année, vous présentent leur blog dédié au langage JAVA. Ils y présenteront leur avancement dans une étude de ce langage en lien avec le projet de première année (2007-2008), le but de ce projet étant d’approfondir l’introspection des programmes utilisant le langage de SUN Microsystems.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://introspectionja.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://introspectionja.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Prénom: Yann</name><uri>http://www.blogger.com/profile/08560294504355310067</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>20</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4041311230228298868.post-1754186808747461089</id><published>2008-06-11T16:23:00.003+02:00</published><updated>2008-06-11T17:45:43.908+02:00</updated><title type='text'>[Projet] Blian de notre projet de première année</title><content type='html'>Nous sommes aujourd'hui même dans la dernière séance de notre projet de première année qui consistait à parler d'un sujet de génie logicielle sur un blog qui devra être référencé sur Google.&lt;br /&gt;&lt;br /&gt;Nous pensons donc qu'il est venu l'heure du bilan de ce projet de manière à synthétiser nos résultats :&lt;br /&gt;&lt;br /&gt;- Nous pensons tout d'abord que nous avons réussi à entrer dans le vif du sujet de l'introspection. En effet des &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;plugins&lt;/span&gt; comme le JAR loader ou le &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;ClassExplorer&lt;/span&gt; nous ont permis d'en apprendre un peu plus sur le fameux &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;package&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;java.reflect&lt;/span&gt;, tellement utile dans notre démarche d'introspection.&lt;br /&gt;&lt;br /&gt;- Nous avons pu améliorer le concept du processeur sur suggestion de notre professeur référent et ainsi faire &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;naitre&lt;/span&gt; une &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;plateforme&lt;/span&gt; stable sur laquelle nous avons pu apprendre à développer des &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;plugins&lt;/span&gt; et ainsi approcher le concept de chargement dynamique des &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;plugins&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;- Nous pensons enfin, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;Yann&lt;/span&gt; et moi même, avoir réussi une bonne répartition du travail pendant ce projet de manière à maintenir notre blog régulièrement à jour et nous avons pu aussi faire découvrir à l'autre les connaissances acquises dans l'introspection lors du développement respectif des applications pour notre &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;XProcessor&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Tous ces facteurs font que nous sommes relativement content de notre projet et de notre travail. En espérant que notre sentiment sera cohérent avec notre note !   :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4041311230228298868-1754186808747461089?l=introspectionja.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://introspectionja.blogspot.com/feeds/1754186808747461089/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4041311230228298868&amp;postID=1754186808747461089' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/1754186808747461089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/1754186808747461089'/><link rel='alternate' type='text/html' href='http://introspectionja.blogspot.com/2008/06/projet-blian-de-notre-projet-de-premire.html' title='[Projet] Blian de notre projet de première année'/><author><name>Frédéric RINGENBACH</name><uri>http://www.blogger.com/profile/12887428056762525984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4041311230228298868.post-8382750601079603395</id><published>2008-06-11T15:58:00.004+02:00</published><updated>2008-12-09T10:38:29.933+01:00</updated><title type='text'>[Projet] XProcessor nouvelle version</title><content type='html'>Juste une mise à jour pour fêter la nouvelle version de notre programme, avec l'ensemble des fichiers de langues ainsi que un petit plus... le nouveau splashscreen!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_pcH9WSr63Gk/SE_aveNN6fI/AAAAAAAAACk/MayMgeUGN0Y/s1600-h/splash.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_pcH9WSr63Gk/SE_aveNN6fI/AAAAAAAAACk/MayMgeUGN0Y/s400/splash.png" alt="" id="BLOGGER_PHOTO_ID_5210623802988161522" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Mise à jour sur le serveur FTP, programme seul et les sources.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4041311230228298868-8382750601079603395?l=introspectionja.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://introspectionja.blogspot.com/feeds/8382750601079603395/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4041311230228298868&amp;postID=8382750601079603395' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/8382750601079603395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/8382750601079603395'/><link rel='alternate' type='text/html' href='http://introspectionja.blogspot.com/2008/06/projet-xprocessor-nouvelle-version.html' title='[Projet] XProcessor nouvelle version'/><author><name>Prénom: Yann</name><uri>http://www.blogger.com/profile/08560294504355310067</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_pcH9WSr63Gk/SE_aveNN6fI/AAAAAAAAACk/MayMgeUGN0Y/s72-c/splash.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4041311230228298868.post-5392899316247198328</id><published>2008-06-11T15:55:00.002+02:00</published><updated>2008-06-11T16:14:44.539+02:00</updated><title type='text'>[Projet] Mise à jour</title><content type='html'>Désormais accessible sur le serveur FTP du site:&lt;br /&gt;- Processor.jar&lt;br /&gt;- Processor-src.jar&lt;br /&gt;- XConsole.jar&lt;br /&gt;- XConsole-src.jar&lt;br /&gt;- QuickGUI.jar&lt;br /&gt;- QuickGUI-src.jar&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4041311230228298868-5392899316247198328?l=introspectionja.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://introspectionja.blogspot.com/feeds/5392899316247198328/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4041311230228298868&amp;postID=5392899316247198328' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/5392899316247198328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/5392899316247198328'/><link rel='alternate' type='text/html' href='http://introspectionja.blogspot.com/2008/06/projet-mise-jour.html' title='[Projet] Mise à jour'/><author><name>Prénom: Yann</name><uri>http://www.blogger.com/profile/08560294504355310067</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4041311230228298868.post-2474782431848891594</id><published>2008-06-11T15:45:00.005+02:00</published><updated>2008-12-09T10:38:30.540+01:00</updated><title type='text'>[Projet] XConsole pour XProcessor</title><content type='html'>Pour que notre nouvelle librairie "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Processor&lt;/span&gt;" deviennent compatible &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;XProcessor&lt;/span&gt; il faut qu'elle hérite d'un &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;JPanel&lt;/span&gt;. Deux solutions: soit modifier &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Processor&lt;/span&gt; et lui créer un &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_5"&gt;magnifique&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;JPanel&lt;/span&gt; ou alors rajouter une couche graphique à &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Processor&lt;/span&gt;, et c'est ce que nous allons faire. Le nom de ce projet: &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;XConsole&lt;/span&gt;. Son but est simple, &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_9"&gt;remplacer&lt;/span&gt; une console Dos, normalement utilisée pour &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;Processor&lt;/span&gt;, par une jolie console à base de Swing.&lt;br /&gt;&lt;br /&gt;Création du projet sous &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_11"&gt;éclipse&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_pcH9WSr63Gk/SE_Xz3470OI/AAAAAAAAACM/qXmcgrt8aqE/s1600-h/console.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_pcH9WSr63Gk/SE_Xz3470OI/AAAAAAAAACM/qXmcgrt8aqE/s400/console.JPG" alt="" id="BLOGGER_PHOTO_ID_5210620580067004642" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Le programme est &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_12"&gt;très&lt;/span&gt; simple et utilise la librairie &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;Processor&lt;/span&gt;. On créé donc un &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;plugin&lt;/span&gt; pour &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;XProcessor&lt;/span&gt; de façon à avoir une vue comme celle-ci:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_pcH9WSr63Gk/SE_YKziOd2I/AAAAAAAAACU/ZT8NH3n3YDE/s1600-h/console2.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_pcH9WSr63Gk/SE_YKziOd2I/AAAAAAAAACU/ZT8NH3n3YDE/s400/console2.JPG" alt="" id="BLOGGER_PHOTO_ID_5210620974035007330" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;On remarque dans la partie centrale un &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;JTextAera&lt;/span&gt; auquel on a ajouter un &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;OutputStream&lt;/span&gt;, ainsi on &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_18"&gt;pourra&lt;/span&gt; préciser simplement à &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;Processor&lt;/span&gt; quel &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;OutputStream&lt;/span&gt; il doit utiliser et toutes les informations s'afficheront d'elles même dans le &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;JTextArea&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Ensuite dans le bas un simple &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;JTextField&lt;/span&gt; dans lequel on saisit des commandes, mais il est un peut plus que ça, en effet pour la &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_23"&gt;beauté&lt;/span&gt; de la chose on a ajouté la &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_24"&gt;possibilité&lt;/span&gt; en &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_25"&gt;appuyant&lt;/span&gt; sur les touches 'haut' et 'bas' le &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_26"&gt;défilement&lt;/span&gt; des anciennes commandes lancées.&lt;br /&gt;&lt;br /&gt;XConsole possède aussi une methode main pour le lancer seul.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4041311230228298868-2474782431848891594?l=introspectionja.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://introspectionja.blogspot.com/feeds/2474782431848891594/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4041311230228298868&amp;postID=2474782431848891594' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/2474782431848891594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/2474782431848891594'/><link rel='alternate' type='text/html' href='http://introspectionja.blogspot.com/2008/06/projet-xconsole-pour-xprocessor.html' title='[Projet] XConsole pour XProcessor'/><author><name>Prénom: Yann</name><uri>http://www.blogger.com/profile/08560294504355310067</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_pcH9WSr63Gk/SE_Xz3470OI/AAAAAAAAACM/qXmcgrt8aqE/s72-c/console.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4041311230228298868.post-4980986720664859458</id><published>2008-06-11T15:28:00.005+02:00</published><updated>2008-12-09T10:38:30.753+01:00</updated><title type='text'>[Projet] La librairie "Processor"</title><content type='html'>Aujourd'hui'hui nous cherchons à améliorer XProcessor en lui permettant d'ajouter des plugins évolutifs. Non plus limité à des JPanel, XProcessor pourra charger des 'Systèmes' auquels seront liés des 'Commandes'. Plus aucunes limites dans les possibilitées, XProcessor gérera ainsi à la fois des application fenetrés et des applications consoles.&lt;br /&gt;&lt;br /&gt;Pour cela nous réutilisons un programme nommé "Processor" travaillé en cours cette année.&lt;br /&gt;Le but de ce programme et de prendre en paramètre un systéme, qui peut être n'importe quoi et donc hérite d'un Objet. Par dessus on rajoute des commandes qui pourront êtres utilisées pour modifier ce système. Imaginez un système "Compteur" on pourrait avoir deux commandes:&lt;br /&gt;- inc (pour décrémenter)&lt;br /&gt;- dec (pour décrémenter)&lt;br /&gt;&lt;br /&gt;De plus Processor se compose lui aussi de commandes de bases comme:&lt;br /&gt;- menu (affiche la liste des commandes)&lt;br /&gt;- load (charge un système contenu dans un fichier .jar)&lt;br /&gt;- exit (pour quitter le Processor)&lt;br /&gt;&lt;br /&gt;Pour commencer il faut savoir que la version actuelle de Processor est beaucoup plus evoluée que celle travaillée en cours, voici une liste des ameliorations aportées:&lt;br /&gt;- Distinction entre les commandes de bases et les commandes du système chargé&lt;br /&gt;- Reconnaissance automatique des commandes à moité tapées.&lt;br /&gt;- Ajout des commandes:&lt;br /&gt;&lt;br /&gt;- unload (décharge un système)&lt;br /&gt;- help (affiche un commentaire sur une commande)&lt;br /&gt;- history (affiche les liste des derniéres commandes tappées)&lt;br /&gt;- script (lance une liste de commandes contenu dans un fichier texte)&lt;br /&gt;- version (donne la numero actuel de Processor ainsi que le système chargé)&lt;br /&gt;&lt;br /&gt;Voici la réprésentation de l'architecture du programme "Processor":&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_pcH9WSr63Gk/SE_WMe4PzrI/AAAAAAAAACE/Nh2p5jXjLoQ/s1600-h/proc.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_pcH9WSr63Gk/SE_WMe4PzrI/AAAAAAAAACE/Nh2p5jXjLoQ/s400/proc.jpg" alt="" id="BLOGGER_PHOTO_ID_5210618803826708146" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Processor contient une methode 'main' il est donc utilisable seul et n'est pas compatible XProcessor pour l'instant vue qu'il n'hérite pas d'un JPanel.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4041311230228298868-4980986720664859458?l=introspectionja.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://introspectionja.blogspot.com/feeds/4980986720664859458/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4041311230228298868&amp;postID=4980986720664859458' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/4980986720664859458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/4980986720664859458'/><link rel='alternate' type='text/html' href='http://introspectionja.blogspot.com/2008/06/projet-la-librairie-processor.html' title='[Projet] La librairie &quot;Processor&quot;'/><author><name>Prénom: Yann</name><uri>http://www.blogger.com/profile/08560294504355310067</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_pcH9WSr63Gk/SE_WMe4PzrI/AAAAAAAAACE/Nh2p5jXjLoQ/s72-c/proc.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4041311230228298868.post-1685334743166919276</id><published>2008-06-08T14:13:00.016+02:00</published><updated>2008-12-09T10:38:30.852+01:00</updated><title type='text'>[Divers] QuickGUI amélioration MVC + Observateur</title><content type='html'>Nous revenons rapidement sur QuickGUI qui je le rappel est une librairie externe développée pour simplifier la réalisation d'interfaces graphiques en java. Développée en interne elle est la base de XProcessor et se voit aujourd'hui enrichie de 2 nouvelles classes qui donne tout leur sens à 2 classes déjà présentes mais inutilisées jusqu'à présent, à savoir Controler, View sensées permettre de réaliser des application basées sur le pattern MVC (Model View Controler).&lt;br /&gt;&lt;br /&gt;Les 2 nouvelles classes sont Observer et Observable, ce qui donne la nouvelle arborescence de QuickGUI:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_pcH9WSr63Gk/SEvOWqMOt7I/AAAAAAAAAB0/Kqc2Uz-ZQe4/s1600-h/quickegui.jpeg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_pcH9WSr63Gk/SEvOWqMOt7I/AAAAAAAAAB0/Kqc2Uz-ZQe4/s400/quickegui.jpeg" alt="" id="BLOGGER_PHOTO_ID_5209484282662139826" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Le package "main.support.ui.base" contient tout ce qu'il faut pour développer des application basées sur le patterns MVC.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Mais pourquoi ajouter ces 2 nouvelles classes? Sont elles vraiment utiles?&lt;br /&gt;En effet réaliser un programme basé sur MVC est simple et permet un grande "fiabilité" de codage. Cela est valable tant que l'on ne dispose que d'une seule vue en lien avec un modèle. Dés que l'on possède au moins 2 vues qui sont liées au modèle cela devient plus compliqué. On considère alors l'idée que le modèle puisse être Observé et que les Vues observent le modèle. Lorsque le modèle est modifié il demande une mise à jour des vues qui l'observent pour qu'elles actualisent leur contenu. Voici un schéma de l'idée:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_pcH9WSr63Gk/SEvQfjFHUGI/AAAAAAAAAB8/vbuny0ZJ3GQ/s1600-h/ms978748.des_MVC_Fig03%28en-us,MSDN.10%29.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_pcH9WSr63Gk/SEvQfjFHUGI/AAAAAAAAAB8/vbuny0ZJ3GQ/s400/ms978748.des_MVC_Fig03%28en-us,MSDN.10%29.gif" alt="" id="BLOGGER_PHOTO_ID_5209486634395324514" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Source: http://msdn.microsoft.com/en-us/library/ms978748.des_MVC_Fig03(en-us,MSDN.10).gif)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Vue du code source de la classe Observer:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;package main.support.ui.base;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;public interface Observer{  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;    public void update(Observable o);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Vue du code source de la classe Observable:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;package main.support.ui.base;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;public interface Observable {&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;  public void addObserver(Observer o);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;  public void removeObserver(Observer o);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;  public void notifyObservers();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Mise en œuvre:&lt;/span&gt;&lt;br /&gt;Une vue s'ajoute en tant qu'observer au modèle avec la méthode addObserver(this).&lt;br /&gt;Le modèle implémente Observable et réalise un notifyObservers() quand il est modifié, après cette méthode parcourt tout les Observateur et réalise un update(). C'est tout simple! A vous de voir ce qu'il faut mettre dans la méthode update() de votre vue, un repaint() par exemple.&lt;br /&gt;&lt;br /&gt;Actuellement XProcessor n'est pas basé sur le pattern MVC, il se peut qu'avec l'ajout de cette fonctionnalité à QuickGUI, XProcessor puisse subir une profonde modification bientôt.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4041311230228298868-1685334743166919276?l=introspectionja.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://introspectionja.blogspot.com/feeds/1685334743166919276/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4041311230228298868&amp;postID=1685334743166919276' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/1685334743166919276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/1685334743166919276'/><link rel='alternate' type='text/html' href='http://introspectionja.blogspot.com/2008/06/divers-quickgui-amlioration-mvc.html' title='[Divers] QuickGUI amélioration MVC + Observateur'/><author><name>Prénom: Yann</name><uri>http://www.blogger.com/profile/08560294504355310067</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_pcH9WSr63Gk/SEvOWqMOt7I/AAAAAAAAAB0/Kqc2Uz-ZQe4/s72-c/quickegui.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4041311230228298868.post-3978288037461822137</id><published>2008-06-04T18:27:00.002+02:00</published><updated>2008-06-04T18:29:36.423+02:00</updated><title type='text'>[Divers] Les news du FTP</title><content type='html'>Le FTP du projet se voit s'enrichir d'une nouvelle rubrique: "plugins" où seront stockés les futurs programmes intégrable dans XProcessor, ainsi vous pourrez télécharger ceux qui vous intéresses plus facilement. Rendez-vous en bas du blog, partie "ressources en lignes".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4041311230228298868-3978288037461822137?l=introspectionja.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://introspectionja.blogspot.com/feeds/3978288037461822137/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4041311230228298868&amp;postID=3978288037461822137' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/3978288037461822137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/3978288037461822137'/><link rel='alternate' type='text/html' href='http://introspectionja.blogspot.com/2008/06/divers-les-news-du-ftp.html' title='[Divers] Les news du FTP'/><author><name>Prénom: Yann</name><uri>http://www.blogger.com/profile/08560294504355310067</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4041311230228298868.post-2380382083596401961</id><published>2008-06-04T15:59:00.003+02:00</published><updated>2008-12-09T10:38:31.042+01:00</updated><title type='text'>[Projet] Nouveau plugin: JARLauncher</title><content type='html'>Voici un nouveau programme intégrable dans XProcessor. Son but charger un fichier .jar, afficher un ensemble d'informations utiles. Par la suite vous pouvez exécuter le fichier pré chargé en spécifiant par avance des arguments d'entrées.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_pcH9WSr63Gk/SEaf7-ZVxDI/AAAAAAAAABs/8BPYUdC6NbA/s1600-h/jarlauncher.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_pcH9WSr63Gk/SEaf7-ZVxDI/AAAAAAAAABs/8BPYUdC6NbA/s400/jarlauncher.JPG" alt="" id="BLOGGER_PHOTO_ID_5208025871810937906" border="0" /&gt;&lt;/a&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;&lt;span style="font-family:arial;"&gt;(Image de JARLauncher)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4041311230228298868-2380382083596401961?l=introspectionja.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://introspectionja.blogspot.com/feeds/2380382083596401961/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4041311230228298868&amp;postID=2380382083596401961' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/2380382083596401961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/2380382083596401961'/><link rel='alternate' type='text/html' href='http://introspectionja.blogspot.com/2008/06/projet-nouveau-plugin-jarlauncher.html' title='[Projet] Nouveau plugin: JARLauncher'/><author><name>Prénom: Yann</name><uri>http://www.blogger.com/profile/08560294504355310067</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_pcH9WSr63Gk/SEaf7-ZVxDI/AAAAAAAAABs/8BPYUdC6NbA/s72-c/jarlauncher.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4041311230228298868.post-5250803928357668787</id><published>2008-05-29T15:46:00.003+02:00</published><updated>2008-05-29T15:54:57.870+02:00</updated><title type='text'>[Divers] Modification sur le blog</title><content type='html'>Comme vous avez pu surement le remarquer, après quelques suggestions, le blog est un petit peu modifié. En effet nous avons ajoutés des sections qui sont représentées entre crochets avant chaque titre de sujet.&lt;br /&gt;De cette manière vous serez plus à même de suivre les évolutions dans les différents domaines que nous traitons dans notre projet.&lt;br /&gt;Vous trouverez donc dorénavant une section Projet et une section Divers.&lt;br /&gt;Qui sait, il y en aura peut être d'autres au fil de notre avancée !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4041311230228298868-5250803928357668787?l=introspectionja.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://introspectionja.blogspot.com/feeds/5250803928357668787/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4041311230228298868&amp;postID=5250803928357668787' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/5250803928357668787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/5250803928357668787'/><link rel='alternate' type='text/html' href='http://introspectionja.blogspot.com/2008/05/divers-modification-sur-le-blog.html' title='[Divers] Modification sur le blog'/><author><name>Frédéric RINGENBACH</name><uri>http://www.blogger.com/profile/12887428056762525984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4041311230228298868.post-4865332005306620596</id><published>2008-05-26T13:11:00.007+02:00</published><updated>2008-05-29T15:54:27.576+02:00</updated><title type='text'>[Projet] Premier upload de notre projet</title><content type='html'>Il est enfin temps de rendre disponible à tout les internautes le fruit de notre travail. Pour cela nous sommes heureux de vous permettre de télécharger la 1ere version de QuickGUI ainsi que celle de XProcessor.&lt;br /&gt;&lt;br /&gt;Voici les liens :&lt;br /&gt;&lt;a href="http://membres.lycos.fr/introspectionja/upload/quickgui/"&gt;QuickGUI&lt;/a&gt;&lt;br /&gt;&lt;a href="http://membres.lycos.fr/introspectionja/upload/xprocessor/"&gt;XProcessor&lt;/a&gt;&lt;a href="http://membres.lycos.fr/introspectionja/upload/xprocessor/XProcessor-src.zip"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Vous pouvez aussi vous rendre dans la partie "Ressources en ligne" en bas à droite du blog.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4041311230228298868-4865332005306620596?l=introspectionja.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://introspectionja.blogspot.com/feeds/4865332005306620596/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4041311230228298868&amp;postID=4865332005306620596' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/4865332005306620596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/4865332005306620596'/><link rel='alternate' type='text/html' href='http://introspectionja.blogspot.com/2008/05/1er-upload-de-notre-projet.html' title='[Projet] Premier upload de notre projet'/><author><name>Prénom: Yann</name><uri>http://www.blogger.com/profile/08560294504355310067</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4041311230228298868.post-1702271441491569232</id><published>2008-05-26T13:05:00.008+02:00</published><updated>2008-05-29T15:54:07.407+02:00</updated><title type='text'>[Divers] Ajout d'une solution FTP pour notre projet</title><content type='html'>Dans le but de pouvoir facilement publier des fichiers (CV, image, doc) sur le net en lien avec notre projet, nous disposons maintenant d'un espace FTP de taille respectable à cette adresse:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://membres.lycos.fr/introspectionja/"&gt;http://membres.lycos.fr/introspectionja/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Nous vous invitons à vous reporter à la partie "Ressources en ligne" disponible dans le menu du blog à droite vers la bas. Les futurs articles posséderons des liens directs vers les ressources concernées par la suite :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4041311230228298868-1702271441491569232?l=introspectionja.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://introspectionja.blogspot.com/feeds/1702271441491569232/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4041311230228298868&amp;postID=1702271441491569232' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/1702271441491569232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/1702271441491569232'/><link rel='alternate' type='text/html' href='http://introspectionja.blogspot.com/2008/05/ajout-dune-solution-ftp-pour-notre.html' title='[Divers] Ajout d&apos;une solution FTP pour notre projet'/><author><name>Prénom: Yann</name><uri>http://www.blogger.com/profile/08560294504355310067</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4041311230228298868.post-3510275122753570397</id><published>2008-05-21T20:23:00.013+02:00</published><updated>2008-12-09T10:38:31.406+01:00</updated><title type='text'>[Projet] Nos premiers pas dans l'introspection :  le plugin ClassExplorer</title><content type='html'>Nous avons le plaisir de vous présenter le plugin ClassExplorer qui représente nos premiers pas dans l'introspection proprement dite.&lt;br /&gt;Bien que son but, explorer le contenu des classes et afficher les champs et les méthodes de celle-ci, est basique, ce plugin représente une base dans l'objectif de l'introspection.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CDd4em8JvaA/SDRqc6cPHII/AAAAAAAAABw/LyvffDrSqyA/s1600-h/ClassExplorer_Skin.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_CDd4em8JvaA/SDRqc6cPHII/AAAAAAAAABw/LyvffDrSqyA/s320/ClassExplorer_Skin.jpg" alt="" id="BLOGGER_PHOTO_ID_5202900514476334210" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Aspect de la fenêtre du programme dans le Xprocessor.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Le fonctionnement de ClassExplorer est simple : il suffit de taper le nom de la classe que l'on souhaite explorer (java.lang.String par exemple) et taper sur entrée ou sur le bouton prévu à cet effet pour que le contenu de la classe s'affiche avec les champs et les méthodes à l'écran.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_CDd4em8JvaA/SDRq66cPHJI/AAAAAAAAAB4/YaOM7INKOMw/s1600-h/ClassExplorer_Action.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_CDd4em8JvaA/SDRq66cPHJI/AAAAAAAAAB4/YaOM7INKOMw/s320/ClassExplorer_Action.jpg" alt="" id="BLOGGER_PHOTO_ID_5202901029872409746" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Exemple d'exploration de la classe ClassExplorer qui constitue le plugin lui même.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Pour l'instant le programme ne gère pas encore les interfaces, cela devrait être modifié sous peu dans la limite du possible et nous vous en ferons part bien évidemment !&lt;br /&gt;Le programme n'est pas encore sous le site SourceForge du projet, en effet, il manque encore les commentaires adéquats et en anglais pour le code soit compréhensible de tous.&lt;br /&gt;&lt;br /&gt;Ajout du 24/05/08 : Les sources du plugin ont été mises sur SourceForge.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4041311230228298868-3510275122753570397?l=introspectionja.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://introspectionja.blogspot.com/feeds/3510275122753570397/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4041311230228298868&amp;postID=3510275122753570397' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/3510275122753570397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/3510275122753570397'/><link rel='alternate' type='text/html' href='http://introspectionja.blogspot.com/2008/05/nos-premiers-pas-dans-lintrospection-le.html' title='[Projet] Nos premiers pas dans l&apos;introspection :  le plugin ClassExplorer'/><author><name>Frédéric RINGENBACH</name><uri>http://www.blogger.com/profile/12887428056762525984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_CDd4em8JvaA/SDRqc6cPHII/AAAAAAAAABw/LyvffDrSqyA/s72-c/ClassExplorer_Skin.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4041311230228298868.post-1471772874820638026</id><published>2008-05-04T15:49:00.009+02:00</published><updated>2008-12-09T10:38:32.160+01:00</updated><title type='text'>[Projet] Créer un plugin pour XProcessor</title><content type='html'>Voici un petit article qui explique comment créer votre propre pulgin sous XProcessor.&lt;br /&gt;Le principe est très simple, il suffit de créer une classe qui ne se trouve dans aucuns package, qui hérite d'un JPanel et dont le constructeur ne prend aucuns arguments.&lt;br /&gt;&lt;br /&gt;Voyons cela en détail, en premier créons un projet sous eclipse, on le nommera "PluginProject" par exemple.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_pcH9WSr63Gk/SB3A5b-bLhI/AAAAAAAAABM/LOnSZXJTcyg/s1600-h/1.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_pcH9WSr63Gk/SB3A5b-bLhI/AAAAAAAAABM/LOnSZXJTcyg/s400/1.JPG" alt="" id="BLOGGER_PHOTO_ID_5196521638050082322" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Une fois le projet créé en ajoute la classe qui va hériter du JPanel, attention il faut savoir que le nom de cette classe sera impérativement le nom du futur .jar ou sera sauvegarder l'ensemble du plugin.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_pcH9WSr63Gk/SB3BYL-bLiI/AAAAAAAAABU/qEQjdQevza8/s1600-h/2.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_pcH9WSr63Gk/SB3BYL-bLiI/AAAAAAAAABU/qEQjdQevza8/s400/2.JPG" alt="" id="BLOGGER_PHOTO_ID_5196522166331059746" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Il ne nous reste plus  qu'a compléter la classe MyPlugin pour qu'elle soit compatible avec le PluginLoader de XProcessor, voici le code correspondant:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_pcH9WSr63Gk/SB3Dbr-bLjI/AAAAAAAAABc/PchoFPBcRWA/s1600-h/3.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 444px; height: 266px;" src="http://1.bp.blogspot.com/_pcH9WSr63Gk/SB3Dbr-bLjI/AAAAAAAAABc/PchoFPBcRWA/s400/3.JPG" alt="" id="BLOGGER_PHOTO_ID_5196524425483857458" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Le code est trés detaillé, maintenant testons ce magnifique plugin dans XProcessor. Pour cela il faut crée une archive du projet PluginProject:&lt;br /&gt;1) bouton droit sur le projet&lt;br /&gt;2) export&lt;br /&gt;3) chercher JAR File&lt;br /&gt;4) entrer le nom du .jar : "MyPlugin"&lt;br /&gt;5) créer le fichier en faisant finish&lt;br /&gt;&lt;br /&gt;Et voilà on se retrouve avec notre joli plugin que l'on place dans le répertoire /plugin (on pourrai aussi le charger manuellement via le menu plugin/charger, testons le maintenant en image:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_pcH9WSr63Gk/SB3Epr-bLkI/AAAAAAAAABk/36tzNx-srR8/s1600-h/4.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_pcH9WSr63Gk/SB3Epr-bLkI/AAAAAAAAABk/36tzNx-srR8/s400/4.JPG" alt="" id="BLOGGER_PHOTO_ID_5196525765513653826" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Résultat impeccable :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4041311230228298868-1471772874820638026?l=introspectionja.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://introspectionja.blogspot.com/feeds/1471772874820638026/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4041311230228298868&amp;postID=1471772874820638026' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/1471772874820638026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/1471772874820638026'/><link rel='alternate' type='text/html' href='http://introspectionja.blogspot.com/2008/05/crer-un-plugin-pour-xprocessor.html' title='[Projet] Créer un plugin pour XProcessor'/><author><name>Prénom: Yann</name><uri>http://www.blogger.com/profile/08560294504355310067</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_pcH9WSr63Gk/SB3A5b-bLhI/AAAAAAAAABM/LOnSZXJTcyg/s72-c/1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4041311230228298868.post-4331064724707936201</id><published>2008-04-28T21:18:00.008+02:00</published><updated>2008-12-09T10:38:32.459+01:00</updated><title type='text'>[Projet] XProcessor</title><content type='html'>Il s'agit de la sur couche graphique de la classe PluginLoader. Elle utilise la librairie externe QuickGUI et est compilé en java 6.0, juste pour mettre un SplashScreen dans le manifest (possible depuis java 6.0).&lt;br /&gt;&lt;br /&gt;XProcessor se compose d'une vue composée d'un menu, un JTree qui montre les Plugins chargés et disponible à l'utilisation, un JDesktopPane pour afficher les plugins, une console pour donner des informations qui sembles pertinentes et aussi une barre de statut.&lt;br /&gt;&lt;br /&gt;Au début l'idée était aussi de rendre XProcessor attractif graphiquement, pour l'instant c'est plutôt sobre mais toutes les icônes ainsi que le SplashScreen sont faites "maison" (on évite ainsi les problèmes de licences) et sont réalisés avec des logiciels libres: Blender et Gimp.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_pcH9WSr63Gk/SBYpwr-bLgI/AAAAAAAAABE/21fLTRPxTNY/s1600-h/splash.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_pcH9WSr63Gk/SBYpwr-bLgI/AAAAAAAAABE/21fLTRPxTNY/s400/splash.png" alt="" id="BLOGGER_PHOTO_ID_5194385136633458178" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;(SpalshScreen du programme: 100% Blender)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Nous avons le plaisir de vous montrer une capture d'écran de la version actuelle de XProcessor.&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_pcH9WSr63Gk/SBYlEL-bLfI/AAAAAAAAAA8/W0nFoGJl2os/s1600-h/XProc.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_pcH9WSr63Gk/SBYlEL-bLfI/AAAAAAAAAA8/W0nFoGJl2os/s400/XProc.JPG" alt="" id="BLOGGER_PHOTO_ID_5194379974082768370" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;(2 plugins visibles: Count qui sert juste de test (JPanel vide), et AOOGraphics qui est la mise sous forme de plugin d'un programme basé sur MVC réalisé en cours)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4041311230228298868-4331064724707936201?l=introspectionja.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://introspectionja.blogspot.com/feeds/4331064724707936201/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4041311230228298868&amp;postID=4331064724707936201' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/4331064724707936201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/4331064724707936201'/><link rel='alternate' type='text/html' href='http://introspectionja.blogspot.com/2008/04/xprocessor.html' title='[Projet] XProcessor'/><author><name>Prénom: Yann</name><uri>http://www.blogger.com/profile/08560294504355310067</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_pcH9WSr63Gk/SBYpwr-bLgI/AAAAAAAAABE/21fLTRPxTNY/s72-c/splash.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4041311230228298868.post-1006728536728403706</id><published>2008-04-28T21:10:00.005+02:00</published><updated>2008-05-29T16:01:33.918+02:00</updated><title type='text'>[Projet] QuickGUI! Que du bonheur!</title><content type='html'>Dans la suite de notre projet nous pensons réaliser une interface graphique et donc utiliser SWING. Cela nous permettra de nous initier et aussi de donner un coté plus réactif à nos créations.&lt;br /&gt;&lt;br /&gt;Parce que un programme console c'est bien beau, tout le monde se rappelle de son premier "Hello World!" mais voilà une jolie interface graphique c'est tellement mieux. Dans un cadre tout à fait à part de ce blog j'ai développé un librairie externe regroupant plusieurs fonctionnalités qui me semble importante pour une interface graphique. Nommé QuickGUI elle permet au programmeur de bénéficier des options suivantes:&lt;br /&gt;&lt;br /&gt;1) DefaultFrame qui hérite de JFrame et qui sauvegarde l'état dans laquelle elle se trouvée au moment de la fermeture du programme, à savoir: position, taille, maximisée ou non.&lt;br /&gt;2) Gestion de l'internationalisation très simple, pour l'instant seul le français, l'anglais et l'allemand sont supportés.&lt;br /&gt;3) Un classe RessourcesLoader qui charge en deux temps trois mouvement des objets de types: ImageIcon, Icon, Font à partir de fichiers situés sur le disque dur ou bien dans un .jar&lt;br /&gt;4) Gestion simple de l'envoie d'un mail ou de l'ouverture d'un fichier avec son programme par défaut. Ce sont des possibilités Desktop incluses depuis JAVA 6.0&lt;br /&gt;5) Ajout des classe Controller et view pour réalisation de programme basés sur le modèle MVC (Model View Controler)&lt;br /&gt;6) Sans oublier le plus important, le chargement automatique de log4j pour générer les logs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4041311230228298868-1006728536728403706?l=introspectionja.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://introspectionja.blogspot.com/feeds/1006728536728403706/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4041311230228298868&amp;postID=1006728536728403706' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/1006728536728403706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/1006728536728403706'/><link rel='alternate' type='text/html' href='http://introspectionja.blogspot.com/2008/04/quickgui-que-du-bonheur.html' title='[Projet] QuickGUI! Que du bonheur!'/><author><name>Prénom: Yann</name><uri>http://www.blogger.com/profile/08560294504355310067</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4041311230228298868.post-8848334487903349595</id><published>2008-04-28T20:56:00.032+02:00</published><updated>2008-05-29T15:56:02.153+02:00</updated><title type='text'>[Projet] Réalisation d'un chargeur de Plugin(s)</title><content type='html'>Dans le cadre de notre projet d'introspection en java, nous voulons reprendre une idée vue en cours, à savoir réaliser un programme pouvant recevoir des extensions. L'idée est à double but:&lt;br /&gt;&lt;br /&gt;1) Nous allons pouvoir nous entrainer avec java.lang.reflect et ainsi commencer à mettre les pieds dans l'introspection java&lt;br /&gt;2) Une fois la classe permettant de charger des plugins terminé nous pourrons élaborer une interface graphique qui viendra se greffer dessus et ainsi nous posséderons une base pour nos futur projet dans ce domaine.&lt;br /&gt;&lt;br /&gt;La classe se nommera "PluginLoader" et aura comme particularité de charger des extensions qui seront des JPanel.&lt;br /&gt;Voici l'idée générale:&lt;br /&gt;1) le programme contient un répertoire par défaut où se trouvent les plugins, pour faciliter on nommera ce répertoire "/plugins"&lt;br /&gt;2) notre programme doit pouvoir repérer un fichier extensions dans ce répertoire, on considère qu'un fichier dit "plugin" possède une extension .jar&lt;br /&gt;3) le programme regarde le nom du fichier .jar et recherche à l'intérieur de celui-ci un fichier .class du même nom. Attention le fichier .class du même nom ne doit se trouver dans aucun package, question de facilité&lt;br /&gt;4) un cherche alors le constructeur par défaut du .class et on crée une nouvelle instance de l'objet&lt;br /&gt;5) Comme on souhaite créer des plugins qui seront des JPanels il ne reste plus qu'a "caster" l'objet obtenu et à l'ajouter au modèle avec les autres plugins précédemment chargé.&lt;br /&gt;&lt;a name="#visible"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=4041311230228298868&amp;amp;postID=8848334487903349595#visible" onclick="javascript:change_calque('layer2','visible')"&gt;Voici le code source correspondant :&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="layer2" style="display: none;"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;&lt;br /&gt;package net.sourceforge.introspectionjava;&lt;br /&gt;&lt;br /&gt;import java.io.File;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;import java.lang.reflect.Constructor;&lt;br /&gt;import java.net.URL;&lt;br /&gt;import java.net.URLClassLoader;&lt;br /&gt;import java.util.Enumeration;&lt;br /&gt;import java.util.jar.JarFile;&lt;br /&gt;&lt;br /&gt;import javax.swing.JOptionPane;&lt;br /&gt;&lt;br /&gt;import main.support.LanguageManager;&lt;br /&gt;&lt;br /&gt;import org.apache.log4j.Logger;&lt;br /&gt;&lt;br /&gt;public class PluginLoader {&lt;br /&gt;&lt;br /&gt;// Allow log4j for this class&lt;br /&gt;private static Logger log = Logger.getLogger(PluginLoader.class);&lt;br /&gt;private LanguageManager lang; // allow this class to be internationalized&lt;br /&gt;&lt;br /&gt;// default constructor of the class&lt;br /&gt;public PluginLoader(){&lt;br /&gt;this.lang=new LanguageManager("net/sourceforge/introspectionjava/lang/","PluginLoader");    // create an instance of LanguageManager&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;@SuppressWarnings("deprecation")&lt;br /&gt;// method which load a plugin include in a .jar file&lt;br /&gt;public Object loadFile(File f){&lt;br /&gt;try{&lt;br /&gt;   String temp=f.getName(); // gte the name of the file&lt;br /&gt;   String path = temp.substring(0,temp.length()-4);    // get the name without .jar extendsion&lt;br /&gt;   // load the .jar file into memory&lt;br /&gt;   URLClassLoader loader;&lt;br /&gt;   // will be used for compare strings&lt;br /&gt;   String tmp = "";&lt;br /&gt;   // get the content of the .jar file&lt;br /&gt;   Enumeration enumeration;&lt;br /&gt;       URL u = f.toURL();&lt;br /&gt;       // create a new URLClassLoader to load .jar file which is'nt in the CLASSPATH&lt;br /&gt;       loader = new URLClassLoader(new URL[] {u});&lt;br /&gt;       // load the jar file into memory&lt;br /&gt;       JarFile jar = new JarFile(f.getAbsolutePath());&lt;br /&gt;       // get all the content of the .jar&lt;br /&gt;       enumeration = jar.entries();&lt;br /&gt;       while(enumeration.hasMoreElements()){&lt;br /&gt;           tmp = enumeration.nextElement().toString();&lt;br /&gt;           // verify if the file is a .class&lt;br /&gt;           if(tmp.length() &gt; 6 &amp;amp;&amp;amp; tmp.substring(tmp.length()-6).compareTo(".class") == 0 &amp;amp;&amp;amp; tmp.equals(path+".class")) {&lt;br /&gt;               tmp = tmp.substring(0,tmp.length()-6);&lt;br /&gt;               tmp = tmp.replaceAll("/",".");&lt;br /&gt;               Class tmpClass = Class.forName(tmp ,true,loader);&lt;br /&gt;               Class[] ctorArgs1 = new Class[]{};&lt;br /&gt;               Constructor constructor=tmpClass.getConstructor(ctorArgs1);&lt;br /&gt;               log.info("Load..."+f.getCanonicalFile()+" OK!");&lt;br /&gt;               return constructor.newInstance();&lt;br /&gt;           }&lt;br /&gt;       }&lt;br /&gt;   } catch (IOException e ){&lt;br /&gt;       log.error(e.getMessage(), e);&lt;br /&gt;       JOptionPane.showMessageDialog(null, lang.getAnInternationalizeString("$io_error")+"\n"+f.getName(), lang.getAnInternationalizeString("$error_title"),JOptionPane.OK_OPTION);&lt;br /&gt;   } catch (ClassNotFoundException e) {&lt;br /&gt;       log.error(e.getMessage(), e);&lt;br /&gt;       JOptionPane.showMessageDialog(null, lang.getAnInternationalizeString("$class_error")+"\n"+f.getName(), lang.getAnInternationalizeString("$error_title"),JOptionPane.OK_OPTION);&lt;br /&gt;   } catch (Exception e) {&lt;br /&gt;       log.error(e.getMessage(), e);&lt;br /&gt;       JOptionPane.showMessageDialog(null, lang.getAnInternationalizeString("$load_error")+"\n"+f.getName(), lang.getAnInternationalizeString("$error_title"),JOptionPane.OK_OPTION);&lt;br /&gt;   }&lt;br /&gt;   log.error("Plugin: "+f.getName()+" can't be load!");&lt;br /&gt;   JOptionPane.showMessageDialog(null, lang.getAnInternationalizeString("$load_error")+"\n"+f.getName(), lang.getAnInternationalizeString("$error_title"),JOptionPane.OK_OPTION);&lt;br /&gt;   return null;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Cette classe est déjà implantée dans un programme lié à notre projet, nommé: "XProcessor"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4041311230228298868-8848334487903349595?l=introspectionja.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://introspectionja.blogspot.com/feeds/8848334487903349595/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4041311230228298868&amp;postID=8848334487903349595' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/8848334487903349595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/8848334487903349595'/><link rel='alternate' type='text/html' href='http://introspectionja.blogspot.com/2008/04/ralisation-dun-chargeur-de-plugins.html' title='[Projet] Réalisation d&apos;un chargeur de Plugin(s)'/><author><name>Prénom: Yann</name><uri>http://www.blogger.com/profile/08560294504355310067</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4041311230228298868.post-2653823565338178431</id><published>2008-04-28T18:28:00.001+02:00</published><updated>2008-05-29T15:46:54.475+02:00</updated><title type='text'>[Divers] SourceForge, CVS et compagnie...</title><content type='html'>Afin de pouvoir travailler de manières distante entre nous mais avec beaucoup de facilité nous avons décidé de créer un espace dédié sur &lt;a href="https://sourceforge.net/projects/introspectionja/"&gt;SourceForge&lt;/a&gt;. En effet ce site propose un espace dédié à des projets open source et donne également accès à différents services pratiques tels que le CVS mais nous allons y revenir.&lt;br /&gt;&lt;br /&gt;Notre projet a une licence GNU General Public License (GPL) qui rend nos réalisations accessibles à tous conformément à la politique du site. Le projet est donc en accès libre aux personnes qui souhaitent obtenir les sources des programmes.&lt;br /&gt;&lt;br /&gt;L'inscription sur le site se passe de la manière suivante :&lt;br /&gt;&lt;br /&gt;-Inscription des différentes personnes qui prennent part au projet sur le site.&lt;br /&gt;-Inscription du projet : demande d'une description externe du projet (pour tous le monde) et une description interne (plus technique) le tout en anglais.&lt;br /&gt;-Validation du projet par un modérateur du site.&lt;br /&gt;&lt;br /&gt;Cette démarche ayant abouti, nous avons maintenant accès au CVS (Current Version System)&lt;br /&gt;CVS est un référentiel qui stocke le projet et les tries par version (pratique pour revenir à une ancienne version et pour la sauvegarde du projet). Nous pouvons donc facilement à partir d'Eclipse partager nos travaux respectifs sur le projet, le mettre à jour et récupérer les données.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Pour conclure, SourceForge est un outil majeur dans le développement de notre projet, voilà pourquoi nous voulions vous faire partager son utilisation !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4041311230228298868-2653823565338178431?l=introspectionja.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://introspectionja.blogspot.com/feeds/2653823565338178431/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4041311230228298868&amp;postID=2653823565338178431' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/2653823565338178431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/2653823565338178431'/><link rel='alternate' type='text/html' href='http://introspectionja.blogspot.com/2008/04/sourceforge-cvs-et-compagnie.html' title='[Divers] SourceForge, CVS et compagnie...'/><author><name>Frédéric RINGENBACH</name><uri>http://www.blogger.com/profile/12887428056762525984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4041311230228298868.post-2771876168909733348</id><published>2008-02-13T22:00:00.001+01:00</published><updated>2008-05-29T15:54:33.311+02:00</updated><title type='text'>[Diver] La programmation orientée objet</title><content type='html'>Impossible de parler de Java sans parler d'un principe de base : la programmation orientée objet.&lt;br /&gt;&lt;br /&gt;La programmation orientée objet est un paradigme de programmation (style fondamental de programmation) informatique. On définit "le monde" et les entités qui doivent y être placées à l'aide d'entité que l'on appelle "objet". Les objets collaborent entre eux grâces à des messages et un objet est défini par différents attributs : son identité, son état, son comportement, sa durée de vie...&lt;br /&gt;&lt;br /&gt;Parler d'une classe revient à parler "du plan de fabrication" d'un objet, la classe permet de définir les différentes méthodes inhérentes à ses objets ainsi que leurs attributs.&lt;br /&gt;&lt;br /&gt;Faire de l'introspection revient à regarder précisément le comportement et les attributs de ces objets. En analysant les messages entre les différents objets, nous sommes à même de de comprendre quels sont les liens entre eux et nous pouvons ainsi définir une structure d'objet décrivant le fonctionnement d'un programme (ce qui nous permettra plus tard une étude graphique par des graphes 2D ou 3D fixes ou animés...)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4041311230228298868-2771876168909733348?l=introspectionja.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://introspectionja.blogspot.com/feeds/2771876168909733348/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4041311230228298868&amp;postID=2771876168909733348' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/2771876168909733348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/2771876168909733348'/><link rel='alternate' type='text/html' href='http://introspectionja.blogspot.com/2008/04/la-programmation-oriente-objet.html' title='[Diver] La programmation orientée objet'/><author><name>Frédéric RINGENBACH</name><uri>http://www.blogger.com/profile/12887428056762525984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4041311230228298868.post-8301897244018406612</id><published>2008-02-13T21:44:00.009+01:00</published><updated>2008-05-29T15:46:09.441+02:00</updated><title type='text'>[Divers] Java... Kesako ?</title><content type='html'>&lt;span&gt;&lt;span&gt;Pour préciser au mieux ce projet, nous allons continuer dans les définitions ! Voici donc une définition du Java (mais non pas la danse, ni l'île !) :&lt;br /&gt;&lt;br /&gt;Langage Java :&lt;br /&gt;&lt;br /&gt;Le langage Java a débuté dans les années 90 avec James Gosling qui souhaitait développer un langage de programmation indépendant de la plate-forme hardware. Oak (Traduction : Chêne) fut un échec.&lt;br /&gt;&lt;br /&gt;Par la suite Bill Joy (co-fondateur de la firme Sun Microsystems) proposa une nouvelle version d'Oak appelée « Java » (en rapport avec l'île de Java d'où les programmeurs puisaient le café nécessaire à leur création).&lt;br /&gt;&lt;br /&gt;Son but était de pallier une déficience des langages de programmation en produisant un langage conçu pour des machines et des logiciels hétérogènes qu'englobe Internet.&lt;br /&gt;On trouve gratuitement sur le marché une machine virtuelle (Java Virtual Machine), un compilateur ainsi que de nombreux outils pour permettre la conquête du Web qui devra être celle de Java. Après de très nombreuses modifications visant à améliorer le système, Java est devenu plus qu'une simple solution Internet, c'est dorénavant un langage utilisé pour toutes sortes de développements.&lt;br /&gt;&lt;br /&gt;Java naquit en même temps que le Web, et toutes les qualités que requiert le Web étaient implémentées dans Java : un langage permettant un fonctionnement sur des machines structurées différemment.une nécessité de bande passante la plus minime possible, pour pallier l'étroitesse de celle offerte par le Web. Un navigateur Java apparut dès 1994 (HotJava) qui, tout en intégrant Java, était capable de faire fonctionner les applets Java (applications Java exécutées par le navigateur).&lt;br /&gt;&lt;br /&gt;Netscape fut l'un des éléments essentiels dans la création et l'implantation de Java dans le parc informatique, en intégrant Java dans son logiciel.&lt;/span&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-style: italic; color: rgb(0, 0, 0);"&gt;(source :&lt;a href="http://fr.wikipedia.org/wiki/Java_%28technologie%29"&gt; http://fr.wikipedia.org/wiki/Java_%28technologie%29 &lt;/a&gt;)&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4041311230228298868-8301897244018406612?l=introspectionja.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://introspectionja.blogspot.com/feeds/8301897244018406612/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4041311230228298868&amp;postID=8301897244018406612' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/8301897244018406612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/8301897244018406612'/><link rel='alternate' type='text/html' href='http://introspectionja.blogspot.com/2008/02/java-kesako.html' title='[Divers] Java... Kesako ?'/><author><name>Frédéric RINGENBACH</name><uri>http://www.blogger.com/profile/12887428056762525984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4041311230228298868.post-5481971707028179487</id><published>2008-02-13T21:02:00.005+01:00</published><updated>2008-05-29T15:45:58.628+02:00</updated><title type='text'>[Divers] Définition: introspection</title><content type='html'>Étymologiquement, le terme d'introspection vient du latin « introspectus » action de regarder à l'intérieur. En général, elle est le fait, pour une conscience, de s'observer elle-même.&lt;br /&gt;&lt;br /&gt;En psychologie, l'introspection est une méthode d'observation et d'analyse de soi en vue d'étudier sa propre personne (psychologie introspective) et acquérir une connaissance de soi ou bien en vue de connaître l'esprit humain en général. L'introspection était la principale méthode utilisée aux débuts de la psychologie expérimentale, à la fin du XIXe siècle.&lt;br /&gt;&lt;br /&gt;Les difficultés rencontrées par les spécialistes pour s'accorder sur les contenus de la conscience ont conduit la plupart des psychologues du XXe siècle à rejeter cette méthode.&lt;br /&gt;&lt;br /&gt;Dans le champ de la psychologie cognitive, l'utilisation des verbalisations concommitantes (think-aloud protocol) par des chercheurs comme Newell et Simon est parfois critiquée comme un retour de l'introspection.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(51, 51, 51);"&gt;(source: &lt;a href="http://fr.wikipedia.org/wiki/Introspection"&gt;http://fr.wikipedia.org/wiki/Introspection&lt;/a&gt;)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4041311230228298868-5481971707028179487?l=introspectionja.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://introspectionja.blogspot.com/feeds/5481971707028179487/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4041311230228298868&amp;postID=5481971707028179487' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/5481971707028179487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4041311230228298868/posts/default/5481971707028179487'/><link rel='alternate' type='text/html' href='http://introspectionja.blogspot.com/2008/02/dfinition-introspection.html' title='[Divers] Définition: introspection'/><author><name>Prénom: Yann</name><uri>http://www.blogger.com/profile/08560294504355310067</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
