TP8- Q4.2 - compréhension énoncé

Programmation Avancée

Modérateur : douinj

Rodrigues_A
Messages : 52
Inscription : 25 sept. 2018 21:57

TP8- Q4.2 - compréhension énoncé

Message par Rodrigues_A » 24 déc. 2018 9:20

Bonjour à tous,

J'ai un problème avec l'énoncé, je ne comprends pas ce qui est attendu en question 4.2:
Créez une instance de la classe UpperCaseInputStream enrichie des fonctionnalités offertes par la classe PushbackInputStream

Vérifiez en proposant un test supplémentaire de la de test UpperCaseInputStreamTest, le bon fonctionnement de cette instance ainsi décorée....
J'ai bien compris les méthodes read et unread, mais je ne vois pas le résultat recherché.
Est ce que quelqu'un peut m'éclairer?

Merci et bon réveillon de Noël,

Anthony

rousset
Messages : 50
Inscription : 30 sept. 2018 9:23

Re: TP8- Q4.2 - compréhension énoncé

Message par rousset » 24 déc. 2018 12:26

Hello,
J'espère que ça te dépannera, y a ce sujet dans le forum : viewtopic.php?f=40&t=13936&sid=98a7d1cb ... b67b116a00

J'ai aussi trouvé ça : https://www.developpez.net/forums/d2494 ... -d-entree/

Immédiatement je suis dans la situation qu'évoque un des collègues, je pensais faire quelque chose de cohérent en question 4-1 et puis je me suis rendu compte qu'en fait "je ne testais rien". C'est comme si j'avais 2 flux, un qui met en majuscule tous les caractères, mais je n'arrive pas à lire celui-ci, c'est le flux originel (fichier texte en minuscule) qui est parcourcu .., c'est pas gagné ! ;)

Donc si tu gères bien la 1ère question, regardes, apparemment on a un collègue qui se sert de la possibilité de faire aller le pointeur d'avant en arrière, pour remplacer tous les espaces par des underscore.

Bonnes fêtes
Nicolas

Rodrigues_A
Messages : 52
Inscription : 25 sept. 2018 21:57

Re: TP8- Q4.2 - compréhension énoncé

Message par Rodrigues_A » 24 déc. 2018 12:50

@ Nicolas,
Merci pour ta réponse, pour la question 1, je pense que je l'ai bien gérée du moins je l'espère.
Concernant le lien sur le forum, j'avais bien vu la discussion, d'où mon doute sur quoi faire.
Devons-nous proposer une implémentation en expliquant son but? ou réutiliser la Q1?
Je serais parti comme toi pour faire quelque chose de cohérent avec la q1, a voir.

Bonnes fêtes également,

Anthony

rousset
Messages : 50
Inscription : 30 sept. 2018 9:23

Re: TP8- Q4.2 - compréhension énoncé

Message par rousset » 24 déc. 2018 14:34

-re Anthony,

Alors très franchement, coup de chance, j'ai cherché des éléments de réponse en ligne et j'ai trouvé.
Maintenant mon problème c'est que je valide le test Tp4Q2 sur JNews mais je ne comprends pas pourquoi ça répond à la question.
Je suis tombé là dessus : http://jo-nfp121.e-monsite.com/pages/tp8.html
Je fais suivre parce que je pense que le plus important c'est de comprendre ce qu'on fait. Je constate que certains d'entre nous sont soit aguérris, soit comprennent bien mieux que moi ce qui est attendu. Je crois que j'aurai aimé avoir sous la main une correction (j'ignore si les propositions de notre collègue sont valides pour les autres TP) au fur et à mesure (et avant de passer à un autre TP).
Très bien cette UE j'en suis persuadé, mais je préfère ne pas trouver, avoir une explication et comprendre, que de ne pas trouver et rester sur ma faim (même si c'est noël et que j'aurai la chance de manger du marron et de la dinde !) ou encore de trouver mais après un laps de temps trop long (sans compter l'énergie dépensée et la charge émotionnelle afférente).

