Bienvenue invité ( Connexion | Inscription )
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 Section(s) : FPS • FdV |
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 Sinon des titres de livres genre "le Java pour les nuls". Merci Edit :Je viens de DL Eclipse 3.3 et NetBeans 6.0.1 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 |
|
|
|
![]() |
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 Section(s) : FPS • FdV |
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 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
"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 |
|
|
|
Tecka Java pour les nuls 8 Mar 2008, 15:48
Grimaldus Ben justement java pour les nuls est un bon début... 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... 8 Mar 2008, 17:09
Tecka tu fait comme ça » «
Alt+7 et shift + Alt +... 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 Text... 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éri... 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 vraimen... 9 Mar 2008, 10:22
Tecka Je fais ça pour ma culture personnel sans vraimen... 9 Mar 2008, 10:24
Tecka Je fais ça pour ma culture personnel sans vraimen... 9 Mar 2008, 10:23
Tecka Je fais ça pour ma culture personnel sans vraimen... 9 Mar 2008, 10:25
Tecka Je fais ça pour ma culture personnel sans vraimen... 9 Mar 2008, 10:21
Gamoul lol t'as même pas encore commencé le java qu... 9 Mar 2008, 13:06
DeviSor LOL le Tecka quoi.
Posté 5 fois de suite, c'e... 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'en... 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éress... 10 Mar 2008, 08:52
Gamoul Moi aussi, la dernière fois que j'ai fait du ... 10 Mar 2008, 12:53
atarxerxes Vendu alors, j'essaie de réfléchir à une pr... 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 ... 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 absol... 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 à ... 11 Mar 2008, 23:36
Gamoul C'est pas un concept généralisé comme en ja... 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 ... 17 Mar 2008, 17:05
Tecka Pfffffffff si maintenant les profs sèchent les co... 17 Mar 2008, 18:30
ZenZen Bon alors déjà , bonjour à tous... (je suis de r... 17 Mar 2008, 20:14
Diurn j'aime bien le gros jeu de mot en première pa... 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... 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... 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, étr... 1 Apr 2008, 21:50
Darknight670 Pas la peine d'être agressif De plus je pos... 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 ... 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Ã... 13 Apr 2008, 09:32
Tecka RE: Java pour les nuls 6 May 2008, 06:52
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... 20 May 2008, 15:59
atarxerxes Leçon 3 : le cahiers des charges
Notre but est d... 10 Jun 2008, 18:36
Tecka oups j'ai séché le cours .........
Il faut s... 12 Jun 2008, 05:26
Ogur Atar, petite question à la sauvette car je n... 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 ... 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 vacance... 25 Sep 2008, 13:02
atarxerxes Pour cette rentrée, on va s'éloigner un peu ... 29 Sep 2008, 16:11
Gamoul Cool 29 Sep 2008, 16:22
Heimdal50 Ça c´est une bonne nouvelle J´ai tendance à t... 29 Sep 2008, 16:50
atarxerxes Enfin, là je disais que l'application te sera... 29 Sep 2008, 17:18
W@T3RC00L3d Bonne idée, je vais suivre ça, je connais encore... 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 à ... 5 Oct 2008, 12:23
Ogur Tiens, ça m'intéresse de savoir comment code... 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 installati... 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é... 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 installati... 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 utili... 6 Oct 2008, 15:45
Heimdal50 Pour Tomcat et Eclipse, pas de problèmes; par con... 6 Oct 2008, 19:13
atarxerxes Effectivement j'ai peut-être oublié de dire ... 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à tell... 6 Oct 2008, 19:46
Heimdal50 J´ai configuré MySQL Administrator comme suit: P... 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![]() ![]() |
|
Version bas débit | Nous sommes le : 13 Dec 2025 - 19:13 |