Bienvenue invité ( Connexion | Inscription )

> Java pour les nuls, ou Tecka va tout planter
Tecka
posté 8 Mar 2008, 15:48
Message #1


Boulet on Tour


Groupe : Ancien de la Team
Messages : 6085
Inscrit : 14-Dec-04
Lieu : Blainville sur l'eau
Membre n° 191



C'est le grand jour je me lance, ras le bol de passer pour un gros noob
je me lance dans la programmation mais il faut que je reprenne tout
depuis le début , ma dernière expérience en programmation remonte
à la calculatrice Casio FX850-P. Il me faudrait en premier un environnement
pour faire du Java, vous avez quelque chose de simple et gratos ?
Et si en plus il y a un petit didacticiel c'est encore mieux happy.gif
Sinon des titres de livres genre "le Java pour les nuls".
Merci smile.gif

Edit :Je viens de DL Eclipse 3.3 et NetBeans 6.0.1 wink.gif

Ce message a été modifié par Tecka - 8 Mar 2008, 16:20.


--------------------
CoD4//Black Ops:iClanlTecka
MacPro Xéon Quad 2,66 ghz 6 go de ram ATI Radeon HD 5770 1Go+2 Raptor150Go+500Go
MacBookPro Rétina 15' 2,8 Ghz i7 16Go ram NVIDIA GeForce 650M 1Go
IN VINO VERITAS IN VINAS VERY TÔT
Go to the top of the page
 
+Quote Post
 
Start new topic
Réponse(s)
atarxerxes
posté 17 May 2008, 11:03
Message #2


Marathon Man


Groupe : Ancien de la Team
Messages : 10953
Inscrit : 20-Nov-04
Lieu : Paris, XIe
Membre n° 160



Leçon 2 : le MVC/l'architecture N-tiers

Quand on développe un nouveau logiciel, il y a un but et deux logiques s'affrontent pour y parvenir :
- le but est de faire un logiciel qui correspond au cahier des charges initial
- la première logique est de développer le logiciel le plus rapidement possible pour augmenter la rentabilité du produit
- la seconde logique est de penser à la maintenabilité et l'évolutivité du logiciel ("un logiciel qui ne change plus est un logiciel mort", un logiciel dont personne se sert quoi)

Suivant la taille du projet et les circonstances on peut déplacer le curseur entre ces deux logiques à différents endroits.
Pour simplifier pour les petits projets ça sera plus proche de la première logique.
Pour les projets à plusieurs dizaines de jours de développement et dont la durée de vie cible est de 4 ou 5 ans, on favorisera la seconde logique.

Développer en suivant la première logique consiste grosso modo à faire un ou plusieurs gros "scripts" de code (comme du BASIC par exemple). On appelle cela du développement spaghetti.

A contrario, la seconde logique impose un développement plus structuré, pas forcément plus lisible de manière globale en première approche mais plus sûrement modifiable au final. Pour se structurer on peut suivre sa propre intuition mais sans garantie de résultat, ou plus simplement suivre les exemples des personnes intelligentes qui se sont réunies pour réfléchir ensemble et en tirer des modèles fiables.