Immédiatement, ce que je peux dire c'est que, en outre, pour la Tp4Q1, j'ai pas percuté que je devais ré-écrire les méthodes read (je croyais pouvoir influé sur un seul et même stream dont je faisais une "mark" dès le premier octet, et que je pensais pouvoir "rejouer /relire" avec la mise à jour faite (après avoir remis le pointeur sur le 1er octet marqué avec reset)) . Je vérifiais avec une expression régulière que je pointais sur [a-z].., bref de l'inutile.
Pour la Tp4Q2, "créer une instance de la classe UpperCaseInputStream enrichie des fonctionnalités offertes par la classe PushbackInputStream". J'ai compris que je ne devais pas créer de classe (jusque là..., ça va ;) , et que je devais retrouver l'état originel du flux (un peu comme un memento), à l'aide d'une des méthodes unread. Donc j'étais juste hors sujet bien comme il faut ;) ..,

Je vais m'entrainer, peut être prendre un peu de temps pour essayer de faire la Q3, en tout cas montrer que j'ai compris ce qu'on pouvait faire avec les flux, même si je valide mal la question.

J'indiquerai dans mon rapport que j'ai opté pour cette solution en ligne.
Je te confirme en tout cas que la proposition de notre collègue valide la question 2 du TP4.
Encore bonnes fêtes !
Nicolas

RENAUD
Messages : 101
Inscription : 21 sept. 2018 19:34

Re: TP8- Q4.2 - compréhension énoncé

Message par RENAUD » 26 déc. 2018 13:29

Bonjour et bonnes fêtes de fin d'année !

4.1)
J'ai eu la même difficulté pour 4.1.
J'ai mis du temps à comprendre et à "décorer" UpperCaseInputStream car il me semblait alors logique d'abord de comprendre les codes sources java.io de InputStream à BufferedInputStream. J'ai fait une classe Main ou directement dans la classe UpperCaseInputStream pour parcourir et tester pour comprendre les différentes redefinition des méthodes.
En particulier je me suis énervé avec reset() mark() et close().. que je n'ai pas bien compris je crois finalement en voulant refaire des boucles même après avoir instancier plusieurs différents "new FileInputStream" que je pensais indépendant ! mais un close sur le premier stream met la mark à -1 pour tous les autres même avec un buffer... bref de ce coté là j'ai fini par abandonner même de bien comprendre ce qu'il se passait et je fais juste avant le close() final sur file ou/et buffer : fis.getChannel().position(0);//fis= fileinputstream. Pour pouvoir refaire autant de parcours que je veux.

Donc en analysant les codes sources des sous classes de InputStream:
http://hg.openjdk.java.net/jdk8u/jdk8u/ ... tream.java
http://hg.openjdk.java.net/jdk6/jdk6/jd ... tream.java
http://hg.openjdk.java.net/jdk8/jdk8/jd ... tream.java
http://hg.openjdk.java.net/jdk8/jdk8/jd ... tream.java
http://hg.openjdk.java.net/jdk6/jdk6/jd ... tream.java
http://hg.openjdk.java.net/jdk8/jdk8/jd ... tream.java
etc...

par liaison dynamique, j'ai compris qu'il me suffisait de recopier ce que j'ai besoin pour UpperCaseInputStream de l'adapter un peu et ça a l'air d'être bon pour le test mais je n'ai pas soumis n'ayant pas fini 4.2 (cause repas de noël enfin bref chut ! ;))
4.2)
pareil mais ce qu'on nous demande est de décorer UpperCaseInputStream seuls les méthodes unread() me semblent donc utiles ici à recopier, ainsi que des méthodes et variables privées ex buf et à la limite buffersize.
Je m'y remet aujourd'hui car ça n'avait pas fonctionné avant ce satané repas (miam et aie!) mais je savais que mon construteur de UpperCaseInputStream est surement à enrichir le buffer était vide forcément, avec simplement le même code du constructeur de PushbackInputStream :
public UpperCaseInputStream (InputStream in, int size) { //public PushbackInputStream(InputStream in, int size)
super(in);
if (size <= 0) {
throw new IllegalArgumentException("size <= 0");
}
this.buf = new byte[size];
this.pos = size;
}
après suffit de trouver le bon test junit et "test" main (mauvaise habitude récurrente chez moi de faire un Main plutot que passer par une classe junit)
finalement ce qui a été long comme pour la question 3 c'est de piger le plus possible le code source des classes natives.
A suivre... après le constructeur supplémentaire et surtout soumission à jnews c'est peut-être totalement faux :/

Rodrigues_A
Messages : 52
Inscription : 25 sept. 2018 21:57

Re: TP8- Q4.2 - compréhension énoncé

Message par Rodrigues_A » 26 déc. 2018 15:56

Bonjour,
@ Renaud
Idem, pour le TP pause depuis mon dernier message du 24/12, merci les repas ;-) .
Pour la question 4.1, j'ai fait au plus simple, cela passe les tests unitaires, à voir dans JNEWS, j'ai juste décoré en redéfinissant read().
Pas de reset, close et mark.

Pour la 4 2, je comptais procéder pareil, ce qui est amusant avec les différentes réponses à cette discussion c'est que personne ne semble comprendre la question 4.2 de la même façon.
En relisant je compte redéfinir la méthode: int read(byte[ ] b, int off, int len), afin que tous les caractères passent en majuscule.
pour unread, j'ai bien compris gràce à :
https://www.tutorialspoint.com/java/io/ ... unread.htm
Mais je ne sais pas encore ce que je vais en faire.

@ Nicolas, merci pour tes réponses, pour l'instant, je préfère ne pas regarder ton lien, sinon, je ne vais pas comprendre.
Au dernier TP, je me suis pris les pieds dans le tapis, je dois donc me prouver que je peux, y arriver.

M DOUIN, est-il posssible d'avoir un indice ou une précision concernant vos attentes pour la question 4.2, s'il vous plait?

Bonne journée,

Anthony

RENAUD
Messages : 101
Inscription : 21 sept. 2018 19:34

Re: TP8- Q4.2 - compréhension énoncé

Message par RENAUD » 27 déc. 2018 1:32

rousset a écrit :
24 déc. 2018 14:34
-re Anthony,

Maintenant mon problème c'est que je valide le test Tp4Q2 sur JNews mais je ne comprends pas pourquoi ça répond à la question.
Je suis tombé là dessus : http://jo-nfp121.e-monsite.com/pages/tp8.html

Immédiatement, ce que je peux dire c'est que, en outre, pour la Tp4Q1, j'ai pas percuté que je devais ré-écrire les méthodes read
(je croyais pouvoir influé sur un seul et même stream dont je faisais une "mark" dès le premier octet, et que je pensais pouvoir "rejouer /relire" avec la mise à jour faite (après avoir remis le pointeur sur le 1er octet marqué avec reset)) .

Pour la Tp4Q2, "créer une instance de la classe UpperCaseInputStream enrichie des fonctionnalités offertes par la classe PushbackInputStream". J'ai compris que je ne devais pas créer de classe (jusque là..., ça va ;) , et que je devais retrouver l'état originel du flux (un peu comme un memento), à l'aide d'une des méthodes unread. Donc j'étais juste hors sujet bien comme il faut ;) ..,

J'indiquerai dans mon rapport que j'ai opté pour cette solution en ligne.
Je te confirme en tout cas que la proposition de notre collègue valide la question 2 du TP4.
Encore bonnes fêtes !
Nicolas
1) Le "collègue" dont tu parles c'est celui de 2017 sur le forum ou du site ?