Dans les années 80, avec l'apparition des applications avec interface graphique un tel modèle est apparu : le MVC (Modèle-Vue-Contrôleur). Je ne vais réexpliquer ce qui est dans l'article de wikipédia, mais en gros on distingue donc trois rôles, trois sortes de travail dans une application et on essaie de répartir correctement ces rôles : un bouton sera créé/réglé dans une partie du code consacrée à la Vue, les calculs métier seront dans le Modèle,...
C'est un modèle efficace pour les applications traditionnelles ou client/serveur (iTunes par exemple, le serveur étant l'iTS dans ce cas). Mais il est assez peu efficace pour les applications Internet/Intranet (qui s'exécutent dans un navigateur web en gros) sauf à prendre des modes de travail un peu plus compliqué (comme GWT).

Vu que ces applications ont quand même plus le vent en poupe que les applications traditionnelles grâce à leurs qualités (déploiement, maintenance,...) et malgré leurs défauts certains (interface limitée par le HTML, plus lent,...), un nouveau modèle s'est dégagé : l'architecture N-tiers (3-tiers dans sa forme la plus utilisée).
Tout d'abord, non ! "tiers" ne signifie par "1/3" mais interlocuteur à l'anglaise, il n'y a donc pas forcément 3 tiers wink.gif.
Pour résumer le modèle, au lieu d'avoir trois interlocuteurs qui dialoguent librement entre eux comme dans le MVC, on a ici une répartition stricte en couches : 3 couches, chacune ne pouvant échanger des informations qu'avec la couche au-dessus ou en dessous d'elle. Le dialogue est unidirectionnel : couche 1 vers couche 2 ou couche 2 vers couche 1 (en pratique ça se traduit dans le code par :
- couche 1 vers couche 2 : la couche 1 appelle une fonction de la couche 2 en lui passant certains paramètres : la méthode choisie et les paramètres constituent les informations apportées par la couche 1 à la couche 2 dans son dialogue
- couche 2 vers couche 1 : la méthode de couche 2 renvoie une valeur qui est l'information qui est amenée par la couche 2 à la couche 1

Les trois couches sont (de la plus proche de l'utilisateur de l'application à la plus lointaine) : présentation, métier, données persistantes.

Les dialogues dans l'application sont :
- présentation <- métier : récupération des données métiers nécessaires à la construction des pages web de l'application
- client <- présentation : génération des pages web
- client -> présentation : clic sur un lien/validation d'un formulaire/ouverture d'une requête Javascript/...
- présentation -> métier : transfert des informations de l'utilisateur après validation et mise en forme de celles-ci
- métier -> données : après transformation/traitement, passage des informations à sauver
- données -> système de persistance (fichiers, base de données,...) : écriture des données
- données <- système de persistance : chargement des données sauvées précédemment
- métier <- données : après transformation des données brutes en objets métier, passage de ceux-ci

Dans une application Struts (sans framework définie de gestion de la persistance), cela se traduit par exemple par :
- des pages JSP, des classes Action, des classes Form : couche présentation
- des classes Manager, des classes d'objets métier (Business Objects) (par exemple un article dans notre application de gestion des stocks) : couche métier
- des classes DAO, des classes DTO/Value Objects : couche données


La prochaine leçon, on commencera par établir le cahier des charges de notre application de gestion de stocks.

Ce message a été modifié par atarxerxes - 17 May 2008, 11:08.


--------------------
Ordis: iPad 2 16Go 3G ; MacbookAir 11" Core i7 2GHz 8 Go RAM SSD128Go + Dell 2405FPW; Mini C2D2.0GHz media center / Accessoires: Wii , XBox360, PS3, 3DS, iPhone 4 / Télé: Numericable HD Box -> Samsung LE32R51B + Denon AVR-3808 + 5.0 Triangle
About.me
"Je n'ai jamais aimé que moi / Et je reste sans lendemain", H.F. Thiéfaine
"Reality is that which, when you stop believing in it, doesn’t go away", Philip K. Dick
Go to the top of the page
 
+Quote Post
fre2x3
posté 20 May 2008, 16:27
Message #3


Disciple N°6


Groupe : Bureau assoce
Messages : 20679
Inscrit : 30-Aug-04
Lieu : Quettehou (50)
Membre n° 121



CITATION(atarxerxes @ 17 May 2008, 12:03) *
uand on développe un nouveau logiciel, il y a un but et deux logiques s'affrontent pour y parvenir :
- le but est de faire un logiciel qui correspond au cahier des charges initial
- la première logique est de développer le logiciel le plus rapidement possible pour augmenter la rentabilité du produit
- la seconde logique est de penser à la maintenabilité et l'évolutivité du logiciel ("un logiciel qui ne change plus est un logiciel mort", un logiciel dont personne se sert quoi)
Ah tient ! ça me rappelle le boulot. Avec l'AS3 kiff kiff.


--------------------
Mac mini (M1, 2020), 16Go SSD 2To - Alienware Area-51 ALX Intel Core 4 x 3,20GHz (fin 2009) - 18Go - Windows 10 + PNY GeForce RTX ™ 2060 6GB XLR8 Edition Overclocked + SAMSUNG ODYSSEY G9 4K - G95T 49'' + Tartarus Pro + Cloud Alpha de chez HyperX + Altec Lansing VS4221 + iPad Pro 3e 512GB Wifi + iPhone 12ProMax + EATON ELP1200FR + Logitech G502
/ PSN : fre2x3 / MES stats CoD4 iClan / MES stats CoD4 NGBC
Le iClan sur Facebook page + groupe, twitter, YouTube et Steam=> ex Powered by MacBidouille. Association iClan / Accès Galette / Organisateur de parties / -> vidéos iClan <- / iClan-charte graphique
Go to the top of the page
 
+Quote Post

Les messages de ce sujet
- Tecka   Java pour les nuls   8 Mar 2008, 15:48
- - Grimaldus   Ben justement java pour les nuls est un bon débuts...   8 Mar 2008, 16:45
- - Ogur   Je bosse sous Eclipse et pour le moment je n'a...   8 Mar 2008, 16:57
- - atarxerxes   Comme plate-forme de développement je plébiscite a...   8 Mar 2008, 17:09
- - Tecka   tu fait comme ça » « Alt+7 et shift + Alt +7   8 Mar 2008, 18:07
- - atarxerxes   Ah ok, parce que le raccourci standard n'est p...   8 Mar 2008, 18:18
- - Gamoul   Pour faire les accolades { }, c'est Alt Parent...   8 Mar 2008, 18:21
- - atarxerxes   Effectivement Gamoul, c'est bien ça dans TextE...   8 Mar 2008, 19:02
- - Ogur   Les buts viennent tout seuls Atar J'avais au...   8 Mar 2008, 20:46
- - atarxerxes   Le problème (et je parle d'après mon expérienc...   8 Mar 2008, 21:00
- - Gamoul   Je suis d'accord, si on a pas le temps de vrai...   8 Mar 2008, 21:10
- - Diurn   pourquoi tu commences avec le java ( juste par cur...   9 Mar 2008, 05:23
- - Tecka   Je fais ça pour ma culture personnel sans vraiment...   9 Mar 2008, 10:22
- - Tecka   Je fais ça pour ma culture personnel sans vraiment...   9 Mar 2008, 10:24
- - Tecka   Je fais ça pour ma culture personnel sans vraiment...   9 Mar 2008, 10:23
- - Tecka   Je fais ça pour ma culture personnel sans vraiment...   9 Mar 2008, 10:25
- - Tecka   Je fais ça pour ma culture personnel sans vraiment...   9 Mar 2008, 10:21
- - Gamoul   lol t'as même pas encore commencé le java que ...   9 Mar 2008, 13:06
- - DeviSor   LOL le Tecka quoi. Posté 5 fois de suite, c'es...   9 Mar 2008, 13:10
- - atarxerxes   Voilà qui faisait ramer le forum ce matin par ses ...   9 Mar 2008, 13:21
|- - Diurn   CITATION(atarxerxes @ 9 Mar 2008, 12:21) ...   9 Mar 2008, 16:33
- - Grimaldus   Je trouve Tecka trop balaise car il post 5fois et ...   9 Mar 2008, 14:23
- - Sire Diablo III   Ah ouais carement En fait le titre de Tecka devra...   9 Mar 2008, 14:32
- - atarxerxes   L'assembly code, c'est bien beau, mais tou...   9 Mar 2008, 16:55
- - atarxerxes   A la limite Tecka ça m'intéresse de m'entr...   10 Mar 2008, 07:47
|- - Tecka   CITATION(atarxerxes @ 10 Mar 2008, 07:47)...   10 Mar 2008, 08:45
- - Sire Diablo III   Si je trouve le temps ça pourrait m'intéresser...   10 Mar 2008, 08:52
- - Gamoul   Moi aussi, la dernière fois que j'ai fait du j...   10 Mar 2008, 12:53
- - atarxerxes   Vendu alors, j'essaie de réfléchir à une premi...   10 Mar 2008, 13:12
- - Gamoul   Cool, merci   10 Mar 2008, 13:28
- - CantKillemAll   Y'a de la place pour la session JPLNBA* ? ...   10 Mar 2008, 17:33
- - Ogur   Atar, j'ai les transparents et exercices de mo...   10 Mar 2008, 20:17
- - atarxerxes   Trop tard (mais bon tu peux les mettre, ça peut c...   10 Mar 2008, 21:18
|- - W@T3RC00L3d   CITATION(atarxerxes @ 10 Mar 2008, 21:18)...   12 Mar 2008, 22:04
- - Ogur   impec, atar! concernant eclipse, je vais jeter...   11 Mar 2008, 14:12
- - CantKillemAll   Bon, je viens d'apprendre quelques trucs, là.....   11 Mar 2008, 17:20
- - DBSor   Très intéressant atarxerxes, je ne connais absolum...   11 Mar 2008, 22:51
- - atarxerxes   Ba l'Objective-C 2.0 c'est encore plus con...   11 Mar 2008, 23:13
- - DBSor   Je continue à (essayer de) gérer ma mémoire à l...   11 Mar 2008, 23:36
- - Gamoul   C'est pas un concept généralisé comme en java.   12 Mar 2008, 22:26
- - atarxerxes   Ouais, en C on peut toujours ruser mais c'est ...   13 Mar 2008, 07:17
- - DBSor   D'où le C++   13 Mar 2008, 09:12
- - Tecka   La suite..................   17 Mar 2008, 16:11
- - atarxerxes   Vu que y'a le printemps du cinéma ce soir et d...   17 Mar 2008, 17:05
- - Tecka   Pfffffffff si maintenant les profs sèchent les cou...   17 Mar 2008, 18:30
- - ZenZen   Bon alors déjà, bonjour à tous... (je suis de reto...   17 Mar 2008, 20:14
- - Diurn   j'aime bien le gros jeu de mot en première pag...   17 Mar 2008, 20:55
- - Ogur   en effet   18 Mar 2008, 11:55
- - appleseed   Bon il suffit que je ne passe plus pendant un mome...   19 Mar 2008, 14:37
- - atarxerxes   Leçon 1 : à la découvert des packages (pour la pa...   24 Mar 2008, 14:11
- - CantKillemAll   Merci Maître   24 Mar 2008, 19:46
- - Tecka   Merde j'ai séché le cours mais c'est bon m...   29 Mar 2008, 22:01
- - atarxerxes   Comme l'a indiqué appleseed, les livres de O...   29 Mar 2008, 22:29
- - Darknight670   Suppression du message pour non respect de la char...   1 Apr 2008, 16:42
- - atarxerxes   Ici on n'aime pas les étrangers pirates, étran...   1 Apr 2008, 21:50
- - Darknight670   Pas la peine d'être agressif De plus je poss...   2 Apr 2008, 17:06
|- - atarxerxes   CITATION(Darknight670 @ 2 Apr 2008, 18:06...   2 Apr 2008, 17:14
|- - Darknight670   CITATION(atarxerxes @ 2 Apr 2008, 18:14) ...   2 Apr 2008, 17:48
- - Darknight670   Sinon pour le Java: http://java.developpez.com/co...   2 Apr 2008, 17:11
- - DBSor   Ok, tu peux faire un bisou à Atar maintenant (tu v...   2 Apr 2008, 21:07
- - Tecka   MMMMMMMMMMHHHHHHHHH   2 Apr 2008, 21:17
- - appleseed   Sinon il y a des livres gratuits sur java - pense...   4 Apr 2008, 14:14
- - atarxerxes   Pour la suite des leçons, vous devrez attendre déb...   13 Apr 2008, 09:32
- - Tecka   RE: Java pour les nuls   6 May 2008, 06:52
- - atarxerxes   Leçon 2 : le MVC/l'architecture N-tiers Quand...   17 May 2008, 11:03
|- - fre2x3   CITATION(atarxerxes @ 17 May 2008, 12:03)...   20 May 2008, 16:27
- - Tecka   aaaaaaaah enfin la suite. Merci mon lapin   20 May 2008, 15:25
- - DBSor   Intéressant, étrange (pour un pur jus assembleur/p...   20 May 2008, 15:59
- - atarxerxes   Leçon 3 : le cahiers des charges Notre but est de...   10 Jun 2008, 18:36
- - Tecka   oups j'ai séché le cours ......... Il faut se ...   12 Jun 2008, 05:26
- - Ogur   Atar, petite question à la sauvette car je n'a...   16 Jun 2008, 23:28
- - atarxerxes   Il faudrait voir le code exact. "Assembler...   17 Jun 2008, 06:17
- - Ogur   En effet en ce qui concerne la mémoire (avec les 6...   17 Jun 2008, 13:31
- - atarxerxes   Peut-être du nouveau bientôt !   25 Sep 2008, 11:56
- - Tecka   aaaaaaaaah la reprise des cours après les vacances   25 Sep 2008, 13:02
- - atarxerxes   Pour cette rentrée, on va s'éloigner un peu de...   29 Sep 2008, 16:11
- - Gamoul   Cool   29 Sep 2008, 16:22
- - Heimdal50   Ça c´est une bonne nouvelle J´ai tendance à tout ...   29 Sep 2008, 16:50
- - atarxerxes   Enfin, là je disais que l'application te serai...   29 Sep 2008, 17:18
- - W@T3RC00L3d   Bonne idée, je vais suivre ça, je connais encore m...   29 Sep 2008, 17:47
- - atarxerxes   Cette fois je vais essayer de finir l'applicat...   30 Sep 2008, 08:06
- - atarxerxes   L'application qu'on va réaliser en pas à p...   5 Oct 2008, 12:23
- - Ogur   Tiens, ça m'intéresse de savoir comment coder ...   5 Oct 2008, 14:32
|- - atarxerxes   CITATION(Ogur @ 5 Oct 2008, 15:32) Tiens,...   5 Oct 2008, 15:10
|- - Acid   CITATION(Ogur @ 5 Oct 2008, 15:32) Tiens,...   5 Oct 2008, 19:09
- - Sire Diablo   Pourquoi tu veux coder un cervelet ? Ok vous savez...   5 Oct 2008, 14:44
- - atarxerxes   Sommaire évolutif et approximatif :les installatio...   5 Oct 2008, 15:56
- - atarxerxes   A noter qu'une servlet peut produire vraiment ...   5 Oct 2008, 21:54
- - Ogur   Okay ! Donc c'est bien le serveur qui exéc...   5 Oct 2008, 23:14
- - atarxerxes   En fait Java sur un serveur tomcat c'est un pe...   6 Oct 2008, 06:02
- - atarxerxes   Sommaire évolutif et approximatif :les installatio...   6 Oct 2008, 07:13
- - Heimdal50   C´est nickel, ton flux rss d´actualité des jeux   6 Oct 2008, 15:27
- - atarxerxes   En fait c'est pas si HS que ça, je vais utilis...   6 Oct 2008, 15:45
- - Heimdal50   Pour Tomcat et Eclipse, pas de problèmes; par cont...   6 Oct 2008, 19:13
- - atarxerxes   Effectivement j'ai peut-être oublié de dire qu...   6 Oct 2008, 19:41
- - Heimdal50   Non quand tu installes MySQL (du site Mac4ever), t...   6 Oct 2008, 19:43
- - atarxerxes   En tout cas sur mon mini, c'était déjà telleme...   6 Oct 2008, 19:46
- - Heimdal50   J´ai configuré MySQL Administrator comme suit: Pré...   6 Oct 2008, 19:52
- - atarxerxes   Alors attention : - une seule application/processu...   6 Oct 2008, 20:23
- - Heimdal50   C´est corrigé   6 Oct 2008, 20:37
2 Pages V   1 2 >


Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



RSS Version bas débit Nous sommes le : 4 May 2024 - 01:33