2) Perso j'ai mal decrypté mark/marklimit, markpos/available/reset/close... dans les classes de java.IO
2.1) la réponse pour 4.2 sur le site ne me satisfait pas du tout il est où Pushback ?? il fait juste usage du buffer sans la fonctionnalité Pushback à la limite il fait une sorte de BufferedInputStream c'est tout !

3) effectivement aujourd'hui je me suis "amusé" donc à redéfinir unread() dans UpperCaseInputStream mais cela pose un problème car le read() redéfinit dans la question d'avant n'est pas le même que le read() de PushbackIS du package java.
Donc je me suis encore amusé à vouloir coder pour combiner les deux pour obtenir les deux cas (4.1 et 4.2) avec ou sans les fonctionnalités de Pushback avec le même résultat escompté qu'il y a ici http://www.java2s.com/Tutorials/Java/Ja ... Stream.htm (j'ai préféré ce tutoriel plus simple encore que https://www.tutorialspoint.com/java/io/ ... unread.htm).
mais pas facile de combiner les deux read() je verrais ça demain si j'ai le temps mais en relisant cette phrase
"créer une instance de la classe UpperCaseInputStream enrichie des fonctionnalités offertes par la classe PushbackInputStream"
mr douin nous aide peut-être justement à éviter de recoder des methodes read() compliquées. Alors qu'il suffit peut-être non pas d'enrichir la classe UpperCaseIS mais de "décorer" PushbackIS, j'espère que je lis bien décorer dans le bon sens, bref PushbackIS (UpperCaseIS). Je viens de le coder en écrivant ceci. Et ça fonctionne sans avoir besoin de redéfinir unread().

Voici donc mon test pour 4.2 qui répète donc chaque lettre de la phrase pour voir ce que ça fait et test l'égalité entre la premiere valeur sauvé (marche arriere unread) et la même valeur lu à nouveau et tout est en majuscule biensur dans UpperCase:
try {
UpperCaseInputStream ucis = new UpperCaseInputStream(new BufferedInputStream( new FileInputStream(new File(PATH+"/"+"README.TXT")))); // déclaration à décorer ....
PushbackInputStream pis = new PushbackInputStream(ucis);

byte byteData ;
while ((byteData = (byte)pis.read()) != -1) {

char tmp=(char) byteData;
System.out.print(tmp);
assertTrue(
"erreur !, '" + Character.valueOf((char)byteData) + "' ne semble pas être une majuscule ...",
Character.isUpperCase((char)byteData) || (char)byteData==' '
);
pis.unread(byteData);

// Reread the byte we unread
byteData = (byte) pis.read();

System.out.print((char) byteData);
assertTrue(
"erreur !, '" + Character.valueOf((char)byteData) + "' ne semble pas être répété ...",
tmp==(char) byteData
);
}
} catch (Exception e2) {
e2.printStackTrace();
}
3) je vais arranger le code virer les system.out et soumettre demain j'espère que ça passera parce que j'aimerais passer dans le dur des révisions par l'étude d'annales. j'en ai pas fait encore pas même un exercice donc ça me stresse pas mal beaucoup plus que les tp maintenant.
Et y'a encore le tp suivant en plus !

rousset
Messages : 50
Inscription : 30 sept. 2018 9:23

Re: TP8- Q4.2 - compréhension énoncé

Message par rousset » 27 déc. 2018 18:55

-re Renaud

Bon je pensais pas répondre pour que la question d'Anthony demeure visible pour l'enseignant.

Sauf erreurs de ma part, donc à prendre avec précautions..,
La méthode de test du PushbackInputStream n'est pas analysé par Jnews, on a juste à montrer l'utilisation qu'on parvient à en faire. Ce qui compte c'est d'avoir bon dans l'implémentation du UpperCaseInputStream de la question 4.1.
Pour le code du collègue "http://jo-nfp121.e-monsite.com/pages/tp8.html" c'est un peu le bazar, tu as raison, mais ça a le mérite, de montrer que la méthode évoquée ne serait effectivement pas testée (la classe PushbackInputStream). Et puis ça propose la solution type avec surcharge de read().

@++

RENAUD
Messages : 101
Inscription : 21 sept. 2018 19:34

Re: TP8- Q4.2 - compréhension énoncé

Message par RENAUD » 27 déc. 2018 20:44

tout est ok,1 2 3 4, coté jnews chez moi une fois n'est pas coutume !
J'ai eu une dernière petite resistance inattendue à l'exo 2 pour le format toString()

sinon je persiste à croire que sur le site il n'a pas trop su répondre à cette question comme nous.
Surchargé read() ! pour moi c'est juste caster en byte dans un tableau un peu comme la classe buffer et d'autres classes natives java mais loin d'ête aussi compliqué. d'autant qu'on décore UpperCase avec Buffer à 4.1 !
la particularité de PushBack c'est de conserver certes dans un buffer avec unread() pour une réutilisation avant le close() +1 !

une autre utilisation plus fine serait justement d'utiliser Push juste après la fin de la boucle normalement il doit rester un element dans le buf de Push que ce soit redéfini ou natif.
Moi ça écrit :
TTEESSTTSS DDUU DDEECCOORRAATTEEUURR EENN MMAAJJUUSSCCUULLEESS NNEE PPAASS MMOODDIIFFIIEERR CCEE FFIICCHHIIEERR IILL SSEERRTT AAUUXX TTEESSTTSS EENN LLIIGGNNEE
Vous énervez pas, j'explique :)

Bonne soirée

Rodrigues_A
Messages : 52
Inscription : 25 sept. 2018 21:57

Re: TP8- Q4.2 - compréhension énoncé

Message par Rodrigues_A » 28 déc. 2018 8:41

Bonjour,

Pas de problème, personne ne s’énerve, très beau travail @Renaud, moi je n'avance à rien mais pas facile avec 2 enfants à gérer. Et un autre UE à remettre à jour (délaisser pour les TP).
Concernant m'a question initiale, c'était juste pour être sûr de de pas faire fausse route et gagné du temps.

Merci d'avoir partager vos pistes et raisonnements.
Bonne journée et fêtes de fin d'année,
Anthony

Rodrigues_A
Messages : 52
Inscription : 25 sept. 2018 21:57

Re: TP8- Q4.2 - compréhension énoncé

Message par Rodrigues_A » 28 déc. 2018 10:01

Re-bonjour,

Je viens de finir la question 4.1, pas encore testée, mais les tests locaux passent, ceux du début de semaine étaient des faux positifs (pb de chemin de fichier).
J'ai pas mal bidouiller pour qu'il passent, au début je retournais l'entier correspondant au caractère en majuscule mais l'assertion ne passait pas.
En relisant l'assertion, j'ai fini par essayer de retourner le caractère en majuscule et là cela passe.

La méthode int read() doit retourner un int alors pourquoi je n'ai par d'erreur de compilation en retournant un Character (est-ce un processus de cast automatique?)?

Si quelqu'un peut m'expliquer.

Allez j'attaque la question 4.2, je ne sais pas trop ce que je veux faire.

Bonne journée,

Anthony

rousset
Messages : 50
Inscription : 30 sept. 2018 9:23

Re: TP8- Q4.2 - compréhension énoncé

Message par rousset » 31 déc. 2018 12:32

Rodrigues_A a écrit :
28 déc. 2018 10:01
Re-bonjour,

Je viens de finir la question 4.1, pas encore testée, mais les tests locaux passent, ceux du début de semaine étaient des faux positifs (pb de chemin de fichier).
J'ai pas mal bidouiller pour qu'il passent, au début je retournais l'entier correspondant au caractère en majuscule mais l'assertion ne passait pas.
En relisant l'assertion, j'ai fini par essayer de retourner le caractère en majuscule et là cela passe.

La méthode int read() doit retourner un int alors pourquoi je n'ai par d'erreur de compilation en retournant un Character (est-ce un processus de cast automatique?)?

Si quelqu'un peut m'expliquer.
Allez j'attaque la question 4.2, je ne sais pas trop ce que je veux faire.
Bonne journée,
Anthony
Hello,
Gros Bravo pour allier boulot (et même sans), les enfants et les cours !! Très fort, tu mérites des points de bonus rien que pour ça ;)
Je tente une réponse, à prendre avec toute réserve hein
Pour le processus de "cast automatique", je ne crois pas, on cast bien en "char", tu sais l'enseignant utilise Character.valueOf((char) unEntier). On traduit bien un octet en son code ASCII dont on récupère la valeur codée avec le cast.
Sincères meilleurs voeux.
Nicolas

Rodrigues_A
Messages : 52
Inscription : 25 sept. 2018 21:57

Re: TP8- Q4.2 - compréhension énoncé

Message par Rodrigues_A » 31 déc. 2018 13:10

Bonjour Nicolas,

Je ne pense pas mériter plus de points que les autres auditeurs, même si sur cet UE ça m'aiderait bien.
Beaucoup d'auditeurs travaillent et/ou ont des enfants, il y en a même qui font plusieurs formations cnam + autre + travail...
Les auditeurs CNAM sont reconnu pour être des bosseurs, le plus dur c'est de mettre les loisirs de coté (au revoir sport...) et de ne pas arriver à saturation.

Merci de prendre le temps de répondre à mes questions, j'en aurais certenement sur le tp injection si j'ai le temps de travailler dessus.
Concernant le TP, j'ai fini par passer tout les tests.
Pour la question 3: j'ai implémenté 2 classes puis j'ai fini par étudier le code de l'ED 12.
j'ai trouvé ce tuto sur les assertion qui m'a aider à bien comprendre:
https://smeric.developpez.com/java/astuces/assertions/

Pour la 4.2, je pense être un peu hors sujet mais cela m'a permis de comprendre les flux de données, j'ai fait:
un test qui utilise la fonction Unread() remplacer les espaces des 50 premiers caractères par des * (un 1er array de byte), puis ceux des 85 caractères en repartant du début du buffer (unread pour garder les modifications, (un 2ème array de byte)), puis à nouveau unread pour repartir du début du buffer et remplacer les * et ! par des _ dans un 3ème array de byte).

Des System.out println() ont été ajoutés à chaques étapes afin de rendre ces étapes visibles.
Voilà, c'est loin d'être parfait, mais j'espère que cela m'aidera pour l'examen, reste à voir l'évaluation de ce TP par M Douin.

Bon réveillon,

Anthony

rousset
Messages : 50
Inscription : 30 sept. 2018 9:23

Re: TP8- Q4.2 - compréhension énoncé

Message par rousset » 02 janv. 2019 19:12

-re Anthony,

Je t'ai bien lu, mais encore bravo (et je pense que tu mérites même un point de bonus !).

Perso les questions optionnelles j'ai mis de côté : j'ai lu la doc pour la "priority queue" mais c'est tout.
Alors le Tp_Injection si tu es limite question temps je me permets une intro (à prendre avec toute réserve encore une fois), à toute fin in(utile), au cas où.

L'article de Martin Fowler : en gros il explique qu'il a un jour appris l'existence de "l'inversion de contrôle" (IOC Inversion Of Control), que l'on nomme aussi "injection de dépendance", et ce concept est une solution alternative au "service locator" (un pattern design). L'auteur rappel que des 'environnements de développement' propose leurs propres IOC (exemple Spring), on parle de "IOC Containers".
Le principe de ces patrons (injection dépendance et service locator) c'est d'isoler "configuration et utilisation". On n'a pas une classe "chef d'orchestre", aucuns constructeurs, et c'est "l'injection de dépendance" qui génère le "contexte applicatif" (création d'objets, appel de méthodes..,). La technique (qui va dépendre du projet) sera d'injecter des constructeurs uniquement, ou que des setters (comme dans notre cas), ou enfin que des interfaces.


Perso j'ai rapproché ça de "Maven et Vaadin (qui utilise Maven)" utilisables depuis Eclipse, je sais pas si tu connais. A la racine de chaque projet on a un fichier pom.xml, unique. Exemple d'un extrait ci-dessous. Par Maven penses structure fixe et prédéterminée d'un projet, les classes et les sources à part etc (exemple : src/main/resources etc).
On retrouve bien des "properties, et dependencies".
On peut même charger tout un contexte ce qui réduit l'intervention du programmeur, exemple : https://start.spring.io/, on indique quels dépendances charger dans un projet Maven vide, on télécharges une archive .zip qui décompressée est un projet clef en main.

Si j'ai bien compris cette génération auto c'est le bootstrap côté web application, et je suppose qu'on peut aussi l'utiliser en terme de "générateur d'application" comme on fait dans le Tp. Quoiqu'il en soit, on fait de l'injection de dépendances.

Le femtoContainer c'est l'outil développé par l'enseignant qui permet de reproduire le fonctionnement d'un IOC.
On aura un fichier README.TXT dans chaque projet qui précisera, sous une forme convenue, les injections.
Le femtoContainer lit le fichier puis génère et execute l'appli (dans question1 il y a 3 illustrations types, avec 3 patrons).
On nous propose de mettre en oeuvre 2 exemples d'utilisation de femtoContainer, et on nous invite, sous forme d'une question optionnelle, à aussi participer au développement de l'outil (par exemple proposer le parcours de fichiers Xml, Json).

Meilleurs voeux.
Nicolas

Code : Tout sélectionner

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.example</groupId>
	<artifactId>myapplication</artifactId>
	<packaging>war</packaging>
	<version>1.0-SNAPSHOT</version>
	<name>myapplication</name>

	<prerequisites>
		<maven>3</maven>
	</prerequisites>

	<properties>
		<vaadin.version>8.5.2</vaadin.version>
		<vaadin.plugin.version>8.5.2</vaadin.plugin.version>
		<jetty.plugin.version>9.3.9.v20160517</jetty.plugin.version>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<maven.compiler.source>1.8</maven.compiler.source>
		<maven.compiler.target>1.8</maven.compiler.target>
		<!-- If there are no local customizations, this can also be "fetch" or "cdn" -->
		<vaadin.widgetset.mode>local</vaadin.widgetset.mode>
	</properties>

	<repositories>
		<repository>
			<id>vaadin-addons</id>
			<url>http://maven.vaadin.com/vaadin-addons</url>
		</repository>
	</repositories>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>com.vaadin</groupId>
				<artifactId>vaadin-bom</artifactId>
				<version>${vaadin.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

RENAUD
Messages : 101
Inscription : 21 sept. 2018 19:34

Re: TP8- Q4.2 - compréhension énoncé

Message par RENAUD » 02 janv. 2019 19:36

Tout d'abord Meilleur Vœux 2019 tout ça tout ça !

Merci d'aborder le tp9 je trouve que tu en donnes une bonne introduction.
- ce tp me stress car je viens de le commencer alors qu'il est à rendre pour mardi 8 janvier. Et il ne semble pas facile déjà par sa densité.
- de plus j'essaye en parallèle de réviser et d'aborder les annales (topic ouvert ;) et j'ai l'impression d'avoir accumuler tellement de lacunes que je reste paumé sur la plupart des questions ça aussi c'est flippant.
- j'ai contacté mon cnam pour la convocation et le fait de composer sur le site le plus proche et vous ?

Pour revenir au tp9
je suis tombé sur ce site qui m'a plus par la simplicité de l'exemple qui explique l'injection de dépendance.
http://patatos.over-blog.com/2014/07/l- ... -nuls.html
ensuite le fait d'avoir un fichier config quel qu’il soit parait plus "évident" après bien l'interpréter et dans quel but c'est une autre affaire.

Répondre