From 34a1e4a5d6df3fbb457b24ac55f7d2a434b82367 Mon Sep 17 00:00:00 2001 From: anperederi Date: Thu, 23 Nov 2023 21:03:47 +0100 Subject: [PATCH] add systeme tp6 and update java --- 2A/Java/tp/.idea/.gitignore | 8 ++ 2A/Java/tp/.idea/misc.xml | 6 + 2A/Java/tp/.idea/modules.xml | 13 ++ 2A/Java/tp/.idea/tp.iml | 9 ++ 2A/Java/tp/.idea/vcs.xml | 6 + .../tp1-intro.iml => 1_tp/TP1/TP1.iml} | 0 .../tp4-fichier.iml => 1_tp/my/my.iml} | 2 +- .../tp/{tp2-zoo/tp2-zoo.iml => 2_tp/2_tp.iml} | 4 +- .../tp3-vehicules.iml => 3_tp/3_tp.iml} | 4 +- 2A/Java/tp/3_tp/TP3/data.ser | Bin 0 -> 125 bytes 2A/Java/tp/3_tp/TP3/donnees.csv | 1 + .../out/production/TP3/data/ExportCSV.class | Bin 262 -> 1759 bytes .../out/production/TP3/data/Serialiser.class | Bin 0 -> 1675 bytes .../TP3/out/production/TP3/data/Stub.class | Bin 247 -> 834 bytes .../TP3/out/production/TP3/main/Main.class | Bin 1071 -> 1986 bytes .../out/production/TP3/models/Vehicule.class | Bin 932 -> 960 bytes .../TP3/models/VehiculeTheque.class | Bin 1390 -> 1203 bytes .../out/production/TP3/models/Voiture.class | Bin 1155 -> 1156 bytes 2A/Java/tp/3_tp/TP3/src/data/ExportCSV.java | 39 ++++++ 2A/Java/tp/3_tp/TP3/src/data/Serialiser.java | 46 +++---- 2A/Java/tp/3_tp/TP3/src/data/Stub.java | 18 ++- 2A/Java/tp/3_tp/TP3/src/main/Main.java | 35 ++++- 2A/Java/tp/3_tp/TP3/src/models/Vehicule.java | 10 +- .../3_tp/TP3/src/models/VehiculeTheque.java | 4 - 2A/Java/tp/3_tp/TP3/src/models/Voiture.java | 4 +- 2A/Java/tp/4_tp/4_tp.iml | 11 ++ 2A/Java/tp/donnees.csv | 1 + .../production/3_tp/data/Deserialiser.class | Bin 0 -> 271 bytes .../out/production/3_tp/data/ExportCSV.class | Bin 0 -> 1838 bytes .../production/3_tp/data/FichierPlat.class | Bin 0 -> 108 bytes .../out/production/3_tp/data/Serialiser.class | Bin 0 -> 1675 bytes .../tp/out/production/3_tp/data/Stub.class | Bin 0 -> 834 bytes .../tp/out/production/3_tp/main/Main.class | Bin 0 -> 1986 bytes .../out/production/3_tp/models/Vehicule.class | Bin 0 -> 997 bytes .../3_tp/models/VehiculeTheque.class | Bin 0 -> 1203 bytes .../out/production/3_tp/models/Voiture.class | Bin 0 -> 1156 bytes 2A/Java/tp/tp.zip | Bin 0 -> 114967 bytes 2A/Java/tp/tp1-intro/.idea/.gitignore | 3 - 2A/Java/tp/tp1-intro/.idea/misc.xml | 6 - 2A/Java/tp/tp1-intro/.idea/modules.xml | 8 -- 2A/Java/tp/tp1-intro/.idea/uiDesigner.xml | 124 ------------------ .../fr/uca/iut/clfreville2/tp1/Main.class | Bin 1104 -> 0 bytes .../uca/iut/clfreville2/tp1/cli/Action.class | Bin 1294 -> 0 bytes .../tp1/cli/CommandLineInterface$1.class | Bin 938 -> 0 bytes .../tp1/cli/CommandLineInterface.class | Bin 3740 -> 0 bytes .../iut/clfreville2/tp1/io/Afficheur.class | Bin 1392 -> 0 bytes .../clfreville2/tp1/io/AfficheurConsole.class | Bin 2390 -> 0 bytes .../iut/clfreville2/tp1/io/Saisisseur.class | Bin 244 -> 0 bytes .../tp1/io/SaisisseurConsole.class | Bin 1706 -> 0 bytes .../iut/clfreville2/tp1/model/Patient.class | Bin 2038 -> 0 bytes .../clfreville2/tp1/model/Repertoire.class | Bin 1572 -> 0 bytes .../tp1/persistance/FilePersistance.class | Bin 2537 -> 0 bytes .../tp1/persistance/LoaderPersistance.class | Bin 220 -> 0 bytes .../persistance/NoopWriterPersistance.class | Bin 618 -> 0 bytes .../tp1/persistance/Persistance.class | Bin 270 -> 0 bytes .../persistance/StubLoaderPersistance.class | Bin 795 -> 0 bytes .../tp1/persistance/WriterPersistance.class | Bin 222 -> 0 bytes 2A/Java/tp/tp1-intro/repertoire.txt | 2 - .../src/fr/uca/iut/clfreville2/tp1/Main.java | 21 --- .../uca/iut/clfreville2/tp1/cli/Action.java | 21 --- .../tp1/cli/CommandLineInterface.java | 80 ----------- .../uca/iut/clfreville2/tp1/io/Afficheur.java | 56 -------- .../clfreville2/tp1/io/AfficheurConsole.java | 50 ------- .../iut/clfreville2/tp1/io/Saisisseur.java | 10 -- .../clfreville2/tp1/io/SaisisseurConsole.java | 42 ------ .../iut/clfreville2/tp1/model/Patient.java | 9 -- .../iut/clfreville2/tp1/model/Repertoire.java | 36 ----- .../tp1/persistance/FilePersistance.java | 46 ------- .../tp1/persistance/LoaderPersistance.java | 11 -- .../persistance/NoopWriterPersistance.java | 11 -- .../tp1/persistance/Persistance.java | 7 - .../persistance/StubLoaderPersistance.java | 12 -- .../tp1/persistance/WriterPersistance.java | 11 -- 2A/Java/tp/tp2-zoo/.idea/.gitignore | 3 - 2A/Java/tp/tp2-zoo/.idea/misc.xml | 6 - 2A/Java/tp/tp2-zoo/.idea/modules.xml | 8 -- 2A/Java/tp/tp2-zoo/.idea/uiDesigner.xml | 124 ------------------ 2A/Java/tp/tp2-zoo/animalerie.txt | 1 - .../fr/uca/iut/clfreville2/tp2/Main.class | Bin 1467 -> 0 bytes .../tp2/cli/CommandLineInterface.class | Bin 4901 -> 0 bytes .../tp2/cli/cmd/AjouterCommande.class | Bin 1818 -> 0 bytes .../tp2/cli/cmd/CommandRegistry$Builder.class | Bin 439 -> 0 bytes .../tp2/cli/cmd/CommandRegistry.class | Bin 776 -> 0 bytes .../clfreville2/tp2/cli/cmd/Commande.class | Bin 279 -> 0 bytes .../CommandeRegistryImpl$ThisBuilder.class | Bin 1363 -> 0 bytes .../tp2/cli/cmd/CommandeRegistryImpl.class | Bin 1366 -> 0 bytes .../tp2/cli/cmd/ListerCommande.class | Bin 1461 -> 0 bytes .../tp2/cli/cmd/PasserCommande.class | Bin 2888 -> 0 bytes .../AnimalFactory$AnimalSupplier.class | Bin 731 -> 0 bytes .../tp2/factory/AnimalFactory$Builder.class | Bin 749 -> 0 bytes .../tp2/factory/AnimalFactory.class | Bin 964 -> 0 bytes .../AnimalFactoryImpl$ThisBuilder.class | Bin 2090 -> 0 bytes .../tp2/factory/AnimalFactoryImpl.class | Bin 3252 -> 0 bytes .../iut/clfreville2/tp2/io/Afficheur.class | Bin 197 -> 0 bytes .../clfreville2/tp2/io/AfficheurConsole.class | Bin 830 -> 0 bytes .../tp2/io/AnimalFromUserInputFactory.class | Bin 3081 -> 0 bytes .../clfreville2/tp2/io/NoopAfficheur.class | Bin 588 -> 0 bytes .../iut/clfreville2/tp2/io/Saisisseur.class | Bin 328 -> 0 bytes .../tp2/io/SaisisseurConsole.class | Bin 1721 -> 0 bytes .../clfreville2/tp2/modele/Animalerie.class | Bin 2664 -> 0 bytes .../iut/clfreville2/tp2/modele/Climat.class | Bin 1221 -> 0 bytes .../clfreville2/tp2/modele/EtreVivant.class | Bin 250 -> 0 bytes .../uca/iut/clfreville2/tp2/modele/Lieu.class | Bin 1096 -> 0 bytes .../comportement/CapaciteMotrices.class | Bin 224 -> 0 bytes .../tp2/modele/comportement/Hibernateur.class | Bin 699 -> 0 bytes .../tp2/modele/comportement/Migrateur.class | Bin 919 -> 0 bytes .../tp2/modele/comportement/SubitClimat.class | Bin 215 -> 0 bytes .../clfreville2/tp2/modele/impl/Animal.class | Bin 1138 -> 0 bytes .../clfreville2/tp2/modele/impl/Oiseau.class | Bin 1542 -> 0 bytes .../clfreville2/tp2/modele/impl/Ours.class | Bin 1685 -> 0 bytes .../persistance/FileReaderPersistance.class | Bin 2511 -> 0 bytes .../persistance/FileWriterPersistance.class | Bin 3224 -> 0 bytes .../tp2/persistance/ReadPersistance.class | Bin 267 -> 0 bytes .../tp2/persistance/StubReadPersistance.class | Bin 1153 -> 0 bytes .../tp2/persistance/WritePersistance.class | Bin 271 -> 0 bytes .../src/fr/uca/iut/clfreville2/tp2/Main.java | 17 --- .../tp2/cli/CommandLineInterface.java | 89 ------------- .../tp2/cli/cmd/AjouterCommande.java | 19 --- .../tp2/cli/cmd/CommandRegistry.java | 19 --- .../iut/clfreville2/tp2/cli/cmd/Commande.java | 17 --- .../tp2/cli/cmd/CommandeRegistryImpl.java | 34 ----- .../tp2/cli/cmd/ListerCommande.java | 19 --- .../tp2/cli/cmd/PasserCommande.java | 19 --- .../tp2/factory/AnimalFactory.java | 84 ------------ .../tp2/factory/AnimalFactoryImpl.java | 52 -------- .../uca/iut/clfreville2/tp2/io/Afficheur.java | 11 -- .../clfreville2/tp2/io/AfficheurConsole.java | 19 --- .../tp2/io/AnimalFromUserInputFactory.java | 29 ---- .../iut/clfreville2/tp2/io/NoopAfficheur.java | 13 -- .../iut/clfreville2/tp2/io/Saisisseur.java | 18 --- .../clfreville2/tp2/io/SaisisseurConsole.java | 44 ------- .../clfreville2/tp2/modele/Animalerie.java | 36 ----- .../iut/clfreville2/tp2/modele/Climat.java | 9 -- .../clfreville2/tp2/modele/EtreVivant.java | 8 -- .../uca/iut/clfreville2/tp2/modele/Lieu.java | 7 - .../modele/comportement/CapaciteMotrices.java | 8 -- .../tp2/modele/comportement/Hibernateur.java | 22 ---- .../tp2/modele/comportement/Migrateur.java | 19 --- .../tp2/modele/comportement/SubitClimat.java | 8 -- .../clfreville2/tp2/modele/impl/Animal.java | 34 ----- .../clfreville2/tp2/modele/impl/Oiseau.java | 23 ---- .../iut/clfreville2/tp2/modele/impl/Ours.java | 34 ----- .../persistance/FileReaderPersistance.java | 46 ------- .../persistance/FileWriterPersistance.java | 57 -------- .../tp2/persistance/ReadPersistance.java | 12 -- .../tp2/persistance/StubReadPersistance.java | 14 -- .../tp2/persistance/WritePersistance.java | 12 -- 2A/Java/tp/tp3-vehicules/.idea/.gitignore | 3 - 2A/Java/tp/tp3-vehicules/.idea/misc.xml | 6 - 2A/Java/tp/tp3-vehicules/.idea/modules.xml | 8 -- 2A/Java/tp/tp3-vehicules/.idea/uiDesigner.xml | 124 ------------------ 2A/Java/tp/tp3-vehicules/garage.bin | Bin 354 -> 0 bytes 2A/Java/tp/tp3-vehicules/garage.txt | 3 - .../fr/uca/iut/clfreville2/tp3/Main.class | Bin 7198 -> 0 bytes .../tp3/cli/CommandLineInterface.class | Bin 1571 -> 0 bytes .../tp3/factory/ActionFactory$Builder.class | Bin 612 -> 0 bytes .../tp3/factory/ActionFactory.class | Bin 927 -> 0 bytes .../ActionFactoryImpl$ThisBuilder.class | Bin 1751 -> 0 bytes .../tp3/factory/ActionFactoryImpl.class | Bin 2240 -> 0 bytes .../tp3/factory/VehiculeFactory$Builder.class | Bin 730 -> 0 bytes .../tp3/factory/VehiculeFactory$Context.class | Bin 410 -> 0 bytes .../tp3/factory/VehiculeFactory.class | Bin 1112 -> 0 bytes .../tp3/factory/VehiculeFactoryImpl$1.class | Bin 1454 -> 0 bytes .../VehiculeFactoryImpl$ThisBuilder.class | Bin 2210 -> 0 bytes .../tp3/factory/VehiculeFactoryImpl.class | Bin 2884 -> 0 bytes .../iut/clfreville2/tp3/io/Afficheur.class | Bin 197 -> 0 bytes .../clfreville2/tp3/io/AfficheurConsole.class | Bin 941 -> 0 bytes .../clfreville2/tp3/io/NoopAfficheur.class | Bin 588 -> 0 bytes .../iut/clfreville2/tp3/io/Saisisseur.class | Bin 204 -> 0 bytes .../tp3/io/SaisisseurConsole.class | Bin 1213 -> 0 bytes .../iut/clfreville2/tp3/modele/Camion.class | Bin 1618 -> 0 bytes .../clfreville2/tp3/modele/Camionnette.class | Bin 376 -> 0 bytes .../iut/clfreville2/tp3/modele/Garage.class | Bin 1393 -> 0 bytes .../iut/clfreville2/tp3/modele/Vehicule.class | Bin 159 -> 0 bytes .../iut/clfreville2/tp3/modele/Voiture.class | Bin 1635 -> 0 bytes .../persistance/BinaryFilePersistance.class | Bin 4019 -> 0 bytes .../tp3/persistance/ChargeurGarage.class | Bin 388 -> 0 bytes .../tp3/persistance/NoopSauveurGarage.class | Bin 767 -> 0 bytes .../tp3/persistance/SauveurGarage.class | Bin 385 -> 0 bytes .../tp3/persistance/StubChargeurGarage.class | Bin 1110 -> 0 bytes .../TextFileGaragePersistance.class | Bin 4818 -> 0 bytes .../tp3/persistance/TsvFilePersistance.class | Bin 868 -> 0 bytes .../src/fr/uca/iut/clfreville2/tp3/Main.java | 71 ---------- .../tp3/cli/CommandLineInterface.java | 35 ----- .../tp3/factory/ActionFactory.java | 22 ---- .../tp3/factory/ActionFactoryImpl.java | 42 ------ .../tp3/factory/VehiculeFactory.java | 29 ---- .../tp3/factory/VehiculeFactoryImpl.java | 70 ---------- .../uca/iut/clfreville2/tp3/io/Afficheur.java | 8 -- .../clfreville2/tp3/io/AfficheurConsole.java | 28 ---- .../iut/clfreville2/tp3/io/NoopAfficheur.java | 13 -- .../iut/clfreville2/tp3/io/Saisisseur.java | 8 -- .../clfreville2/tp3/io/SaisisseurConsole.java | 36 ----- .../iut/clfreville2/tp3/modele/Camion.java | 9 -- .../clfreville2/tp3/modele/Camionnette.java | 5 - .../iut/clfreville2/tp3/modele/Garage.java | 25 ---- .../iut/clfreville2/tp3/modele/Vehicule.java | 6 - .../iut/clfreville2/tp3/modele/Voiture.java | 10 -- .../persistance/BinaryFilePersistance.java | 48 ------- .../tp3/persistance/ChargeurGarage.java | 12 -- .../tp3/persistance/NoopSauveurGarage.java | 13 -- .../tp3/persistance/SauveurGarage.java | 12 -- .../tp3/persistance/StubChargeurGarage.java | 18 --- .../TextFileGaragePersistance.java | 63 --------- .../tp3/persistance/TsvFilePersistance.java | 21 --- 2A/Java/tp/tp4-fichier/.idea/.gitignore | 3 - 2A/Java/tp/tp4-fichier/.idea/misc.xml | 6 - 2A/Java/tp/tp4-fichier/.idea/modules.xml | 8 -- 2A/Java/tp/tp4-fichier/.idea/uiDesigner.xml | 124 ------------------ .../iut/clfreville2/sgf/io/Dump$Visitor.class | Bin 2594 -> 0 bytes .../fr/uca/iut/clfreville2/sgf/io/Dump.class | Bin 1459 -> 0 bytes .../clfreville2/sgf/model/ConsoleStream.class | Bin 1004 -> 0 bytes .../iut/clfreville2/sgf/model/Directory.class | Bin 3017 -> 0 bytes .../uca/iut/clfreville2/sgf/model/File.class | Bin 2684 -> 0 bytes .../uca/iut/clfreville2/sgf/model/Inode.class | Bin 1485 -> 0 bytes .../iut/clfreville2/sgf/model/Partition.class | Bin 2475 -> 0 bytes .../clfreville2/sgf/model/Permissible.class | Bin 164 -> 0 bytes .../clfreville2/sgf/model/Permissions.class | Bin 537 -> 0 bytes .../sgf/model/WritableStream.class | Bin 197 -> 0 bytes .../sgf/visitor/InodeVisitor.class | Bin 280 -> 0 bytes .../iut/clfreville2/shell/CommandInput.class | Bin 171 -> 0 bytes .../clfreville2/shell/FileCommandInput.class | Bin 1040 -> 0 bytes .../fr/uca/iut/clfreville2/shell/Main.class | Bin 1962 -> 0 bytes .../fr/uca/iut/clfreville2/shell/Shell.class | Bin 2871 -> 0 bytes .../clfreville2/shell/UserCommandInput.class | Bin 683 -> 0 bytes .../clfreville2/shell/command/Command.class | Bin 283 -> 0 bytes .../shell/command/DumpCommand.class | Bin 1859 -> 0 bytes .../shell/command/LsRCommand$Visitor.class | Bin 2461 -> 0 bytes .../shell/command/LsRCommand.class | Bin 1108 -> 0 bytes .../shell/command/StatCommand.class | Bin 1773 -> 0 bytes .../shell/model/ExecutionContext.class | Bin 2908 -> 0 bytes 2A/Java/tp/tp4-fichier/shell.sh | 2 - .../fr/uca/iut/clfreville2/sgf/io/Dump.java | 73 ----------- .../clfreville2/sgf/model/ConsoleStream.java | 30 ----- .../iut/clfreville2/sgf/model/Directory.java | 48 ------- .../uca/iut/clfreville2/sgf/model/File.java | 53 -------- .../uca/iut/clfreville2/sgf/model/Inode.java | 59 --------- .../iut/clfreville2/sgf/model/Partition.java | 19 --- .../clfreville2/sgf/model/Permissible.java | 6 - .../clfreville2/sgf/model/Permissions.java | 14 -- .../clfreville2/sgf/model/WritableStream.java | 8 -- .../clfreville2/sgf/visitor/InodeVisitor.java | 11 -- .../iut/clfreville2/shell/CommandInput.java | 6 - .../clfreville2/shell/FileCommandInput.java | 24 ---- .../fr/uca/iut/clfreville2/shell/Main.java | 33 ----- .../fr/uca/iut/clfreville2/shell/Shell.java | 49 ------- .../clfreville2/shell/UserCommandInput.java | 12 -- .../clfreville2/shell/command/Command.java | 9 -- .../shell/command/DumpCommand.java | 18 --- .../clfreville2/shell/command/LsRCommand.java | 53 -------- .../shell/command/StatCommand.java | 22 ---- .../shell/model/ExecutionContext.java | 10 -- 2A/systeme/tp/6_tp/exo1.c | 0 253 files changed, 174 insertions(+), 3055 deletions(-) create mode 100644 2A/Java/tp/.idea/.gitignore create mode 100644 2A/Java/tp/.idea/misc.xml create mode 100644 2A/Java/tp/.idea/modules.xml create mode 100644 2A/Java/tp/.idea/tp.iml create mode 100644 2A/Java/tp/.idea/vcs.xml rename 2A/Java/tp/{tp1-intro/tp1-intro.iml => 1_tp/TP1/TP1.iml} (100%) rename 2A/Java/tp/{tp4-fichier/tp4-fichier.iml => 1_tp/my/my.iml} (79%) rename 2A/Java/tp/{tp2-zoo/tp2-zoo.iml => 2_tp/2_tp.iml} (58%) rename 2A/Java/tp/{tp3-vehicules/tp3-vehicules.iml => 3_tp/3_tp.iml} (58%) create mode 100644 2A/Java/tp/3_tp/TP3/data.ser create mode 100644 2A/Java/tp/3_tp/TP3/donnees.csv create mode 100644 2A/Java/tp/3_tp/TP3/out/production/TP3/data/Serialiser.class create mode 100644 2A/Java/tp/4_tp/4_tp.iml create mode 100644 2A/Java/tp/donnees.csv create mode 100644 2A/Java/tp/out/production/3_tp/data/Deserialiser.class create mode 100644 2A/Java/tp/out/production/3_tp/data/ExportCSV.class create mode 100644 2A/Java/tp/out/production/3_tp/data/FichierPlat.class create mode 100644 2A/Java/tp/out/production/3_tp/data/Serialiser.class create mode 100644 2A/Java/tp/out/production/3_tp/data/Stub.class create mode 100644 2A/Java/tp/out/production/3_tp/main/Main.class create mode 100644 2A/Java/tp/out/production/3_tp/models/Vehicule.class create mode 100644 2A/Java/tp/out/production/3_tp/models/VehiculeTheque.class create mode 100644 2A/Java/tp/out/production/3_tp/models/Voiture.class create mode 100644 2A/Java/tp/tp.zip delete mode 100644 2A/Java/tp/tp1-intro/.idea/.gitignore delete mode 100644 2A/Java/tp/tp1-intro/.idea/misc.xml delete mode 100644 2A/Java/tp/tp1-intro/.idea/modules.xml delete mode 100644 2A/Java/tp/tp1-intro/.idea/uiDesigner.xml delete mode 100644 2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/Main.class delete mode 100644 2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/cli/Action.class delete mode 100644 2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/cli/CommandLineInterface$1.class delete mode 100644 2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/cli/CommandLineInterface.class delete mode 100644 2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/io/Afficheur.class delete mode 100644 2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/io/AfficheurConsole.class delete mode 100644 2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/io/Saisisseur.class delete mode 100644 2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/io/SaisisseurConsole.class delete mode 100644 2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/model/Patient.class delete mode 100644 2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/model/Repertoire.class delete mode 100644 2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/persistance/FilePersistance.class delete mode 100644 2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/persistance/LoaderPersistance.class delete mode 100644 2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/persistance/NoopWriterPersistance.class delete mode 100644 2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/persistance/Persistance.class delete mode 100644 2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/persistance/StubLoaderPersistance.class delete mode 100644 2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/persistance/WriterPersistance.class delete mode 100644 2A/Java/tp/tp1-intro/repertoire.txt delete mode 100644 2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/Main.java delete mode 100644 2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/cli/Action.java delete mode 100644 2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/cli/CommandLineInterface.java delete mode 100644 2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/io/Afficheur.java delete mode 100644 2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/io/AfficheurConsole.java delete mode 100644 2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/io/Saisisseur.java delete mode 100644 2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/io/SaisisseurConsole.java delete mode 100644 2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/model/Patient.java delete mode 100644 2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/model/Repertoire.java delete mode 100644 2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/FilePersistance.java delete mode 100644 2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/LoaderPersistance.java delete mode 100644 2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/NoopWriterPersistance.java delete mode 100644 2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/Persistance.java delete mode 100644 2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/StubLoaderPersistance.java delete mode 100644 2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/WriterPersistance.java delete mode 100644 2A/Java/tp/tp2-zoo/.idea/.gitignore delete mode 100644 2A/Java/tp/tp2-zoo/.idea/misc.xml delete mode 100644 2A/Java/tp/tp2-zoo/.idea/modules.xml delete mode 100644 2A/Java/tp/tp2-zoo/.idea/uiDesigner.xml delete mode 100644 2A/Java/tp/tp2-zoo/animalerie.txt delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/Main.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/CommandLineInterface.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/AjouterCommande.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/CommandRegistry$Builder.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/CommandRegistry.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/Commande.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/CommandeRegistryImpl$ThisBuilder.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/CommandeRegistryImpl.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/ListerCommande.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/PasserCommande.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/factory/AnimalFactory$AnimalSupplier.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/factory/AnimalFactory$Builder.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/factory/AnimalFactory.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/factory/AnimalFactoryImpl$ThisBuilder.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/factory/AnimalFactoryImpl.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/io/Afficheur.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/io/AfficheurConsole.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/io/AnimalFromUserInputFactory.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/io/NoopAfficheur.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/io/Saisisseur.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/io/SaisisseurConsole.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/Animalerie.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/Climat.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/EtreVivant.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/Lieu.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/comportement/CapaciteMotrices.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/comportement/Hibernateur.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/comportement/Migrateur.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/comportement/SubitClimat.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/impl/Animal.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/impl/Oiseau.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/impl/Ours.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/persistance/FileReaderPersistance.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/persistance/FileWriterPersistance.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/persistance/ReadPersistance.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/persistance/StubReadPersistance.class delete mode 100644 2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/persistance/WritePersistance.class delete mode 100644 2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/Main.java delete mode 100644 2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/CommandLineInterface.java delete mode 100644 2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/AjouterCommande.java delete mode 100644 2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/CommandRegistry.java delete mode 100644 2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/Commande.java delete mode 100644 2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/CommandeRegistryImpl.java delete mode 100644 2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/ListerCommande.java delete mode 100644 2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/PasserCommande.java delete mode 100644 2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/factory/AnimalFactory.java delete mode 100644 2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/factory/AnimalFactoryImpl.java delete mode 100644 2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/Afficheur.java delete mode 100644 2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/AfficheurConsole.java delete mode 100644 2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/AnimalFromUserInputFactory.java delete mode 100644 2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/NoopAfficheur.java delete mode 100644 2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/Saisisseur.java delete mode 100644 2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/SaisisseurConsole.java delete mode 100644 2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/Animalerie.java delete mode 100644 2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/Climat.java delete mode 100644 2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/EtreVivant.java delete mode 100644 2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/Lieu.java delete mode 100644 2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/comportement/CapaciteMotrices.java delete mode 100644 2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/comportement/Hibernateur.java delete mode 100644 2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/comportement/Migrateur.java delete mode 100644 2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/comportement/SubitClimat.java delete mode 100644 2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/impl/Animal.java delete mode 100644 2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/impl/Oiseau.java delete mode 100644 2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/impl/Ours.java delete mode 100644 2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/FileReaderPersistance.java delete mode 100644 2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/FileWriterPersistance.java delete mode 100644 2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/ReadPersistance.java delete mode 100644 2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/StubReadPersistance.java delete mode 100644 2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/WritePersistance.java delete mode 100644 2A/Java/tp/tp3-vehicules/.idea/.gitignore delete mode 100644 2A/Java/tp/tp3-vehicules/.idea/misc.xml delete mode 100644 2A/Java/tp/tp3-vehicules/.idea/modules.xml delete mode 100644 2A/Java/tp/tp3-vehicules/.idea/uiDesigner.xml delete mode 100644 2A/Java/tp/tp3-vehicules/garage.bin delete mode 100644 2A/Java/tp/tp3-vehicules/garage.txt delete mode 100644 2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/Main.class delete mode 100644 2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/cli/CommandLineInterface.class delete mode 100644 2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/ActionFactory$Builder.class delete mode 100644 2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/ActionFactory.class delete mode 100644 2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/ActionFactoryImpl$ThisBuilder.class delete mode 100644 2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/ActionFactoryImpl.class delete mode 100644 2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactory$Builder.class delete mode 100644 2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactory$Context.class delete mode 100644 2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactory.class delete mode 100644 2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactoryImpl$1.class delete mode 100644 2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactoryImpl$ThisBuilder.class delete mode 100644 2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactoryImpl.class delete mode 100644 2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/io/Afficheur.class delete mode 100644 2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/io/AfficheurConsole.class delete mode 100644 2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/io/NoopAfficheur.class delete mode 100644 2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/io/Saisisseur.class delete mode 100644 2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/io/SaisisseurConsole.class delete mode 100644 2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/modele/Camion.class delete mode 100644 2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/modele/Camionnette.class delete mode 100644 2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/modele/Garage.class delete mode 100644 2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/modele/Vehicule.class delete mode 100644 2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/modele/Voiture.class delete mode 100644 2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/BinaryFilePersistance.class delete mode 100644 2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/ChargeurGarage.class delete mode 100644 2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/NoopSauveurGarage.class delete mode 100644 2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/SauveurGarage.class delete mode 100644 2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/StubChargeurGarage.class delete mode 100644 2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/TextFileGaragePersistance.class delete mode 100644 2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/TsvFilePersistance.class delete mode 100644 2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/Main.java delete mode 100644 2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/cli/CommandLineInterface.java delete mode 100644 2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/factory/ActionFactory.java delete mode 100644 2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/factory/ActionFactoryImpl.java delete mode 100644 2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactory.java delete mode 100644 2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactoryImpl.java delete mode 100644 2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/Afficheur.java delete mode 100644 2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/AfficheurConsole.java delete mode 100644 2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/NoopAfficheur.java delete mode 100644 2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/Saisisseur.java delete mode 100644 2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/SaisisseurConsole.java delete mode 100644 2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Camion.java delete mode 100644 2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Camionnette.java delete mode 100644 2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Garage.java delete mode 100644 2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Vehicule.java delete mode 100644 2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Voiture.java delete mode 100644 2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/BinaryFilePersistance.java delete mode 100644 2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/ChargeurGarage.java delete mode 100644 2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/NoopSauveurGarage.java delete mode 100644 2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/SauveurGarage.java delete mode 100644 2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/StubChargeurGarage.java delete mode 100644 2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/TextFileGaragePersistance.java delete mode 100644 2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/TsvFilePersistance.java delete mode 100644 2A/Java/tp/tp4-fichier/.idea/.gitignore delete mode 100644 2A/Java/tp/tp4-fichier/.idea/misc.xml delete mode 100644 2A/Java/tp/tp4-fichier/.idea/modules.xml delete mode 100644 2A/Java/tp/tp4-fichier/.idea/uiDesigner.xml delete mode 100644 2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/io/Dump$Visitor.class delete mode 100644 2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/io/Dump.class delete mode 100644 2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/ConsoleStream.class delete mode 100644 2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/Directory.class delete mode 100644 2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/File.class delete mode 100644 2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/Inode.class delete mode 100644 2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/Partition.class delete mode 100644 2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/Permissible.class delete mode 100644 2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/Permissions.class delete mode 100644 2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/WritableStream.class delete mode 100644 2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/visitor/InodeVisitor.class delete mode 100644 2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/CommandInput.class delete mode 100644 2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/FileCommandInput.class delete mode 100644 2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/Main.class delete mode 100644 2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/Shell.class delete mode 100644 2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/UserCommandInput.class delete mode 100644 2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/command/Command.class delete mode 100644 2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/command/DumpCommand.class delete mode 100644 2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/command/LsRCommand$Visitor.class delete mode 100644 2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/command/LsRCommand.class delete mode 100644 2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/command/StatCommand.class delete mode 100644 2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/model/ExecutionContext.class delete mode 100644 2A/Java/tp/tp4-fichier/shell.sh delete mode 100644 2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/io/Dump.java delete mode 100644 2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/ConsoleStream.java delete mode 100644 2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Directory.java delete mode 100644 2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/File.java delete mode 100644 2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Inode.java delete mode 100644 2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Partition.java delete mode 100644 2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Permissible.java delete mode 100644 2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Permissions.java delete mode 100644 2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/WritableStream.java delete mode 100644 2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/visitor/InodeVisitor.java delete mode 100644 2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/CommandInput.java delete mode 100644 2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/FileCommandInput.java delete mode 100644 2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/Main.java delete mode 100644 2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/Shell.java delete mode 100644 2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/UserCommandInput.java delete mode 100644 2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/command/Command.java delete mode 100644 2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/command/DumpCommand.java delete mode 100644 2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/command/LsRCommand.java delete mode 100644 2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/command/StatCommand.java delete mode 100644 2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/model/ExecutionContext.java create mode 100644 2A/systeme/tp/6_tp/exo1.c diff --git a/2A/Java/tp/.idea/.gitignore b/2A/Java/tp/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/2A/Java/tp/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/2A/Java/tp/.idea/misc.xml b/2A/Java/tp/.idea/misc.xml new file mode 100644 index 0000000..20f033c --- /dev/null +++ b/2A/Java/tp/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/2A/Java/tp/.idea/modules.xml b/2A/Java/tp/.idea/modules.xml new file mode 100644 index 0000000..667c008 --- /dev/null +++ b/2A/Java/tp/.idea/modules.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/2A/Java/tp/.idea/tp.iml b/2A/Java/tp/.idea/tp.iml new file mode 100644 index 0000000..d6ebd48 --- /dev/null +++ b/2A/Java/tp/.idea/tp.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/2A/Java/tp/.idea/vcs.xml b/2A/Java/tp/.idea/vcs.xml new file mode 100644 index 0000000..c2365ab --- /dev/null +++ b/2A/Java/tp/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/2A/Java/tp/tp1-intro/tp1-intro.iml b/2A/Java/tp/1_tp/TP1/TP1.iml similarity index 100% rename from 2A/Java/tp/tp1-intro/tp1-intro.iml rename to 2A/Java/tp/1_tp/TP1/TP1.iml diff --git a/2A/Java/tp/tp4-fichier/tp4-fichier.iml b/2A/Java/tp/1_tp/my/my.iml similarity index 79% rename from 2A/Java/tp/tp4-fichier/tp4-fichier.iml rename to 2A/Java/tp/1_tp/my/my.iml index c90834f..4c9e711 100644 --- a/2A/Java/tp/tp4-fichier/tp4-fichier.iml +++ b/2A/Java/tp/1_tp/my/my.iml @@ -3,7 +3,7 @@ - + diff --git a/2A/Java/tp/tp2-zoo/tp2-zoo.iml b/2A/Java/tp/2_tp/2_tp.iml similarity index 58% rename from 2A/Java/tp/tp2-zoo/tp2-zoo.iml rename to 2A/Java/tp/2_tp/2_tp.iml index 8cb7438..64fc361 100644 --- a/2A/Java/tp/tp2-zoo/tp2-zoo.iml +++ b/2A/Java/tp/2_tp/2_tp.iml @@ -1,9 +1,9 @@ - + - + diff --git a/2A/Java/tp/tp3-vehicules/tp3-vehicules.iml b/2A/Java/tp/3_tp/3_tp.iml similarity index 58% rename from 2A/Java/tp/tp3-vehicules/tp3-vehicules.iml rename to 2A/Java/tp/3_tp/3_tp.iml index 8cb7438..57b2c60 100644 --- a/2A/Java/tp/tp3-vehicules/tp3-vehicules.iml +++ b/2A/Java/tp/3_tp/3_tp.iml @@ -1,9 +1,9 @@ - + - + diff --git a/2A/Java/tp/3_tp/TP3/data.ser b/2A/Java/tp/3_tp/TP3/data.ser new file mode 100644 index 0000000000000000000000000000000000000000..8b54d6263ef747985501f5bfe4f3e5ae257a5fd0 GIT binary patch literal 125 zcmZ4UmVvdnh=DIRKP5G%ST8I;v!t{rb-wcUY}atxBsbkop*~4&PSF zOb_k~2wg>*jNqP^)wTV46qNfBe6INIE>-NB)bIuCx`e-fCLxQ+i^GY1%coOGcb|r z^mhIDP&)gHQ-aUhC8JU>98*2FghBVnta0G8*TZB4!W>b5(%4d(L_4}pqd@IYAl{*A z&jSrii#_uVI#z`N1c41-sIPR5y1u+?lzz<_RS&C%{I$jOr^?6av!doYdxKw+&y}_7 z+~7_WEi$>5$F|k(h`?Y+5CJ`J*PW77>rBos=$=z!g-NXO{h>Zx;BX_vbAwN5-hy}c zOatN_{{-+YPo)O8VUuUXH^5Uox0gV#q6O zk>KxQ0$X^_vg3^X0$K7ih*jjU%_4U_k6n*|VvB(9nP(TF4~T0dNJFg2cUMru8Xq+5 zQ2;cFBH)W4G)y&V$9K1HGUbW7n~X}`nmUsFzmFeys-FDQqIKyE^Q3jrqxC@p4|7Qp zwS0<42W0cf3HkN!-sNB_9wc?C^AiMf@4OmD+4Cv#!1t8L+5#RhkI&XP@qn-gG0N{4 zEl03`JG2ff$?3=9mm3<49mOeP;;ikz&?A|JrczyuUzU|9T#BuJWpfti6DNb-Q$tU#I<$YW&S1CmS(`~a%C3ljhU diff --git a/2A/Java/tp/3_tp/TP3/out/production/TP3/data/Serialiser.class b/2A/Java/tp/3_tp/TP3/out/production/TP3/data/Serialiser.class new file mode 100644 index 0000000000000000000000000000000000000000..c23ed44ed0a02f166f1f8d441d32d3d2cd3c78d2 GIT binary patch literal 1675 zcmZuxTUQ!a6#fnl4&rzLFK7~t#K}?c4jDKmYyhcL2}uDvA(BR45w47!{bl(0|sm zmfn1wJwCrMs*b?uuGuu5J%N$rdPPMLw;ksd2b_AM0q@lmG z^q*WK3Kf$w@RY!#WML4x?6l41>)ih}GC@q>jt4buzlLMiX}J!a485UZMqnYZADWgi zY>i-!`D?nPZ+47!6mcYE{sn=#59D93L@|v!5^+~x(MQO%LkV*|)RKl}+!q*s(>5I= z;O0M3drBX_s^NhoG+edpj-leAz|4Sv(|X%}qn}%(Xbm50c!Z?DgkGza-Bzn@bUH?j zT@IJr_h5V#8$mP{dvyHbm#WcnOuMNf%{~Hhdi5MNhq&7mNCald-H0^T&CuG)3F+*AdN1s1>hGh1;@8umHlz?E9 zb3+s9bCy$a8f=h9YTv?%mTk9PHRN`Xv;mQua!^=Bo)3onjeyIIQJ(w!%2Eo-@J1Kn zE&qgYz*CxmF?_{S>jCfrhx`)wy6^lK1BI!}Uqd~MkHyEkm?&Ih`s^C%~%G_K+DZXV~Z*ebBuCx77cBIVQcub#NX zSSg)hx9Ju7)nPmdA^q!}G zg4lT?XNgQ;3k!W3Vtn_G@sb5^agg8Rg#TEuPl%-936xv9hP<9reGYoGqyhrMw{#>w Od3lui{|CB;P? literal 0 HcmV?d00001 diff --git a/2A/Java/tp/3_tp/TP3/out/production/TP3/data/Stub.class b/2A/Java/tp/3_tp/TP3/out/production/TP3/data/Stub.class index 37e2c013d8f632b98ee680331ad0496853f4802f..8003e028c99c8cb4c519269a4ec0d6a6b1a94d3d 100644 GIT binary patch literal 834 zcmZuvYflqF6g|_|Zrg>{t@ywv0@7B?3O>mqNg*+6R!FR=mT%K`Qid$sWIIdZkMO@} zqG^=GAK;HN-r3d))NFQk?wPyyoOAE|`u*c4faiFaLjp+yDGO<27>bAdm^(fXdd^<^ zP;?YSW>W@IZ80Rvm8Jocp%f=YO8QPc4EaY-4pa^Xl3Cf`0>kW4zbpKK)9gzXg~CLMA^k>#oxX`V2BW^cQ(Idn%|%?+ zg0C>Flt-0f$qg0Cpyy5_m1Z9ExMtwGg&Vj@OlRrI9Pf4+=1x}|HNdUxo4C!8sz+UE z;tt99(AuwUJbP+liGsHx;E}IP+@;{wH01={9!3w%nbsAG5-8J4^FoH!3L&3p&*-~X9fDO) zV6=wFenYPM6}b}>TefXq9OBY&00qljS@4oTF~9E$W=TGM`}O#-^0Rt}U-{hS{EJaYJe&e!7X^*@Zq Bv6BD* delta 140 zcmX@a_MMUI)W2Q(7#J9A83ZPBnQ(EYB$g!V2bYv4O`gc;n#C2IUs{x$>Xw<4%E-V8 z64uK~EK6iiWMF4t0_tL5U<5)|1~wqc3FPU6`3wxKTH6^IHv$Ei7`T8WNSc9xnSmQf U@_^Z_K$;iGV`Sh1l1vQz0K_2`UH||9 diff --git a/2A/Java/tp/3_tp/TP3/out/production/TP3/main/Main.class b/2A/Java/tp/3_tp/TP3/out/production/TP3/main/Main.class index 4e2eb0ae1c665b1b720263cc6a089792e91b8497..0f68098cf7f44dd524bb676bffacde2e1e1a6f72 100644 GIT binary patch literal 1986 zcmZuyYgZaq6x|ny3^+bO@R6p*RHL9V1Z>h&jct4-t!QkpSd*sd2vZ!(!wiF~`7iww z?FVh*TKxh2QC;0<22ijc81B92&faJ5bMBpg{{8qjfG22#;e$VjfQ}pJQ5ZZnPK{LA zsFqSM4v)=(qtLT#RV`;l!JkOxgU}S>m0Hm(*Hd}($SO3-=H8L{u3?4|6r^5-{#LwZ zISt#?(5K)#O=}oX2&dEO`KPP%nM@{(Fe1VmRhUU+FPU?WZBD9D6Lza@SLih}mK}_kmi|G!}a_{SoS>fBY2Azw0q*g7pOF<50nMTEB zPUuKtRzY)Wo>+xgD@WJ-rUhZ#!+a3;b)@h>VaUz06Hg&{BIxC6SGr9IsaZxLR5TnT zm2(=0VWi=g$3q>DT7I?65^sd`u`qtwh1fEHh)cBDLo{v6C|h;Y4r5Vp7qOz_E9s>u z7n`wt+j7iRt198AI##i!5V;J$G>syo6i5?V&C_hIr64v~AD3+7x09OftmX1yti!M2 zIlHq`tM1e)8os5Q6=Sz-xUIO3td4E$PeAcd@ip|Mi?yrcJE@0kmSjXt4tqg- zuOly7LKVZRrndQ@-;PgT+<7;ug( zHe+wLjYSuu0@iZhJ4jS}+HtZJM!NI%cJlp5cZ6%2U`nZ(EA8<{z1emLa7(aaNU53X zVE4&T81Bse{Ygu~WY^y1Yve1$?sw_iwO8nqB(BUO%~aY;e5sdvS~hr9Who@P&cbsi zOOf|3774ey#am%GAnsB_;pa)8BNWFT_AiA)ua9A)a8zcqH&J5XU{M)_W_^yurI@V-tbS{k=X~#D4b#Ll6{$Ob34-#=ORCTfiyE+ z*dp=gStc-dhA)KJ@5+u+5HLdEQNoQ8=%!0H%$NBQfPq8C`#3J3NHUW%vBz8ag`*Hk zZPGVQ(ySU~v}Vo?};ONDekB zrHn^RT=Y#{V4YN(UL~GIzmZDJQskCr_KOamJ=Q5A-lf!O3ZB6v5?5Gn;a8N28)GFZ qsJa4cIBBwG7?I`){Dqg7)sqjhG?pI^TqLi50(b}8-CyU^2j@SC`?HP! delta 456 zcmYk1Jx{_=6o%gmh0uOoit^m@y-jLWJ~Gf(V>!4OGR znypi#(N+g+Rw6jMB65~d+L`z$Mp;4vd%7IU3mI-0~hkCcQo6oz13ztUCPG8<~e zY+KF^J6jZ?A;)7$!ZQ2}LQ^--)dLcSuw}HZf!ATpxUdbU>@7R@-jdVfj*c~WC@$ay zgAabv6{=J^8J#}m8SIfR9;}kO-=Jt~q|$E#){&=5aGmMJ9lircI3Vxb`r_A_F2HL86EHZZZ)Av}FMs)EhyP{)^-%V}hz8 ncQ?0q4-6O diff --git a/2A/Java/tp/3_tp/TP3/out/production/TP3/models/Vehicule.class b/2A/Java/tp/3_tp/TP3/out/production/TP3/models/Vehicule.class index 7ee983c1640942745795fce235c4e086aa172503..b447e5f8261b5ceeaa73c9dadaab218282d6e0ea 100644 GIT binary patch delta 266 zcmZ3&et@0p)W2Q(7#J9A8T2M{-Iii!5M^W#$x19s)X&V<4^A!0Ow7rwN=(X0o%nPv zqvGUdMrA%_E(R3_Rdxn79tI%>^~qZpFSBSdGN?{|z^KZ`&Y;7{AO~d1O}@e;5C=4i zfr){Ift!H`Xa@@eKbU4>U}RurU;~n3Kv8`l%?PAfwYD=bZUi!z7{q}jNSc9xok0Rf z@<0?YNHRzPd5jFw3^G7cY_bEhyemR2FOph5s9I(QS)dLk1~~?KAk6{Pr3AzZ3>rWl O7m%gNpv|DmAPE2^{UI9w delta 196 zcmX@WzJ#6Y)W2Q(7#J9A8FVIc-JbY=E~EV9xs1wuid+mz49e^bDm)BA462jQFkC8!=K?+EUOpalecSWe>L{iHKRm;pE4b;KJAj2RFq&a}P6o6QcK@G^`0J5QaZ{cavbE%_0a82n&G?kMMqWDd;%^B@IPrs5wLAnmZsR4JkMP1qg8m zN{)c|Eh2@&GvoPZKL7r9gDLm=GkO8KocGpm9~;{KBg$QI)$85f-<3J_Z&7!4NjS?g5r%}4V$tRKGCk6FlD&(rF zQXylNHDyDKbxkx?ALeEQp~-sVgs2`Yzp=kKb2ltmgnS@l4l6>f*j^|a%enE<4Tx? z0tN?0=#KD5Ihu}AT%`;srof3g@-)f<9?T;~mSF*LQbagY0=GghssYy@tz)PibXlZ) z0!g|fq&uKm!Pinkx^DAEI+fPv?#SYFF)5-ol#v!p&%!*urw9KuHF2eaVir4Giwej diff --git a/2A/Java/tp/3_tp/TP3/src/data/ExportCSV.java b/2A/Java/tp/3_tp/TP3/src/data/ExportCSV.java index a726105..1c98507 100644 --- a/2A/Java/tp/3_tp/TP3/src/data/ExportCSV.java +++ b/2A/Java/tp/3_tp/TP3/src/data/ExportCSV.java @@ -1,4 +1,43 @@ package data; +import models.Vehicule; +import models.Voiture; + +import java.io.*; + public class ExportCSV { + public String csvReader() { + try (BufferedReader in = new BufferedReader( + new FileReader("donnees.csv"))) { + String s; + StringBuilder sb = new StringBuilder(); + while ((s = in.readLine()) != null) { + sb.append(s); + sb.append("\n"); + // Découper la ligne en utilisant le point-virgule comme séparateur + + String[] elements = s.split(";"); + + // Faire quelque chose avec les éléments découpés + for (String element : elements) { + System.out.println("Élément : " + element); + } +// Lire la ligne puis la decouper au points virgules + } + return sb.toString(); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + public void csvWriter(Vehicule monVehicule) { + try (BufferedWriter out = new BufferedWriter( + new FileWriter("donnees.csv"))) { + out.append(monVehicule.getNom()); + out.append("; "); + out.append(monVehicule.getPlaque()); + out.append("\n"); + } catch (IOException e) { +// Gestion erreur + } + } } diff --git a/2A/Java/tp/3_tp/TP3/src/data/Serialiser.java b/2A/Java/tp/3_tp/TP3/src/data/Serialiser.java index fe72393..3e34d64 100644 --- a/2A/Java/tp/3_tp/TP3/src/data/Serialiser.java +++ b/2A/Java/tp/3_tp/TP3/src/data/Serialiser.java @@ -1,31 +1,27 @@ package data; +import models.Vehicule; import models.VehiculeTheque; +import models.Voiture; import java.io.*; -//public class Serialiser { -// try ( -// BufferedReader in = new BufferedReader( -// new FileReader("donnees.txt"))) { -// String s; -// StringBuilder sb = new StringBuilder(); -// while ((s = in.readLine()) != null) { -// sb.append(s); -// sb.append("\n"); -// } -// System.out.println(sb); -// } catch (IOException e) { -//// Gestion erreur -// }public record Personne (String nom, int age) implements Serializable {} -//// dans le code -// VehiculeTheque vehiculeTheque = new VehiculeTheque(); -// -// try ( -// ObjectOutputStream out = new ObjectOutputStream( -// new FileOutputStream("data.ser"))) { -// out.writeObject(vehiculeTheque); -// } catch (IOException e;) { -// // Gestion erreur -// } -//} +public class Serialiser { + public void serialiserWriteBin(){ + Voiture john = new Voiture("hello", "maPlaque"); + try (ObjectOutputStream out = new ObjectOutputStream( + new FileOutputStream("data.ser"))) { + out.writeObject(john); + } catch (IOException e) { +// Gestion erreur + } + } + public Vehicule serialiserReadBin() { + try (ObjectInputStream in = new ObjectInputStream( + new FileInputStream("data.ser"))) { + return (Vehicule) in.readObject(); + } catch (IOException | ClassNotFoundException e) { + throw new RuntimeException(e); + } + } +} diff --git a/2A/Java/tp/3_tp/TP3/src/data/Stub.java b/2A/Java/tp/3_tp/TP3/src/data/Stub.java index 0dd766c..286b502 100644 --- a/2A/Java/tp/3_tp/TP3/src/data/Stub.java +++ b/2A/Java/tp/3_tp/TP3/src/data/Stub.java @@ -4,14 +4,18 @@ import models.Vehicule; import models.VehiculeTheque; import models.Voiture; +import java.util.ArrayList; +import java.util.List; + public class Stub { - public static VehiculeTheque Stub(){ - VehiculeTheque vehiculeTheque = new VehiculeTheque(); - vehiculeTheque.ajouterVehicule(new Voiture("Merco", "ABC-123")); - vehiculeTheque.ajouterVehicule(new Voiture("Audi", "XYZ-987")); - vehiculeTheque.ajouterVehicule(new Voiture("Renault", "HIJ-456")); + public List vehiculeList = new ArrayList<>(); + public Stub(){ + vehiculeList.add(new Voiture("Merco", "ABC-123")); + vehiculeList.add(new Voiture("Audi", "XYZ-987")); + vehiculeList.add(new Voiture("Renault", "HIJ-456")); + } - // Retourne la collection de test - return vehiculeTheque; + public List getVehiculeList() { + return this.vehiculeList; } } diff --git a/2A/Java/tp/3_tp/TP3/src/main/Main.java b/2A/Java/tp/3_tp/TP3/src/main/Main.java index 4d9e1df..a060ff9 100644 --- a/2A/Java/tp/3_tp/TP3/src/main/Main.java +++ b/2A/Java/tp/3_tp/TP3/src/main/Main.java @@ -1,20 +1,49 @@ package main; +import data.ExportCSV; +import data.Serialiser; +import data.Stub; import models.Vehicule; import models.VehiculeTheque; import models.Voiture; +import java.util.ArrayList; +import java.util.List; + public class Main { public static void testVehiculeTheque(){ VehiculeTheque vehiculeTheque = new VehiculeTheque(); Vehicule v1 = new Voiture("v1", "111-AB-222"); Vehicule v2 = new Voiture("v2", "333-GH-865"); - vehiculeTheque.ajouterVehicule(v1); - vehiculeTheque.ajouterVehicule(v2); + vehiculeTheque.getLesVehicules().add(v1); + vehiculeTheque.getLesVehicules().add(v2); System.out.println(vehiculeTheque.getLesVehicules().toString()); } + public static void testStub() { + Stub monStub = new Stub(); + List maListe = monStub.getVehiculeList(); + System.out.println(maListe); + } + public static void testSerialiser() { + Serialiser monSerialiser = new Serialiser(); + Vehicule monVehicule; + monSerialiser.serialiserWriteBin(); + monVehicule = monSerialiser.serialiserReadBin(); + System.out.println(monVehicule); + } + + public static void testCSV() { + ExportCSV moncsv = new ExportCSV(); + Voiture maVoiture = new Voiture("monNom", "maPlaque"); + moncsv.csvWriter(maVoiture); + System.out.println(moncsv.csvReader()); + } public static void main(String[] args){ - testVehiculeTheque(); + +// testVehiculeTheque(); +// testStub(); +// testSerialiser(); + testCSV(); } } diff --git a/2A/Java/tp/3_tp/TP3/src/models/Vehicule.java b/2A/Java/tp/3_tp/TP3/src/models/Vehicule.java index 0e4eed0..8a32af5 100644 --- a/2A/Java/tp/3_tp/TP3/src/models/Vehicule.java +++ b/2A/Java/tp/3_tp/TP3/src/models/Vehicule.java @@ -1,9 +1,17 @@ package models; -public abstract class Vehicule { +import data.Serialiser; + +import java.io.Serializable; + +public abstract class Vehicule implements Serializable { protected String nom; protected String plaque; + public abstract String getNom(); + + public abstract String getPlaque(); + @Override public String toString() { return "Vehicule{" + diff --git a/2A/Java/tp/3_tp/TP3/src/models/VehiculeTheque.java b/2A/Java/tp/3_tp/TP3/src/models/VehiculeTheque.java index 4da5e68..7dbd419 100644 --- a/2A/Java/tp/3_tp/TP3/src/models/VehiculeTheque.java +++ b/2A/Java/tp/3_tp/TP3/src/models/VehiculeTheque.java @@ -11,10 +11,6 @@ public class VehiculeTheque { return this.lesVehicules; } - public void ajouterVehicule(Vehicule v) { - lesVehicules.add(v); - } - @Override public String toString() { return "VehiculeTheque{" + diff --git a/2A/Java/tp/3_tp/TP3/src/models/Voiture.java b/2A/Java/tp/3_tp/TP3/src/models/Voiture.java index b617a3d..eed7f81 100644 --- a/2A/Java/tp/3_tp/TP3/src/models/Voiture.java +++ b/2A/Java/tp/3_tp/TP3/src/models/Voiture.java @@ -7,11 +7,11 @@ public class Voiture extends Vehicule { this.plaque = plaqueV; } - private String getNom() { + public String getNom() { return this.nom; } - private String getPlaque() { + public String getPlaque() { return this.plaque; } diff --git a/2A/Java/tp/4_tp/4_tp.iml b/2A/Java/tp/4_tp/4_tp.iml new file mode 100644 index 0000000..e55f0b0 --- /dev/null +++ b/2A/Java/tp/4_tp/4_tp.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/2A/Java/tp/donnees.csv b/2A/Java/tp/donnees.csv new file mode 100644 index 0000000..3dddb14 --- /dev/null +++ b/2A/Java/tp/donnees.csv @@ -0,0 +1 @@ +monNom; maPlaque diff --git a/2A/Java/tp/out/production/3_tp/data/Deserialiser.class b/2A/Java/tp/out/production/3_tp/data/Deserialiser.class new file mode 100644 index 0000000000000000000000000000000000000000..8b1716b12e38350fd826fd4d35c3e3575f5b65ca GIT binary patch literal 271 zcmZWj%MQU%6r5A7QjdCkfgKk50YoCis$oIwPwR#&)h1Q`%SvM51ALS?6$^=blbJhn z9(SIv`vbrP4F?7aHq0t46bX$3U)YN{-g(R5pu&t$9O+nRV?v?Z+t?@(np@7;o2ipZ zHAh;AU`~^*BDlVe)#7{%RJ!IM5~t-SAx9gQR?%P6%=Y?3X#0Pgh6HDooYPRvbw1ww w{brD-LkG5m&JW3z*n(wI-bVvg{|35>VZag0%aDZBy$7q^7o2$yH;bmWvgOrS}m|bW)t5!;t15`P#h5 zT6L}Z)`$L-{)4`RerE=+gta((&c5$&?|uGx_vc>#o}!{7fS`s@6g>zFTzh4_Hqtf2 z+DjL9U&)Fq5Po1Wu{6xGz=+?m_WRv!Fawu$~6oN+_-AE z+%#*5vYH<1vCILt3=T2f$ma;iI?GPo7R2e{2@je1>LRe{v|66><;6 zS3u~>(|8mgdQn~5uScbFFN%*9zCD$i-H;kSVO{6xZ|^(y@5XLT>X^V(6w{ay=r^j> zVzXX%WTPRO(9MepomqHbq)xpNqxHh-n~JQvrfq3R3yhwJ*=ky@c_7c^I%YAaP@d87 z*?Zc$*rV6>hpEXV?f7!EGQR?mm1}3c#X{9frf`sJW`kp9@te`YotqZ->fui zY)E)dx_SFR`FWyR@Kj*>VxcShhEtTkHKkRNnNIImWhX!cD*}Pcn2roqqj;`j^wQ&I z&7g^LdQZc;z(Cb-jr8i9y6w0t#gag1g^4g9H5K{h!LD?+75*$VYgdd~$#6_{?=VB| zzS-b%WG}nPFc`<#pGvl$DzUB!p;Dl+E0E}toX!pvOpE>X6}r}n4g?b$ITK&#FlGHk z*QorOGwNQh8os-<#Qp^OdHR^C9mrm30~^Klwwv7c?kqY`bA=CV>%4J8T}}k_qTO^V zQmsBQKZAQ#jUdLc#CLwb0*UtBw&bw=j~QIl}dF?r+3X$s>&Jq+)jzIc)!%I>Oje zh~keDp+9np9-=p&BzrP>Li5@3Obef$AcP?-;4wGz37+8vDe!CV4U{Dw29L~r^PTfG2#_A&*bl7jQ6iuc7ndQP$WJ>T$gQp!y-5N zR+g~i0Z{G$@GawPBK!^sjZce)c$@EBNW&U08p>nuz4c0)BODW0#6tqAz}#S2NlH}LrwI@U#1L*_l+VF9Zj*NhbA)Mu z{0(w){LT|zH5p@`$3^^zpSM2 literal 0 HcmV?d00001 diff --git a/2A/Java/tp/out/production/3_tp/data/FichierPlat.class b/2A/Java/tp/out/production/3_tp/data/FichierPlat.class new file mode 100644 index 0000000000000000000000000000000000000000..6122d679a49ac1b21c622e9661ea7fd16198b17b GIT binary patch literal 108 zcmX^0Z`VEs1_nn4c6J6PMh1bD#F9jPx6I^>%+#WQoWv4#1{R=bR$^JAeokUuy1su> tR%&tyBLi1(erZv1s#|7GDo`FtgC0mN8zTcF12fQE5MX3r1(Hk*YyfqR8Vvvd literal 0 HcmV?d00001 diff --git a/2A/Java/tp/out/production/3_tp/data/Serialiser.class b/2A/Java/tp/out/production/3_tp/data/Serialiser.class new file mode 100644 index 0000000000000000000000000000000000000000..b1aeffc3b6d4bc9bbfd06617b4b802568e330b3d GIT binary patch literal 1675 zcmZuxTUQ!a6#fnl4&rzLFK7~t#K}?c4jDKmYyhcL2}vDvA(BR45w47!{bl(0|sm zmfn1wJwCrMs*b?uuGuu5J%N$rdPPMLw;ksd2b_AM0q@lmG z^q*WK3Kf$w@RY!#WML4x?6l41>)ih}GC@q>jt4buzlLMiX}J!a485UZMqnYZADWgi zY>i-!`D?nPZ+47!6mcYE{sn=#59D93L@|v!5^+~x(MQO%LkV*|)RKl}+!q*s(>5I= z;O0M3drBX_s^NhoG+edpj-leAz|4Sv(|X%}qn}%(Xbm50c!Z?DgkGza-Bzn@bUH?j zT@IJr_h5V#8$mP{dvyHbm#WcnOuMNf%{~Hhdi5MNhq&7mNCald-H0^T&CuG)3F+*AdN1s1>hGh1;@8umHlz?E9 zb3+s9bCy$a8f=h9YTv?%mTk9PHRN`Xv;mQua!^=Bo)3onjeyIIQJ(w!%2Eo-@J1Kn zE&qgYz*CxmF?_{S>jCfrhx`)wy6^lK1BI!}Uqd~MkHyEkm?&Ih`s^C%~%G_K+DZXV~Z*ebBuCx77cBIVQcub#NX zSSg)hx9Ju7)nPmdA^q!}G zg4lT?XNgQ;3k!W3Vtn_G@sb5^agg8Rg#TEuPl%-936xv9hP<9reGYoGqyhrMw{#>w Od3lui{|CB;PI}i6d1ByuDIJ!QJcX! z5r?u9`9dcXkN2;JMrsBwG0YzKyTTv1&AwDoC`^j3)_1jEt=uUp< zhrBZsJQ;|+=(sJycf9QrVtf4#_nSPFIv#^5btnf6d2iBUDpBYO)jZc`yX;&br?izR z@c)W(jeZn%#7n7FWc3)=bl0#zQ%=zBVf4_PXC>NM&JF)5Ug?v zqcueK8*-Je$ep6tvTghF5LdqAdIIk!;2nEm8eFnhCg7KttU~KNQ2`cGB&dKHER&o~ z+U?Q(xF4Uy^mu?OMGR|jNurkKQl!t)n)Wko63_*;a-ekP=k)mJk;8{{z8+_9`~jJ> Bv6lb< literal 0 HcmV?d00001 diff --git a/2A/Java/tp/out/production/3_tp/main/Main.class b/2A/Java/tp/out/production/3_tp/main/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..da2a85ce34d989530f7a07c21c4847feb0191a1f GIT binary patch literal 1986 zcmZuyYgZaq6x|ny3^+bO@R6p*RHL9V1Z>h&t*y_b6^#uRYtl3wVTxmUm|<`=|D}JT z{h&=^t7`5xDo3WhZyc4m63x~MMmcX#Kj+QGfOBlI z8GEyBEV>vKu$KGYL898Tj+3P@(w(=rlkZ2mBV5x2Q%cQTX^%JR&9*y$TY?osO3hRU zyHAF~aA)@KPg@EmyY?>MAYUPNzf0e)y+WTPacv%HrqW*GOTFCFvcan=OCi~H7M?p< zioAERNVwH4-U`D3ahDnruf1fiAE%_$%&<$W!qESOd86cN4ZC1&SyIH1l>4C^IoxA6 z_;_IgJy3E}@_E2nivNoLw`MP(e&@i4@0*)|J{)qadmHcyuQ?0hhxW_AApk$uwk{Do zyg+FC65+$B9__!NE_XZ>jdQ#+dybL05BSK30~tQ>hJWCm%sya7;T&^U?Bl!(fdOb3 zL<|v3Ac{E*@vz6RiMX591erCg;0=D{-WW2>_AN7=z%*xXsUw7++L@L(7y0o^q?zf$ zHi-1u$8iBgl9`-|J>JUC9EDJ7 zlfG$^j$LArq{~A31%F>%C-(dvW=X&cUBfs5@4A{tSv2wABah%17H1LeIdPSSpVHb}MQRpMFnYpKL6MQ(d$zv%GUW1S-6eM+6C;2BIJagFs3enFYIF;=32 qsw=RD(l57I0e%R%_MPR;hegyFNBSO_Ze31X~jteDG;lCNO2$!QG)rHU1BO zh9)K^eeehPql|Z0nyx~8*ts)v&zw2;%-vtVFMa}efhT#SkhWntSVD$j^^~7+*XKds zJ?@?gPcvkm%0TMp4C!jElS39c8+ixU;4lJj_W6g2D3OGsgA%SYtdICmG*#en{Z8ru%_7YM9WfkK=gH=GYV%t*ZZND( zg-GSLMJTy1Kk}}TX*EeW>2JwE98E@D5uU_}QcHQH-N2Im*ACR?CppDmH^5-&T{*6Nl1>S-!My--xA0c&U_*bjZhVgdV6~l*I#v z%}dlLviMnrRra=H8_oQ4A%opK9-?BSYAmfWl&{`E24`w0-1zp`>Eu|Sf|mX0UNhybYcKDaGO{d?%?h;ZkkBBEs8PO!SqsKrT!f@eajbE1-=q0$y!XX fuEeZJ5>5xznq@ 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 JID`4|{{T~9FAx9# literal 0 HcmV?d00001 diff --git a/2A/Java/tp/tp1-intro/.idea/.gitignore b/2A/Java/tp/tp1-intro/.idea/.gitignore deleted file mode 100644 index 26d3352..0000000 --- a/2A/Java/tp/tp1-intro/.idea/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml diff --git a/2A/Java/tp/tp1-intro/.idea/misc.xml b/2A/Java/tp/tp1-intro/.idea/misc.xml deleted file mode 100644 index 0c94973..0000000 --- a/2A/Java/tp/tp1-intro/.idea/misc.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/2A/Java/tp/tp1-intro/.idea/modules.xml b/2A/Java/tp/tp1-intro/.idea/modules.xml deleted file mode 100644 index c341d1f..0000000 --- a/2A/Java/tp/tp1-intro/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/2A/Java/tp/tp1-intro/.idea/uiDesigner.xml b/2A/Java/tp/tp1-intro/.idea/uiDesigner.xml deleted file mode 100644 index 2b63946..0000000 --- a/2A/Java/tp/tp1-intro/.idea/uiDesigner.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/Main.class b/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/Main.class deleted file mode 100644 index a2aaa609833ac0621a404e05c577baf362d2bbbd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1104 zcma)5TWb?R6#gbjyUm(5HEHYJwqBDIGgQHsl!62VAzm;NDZV(_%%)TJQf6n1f6EsG zF8BldL%xY;qLB5%+I=`@&N=gaGyBasU%!9;0^ksPE=njnsMN58Wrp<=aVB^mqA7nl zK9QbbSUymZGKUQ1R(s@Nh2fE}dFlzSQp3H#*YZpSfqcl#=|07Z_v0`W(PW?^`7AP0 z`@)kBT!w=J;HlJ!N{om+$%iH#4`MNq`qd)qqH1rt%JBG{G*49^e#qTK&hBN@qOhT%T)K{D2W3CHY{+9ffoaZLeZZmdE_R_E*xC3 zuX2^)TWe52kyq|7)q3YezSWAJDkoPV@=uitH|NFq-^PU)z4pjzaJ_~bwlf|1L3*j7 zM%rfBE|BB7P!U6=Pw&W3w@vsW4aZWy5#xX|jX~^*U?jA%@vmgX9IJ$3w@56@+auy| z&cD@qH(1Qd&}bD+>BdwSdP-Eyf0P;AVVr7D+Qww4TE?y=!9H%%9NMo0W+##C4n>?i zBfr#{fqk5pcgfl^;Nlk9+RqKRjXM-oaToU}vqS6mSee(l8JwdG)uS0MWT=r_%TOnG rF++pgMutstmu9&93D*{ua9e%?43dTz;ta{s>+O22y!(EqRI8M?Y7C3jfkX_hqG(8Pm22e}m5>N` z4QbFsf@;MKxlHc6rXk6FBW8VPXSed^GClW>Xh?If{I*`HQ7E@v*Kh-4WSei4s`awT zka;&?ohrsLA!AI#ByKUpY_H`zq?pN853LhR_bmTF-`+cP?7&bljoUKrXqdrWs`HXi z_B%(E{>1V+&h|dTS|${|=~>6eM#x|WZP!0A!Wp=L(4W&Vj|GN!!S&ss$S@X`>PJ?x z4FxfkI-gUJP@pMDDoAs~0}ad2`6xs&#|*hlcF95zF`+OjRLVYOYZ)|Zrg>xh)oS4Tvf7<_c8iG=AM_*T$q6EB*{HfXsD zw6eVst%m~nAPWPQQ#2SjCE;l&3G5XW>fAWWnS$_!85G)g@V4&tM8hLyt@QaUsP<47|s_d{#oa!U?k z%k}!9IG3I$Hm&$VFl_x}S0y+- z<$kX&ePR2t2>aX><_5zP(|IRj_qf5&%zkK+T9ee8BWg`jOIVt})s7w7S@Jn)U<72Sh;Lm7picxVp^d;Iu2k4)1!DnW+aZ_YQa{6~0VPI5BtM z(*0iIoD&Q}SJb51vGBKdSyvk9{HpJIK_va7hKP@Yo{mQhPygec$wE^^@yj40H-_!| zBCL2kibRxOqF=N`f0yM8>K~~UW$xnvMU&8bq-X`yzJgtR&wYmeNsWmwnATb!puI}q zJi+lHTqKwt!rKJ(1b&2uEM_r}8z>ORLyARgVvFK4l(9oGg=OMPC#*&40KFNg3z$RZ iwN4$4KPNh~lyt3Nm7<07G7)&e!KV=k&=RfB*6u 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 E2WGKNJ^%m! diff --git a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/io/Saisisseur.class b/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/io/Saisisseur.class deleted file mode 100644 index 2590f5289065b0e0cb5d4358fed35d2feea67871..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 244 zcmaKnJqp4=5QX3P7mc769>O#Z+6sb=m12<-teZ8Atch$k9?rr8cqnm$f}Q0&zQ_CK z`MN&=uBk(qrNj_EAf{gBi$2GcG_&k8p8M|G;fA_ Y1VTIf1GIu)7d0tT#L*`( za9}(!blY$q>$NXE-#iqESdPF*B@kFmz3d#d{F?8Y#$hRi1d<9;Dqeyrpg(f;R>RP( zmajMLN3QwAvTbu#_m5_DYSs+PvpmmixvNdbYuctj--6{>{*u60?otE!ofOi@C>W3? z1~2%xv3p=Pe1T{#zoTGCU@&m8>L+bl_cG`yzbbzBjMIp!C1U^tf#!NRopuH`%?)&wRMTvc%m zQy2VZ?s!2Uv2S?$tIa*8fgzL=m=+L*)XS?Vpvdf)$1TJ5nEmt4gmIVhpCs@WHOvHb zE_MPlT)YI{=5n0G9Of0gtKt^k6PW5znTBoYD-GXjvdo#42OHbV7dnka3R9e^SdO{gI@~qgx-6xDR%td2d&h7s$#)K8{=UV8&-9A= zf`Lvemsl+?7z(ylx0hw(m@eCfVonVAY=wV1y(1M!?U{#$vu9SDY^QXGabFZA&;IHW zZ?}GQqQB-FjnAvbQ74{Mt=V!L<~>VBoc-4X-jE~1j!SUL1n!YEIVgM@;@orM_`gqX zp09-9nkcj(&Y=9jeFSCxQ(S=zIHGvKof_W5hp3Q~81h77R1pjA4i?VPU-${y$Hg-Y z|A>(;SQ=4Y)Oc}-aKiy$HdN{Wf-Y6jM@R|1-V6HWOQ5ra9wqeHe?V_wGk|`GD;?0XNh~E?v}S11_#C zj(Hh=E3MNE9ztpw3{QjaqD8%G%j>+35 HAHmMwVF_Ru diff --git a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/model/Patient.class b/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/model/Patient.class deleted file mode 100644 index 5f238c14e812cbebf91eb247a9d5e302ffca7589..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2038 zcmb_d+fvg|6kVs3rj%fzg7*t5YAIsGyB1NYqG(Y^6le75kRBkC=G5er8UMtO@Ihz1 z%<$j`_)(7g^rVmiIymD4X|m5=Ywx|XvibRI{Re<4Jk246E(>WJ-N-QXzvXM(@p-W9 zJQuDEYYdr5FYwe9LsxNhp$A#?SjgGvh0Rc03Z16Q9j~bz*Ix?7n&c7 z?>ytm6M-U{MkoSVXDC!RYs{QhB}%u0ES*AUp5*d ztnf%M3>HVXlNM;e{WcEZAjAGTUlkP@xLm#R)C%22iU%rUxL(|j+#cDHp5d^KBRI;C zRkGdKRI$2SP0D{@J#J$dCx~^0N7QPK1|0tv*4Y9WPT3g2X_8&MYjU3kz5Ndq2?3ri zz7?)2kG^I&yE~~C7}BQeeANrYlV*KUgfIA_PjeKi(&hdF4?X=H2h(cBqXtX67mh43 zC)A3pJ>wy-3nfCr_tr$@EeGT`8MMqg%P^E|IWY>8oj#0@7;^Kn8MZv8@op=l?mP9`2rq+|X-~fXOi{K98bg zV28OobTR^We1x$sSktS!jv>10N@XI{sRN}iROAc# zzM+2|`+!drOxDV@YS|_^t~EeQvQ0EWCz{AAt>e&kxM|hEtqu4v&J#%Yk%S)uK5nVL zGkgS244i3k+YD0@|C1jy zQ4vY}0sbiCncan6_yBz9b~-!fIp=-P%=GWS-+us<@Z3ZUaRUhp7cjt(+Hv+A+jYE# z{dRkYR~5rRQFua?7~LsGp9D!; zJUvHeH&K!?$?IHlugYcQ4>hMn6Mj=C>PU<>1+_SMm9A0LiO4f~ z58$XX=Y*_x35@n>*UV8@&j~d*{I;y}S3>t{wBz=YHWM?nD`Q|-pwGCz0O)&(E}0l? zI*Lr+FZ8?{Tsv_Z0jc~xSpE>k<~|00!2A}hUZ$tMl|Z}%hOt5;D_oCzSfyVK_mPQM z72?KeE|dQb^AM@c`GtLqA7CPekNrHl6)+a?ro)(sN6~nIhe3`E9??kac#J1ej`vZH zbYG6EF?^xaG3b)DI1SR}hWPX`K7EW&ALHrtQlz$Hg(7uqQsaN&`d1ovGpD*NNJh-i n*aF4T!Hzhq5y#B`#H|Bl8Tv`HT_m%IR3t{od`kZcI{&l(scdn& diff --git a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/persistance/FilePersistance.class b/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/persistance/FilePersistance.class deleted file mode 100644 index b30bac0076bc5004b1b68e4ce9c6c334508c54d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2537 zcma)7Yf}?f7=8`}PFPk{6ui{CwT1+Upjb85Rw=Qx5Ta4M^tvP`u$t_yn+?*-AL%dP zvojXPI#c_(pZa&&nbtlh+1#L$@xz|mzPIOj-}9b7{{8hg05|Yc6g>h%zVehGxVEn* zgN?vI1bq_yCM2Q)my3R~nzxd6HAv=5MPIGkrIMOX2HsSXY8AT@SWaFg({@Q^TYG{2 z>$YPDHv~pv3s0=D@45?NY#qVj=2Z)|LNfWhoF zu@CzNqD8vMSY;(JyxXG00iM^a*lsPFyUHpk-@vejGb)hmf`lqL%O;qLs`|68Q*lem zzz7cO@Qw%^2r*EuZk7lJ@g9yz95-DAmY@HI}4|NYf=(- zx|d?TTta*XvdEdZr|Y-Zamxml@j&9CiAQ+cKt{srOz}=zo~In*3X6XX?UW@)tJ7V|yuH_S^qI&kFMz<_1=~@X zYI#NZ_jDza)de?im6k2v*8A`<60F(G>Xn6ebhV?crO1AXjZ)x3tec6Qmy%V^YhP)$ z7&6#Ro$R&R5q-)MJ0d$1`(*vnQXuR@0zGPjO}2U7b~&hNw3@rXL^q$iLgo$51y=s) zqUD9;^{c#J124TsU+D^?qt+NqRO_!>w$qNIURyfUoLlwtN;A%`xP$mfeZ_f6BYZXl z^8AMNtH5V0!Zn`|j*7b(^l$~p_^{YU?+Y$_P~>QE1`ePf2eHbPSr@|^Z0@v)XlNo$ zNiA!{w=ob;{DPsDl_B)<&nTT9!T=7}EREKsLrdC|4vdwJCwN-7DPq*?qh|Ish9AXW zVrUx&7hhxK(fBqFWfBvwaFpq(jaxW1zJ(7qF_NjzgV!PxMzDl|*Lt4AMS9lwCo#zJ7^RQ%T{}UYlhis!nKP6=iCdiK za0+RXyo9qgWS1E82+@>KrWF&@aNrVcn%F%&tKrTzacAM9Lc9U}T!DN`^Su%giPMsg zijYXWCCl80M?9#V%D*7kPN!xiE)Gz?+GK4eWX*ext08Nt#l#k_zrrU18S<4D_?g7K z!h*o>$X<(#Yo_jQ;r{TK9Q5XEz4?yAgUz>plF^lrS;;j7sp8y!|(((>rP8c?XR(3V)!>9{l(pg{@~T diff --git a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/persistance/LoaderPersistance.class b/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/persistance/LoaderPersistance.class deleted file mode 100644 index 09e721b7d53563e914aa0614889ec7b8982c1584..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmaKmF$%&!6hvn=CTeBn8MN`Ml^|GJ1r!DQb@L+|)@;~paySbQ;Gx7#Wg*xM!)NBd zdA%P`06UBl^aM7!qee;6jVEPt$E`Mo*W{}eRqSeAds!-`)XI$A@q0-S2}}yvN;0y% z(cxOK@&b|3js=#p^v~zJ&DhY11Hs#n-_9=red KokJ3|hv5gIdp}zM diff --git a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/persistance/NoopWriterPersistance.class b/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/persistance/NoopWriterPersistance.class deleted file mode 100644 index 2063557549026ea776a9334e0016e6cd0ffcaa6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 618 zcmb7?&q@O^5XQghzty!`t=fY(Z>^wFK@eJc5j>SDD)pSMsivg6OPcL_c@jMM06vsB zX^VmusfT>S%;YzjWb*#;`UaqlT8JF-0SaXlQ6g*(930;05$NO_y1H+Uq)NdA0!?sIbT109&jcKI4`1v7cZ#1#7e99Q0@v+pL70DY*Ly DX1$&7 diff --git a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/persistance/Persistance.class b/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/persistance/Persistance.class deleted file mode 100644 index 5dd48c4aed3fa9101de0e035def3e59d27d24188..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 270 zcma)%I}XAy5Jbo3V+ai=VMQt`N-89fD5#CuM2@T^a_k(Af&*|UgsC81n$=7(Pj6rE z#}mLFD+MW#7oMWgWMd%X3eUZDj&lm_mRk0m?Sifi)A^SbrUL6q_nMrpOFG>uHbG%7 yup3D`Hu}zfz+8-9U%d^3wLo@hqBnf7j+5ITc=Pp4W&#sP%%IZmNNt&}MD_t0dQ$WN diff --git a/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/persistance/StubLoaderPersistance.class b/2A/Java/tp/tp1-intro/out/production/tp1-intro/fr/uca/iut/clfreville2/tp1/persistance/StubLoaderPersistance.class deleted file mode 100644 index 8d7266739cbcac07e5aad39b2340814ff5e297d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 795 zcmb7CO-}+b5PcPN0a0L8{QkU%60LeN!En&T)A|uH+{;p+r0kl~^?!NM#DhP;A7z|H z6O0<7mzmB?-+R;PyuLlZ0H|UsgE1r=B(oUD1Vg?n?giH(X!EN^SNfJ=;zR|?Rv8kd zoq7r>hUBe@{1h@&yAXay1sP;9^W}}7|iY93evkr<3$A4t_fu^~f(c>6$o(kk;)N4p{D;k6+H!?d^>2+q9&SE{w{;S03C=63wYjQff z(e9G6@d^c2W2}zcK`qY diff --git a/2A/Java/tp/tp1-intro/repertoire.txt b/2A/Java/tp/tp1-intro/repertoire.txt deleted file mode 100644 index 23c98b0..0000000 --- a/2A/Java/tp/tp1-intro/repertoire.txt +++ /dev/null @@ -1,2 +0,0 @@ -Machin Truc -Bidule Machin diff --git a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/Main.java b/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/Main.java deleted file mode 100644 index 8d3dded..0000000 --- a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/Main.java +++ /dev/null @@ -1,21 +0,0 @@ -package fr.uca.iut.clfreville2.tp1; - -import fr.uca.iut.clfreville2.tp1.cli.CommandLineInterface; -import fr.uca.iut.clfreville2.tp1.io.AfficheurConsole; -import fr.uca.iut.clfreville2.tp1.io.SaisisseurConsole; -import fr.uca.iut.clfreville2.tp1.model.Repertoire; -import fr.uca.iut.clfreville2.tp1.persistance.FilePersistance; -import fr.uca.iut.clfreville2.tp1.persistance.StubLoaderPersistance; - -public final class Main { - - public static void main(String[] args) { - new CommandLineInterface( - new StubLoaderPersistance(), - new FilePersistance(), - new Repertoire(), - new AfficheurConsole(), - new SaisisseurConsole() - ).execute(); - } -} diff --git a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/cli/Action.java b/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/cli/Action.java deleted file mode 100644 index f0382d1..0000000 --- a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/cli/Action.java +++ /dev/null @@ -1,21 +0,0 @@ -package fr.uca.iut.clfreville2.tp1.cli; - -import java.util.Arrays; - -public enum Action { - AJOUTER_PATIENT('a'), - EDITER_PATIENT('e'), - LISTER_PATIENTS('l'), - SUPPRIMER_PATIENT('s'), - QUITTER('q'); - - private final char identificateur; - - Action(char identificateur) { - this.identificateur = identificateur; - } - - public static Action fromIdentificateur(char c) { - return Arrays.stream(values()).filter(a -> a.identificateur == c).findFirst().orElse(null); - } -} diff --git a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/cli/CommandLineInterface.java b/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/cli/CommandLineInterface.java deleted file mode 100644 index d5c1ba6..0000000 --- a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/cli/CommandLineInterface.java +++ /dev/null @@ -1,80 +0,0 @@ -package fr.uca.iut.clfreville2.tp1.cli; - -import fr.uca.iut.clfreville2.tp1.io.Afficheur; -import fr.uca.iut.clfreville2.tp1.io.Saisisseur; -import fr.uca.iut.clfreville2.tp1.model.Patient; -import fr.uca.iut.clfreville2.tp1.model.Repertoire; -import fr.uca.iut.clfreville2.tp1.persistance.LoaderPersistance; -import fr.uca.iut.clfreville2.tp1.persistance.WriterPersistance; - -public final class CommandLineInterface { - - private final Repertoire repertoire; - private final Afficheur afficheur; - private final Saisisseur saisisseur; - private final LoaderPersistance loaderPersistance; - private final WriterPersistance writerPersistance; - - public CommandLineInterface(LoaderPersistance loaderPersistance, WriterPersistance writerPersistance, Repertoire repertoire, Afficheur afficheur, Saisisseur saisisseur) { - this.repertoire = repertoire; - this.afficheur = afficheur; - this.saisisseur = saisisseur; - this.loaderPersistance = loaderPersistance; - this.writerPersistance = writerPersistance; - } - - /** - * Exécute l'application en ligne de commande. - */ - public void execute() { - loaderPersistance.lire(repertoire); - afficheur.afficherIntroduction(); - afficheur.afficherDemande("l'action à effectuer"); - Action action; - while ((action = saisisseur.demanderAction()) != Action.QUITTER) { - if (action == null) { - afficheur.afficherErreur("Action inconnue !"); - continue; - } - switch (action) { - case AJOUTER_PATIENT -> gererAjoutPatient(); - case EDITER_PATIENT -> gererModificationPatient(); - case LISTER_PATIENTS -> afficheur.afficherPatients(repertoire); - case SUPPRIMER_PATIENT -> gererSuppressionPatient(); - } - } - writerPersistance.ecrire(repertoire); - } - - private void gererAjoutPatient() { - Patient patient = demanderInfosPatient(); - repertoire.referencerPatient(patient.prenom(), patient.nom()); - afficheur.afficherSucces("Le patient a bien été rajouté."); - } - - private void gererSuppressionPatient() { - Patient patient = demanderInfosPatient(); - if (repertoire.dereferencerPatient(patient.prenom(), patient.nom())) { - afficheur.afficherSucces("Le patient a bien été supprimé."); - } else { - afficheur.afficherErreur("Le patient n'existe pas et ne peut pas être supprimé."); - } - } - - private void gererModificationPatient() { - Patient patient = demanderInfosPatient(); - if (!repertoire.dereferencerPatient(patient.prenom(), patient.nom())) { - afficheur.afficherErreur("Le patient n'existe pas et ne peut pas être édité."); - return; - } - gererAjoutPatient(); - } - - private Patient demanderInfosPatient() { - afficheur.afficherDemande("le prénom du patient"); - String prenom = saisisseur.demandeMot(); - afficheur.afficherDemande("le nom du patient"); - String nom = saisisseur.demandeMot(); - return new Patient(prenom, nom); - } -} diff --git a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/io/Afficheur.java b/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/io/Afficheur.java deleted file mode 100644 index 28b1ace..0000000 --- a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/io/Afficheur.java +++ /dev/null @@ -1,56 +0,0 @@ -package fr.uca.iut.clfreville2.tp1.io; - -import fr.uca.iut.clfreville2.tp1.model.Patient; -import fr.uca.iut.clfreville2.tp1.model.Repertoire; - -/** - * Affiche des informations à l'écran. - *

- * Son implémentation principale est {@link AfficheurConsole}. - */ -public interface Afficheur { - - /** - * Affiche le texte présentant les actions réalisables par l'utilisateur. - */ - void afficherIntroduction(); - - /** - * Affiche les informations d'un unique patient. - * - * @param patient Le patient à afficher. - */ - void afficherPatient(Patient patient); - - /** - * Affiche la liste des patients contenus dans un répertoire. - *

- * Par défaut, affiche un à un les patients. - * - * @param repertoire Le répertoire à utiliser. - */ - default void afficherPatients(Repertoire repertoire) { - repertoire.getPatients().forEach(this::afficherPatient); - } - - /** - * Préparer le texte de demande d'une information à l'utilisateur. - * - * @param objet L'objet de la demande. - */ - void afficherDemande(String objet); - - /** - * Affiche un message de succès. - * - * @param message Le message de succès. - */ - void afficherSucces(String message); - - /** - * Affiche un message d'erreur. - * - * @param message Le message d'erreur. - */ - void afficherErreur(String message); -} diff --git a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/io/AfficheurConsole.java b/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/io/AfficheurConsole.java deleted file mode 100644 index bc1d327..0000000 --- a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/io/AfficheurConsole.java +++ /dev/null @@ -1,50 +0,0 @@ -package fr.uca.iut.clfreville2.tp1.io; - -import fr.uca.iut.clfreville2.tp1.model.Patient; -import fr.uca.iut.clfreville2.tp1.model.Repertoire; - -public class AfficheurConsole implements Afficheur { - - private static final String DESCRIPTION_MENU = """ - Système de gestion des patients 3000 - ==================================== - a : Ajouter un nouveau patient - l : Lister les patients - s : Supprimer un patient - q : Quitter - """; - - @Override - public void afficherIntroduction() { - System.out.print(DESCRIPTION_MENU); - } - - @Override - public void afficherPatient(Patient patient) { - System.out.println(patient.designation()); - } - - @Override - public void afficherPatients(Repertoire repertoire) { - if (repertoire.getPatients().isEmpty()) { - System.out.println("Répertoire vide !"); - } else { - Afficheur.super.afficherPatients(repertoire); - } - } - - @Override - public void afficherDemande(String objet) { - System.out.println("Veuillez saisir " + objet + " : "); - } - - @Override - public void afficherSucces(String message) { - System.out.println(message); - } - - @Override - public void afficherErreur(String message) { - System.err.println(message); - } -} diff --git a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/io/Saisisseur.java b/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/io/Saisisseur.java deleted file mode 100644 index 199bfba..0000000 --- a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/io/Saisisseur.java +++ /dev/null @@ -1,10 +0,0 @@ -package fr.uca.iut.clfreville2.tp1.io; - -import fr.uca.iut.clfreville2.tp1.cli.Action; - -public interface Saisisseur { - - String demandeMot(); - - Action demanderAction(); -} diff --git a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/io/SaisisseurConsole.java b/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/io/SaisisseurConsole.java deleted file mode 100644 index 17c9e89..0000000 --- a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/io/SaisisseurConsole.java +++ /dev/null @@ -1,42 +0,0 @@ -package fr.uca.iut.clfreville2.tp1.io; - -import fr.uca.iut.clfreville2.tp1.cli.Action; - -import java.io.InputStream; -import java.io.Reader; -import java.util.Scanner; - -public class SaisisseurConsole implements Saisisseur { - - private final Scanner scanner; - - - public SaisisseurConsole() { - this(System.in); - } - - public SaisisseurConsole(InputStream stream) { - scanner = new Scanner(stream); - } - - public SaisisseurConsole(Reader reader) { - scanner = new Scanner(reader); - } - - @Override - public String demandeMot() { - return scanner.next(); - } - - @Override - public Action demanderAction() { - return switch (scanner.next()) { - case "a" -> Action.AJOUTER_PATIENT; - case "e" -> Action.EDITER_PATIENT; - case "l" -> Action.LISTER_PATIENTS; - case "s" -> Action.SUPPRIMER_PATIENT; - case "q" -> Action.QUITTER; - default -> null; - }; - } -} diff --git a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/model/Patient.java b/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/model/Patient.java deleted file mode 100644 index 154ce2b..0000000 --- a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/model/Patient.java +++ /dev/null @@ -1,9 +0,0 @@ -package fr.uca.iut.clfreville2.tp1.model; - -// Pour les curieux, un record est une classe finale qui contient déjà une redéfinition de equals() et hashCode() -public record Patient(String prenom, String nom) { - - public String designation() { - return prenom + " " + nom.toUpperCase(); - } -} diff --git a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/model/Repertoire.java b/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/model/Repertoire.java deleted file mode 100644 index 368db48..0000000 --- a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/model/Repertoire.java +++ /dev/null @@ -1,36 +0,0 @@ -package fr.uca.iut.clfreville2.tp1.model; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.Iterator; -import java.util.List; - -/** - * Le répertoire possède toutes les informations de contact des patients. - */ -public class Repertoire implements Iterable { - - private final List patients = new ArrayList<>(); - - public void referencerPatient(String prenom, String nom) { - patients.add(new Patient(prenom, nom)); - } - - public boolean dereferencerPatient(String prenom, String nom) { - return patients.remove(new Patient(prenom, nom)); - } - - /** - * Récupère l'ensemble des patients répertoriés. - * - * @return Une vue immuable sur les patients. - */ - public List getPatients() { - return Collections.unmodifiableList(patients); - } - - @Override - public Iterator iterator() { - return getPatients().iterator(); - } -} diff --git a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/FilePersistance.java b/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/FilePersistance.java deleted file mode 100644 index 1d32d37..0000000 --- a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/FilePersistance.java +++ /dev/null @@ -1,46 +0,0 @@ -package fr.uca.iut.clfreville2.tp1.persistance; - -import fr.uca.iut.clfreville2.tp1.io.Saisisseur; -import fr.uca.iut.clfreville2.tp1.io.SaisisseurConsole; -import fr.uca.iut.clfreville2.tp1.model.Patient; -import fr.uca.iut.clfreville2.tp1.model.Repertoire; - -import java.io.*; - -/** - * Une persistance écrivant et lisant un fichier. - */ -public class FilePersistance implements Persistance { - - private final String fileName; - - public FilePersistance() { - this("repertoire.txt"); - } - - public FilePersistance(String fileName) { - this.fileName = fileName; - } - - @Override - public void lire(Repertoire repertoire) { - try (Reader lecteur = new FileReader(fileName)) { - Saisisseur saisisseur = new SaisisseurConsole(lecteur); - repertoire.referencerPatient(saisisseur.demandeMot(), saisisseur.demandeMot()); - } catch (FileNotFoundException ignored) { - } catch (IOException ex) { - throw new RuntimeException(ex); - } - } - - @Override - public void ecrire(Repertoire repertoire) { - try (Writer ecrivain = new FileWriter(fileName)) { - for (Patient patient : repertoire.getPatients()) { - ecrivain.append(patient.nom()).append(" ").append(patient.prenom()).append("\n"); - } - } catch (IOException ex) { - throw new RuntimeException(ex); - } - } -} diff --git a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/LoaderPersistance.java b/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/LoaderPersistance.java deleted file mode 100644 index aaf180f..0000000 --- a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/LoaderPersistance.java +++ /dev/null @@ -1,11 +0,0 @@ -package fr.uca.iut.clfreville2.tp1.persistance; - -import fr.uca.iut.clfreville2.tp1.model.Repertoire; - -/** - * Quelque chose capable de lire des données depuis quelque part et de les référencer dans un répertoire. - */ -public interface LoaderPersistance { - - void lire(Repertoire repertoire); -} diff --git a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/NoopWriterPersistance.java b/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/NoopWriterPersistance.java deleted file mode 100644 index d945d41..0000000 --- a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/NoopWriterPersistance.java +++ /dev/null @@ -1,11 +0,0 @@ -package fr.uca.iut.clfreville2.tp1.persistance; - -import fr.uca.iut.clfreville2.tp1.model.Repertoire; - -@SuppressWarnings("unused") // oui, mieux vaut ne pas l'utiliser de toute façon -public class NoopWriterPersistance implements WriterPersistance { - @Override - public void ecrire(Repertoire repertoire) { - // noop - } -} diff --git a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/Persistance.java b/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/Persistance.java deleted file mode 100644 index 66e77f9..0000000 --- a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/Persistance.java +++ /dev/null @@ -1,7 +0,0 @@ -package fr.uca.iut.clfreville2.tp1.persistance; - -/** - * Un groupe de persistance pouvant être à la fois chargée et sauvegardée. - */ -public interface Persistance extends LoaderPersistance, WriterPersistance { -} diff --git a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/StubLoaderPersistance.java b/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/StubLoaderPersistance.java deleted file mode 100644 index 5cc5d9d..0000000 --- a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/StubLoaderPersistance.java +++ /dev/null @@ -1,12 +0,0 @@ -package fr.uca.iut.clfreville2.tp1.persistance; - -import fr.uca.iut.clfreville2.tp1.model.Repertoire; - -public final class StubLoaderPersistance implements LoaderPersistance { - - @Override - public void lire(Repertoire repertoire) { - repertoire.referencerPatient("Truc", "Machin"); - repertoire.referencerPatient("Machin", "Bidule"); - } -} diff --git a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/WriterPersistance.java b/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/WriterPersistance.java deleted file mode 100644 index 17beb04..0000000 --- a/2A/Java/tp/tp1-intro/src/fr/uca/iut/clfreville2/tp1/persistance/WriterPersistance.java +++ /dev/null @@ -1,11 +0,0 @@ -package fr.uca.iut.clfreville2.tp1.persistance; - -import fr.uca.iut.clfreville2.tp1.model.Repertoire; - -/** - * Quelque chose capable d'écrire quelque part un répertoire de patients. - */ -public interface WriterPersistance { - - void ecrire(Repertoire repertoire); -} diff --git a/2A/Java/tp/tp2-zoo/.idea/.gitignore b/2A/Java/tp/tp2-zoo/.idea/.gitignore deleted file mode 100644 index 26d3352..0000000 --- a/2A/Java/tp/tp2-zoo/.idea/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml diff --git a/2A/Java/tp/tp2-zoo/.idea/misc.xml b/2A/Java/tp/tp2-zoo/.idea/misc.xml deleted file mode 100644 index a346fd7..0000000 --- a/2A/Java/tp/tp2-zoo/.idea/misc.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/2A/Java/tp/tp2-zoo/.idea/modules.xml b/2A/Java/tp/tp2-zoo/.idea/modules.xml deleted file mode 100644 index cce7859..0000000 --- a/2A/Java/tp/tp2-zoo/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/2A/Java/tp/tp2-zoo/.idea/uiDesigner.xml b/2A/Java/tp/tp2-zoo/.idea/uiDesigner.xml deleted file mode 100644 index 2b63946..0000000 --- a/2A/Java/tp/tp2-zoo/.idea/uiDesigner.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/2A/Java/tp/tp2-zoo/animalerie.txt b/2A/Java/tp/tp2-zoo/animalerie.txt deleted file mode 100644 index e716a30..0000000 --- a/2A/Java/tp/tp2-zoo/animalerie.txt +++ /dev/null @@ -1 +0,0 @@ -ours bidule 9 oiseau machin SUD 5 --end-- \ No newline at end of file diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/Main.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/Main.class deleted file mode 100644 index 9fea7da1b571434c852e5a0f32fc43868af8c6df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1467 zcmb7EYflqF6g@)=3u~dZD2k$h&$c{PK#55Si6J2&DQZA#h@Xb(v<%q?ncXE4f0bW^ z*u)>;k22n&VwZ#raW|RC+&kyoJ7?~lU%!9+1h9@(7X!#S$QLk(A%@Z+Kjxm#!;bfE z|4@pAVQ5W-Dp_a9RjN$~!widU?WKZyDos4$x3xT0zAu-(q?U#!_#EM`^Oj zMH1-~QdDTk6Up$>o(Ubo04}(CtGa`G3~QF?M^clF2@i$zHkB`TByUOmzHfCgX=Huy ze>9)8B4IDlOd)4Po-xHU%h*E2rfaq`>ep=SSAun?x%sQE%Eo@Rs5V4aPorf<0&8|z z+_`vJV6|zKdtAU1({{u1ixerz>);u~wB>TQxe6Kb8&Qkur)cW^Z5r%L{ekcMWGOcy z!Tl!J%B=qy^T~mtx}UWj((u-aI5_8@sC;hpUxM94tFTkAHp$O*hp5J{a8r}lw53EvLnD!liv7w?HW(0n@vU}zZBu^mGK;|X?1;7_30v3&|?^(S$% zR{Ke>8!I>po}7*mj0$LHD|Wz$5D+KZu>(6b+^b_8_X+eTh{A|iac5#t%pdU>r8o8u zOs&N3OyJw@B6V~>c5BG%*n=ON{j*Rour z!z!VHxpo}EQ4Pm*99Ir~UxKk}9lAa+sBdZcbPHwtX&p0|rJu}KY^R_sxR-vCfcYA3 z&^H;u=UXw7WyLt56#fl?+=j48I^;=wQ^U7(Jc36Bc7J|O1lpzRN2yrJHQB&3Hz26Y z56o$JTwrt^EKM;jNkln7cYN(pI!6}>0bZ-*LYgPtCHdl%_X8M`d1CZc-K)+7KLb*^F25 zEqTCJ?$y(1*ces?o64N@yntEHEFF=-DX&oOOyl(oev3CWys6_Yye)9&O8dl==ADtb zsZd-(n6YYEbc(g7|JNp}7$_oekW-H%%Y9RxccxOx*HrwtHLJN<1vq=YBx|3q|Hp`A zGHh*+7-QaNI?fE+@_ZM5FR&{0MiU_I)7gSQW;nL|NylsWS(o}t^X`3h_h%hHMY;>m z^5U=R;%_=$QKO`O$aPth994!G;ac26X!uaz?lrn@q&5xz7TB8nl!Y$RF-A$diEU>q zvT8WxE~|#caOJ=kt{l3;l|xgwa@q-3jwf83RBO&P!LPnVE_#&y)V1Yry= zK{K{5p~DzjLbq`Rn;*V}o0o8l(bK$yEk;kv5_*lE^b-0$Bv2E+!|!|0#_ug?#_il~ z#U_%!0lnPafj*902H6Nz`I}awZd`KxJdRclHH5gvW)%|xEX#O+qiV|)3J;(fo1G!f^nJuA5hp?|uBluu~~02~(kjw~`VcqZ@;`g%jC0hB$MKv8CM+N~K5CW2wH!x6Nqk zHhBAe{D9vVc$4F*cx+KL{>e?GJS7N-P$?%u(-NZ*_#uAO09dOB-rW%R$M{JD;EsCW zy$yk1!pjYSx6}hqHUwsT#K1c#q!KS}(0hhgJVyOn1~^1}K3Ibx9Shz@`=5<5JWow3 z4Ez6!uOBwD4_(F_XuyYQ*{pd5kI_A?__%Nd1s+eu$1_)8^H_|I%i!p=!hU4XX(FGY zQD@PMhiITVy2ObpL(Q1rudf1KO)3Y(42{Pk=`^F3^_LMeg^p5d&0H0SvT5k*#KGJW zSH77YS{UhB*E&K}?(eoLZK25a% diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/AjouterCommande.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/AjouterCommande.class deleted file mode 100644 index 1f39de04b55a88160c904508a9ea753f0e848bbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1818 zcma)7TT|0O6#llfq_*K!TNN)DywO4-$VJg2h*cDAK?kSrOS&z~qzRKI%=nM=OE z!582BQI01`p`(<*Lw2)g&pG>@@0>mR`_GS`09H^D?Eo`DqpBX_>s1LqFhR1kRkWM6Q>db^yM3 zF8Ho?DUIv6q2Q*9TNq==M?>ryGAO2WMAfErWa+?D7?aQ#G65~3?P_h?(k#2Bt@`P@ zqv9^^QEGkG1FqJ&;o8n8hJ|SGlr3LR|Hq1gcz_87c@+grGR#H<(bEA#!f=Ejwm#b$ig(-B|+BZ9qmwXzFDyA_L7C=ada3mG;Y&3@*Z(R#=Hj9S} z=2XmMfuR_|-zj4%1ioi`bdwn7@=*czh@wzS;t|70h(&V(Prtrs;|i9@T?7vQDjTi3 zz80R{xz$3!Q@Xtuusb%O9!up4HN*N00;BWmr7#^jsDKwJ(~99GUeV|qeNuk>ylvz98YGXJT;W>}97OF1AqN!_X%LlHs z5ANk`-fB~_OL0J$Y~)r7BW)$_pEj%lVZ_#bQ`r&b)8#K^6`ZzJvE1L3i`gR~Q;m(* zt#(Yfn9lwouuEM;l~vO^#n;+ImD4|8op&h-gFE)&rtu-g5h33{=+1{QzO|O!!btDg r6Vji$5(1$gs|R|qxI-l93QRGGn?8o!9vMboIL2|rEM7!CoFv0f<9U8t diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/CommandRegistry.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/CommandRegistry.class deleted file mode 100644 index b3b3057f0cb6a980c47c69223281dc330dcb7ad6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 776 zcmb7CT}vB56g@Xdv&lBC)~fx6KKPKlIFJ{?NFEFbLaNY6OCKkjYaE%KgxOi4|H?N( z!5`p{D&EB`ZQs^~-8<(n_uP*?4}Wg&0SxgaLX9vw_bN}cGI>ymJ@U0^*!f87ov?pfn zbjUpuepXC77+3F`2Sce6O`q057kX>MUcC`$*WUF87~h zq_claBl}v-E3S#q7Ec1ThFn5N{Pe0ocrE-I)&;*2{8gCZY2AT--JpIgXTpYjn-YN- fb-a~W!zQ*QHiX^AdpT_gNBDqGXbBVHbF=*jO9$J& diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/Commande.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/Commande.class deleted file mode 100644 index 72cb4c266fe3cbc80d2c6d6a5f7a937f90050eaa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 279 zcmaivPiq1}48>pkv#XXuubz5sDRjV-P$-mwP*^Cm;C&pkB{G|pamEkl!4KevDjmh* z(MysS!tcEtes_BSued4EAw1Q=BxjAJXq>MDZ^e6_n7E!~EyguV^WHX%)g_nc5$;xY zYmK-1V?Gxvc9GBxNeR=3>I&=3sYLlhBZt~LetDb|M&E4;j%VVTaQkofd~_m=zmi62 zcrF`Rcz#oDqm9z)hHzh9(#(>&x?VD_;qckC{uC4E`qztTiQ zbcsK}A7wnZl)yGWZ2QpO-qUlR^E~I}{`vdsH-H9SX-Gg(k<@VwGYt77^Vl?O)9D#I z`$yag7-rUmBZ3BlQm%AVq!?x+r!Ww0t|Q0LJn)RrG7S+1 zhGidk{8-pFuNlFhMtfmc{jSk;`+d{t@=v@c{J{IN)gRcU-9zDTgu?D}k0EWvE{X>lw_VpyGy(o4Cc0J@uFP4nm^;raU?|rKx`2QaNu@ahu`w6-8*6!@SJt0z)BY z5G73VmTA1p@b==^ z^@8K}CHYBv$4CsRafdOiTt)y9)hyScwhe`>!dkgpi+J z61WeAR=O(4@*uiF6#4@4)gf5*1nS-p=^xO(Mczev%L@iHph=pDhxDb7{P75nX~$5) zlNf7*pHEJt1|SdG>>7_=7XT!sWaM~c|Iz{{ERKa1jE#{d8T diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/CommandeRegistryImpl.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/CommandeRegistryImpl.class deleted file mode 100644 index ee0145c2ff770c7ba2a93c0773c3501fc20c40e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1366 zcmbtUU2hUW6g{(G7ZxZ56|En&YOQ=|SMkA^B|JzpX+o)y27O(Yflf2*l4Z9^|CJ^h zKOT(F{wU+!WkG1wl=v_^Gk50RbM8HN=f}^l-vHF{M1z8uig+3qu)?r*WFDKkH0^=D z-#y}%$FNcpw(#l$q zCth=0jnY|@ic1WYC1`3W;EIZ?X{_TKL;g4T{>T%KZ4!CS>9>3-&93AO#lI5?Gn%>? zDsC`T&rfAqFe+AC3~bZ$U4nbHSghJy%5BdT_P}VKAA%cogK~^Am~i;Dl5f80Sf=clt_b##G434-Qu5g{*wg%ih9DM&#kePyW#_IHh4!#;BPVHKgvdogtO%Y}py!%y+^+qSThDQmByDc6`_3FGbLB>wo&Ac7i@- zNVWLb+v9;;V-=4W8cQ_8ydYZ#BEN{a-pp`#?l`9{iz9(x8x9Ph|Gsrtm{z+tThjsl*nhvqn)=y)7b2v!MHk@y9_-)vF< diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/ListerCommande.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/cli/cmd/ListerCommande.class deleted file mode 100644 index c750812489969c70d567e749717437d754624f33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1461 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 diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/factory/AnimalFactory$Builder.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/factory/AnimalFactory$Builder.class deleted file mode 100644 index cd93953e7ac15101df77fa0aff4294e744d8e245..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 749 zcmcIi!A=4(5PcQhWdRXU|9}HrtRWtZOE79eG$DFe;=L|qQ&PH{ZcF0-_!S=f06)su z1)~xT2?tLzZ!&rF=FPmlzq|tI%^8(UCG`Gr%40)NxI)iC-A=>;DF#_Q@YmbEeYzY1&@HB=5dJ1fZ<83?s`XdZwhu*;7gvf8g_LRyR0^?uND=zDxz4p)Hg{p~F5rLU zqi=$Oe?b4J;+zR+X*kHs&g}f!Z@!tmzWMnZz&^GVDufS_*Li5P%`+Xk$n(TH$2&S3 z@94;cS>nIygV>IYJDlE*Mq{^qdTG;-xpn94n;_I$SVBMu_H1mkeL}U}`JzxKyj`@s zLX)t1WhO>D6JO|);T4A&VJY;?p75>R|K}WJ-o_W*IhK-VZK4mN$cC4k`)2DtQleYD300poRLupqL+ksixw-^S~~l0u?fq!Q40C97iHBI8uE*P zYE81x0z}@&vRE2e!K!?U2cmDGQUsy?3v~7a)$gJUsd5G)f!CrN9v7(GKvmtKH^S}Aw|tCCQzK87LJ$+3l@ZfMQJZLJZ3f` zx~2-pR&}Fd@nc~ad``6+b81D??YecMu9%{x8SCC^v(_+DQulR7V4xFo8kW;+&VsCJ?k+OjIy zmN2XNt*(i@zLlIt!w}pmWQ+M?o}uzO{Zg5qQ3VdA<=;dG~QE-iX zr6z>QcbwWjx60bSL6+gIx~>_!nkD4gHwJCe6vOIu=* zG22sitCr8~GW1p@u}rY_g8GCE1Dg99{cH!rO4q5TIy*|4Mm*5+NrPyI+GxF?7!sYe zCO^O4>wn8$D3@J5B`&i5+;~?gFJ4D-m6ZNNtGsZo4pKHPqSsAQiX&v_=F^$$LcUUf zvJIuWW9fWdNO>o`F16j4Gg1z8QSR`jy-{z{-4@$4O>VhO;-va$+l8v2z%bkG%g&(q z_lklghNW)LUyv5bwNq;tr>ndN4EN|cEWaHzAE&QV4<=|$H~jhf0Rm*F4;5J+(rla7 zjK;C-DOmOl%HAo$pAczH;~!k06g>yr!zl#um>?(dh-@+MI9VoX#gImZXeIPp@($9N z%zi{9H}x4e0(e97_;k*jOW*)nz&Qe&!U(2a;H-Dp2PPO~k#otCw^H^^f-6#fAgj7E_F diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/factory/AnimalFactoryImpl.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/factory/AnimalFactoryImpl.class deleted file mode 100644 index e9846a136e8eee29ba447352ad0773939ddf5eb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3252 zcmcguTXPge6#ja1nPfA$ut?+*NCE+JgF!?DHwHquMH5grM)BU6?cEHSo!Oe5Ny)SS z!QbGcR;ekVN`14+^1&ZuS$;h;WM?6+q%7I3>FGXwy3cpMKIcsT_Sd7I0L;V7BZm$H zohG`_EiiOnZb{3PUe&t0eqY(4K=+*EIpMrO$K=$SfgXW-6_6c051Xg5A%ZWnEb}NC}a$HxPx5D~)t0L{t4<1+x zo>Pw^f1o~S%7BH(Syc=9s6&bmt@KQ=ihSy@^K~^&L ztjNHaz?J_9whyB?u1Po{@O2hRDGVI1T5Ly#<68@rieqn(%zslXNvGj7H0{N<1lRns za+T%qP}5^B>L@&E;uKEvn91FuD;o`g{XD5=K*qwD`6(0Am|;XxRp3-qY?L%J$OZ6_?GelHC8??p2SamYk|5!zfS!)x@PZ?U+_`84sW1Aa~8Hr=ogp zdcHVc6sY{OrT7fyX4-|!F2_5cjrJ6*HZ-1+^~9%CZD%;OCeXRaaM2m>c=}*JR-6aVqQ#Hyj4e#dZL9r9zh&A{uVp^g;c}#(z8o^?#%P#c;2g?P5Vx zET-S=60&;>t`}4#2)U{gP@jD>W7BwIHSqizQ${|iR|0LzPzz{*d}F742~4+(A1=(4 zIu`pd@S`mi#Kl2>UfM0*B|EaUYR8%Gq{IkVd)$o~Mw=T-ejdnQ)9rDwe_-` zh);duoPdyg*7?}8`SBd#K3Lom0i`CSoZzRsJ=^O%EVU7!c|s-torj$CMMgj%|=1G^P+U!k`t=p z5KfSla-O#wW#V1^Avc#iPX%!~RxEe}t@jhMks;Z@eSwqBjA;ShN{0bnw2rk`eqBb2;J$yl-pFS1uS;&v$r-P7iCxJv0T-^tu10!rpC zQ_qd<_T>hxoS*c@!4hC_b?ekG2Z diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/io/Afficheur.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/io/Afficheur.class deleted file mode 100644 index 22ac1b0ce0b35a2b06f0823f289f8ffff0aefb54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 197 zcmYL@O$x#=5QX3P)7CD;jb~6d4s)fsD5!TwgTX?dr$kyjO5iV&0VnB%httppk3OI!2@;I=!%8mg#ysB=65zt=walo>gtt~4i6t6zXr8k}pDn1Rt!OnWsfVcEk9 z$EsEDM>@zu5vbe*VH|0BqvBW|1m^l6Amwossqj+f`Xo)VG?olJit~>HBa*SuV{4_! z@z|1FskMc#aXhhg-8P6q*;_f;Z4=1nWnxm?arY0)2QV!C?VN=|2@TR*hw{C$wp#y2y>AhCMTt6K*rL_9zl=u4w*k}c z(m72GtuLuME&70F_d8hk3%px2X!CE;`b?i4LV;i|tqZ8Yqv@&QHC3DdB*Qj#XlHnX z%@TP`Du>Q$-LGiueZ$i`keyj8t)fvt)@F?*gd}*2UBWQ5=i*xPaI1v#|AXt$wGO&} E0E@z_^8f$< diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/io/AnimalFromUserInputFactory.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/io/AnimalFromUserInputFactory.class deleted file mode 100644 index d7b456b605965b296b63919cceaa03314c0d4d95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3081 zcmd5;ZC4vb6n=)JEQD=I7lG0$OeX0FS@P;z#`lXdXQ3(R&fr!4B1^{ z-_T9N-qzP^yS(l*^ezZn_=^mw>HOvZ`p~Z+qhbIm!(7wVgSw%Mz}M?$)8+fZH2J*l zx90VxQTHA9nZ9fb%P?2N6N6Fxx@03#Sxa7o1&E;HOsVD0Lh zBjXqbxb5<7;rXs~)b@1cBrH|m74~-V)jju;bup18)9}1vezOm6lM5Z;aU;+`$)MmW z!)$^Xr##T+lRmhn;yP|HWa^GhCIrHzh}?ONh)|R#8MMa%H**w{AV*0g_e%qq!nA_C ziUMXBrV>;Xj=tP%iuw)@$d!FYxTo!K7q7|$pT#W&x{5j6W|&TvTs4FzJTDY&lARUO zlA(}nYveU~mn?jbVW{L-HNov%gXdaiU~x~HIE(jHe1H$BW~At{O~ptxSk7P^AIW;X z$FSJNh@{krLziX57s$VHbVry3p1}|nCBzcLNEZlVRj{0#;?nV9>AQ~g#N%$+ZUz2v zA4r#|dKd;P!scs%Rpai4Q8S66Rh+tEZW^wT=ZKj0cZA1qFUhtyK1T*^VXM*wHf>`lIxhrI08%UNs~# zx}`cw;)y3^ho|QletFY8O}$<^rAp6Fov#X+wO9W;*Kf%{P&Zw1 z9G}{u(R#%F9jD<9_TuXdw(yODZ&iGU?-{P2#7x-x&K}n*?X)8fBg#;E9IW{1@3?a! zrV!wPVK+?fO;j9bFK87z^C3n##kldT#pBoi|IZLInK$1FTQW?uDtund;^~`LSYc#~ z6fPr!Pf%0wC8}9eiNGbHsp0|3S(F*nvTbv>{ho4aS4uRkDA;3IN_a}Tcc0TQHp7L} z1O+z3WJkty3%-ID!+7#ldiujm!EG|Cho&kZO)JfXGz+ZINvD<3dam#s?04GqphRE! z8#s^q^i{(P_!O&j>Zhsf22mvQQxYcc<^O>4u%Mkk#2}yz9bh<(f_CK)@6d5PJRTs& z@EctY0W@Nz8IQgf>0KJ8;o{0MSQ?Wwihf4FGcpPh*w3W36UBEA&eADz*P5%SPh;RyKS6JR-qlLH8Ns12A4*^U86j{!#`z!Wx!qX$p0 nN$Uvhz9OC<@FVKcu7Pdr(7($>mnMnce(cg}(rUrMPZ;|bz?*aX diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/io/NoopAfficheur.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/io/NoopAfficheur.class deleted file mode 100644 index 5cfdc973c2b96cca95b3329ecaa6b997ef2e8b4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 588 zcmah`O;5r=5Pic}5i2MPo;?W~-GsywhQt^>HF&^qU+NZ?l$I7)_O*5K7lN(n*hyZ?%UG z%7pX4h}4%tr-|^xz^J7TL)8(-ZtYddx9;oEuOuA zp81l4%V?i1b&t_q5l}^qJ^m#eFk0~ypPY^T6*`%)xq4g+t+b9qM#9nd6z-N3jjVR_ E6KUgj82|tP diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/io/Saisisseur.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/io/Saisisseur.class deleted file mode 100644 index a7772e680e1f98fd305caa09b8564d2fb75a8052..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcma)&!D_-l5QhJ?(b%Z9hdx9sr31MNy$FI}=^;HZz0KP*&}{lAK%_f%(bGnAqkpN7NG^4Np%Mlo IJv(?h1DMoS!~g&Q diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/io/SaisisseurConsole.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/io/SaisisseurConsole.class deleted file mode 100644 index 7c22e429ef8fd5b10f8949af70c684cf83d0aea8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1721 zcma)6YflqF6g^W4+t%gL0tFQxfMQ#al?py+t&dt1Es|K$#E(lEaL9H`_Ce%7`9Y0> z(Zu-KA7#9=yOzF!rs?j??7ipQIp@y&`u*((fC65|5JI1Vu!?>RFpTW$hq`9y=AO2> zz0Ye7!$4k`!YMHHrP5Ue5r()IWEl5TiDBJ5aGi={alM|C^`DpZUtpLF>hB0i zS7p$Yic7f65H|Tc(q=4`ZrLn>33JZ_yQ*RuGgPyTTQ@0`)LU0@jUjc$#_Nq8Zg8z= zh`R2?NU%8-H;`h87{cNu)1__9w(46nblc9g79oRj3Nj3H|0XI6?n;^k6*uL!6iKtu zAZiV_6fCL8;x@z3siA%i%Asz!d~=s!rMsGLMS9e?a<&j{9YBVkdLlcDThvcvLXqTR z7%mHwzjEu_+}e`8#*ipCYPwO?Eg|Q@V%T{rY=))s8M3s|291}aBS1|;q|{Z-?g`2W zB=a1ON%4H^7#65A&LCx7P%8EL(*4`+_0auEf#7Up11Q z!TGIHt{@RBV$aka*CHL4^QG06IO)9~R_JowUr!SVL#)zptr}kw(u-u*NnVuQM8{*0 zt{&o`e?ndfbRQ`+?#CT^-lf?F!W03-Gbdn~?@->%pCI}L>PK1(;T}DQ&_~Zf3LGMc zVce%#(oe!Fax|lKVd0%S^&=EsR_xcGs_evy(Cm}tq5H1i9X>79S&eMkOO&-{mY6yz@xo8*aQ60^s+{u8sE z6->7v#F`a6#*=P@w1<%HM40P=5Rw-ZaZATG=`9_L&S#D>{}qc8pwDy47a`*T_zp#z e4n_9 diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/Animalerie.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/Animalerie.class deleted file mode 100644 index eb03b227b329be8ed6b03d620b34281f20499521..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2664 zcmbVO?Q+{h6g_JPD^b+iq)ljnq-{tccABV!@)d_b>ZVP=Z2r+;+LQZQpL}3P&;ImZc}v3PX0bST``ta4MP z%NR3o%ED=kGmQ6MSA2qWl=QtW#f2W>%9i8}SLi^7>Dhj)V*kJ>UcngyXDz&n*BDOr zz+;FkZ#F4s0+iCGT-?&JlNP3Mj`+*&TDzn6Bc-;+NZ$(}*>t{0be&?}!UAlDVW~vGl^-xn9Gbb2j8lu=#-f3DEL_364D(0VDcc<~P-Fm- zsKdKmLGbhcMx$SWk z26VsLXPM;zx|pi2yi#Tus*vLu@>S`HTVcB)f=%sG%3k#y?$&t_xi%RbQah3iy)Zzc z-V&lLl|#+ZZ9EQFgYWtwHI`vZ*WuZVI*IH@o>9zBEz8rh%_4)NzNl;ocIH z-kyJ7*wsj0ir_8o(8faB=4d)dO)qB~Rd{rh1jU1d!L(%Vjt917gr z?}+2Qj8nciHrYU<<|Sz>+;wYGiE;sVpL2xNNv&`6wtUaRr}(UZ3WK%bc_OH|dQ0pY z_<`Z#Q~Eti3Ih#>sTWVBl@;rT3zRfNzxVI~XdBXJHvKQrxs^egj&r6z3Fx{UeJNz= z4k(l!f|dS+arYrceuw#MH2WjE>JJGJ;t)>IcLiX@^YJl0p(k3#n4=jQYmuHb)^O=J zn17(~3*Bd+F?2S{k%}Kq;$v2;^!_R;bk#W5C`#wFG|t=sCNj9w&*wBT8jtWM;<*W) z=64Nigv4+i=Muy#(KFSe5fAV>!_S1D=5{8<&3sZDop=etdcvs?ae9RFzyW45=;t*_ zT2G~T6`t@a;0D$s9(3>$ny$3R>j7pDaEYN`v*~B>iZ$CPnA%qfzomp}_b30a;0Yg$l3TXz(Xc`Qq#<18b2P+yf94xQzH+QzS4W1j(pz&Pl z?Pkl^Nn0 za#9^gm|@`hN7cazyn*OHr{O;48PYY^cf&fv)L^R^xmj!}NU5~^oPvx3O~DwCiW*8N zb14Lq6NaTi@jt|%v44Qc4f?75pL64lQ_kL%Zv5Lq?HN*9>E1mpFIzv`b*M(bB$1*_toOhZ+C;tC}C z0dlE4bB=qT#r5F0E4YlOoI2J-O(m;x`@}>lNKzJMu)lT;? zYF^((!826i7IxgC`i(l|9!Td{ID;gDhe;90B6yS%fhvN-+=7?n*aa+ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/EtreVivant.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/EtreVivant.class deleted file mode 100644 index ea00165fec176a2988c848c08541356fee0f794a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 250 zcmaivI|{-;5Qb-cMPs3bhfoj)QYzSpR)RvnezQ)(hRtqRCpnyj2k=nhTBWp@pJ5*V zeDnT1UjVR&X#_n1>)d0bBpz-^Uk~d_50gT039@CWEh?d0zI-V-Hk%s_6C77bv@5% z>fxuRJ{o^;JV!TNC(46CR3RZt>rwaZ0YlZ8kJ{qgoQgc>3g+OZx-$mtFkURG1=eb1UqTB(E?2ChGBr91Efas7&ldst)0wq4&1I}FR|QVH{o z*2_Us=;)Ok@_b!av4Kr)L9AiIP_NE!0=4@~6Zh$!7z&2#J4ex|?*#9xzDJq%e{^W` zy39~A#@R>>_nK+_jDr8Ae%S! z=dgqAgtnK^*1r?0bYD2fgEI(m@KB5c`2vs5pm1GRHY~<+B{DCI3jNO{dUQM|Oa_fV D5xnOP diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/comportement/CapaciteMotrices.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/comportement/CapaciteMotrices.class deleted file mode 100644 index e2f970396eb318471ea47b2dccf9869775f25d01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224 zcmajaJqp4=6a?UT{v>K;;~f;i2WbT@1gnUJV85;}vSE`An@tX9;Q>69n6x%F!xRG_ z^Zq~ zj0p2wwTi7OAAG*$q5~nWC8S0g!g`thH~Q&zbtTL$uJKxq#tLEat8IEHA`ph%2Y@^1>ar)qmytHE^^$|U;Z4)n(###&C^8gAVkWpJ#<%>kKa#GtvHbt$-Kekh_wLDwm`+XW z{p#Y|*LnRE^X-rC=^H#SmLQ_q*hg+YNcEx0(o~_Lk+vxmDkH30ng>F zedq`DqpHp}X`d>w$kKRbWS=v~GyeJO`wswb(JCT?tb?43JPHguXNJd8a2;DNy)&b( zwCAYoa2cMOvc*oPeunf-o)0083f5g!0roGip=;mA$6R!NnPotybBFb5i10 zmavLP_i38N<5=7S|D>klLzVV2ze4 za`1xT%>zM(@mSlxy)A?yiWG_6OCxc5tKA%tv1K`2TLS847YXkCmYn^0Ftw8F*l*C^5E+@RLFL+Kmp8Qj7pfBBF9mCj}Hl57JxvK5-* mDppX(24yxVvpmJZCSFlQsMtb*n6}B!BU>%cQLsZn2F>40^Z3L7 diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/comportement/SubitClimat.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/comportement/SubitClimat.class deleted file mode 100644 index b5df87abf0f8a47f66ba5acbffaff2883429068b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 215 zcmaiuy$ZrG7)5XVY1PTc&_O@wsNfY%7>FP85)Ml za}_JoXD9{jaTS+P^-!y03w4I4rzy`v!BuW}s83TlS6a(MZf1u(N=~GfTtzd@U&SgC znkeEVV(dG^ zh%kv}Nor&yW5bWcOoYnFw+W>j%8cPfa8bynNw>!&^oUBt&>W~(9_P_Srtif>lf@q- zq0nQIDtlfUUGq^#I@}onYB-Sa;)3 zWmVTkNuGxCjj~F&7M=0THUz`&JDEnx7xQtzzecRmhJRIAPw7OvQI>E+(Lfd3G@7_ZmU{~ruHy!sh@c3=ik%JQP=K4bwG6{)wRh#t7kHm&hkX!j70e*qc{1*8A~ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/impl/Oiseau.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/impl/Oiseau.class deleted file mode 100644 index 13aaa23f210290ac74e15ae840378435201dcce7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1542 zcma)6TTc@~6#j-n7s?`7LA;?=0o!s}!Mg>FHX$}Cmjr?j`Z8>XGB7*a?9MjvpZFI{ ze9%NO;lUT*{87fUZKKsT(udhO=kz<@xlVulJpBe>4Qna%Az`84#sHEG3kQJ{x!jSF zaa?r}h`LltEIX#Q?09}fDB(!2rkv+mdR#FiSEQC^jbSxgKH_!mD6Xr{jtQi$7RqOn zm8FOZxxFC_V#q?u#xU&Ov)GcM;1R>1-rrV{Cqf2RN)gvN8>1Mb^s2&a`X0l0HrJV7 zj7;0OfN=(kka02$d4l$scnTLWY2lKM%W<^X-rN}aHTOiC25{BJHB2!~di+=veeH7d zN}5BGLc_J8dY*LaYe%O`U8=KigW>VnDY?E^^8+J1p^dX4s{uD63K-V9MLwIZG0{?P zkE$%v!Z3`Mr52l!w=aTSzOTrVF8eN5dpwY_-ZJ)^LrL{IJ@me@fz8<$7!o=jaJqB6 zl!0nYG}{AbBW;G^cwv4oQzDxyQ2}Jz4n#=(;YRwJA+_U2fh*Q!T+MJZlf`%_3}Y{R z--IUMwGCko{Yp5R#8L{&xM$&hJnaVz(|_hCb=^M}tq0RwfOYN~KX}XVu6+P4V3YJE z*A*qg>9X%1N3}v{>1~$39CzQ=L>Kt$HvHE9k#J3+eW6+uMXuD2G@>wwM+`ZZsryP~ zDqM#d#WTV8_f=|6rV?dXhS!BlSFQCZ?UL3aC@LO?BDC<7VWy)6-72%N!f^fnPAc>o#u-X!e}>HT!u`MLS8VEL&pus)IAhgb^l;FeMV diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/impl/Ours.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/modele/impl/Ours.class deleted file mode 100644 index 20c7c294a9c313fec9eef823e83a9cc3f22ee304..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1685 zcma)6TW=Fb6#mAJy|%MSz<|?08kQ2kc1X6Q0ZL4`nWnMiTtuQEwNK;C5D!`Ju6D*b;Y8sf#XUtd?hLENKy?~J zNEw)ASpIVMj^7FVP>GK4l)V;{=Sp-#hSHGOjmjlIlv|$mLFk1bO<~*bhK^X3I=8&$wV*)>`;qUf zNQFFD7pm>=MH5*p7f{1p11q|xG{v(Y<4f<*KM=_%_u9P59p#5d48QajIWg>ku5oYA z713!p$KF=^+RfAzT`QkjAZ;>1}*ZZ{4~(^t+FTBo*lN2#>Lf Gseb@W%8>B@ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/persistance/FileReaderPersistance.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/persistance/FileReaderPersistance.class deleted file mode 100644 index 3b25fe5f5b9067b8aeb6f8da5989c8734f238fcc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2511 zcmb7GTUQ%Z6#fn*Ims|kngSBEU~7>i5T>OUYl0}yMq7baf>G*qn4G}iWF}4~w7$vT z@X;51?OF;;Spq!~1j!ofLuTfjv-h|6`SvY;z4+r#01Mbr(1Tu%kcu!O z41>G+o~~KCy{$di+7*V!5Sce^(_3KZO{R)5L=odqRP;e*m@m6p-Ox3&?rDZqcEz4) zSz=D}s&iUZxHYrp>9!%XylIJbp_hdFu)WI=Ez`cOR|G?RrER(3xu(6Hi(-IbK)20` zZVA^Ev)&U=A^U^U*Yga+$+J4CBF6|iXm*cLbwdSbP3m4?^gm05Phw{E0I>!waH*t$$CcvYnwtr)pqr|+v>(o7Y;ko4hG@L3bxQ%x? zvMO@28V63&*v}ftrRCHF$9t4h?RweRah=Edmdv?%yszQ|EHd=#rBb0@t-6A;vcxdj zNq;o^xUS*dG|mv`!R>FyIlR6WzNIqseqq!`?L&~fk~!&uvs^}6ku7126Z zkjFh)1dALWGu#TGva?;t>z-;9p=Ama!?_jH7Hjp&mT))ZeP!El4BaZ~t|`~e&5*Za zQbI2T(cfvVYj?^qgk+&H7_Sn?b_xV$X4e{_AW(O;oeEW>-|nd01UcU&X&GYrNz-Bo zO!-q~#Guq#t&1TYWR?^=%8IgaTiBAIh}&rG)L#60Cb?#tV_?$Mbw=8}$t4w9kZO0vsXhvxZhW_@R~t#gL4HmJq-Q5- zP;ZaYfMvK(zqp*4GYui!@*T06$@<`G`YhK@11nK{B(Hk=6mj*ASN*+~4YLrngJ$>vU$&mj?&K%;M1B_-v{)b8^Bz1^|MCjQ8&aWMypG@VYg^!*+rQ540 z;1Tt5SCVj2gfve2 zGlY;rjoy1m<1wc3BQgzA%EW1wcrFkUC(Q^p@F~S{nEo#n@frCufgAW7n?w;!Rl-wA zMkUX_AP;*9D~7M|bt88BtvK!D8}eR8Wgj}WC=dpH=MZ}#{|4OVC~=HG$MrnN{7bSH h=7@64am+MM=fUV8`W!t=981d_cVYxqCWszv{{x{5nePAq diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/persistance/FileWriterPersistance.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/persistance/FileWriterPersistance.class deleted file mode 100644 index 1e63e2ec538d521c02ddb7408eeeb764fda9b3b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3224 zcmb7G+fx%)82_D+uwhvcqfkRFDi!1wVo}s4)>ct87D0t#(cYGDfQ8L&+}!~7YH!;6 z&0hb24xRC#<4g-GGu6)Y$+u1)I@3R(GxfE;_)zJ0c0&@TOr)74yXTzmcD~>5`_8#_ z@A^-Ri`a*+W%y7c!LJ~IQiiGtbxMuusxcPr8=l}vhoN+@W@yenhLWb{!7>C3Seh{w52BKxQZ=-cs&h-@?aquNlm99a>sp5DrvK_R4@y`^)?8znS>RYk z2vss_@PLF33c{#mXe$za${gW3kM7U8r*OpvRL8U!YMPoo=NU)SqlxT%yc`?xkc2t~ zo3ME)jAbGW(zt5(@)^o3CG@n=s8{eXwleq)cY6Jj?E)C$5*isI_m5XgrS)vkKLS!dpr76)oD5C+p6zs+xBIFo%dd(EW@ZXEU0`drhM^qw5Tfg-r6qmc^c(3ITXR!G0WIkezdB-aoB5 z$#KDk0w!jK6U_+;2g!Dx*9jwOrqZgT4ePv1S8cm%oC=K}vMke*(Ix8e@ajSC(`>G0 zWOO5;;3%FXW>I2#G@fB-Aqw3eDj^$}aSXi@`V<@&$!%PnnjkCHt?+(QK|cl<$^|UL z$MsB#Q;vz-2^oVpCE;lWLpZ$zg-eEn;qWm|brf_=4>wWHi52)F;TeY3`v>LHt}kQR zGS1*R1<#9+WG^IB)9oNsN>C)ijgd%1&?~86M0C7BQa5cbVU%HA9;$(H%bZpTCm9^$ z3N%bGRH!2({h4&y;+_tWgh2^c|W>^0cFwh6ID5Ht*(S#&EP0 z&#lWyAuZb5gapdY?jrjxY_D$dEbFZPE^1#4YkD+;_hwSV+!_$O5q;K7s`{X6X=0q6 z^gH7kVYaUrXA1qT*v{irnLKGxT`?qA(<$<;HD1i|ioJ=FOzup#1Q?>l^b7lvS2Gl; z-z2I~t*u&-#Ki`^)98PA^foC}-Nr_sR(ZXGh~f1-T4R*5>fCezUuaGCT#5sbp?wwc z7NnIJpUoaaM={lvb4-lychuzMF*Thfiri0mOLBof@pwfVv_0bKE|DK zbHrX#iVtOcgpVbBB6{ej4E6a!u)IQudL1>VOAuWsEHcfQGADV|GkHWcMs#j(?J>>C zOgdiBg0n|K!OSwn0czdxGX<+FwEV0>m#XXibRZEBO2RO><@RlEOZc3jAs_!T`^y89 z@FhcCaZ#d&w+n2c3yu#AXXzIbmn=GSO6Z+#JoInVsGHV(^psoX!CG2>gmi^QJ~;GW zNwUCt_)(2Ay6a?URO3lw3ez+qJ=ZFcPTcsiHakg%(VEl}s+h-`yg_k21YMR&QR^C0 zJh7}Xh8djmO!#WawM?>i77!Y0`2o^A*7vr~p*rRd`>)|ahHr3Lylr8)iH2Ap(iRR} z!!{r05Q$W6oUB#oPVx=X!q;P4qbRCZam&paiA~x)O>ggduKe~Xf zp?Ms-5iY%n?pQDq4$k4o9C~v0+?f+s@f6L>qDIJ_iIqjdWpjAeoAtt&T|5y9y&%-) zFg%M5F~9es!~$Wz2yrazzcGu7-UXzFBJ(hBT%o-yxP@Qou=owX;}3cQf8sAp(ux4) zG{FGWk<=!-m2JUJ)FVcBnl3aVffk&nJK9CG;SwU0r*?dcD89pXET98FV+VdAja%p> z4|QaBH(Bn)ZS2C|*yG}Il4x_0?7oPX=lXq}|Z29mGtsg|iKL|-^m$3034oGOAFRPcf-9_jwf;|%WA~_65 x2ui4t(Bz78Fj@%Sg^x5Q%gEEaWXp&5@IF0d^6~+Vy6L3;EIYo0FYpz@{{n80aF+l8 diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/persistance/ReadPersistance.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/persistance/ReadPersistance.class deleted file mode 100644 index 4b1a222a2165eb4ccd5d8f49deb2c3640c05cc39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 267 zcmaKny$ZrW5QOLAPt?l7htS3a3!8voV8{`S;^UIhPNBCgD`$9NCA=K` Z5su$*Z3Tr!m}IpMxwrK0#BFNlCh$Wa>R>1>fr5!kTnv4bH*zW??;2Ta=x4PL z4Ybe?=tq^#?iw6QSo>v0Gt!(hnj`)B`|~$|CXPKUq2QqCV;L(9TLUo>T#N9Ew|fH_ zSca8T6)M|gC{$}*2QI^L-|#pPT*a0Lx^Lt}X)WvAj_Q0ET}myv8jdt?tFaWZ3y(lX zY9ftYg^zUy8$LF%#jrmgsHJ4gP&{v6yl1Gk7At6Ya8OFFbcdl?ZOty#u||bgjYV-j z)Vdz-;l6_hK6dbs;b?vbZ$mW{S{fx895IMuD-A<^k>=B}W%Z3(*TrK(2qLX|Mmc!O z@Fs_SB+Xcjtq23jJ2viJNOAdbmUHl&;q`*`|J9NJ??_jM&6Wz~c|7b%^GWnHWlF6m z5V|XjO5$meBssTP_ diff --git a/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/persistance/WritePersistance.class b/2A/Java/tp/tp2-zoo/out/production/tp2-zoo/fr/uca/iut/clfreville2/tp2/persistance/WritePersistance.class deleted file mode 100644 index d3675d190802dd469b563972367038ac85088d1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 271 zcmaKny$ZrW5QOLaNz}^5chJTK8;gKolS)t!v_8*`oLqj`TmrtDg%99Ei4g_C!e-bV zhTU)OkLwM<0{svzg?S=W8BMnGWLzR#TjzL2zL-(LQrgn%%rNc6dft4E5FLf#S=XAJ z&Q7#GoY{DVfQ?vT1v6g#Ii2Q5c1+96rrNPsj{c<+ZG0}5Pdt8a(PXDE*yfcOj;(86 bj(#DhFTOxQq1{vlRKwgw@R|@d+CuLM+_F-a diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/Main.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/Main.java deleted file mode 100644 index 0d27a1a..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/Main.java +++ /dev/null @@ -1,17 +0,0 @@ -package fr.uca.iut.clfreville2.tp2; - -import fr.uca.iut.clfreville2.tp2.cli.CommandLineInterface; -import fr.uca.iut.clfreville2.tp2.io.*; -import fr.uca.iut.clfreville2.tp2.persistance.FileReaderPersistance; -import fr.uca.iut.clfreville2.tp2.persistance.FileWriterPersistance; - -public final class Main { - - private Main() {} - - public static void main(String[] args) { - Afficheur afficheur = new AfficheurConsole(); - Saisisseur saisisseur = new SaisisseurConsole(); - new CommandLineInterface(afficheur, saisisseur, CommandLineInterface.commandes(), AnimalFromUserInputFactory.create(), new FileReaderPersistance(), new FileWriterPersistance()).executer(); - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/CommandLineInterface.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/CommandLineInterface.java deleted file mode 100644 index 57120d9..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/CommandLineInterface.java +++ /dev/null @@ -1,89 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.cli; - -import fr.uca.iut.clfreville2.tp2.cli.cmd.AjouterCommande; -import fr.uca.iut.clfreville2.tp2.cli.cmd.CommandRegistry; -import fr.uca.iut.clfreville2.tp2.cli.cmd.ListerCommande; -import fr.uca.iut.clfreville2.tp2.cli.cmd.PasserCommande; -import fr.uca.iut.clfreville2.tp2.factory.AnimalFactory; -import fr.uca.iut.clfreville2.tp2.io.Afficheur; -import fr.uca.iut.clfreville2.tp2.io.Saisisseur; -import fr.uca.iut.clfreville2.tp2.modele.Animalerie; -import fr.uca.iut.clfreville2.tp2.persistance.ReadPersistance; -import fr.uca.iut.clfreville2.tp2.persistance.WritePersistance; - -/** - * Une interface en ligne de commande. - */ -public final class CommandLineInterface { - - private final Afficheur afficheur; - private final Saisisseur saisisseur; - private final CommandRegistry commandes; - private final Animalerie animalerie; - private final AnimalFactory animalFactory; - private final ReadPersistance readPersistance; - private final WritePersistance writePersistance; - private boolean quitter; - - public CommandLineInterface(Afficheur afficheur, Saisisseur saisisseur, CommandRegistry commandes, AnimalFactory animalFactory, ReadPersistance readPersistance, WritePersistance writePersistance) { - this.afficheur = afficheur; - this.saisisseur = saisisseur; - this.commandes = commandes; - this.animalerie = new Animalerie(); - this.animalFactory = animalFactory; - this.readPersistance = readPersistance; - this.writePersistance = writePersistance; - } - - /** - * Réalise la boucle principale de l'application. - */ - public void executer() { - readPersistance.lire(animalerie, animalFactory); - while (!quitter) { - commandes.rechercher(saisisseur.lireMot()) - .ifPresentOrElse( - cmd -> cmd.run(this), - () -> afficheur.afficherErreur("Action invalide") - ); - } - writePersistance.ecrire(animalerie, animalFactory); - } - - public Animalerie getAnimalerie() { - return animalerie; - } - - public Afficheur getAfficheur() { - return afficheur; - } - - public Saisisseur getSaisisseur() { - return saisisseur; - } - - public AnimalFactory getAnimalFactory() { - return animalFactory; - } - - /** - * Prépare l'arrêt de l'application. - */ - public void stopper() { - quitter = true; - } - - /** - * Créé le registre des commandes. - * - * @return Un registre complété avec des actions courantes. - */ - public static CommandRegistry commandes() { - CommandRegistry.Builder builder = CommandRegistry.builder(); - builder.enregistrer("quitter", CommandLineInterface::stopper); - builder.enregistrer(ListerCommande.NOM, new ListerCommande()); - builder.enregistrer(AjouterCommande.NOM, new AjouterCommande()); - builder.enregistrer(PasserCommande.NOM, new PasserCommande()); - return builder.construire(); - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/AjouterCommande.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/AjouterCommande.java deleted file mode 100644 index bb355f1..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/AjouterCommande.java +++ /dev/null @@ -1,19 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.cli.cmd; - -import fr.uca.iut.clfreville2.tp2.cli.CommandLineInterface; -import fr.uca.iut.clfreville2.tp2.modele.impl.Animal; - -public class AjouterCommande implements Commande { - - public static final String NOM = "ajouter"; - - @Override - public void run(CommandLineInterface cli) { - cli.getAfficheur().afficher("Quel genre d'animal ?"); - String genre = cli.getSaisisseur().lireMot(); - cli.getAfficheur().afficher("Quel est son nom ?"); - Animal animal = cli.getAnimalFactory().creer(genre, cli.getSaisisseur().lireMot(), cli.getAfficheur(), cli.getSaisisseur()); - cli.getAnimalerie().ajouter(animal); - cli.getAfficheur().afficher("Animal rajouté !"); - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/CommandRegistry.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/CommandRegistry.java deleted file mode 100644 index b3493b6..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/CommandRegistry.java +++ /dev/null @@ -1,19 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.cli.cmd; - -import java.util.Optional; - -public interface CommandRegistry { - - Optional rechercher(String nom); - - static Builder builder() { - return new CommandeRegistryImpl.ThisBuilder(); - } - - interface Builder { - - void enregistrer(String nom, Commande commande); - - CommandRegistry construire(); - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/Commande.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/Commande.java deleted file mode 100644 index e60f884..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/Commande.java +++ /dev/null @@ -1,17 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.cli.cmd; - -import fr.uca.iut.clfreville2.tp2.cli.CommandLineInterface; - -/** - * Une action réalisable depuis l'interface en ligne de commande. - */ -@FunctionalInterface -public interface Commande { - - /** - * Exécute l'action dans le contexte de la ligne de commande. - * - * @param cli Contexte d'exécution. - */ - void run(CommandLineInterface cli); -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/CommandeRegistryImpl.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/CommandeRegistryImpl.java deleted file mode 100644 index 7e57a84..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/CommandeRegistryImpl.java +++ /dev/null @@ -1,34 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.cli.cmd; - -import java.util.HashMap; -import java.util.Map; -import java.util.Optional; - -class CommandeRegistryImpl implements CommandRegistry { - - private final Map commandes; - - private CommandeRegistryImpl(Map commandes) { - this.commandes = commandes; - } - - @Override - public Optional rechercher(String nom) { - return Optional.ofNullable(commandes.get(nom)); - } - - static class ThisBuilder implements Builder { - - private final Map commandes = new HashMap<>(); - - @Override - public void enregistrer(String nom, Commande commande) { - commandes.put(nom, commande); - } - - @Override - public CommandRegistry construire() { - return new CommandeRegistryImpl(commandes); - } - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/ListerCommande.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/ListerCommande.java deleted file mode 100644 index a219c5d..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/ListerCommande.java +++ /dev/null @@ -1,19 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.cli.cmd; - -import fr.uca.iut.clfreville2.tp2.cli.CommandLineInterface; -import fr.uca.iut.clfreville2.tp2.modele.impl.Animal; - -public class ListerCommande implements Commande { - - public static final String NOM = "lister"; - - @Override - public void run(CommandLineInterface cli) { - if (cli.getAnimalerie().estVide()) { - cli.getAfficheur().afficher("Aucun animal"); - } - for (Animal animal : cli.getAnimalerie()) { - cli.getAfficheur().afficher(animal.getPresentation()); - } - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/PasserCommande.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/PasserCommande.java deleted file mode 100644 index 4b74c26..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/cli/cmd/PasserCommande.java +++ /dev/null @@ -1,19 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.cli.cmd; - -import fr.uca.iut.clfreville2.tp2.cli.CommandLineInterface; -import fr.uca.iut.clfreville2.tp2.modele.Climat; - -import java.util.Arrays; -import java.util.stream.Collectors; - -public class PasserCommande implements Commande { - - public static final String NOM = "passer"; - - @Override - public void run(CommandLineInterface cli) { - cli.getAfficheur().afficher("Quelle saison climatique (" + Arrays.stream(Climat.values()).map(Climat::name).collect(Collectors.joining("/")) + ") ?"); - Climat climat = cli.getSaisisseur().lireClimat(); - cli.getAnimalerie().passer(climat); - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/factory/AnimalFactory.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/factory/AnimalFactory.java deleted file mode 100644 index a560f7e..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/factory/AnimalFactory.java +++ /dev/null @@ -1,84 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.factory; - -import fr.uca.iut.clfreville2.tp2.io.Afficheur; -import fr.uca.iut.clfreville2.tp2.io.Saisisseur; -import fr.uca.iut.clfreville2.tp2.modele.impl.Animal; - -/** - * Construit un animal d'après son genre. - * - * @implNote Implémentation principale {@link AnimalFactoryImpl}. - */ -public interface AnimalFactory { - - /** - * Construit un animal d'après son genre et son nom. - *

- * La factory peut éventuellement utiliser un afficheur et un saisisseur, voir les détails d'implémentations si nécessaire. - * - * @throws IllegalArgumentException Si le genre est inconnu. - */ - Animal creer(String genre, String nom, Afficheur afficheur, Saisisseur saisisseur); - - /** - * Associe à un animal son genre, utilisable pour créer une nouvelle instance du même type. - * - * @param animal L'animal pour lequel rechercher le genre. - * @return Le type de l'animal. - * @throws IllegalArgumentException Si le genre est inconnu. - */ - String trouverGenre(Animal animal); - - /** - * Créé un concepteur vide pour cette factory. - * - * @return Un concepteur vide. - */ - static AnimalFactory.Builder builder() { - return new AnimalFactoryImpl.ThisBuilder(); - } - - /** - * Un concepteur de {@link AnimalFactory}. - *

- * Une factory est d'abord construite pour un certain nombre d'animaux et est ensuite figée. - */ - interface Builder { - - /** - * Enregistre une façon d'obtenir un animal d'un certain type d'après un genre. - * - * @param genre Le genre (s'il existe déjà, alors la précédente valeur est remplacée). - * @param animalSupplier Le moyen d'obtenir cet animal. - * @param animalType Le type qui sera instancié de l'animal. - * @param Le type de l'animal. - */ - void enregistrer(String genre, AnimalSupplier animalSupplier, Class animalType); - - /** - * Fige le concepteur et créé la factory. - * - * @return Une nouvelle factory. - */ - AnimalFactory construire(); - } - - /** - * Un moyen d'obtenir un animal. - * - * @param Le type final (donc celui qui sera instancié) de l'animal. - */ - @FunctionalInterface - interface AnimalSupplier { - - /** - * Créé l'animal. - * - * @param nom Le nom à attribuer à cet animal. - * @param afficheur L'afficheur à potentiellement utiliser. - * @param saisisseur Le saisisseur à potentiellement utiliser. - * @return Un nouvel animal. - */ - T create(String nom, Afficheur afficheur, Saisisseur saisisseur); - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/factory/AnimalFactoryImpl.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/factory/AnimalFactoryImpl.java deleted file mode 100644 index 7fabe14..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/factory/AnimalFactoryImpl.java +++ /dev/null @@ -1,52 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.factory; - -import fr.uca.iut.clfreville2.tp2.io.Afficheur; -import fr.uca.iut.clfreville2.tp2.io.Saisisseur; -import fr.uca.iut.clfreville2.tp2.modele.impl.Animal; - -import java.util.HashMap; -import java.util.Map; - -class AnimalFactoryImpl implements AnimalFactory { - - private final Map> createur; - private final Map, String> decomposeur; - - private AnimalFactoryImpl(Map> createur, Map, String> decomposeur) { - this.createur = new HashMap<>(createur); - this.decomposeur = new HashMap<>(decomposeur); - } - - @Override - public Animal creer(String genre, String nom, Afficheur afficheur, Saisisseur saisisseur) { - return createur.getOrDefault(genre, (a, b, c) -> { - throw new IllegalArgumentException("Genre d'animal inconnu"); - }).create(nom, afficheur, saisisseur); - } - - @Override - public String trouverGenre(Animal animal) { - String name = decomposeur.get(animal.getClass()); - if (name == null) { - throw new IllegalArgumentException("Genre d'animal inconnu"); - } - return name; - } - - static class ThisBuilder implements AnimalFactory.Builder { - - private final Map> createur = new HashMap<>(); - private final Map, String> decomposeur = new HashMap<>(); - - @Override - public void enregistrer(String genre, AnimalSupplier animalSupplier, Class animalType) { - createur.put(genre, animalSupplier); - decomposeur.put(animalType, genre); - } - - @Override - public AnimalFactory construire() { - return new AnimalFactoryImpl(createur, decomposeur); - } - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/Afficheur.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/Afficheur.java deleted file mode 100644 index e7452d1..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/Afficheur.java +++ /dev/null @@ -1,11 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.io; - -/** - * Quelque chose qui permet de présenter des informations à l'utilisateur. - */ -public interface Afficheur { - - void afficher(String message); - - void afficherErreur(String message); -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/AfficheurConsole.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/AfficheurConsole.java deleted file mode 100644 index 13582dd..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/AfficheurConsole.java +++ /dev/null @@ -1,19 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.io; - -import java.io.PrintStream; - -public class AfficheurConsole implements Afficheur { - - private final PrintStream fluxStandard = System.out; - private final PrintStream fluxErreur = System.err; - - @Override - public void afficher(String message) { - fluxStandard.println(message); - } - - @Override - public void afficherErreur(String message) { - fluxErreur.println(message); - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/AnimalFromUserInputFactory.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/AnimalFromUserInputFactory.java deleted file mode 100644 index aefcee9..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/AnimalFromUserInputFactory.java +++ /dev/null @@ -1,29 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.io; - -import fr.uca.iut.clfreville2.tp2.factory.AnimalFactory; -import fr.uca.iut.clfreville2.tp2.modele.Lieu; -import fr.uca.iut.clfreville2.tp2.modele.impl.Oiseau; -import fr.uca.iut.clfreville2.tp2.modele.impl.Ours; - -/** - * Fournit une pré-selection d'animaux pour créer une {@link AnimalFactory}. - */ -public final class AnimalFromUserInputFactory { - - private AnimalFromUserInputFactory() {} - - public static AnimalFactory create() { - AnimalFactory.Builder builder = AnimalFactory.builder(); - builder.enregistrer("ours", (nom, afficheur, saisisseur) -> { - afficheur.afficher("Combien de poils ?"); - return new Ours(nom, saisisseur.lireInt()); - }, Ours.class); - builder.enregistrer("oiseau", (nom, afficheur, saisisseur) -> { - afficheur.afficher("Quel lieu actuel ?"); - Lieu lieu = saisisseur.lireLieu(); - afficheur.afficher("Combien de plumes ?"); - return new Oiseau(nom, lieu, saisisseur.lireInt()); - }, Oiseau.class); - return builder.construire(); - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/NoopAfficheur.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/NoopAfficheur.java deleted file mode 100644 index 274baa1..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/NoopAfficheur.java +++ /dev/null @@ -1,13 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.io; - -public class NoopAfficheur implements Afficheur { - @Override - public void afficher(String message) { - - } - - @Override - public void afficherErreur(String message) { - - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/Saisisseur.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/Saisisseur.java deleted file mode 100644 index 39366f5..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/Saisisseur.java +++ /dev/null @@ -1,18 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.io; - -import fr.uca.iut.clfreville2.tp2.modele.Climat; -import fr.uca.iut.clfreville2.tp2.modele.Lieu; - -/** - * Quelque chose qui permet de récupérer des informations. - */ -public interface Saisisseur { - - String lireMot(); - - int lireInt(); - - Climat lireClimat(); - - Lieu lireLieu(); -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/SaisisseurConsole.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/SaisisseurConsole.java deleted file mode 100644 index 1bed5d1..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/io/SaisisseurConsole.java +++ /dev/null @@ -1,44 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.io; - -import fr.uca.iut.clfreville2.tp2.modele.Climat; -import fr.uca.iut.clfreville2.tp2.modele.Lieu; - -import java.io.Reader; -import java.util.Scanner; - -public class SaisisseurConsole implements Saisisseur { - - private final Scanner scanner; - - public SaisisseurConsole(Reader reader) { - scanner = new Scanner(reader); - } - - public SaisisseurConsole() { - this.scanner = new Scanner(System.in); - } - - @Override - public String lireMot() { - return scanner.next(); - } - - @Override - public int lireInt() { - return scanner.nextInt(); - } - - @Override - public Climat lireClimat() { - return lireEnum(Climat.class); - } - - @Override - public Lieu lireLieu() { - return lireEnum(Lieu.class); - } - - private > E lireEnum(Class enumClass) { - return Enum.valueOf(enumClass, lireMot()); - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/Animalerie.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/Animalerie.java deleted file mode 100644 index 878a506..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/Animalerie.java +++ /dev/null @@ -1,36 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.modele; - -import fr.uca.iut.clfreville2.tp2.modele.comportement.SubitClimat; -import fr.uca.iut.clfreville2.tp2.modele.impl.Animal; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.Iterator; -import java.util.List; - -public class Animalerie implements SubitClimat, Iterable { - - private final List animaux = new ArrayList<>(); - - public List getAnimaux() { - return Collections.unmodifiableList(animaux); - } - - public void ajouter(Animal animal) { - animaux.add(animal); - } - - public boolean estVide() { - return animaux.isEmpty(); - } - - @Override - public void passer(Climat climat) { - animaux.forEach(a -> a.passer(climat)); - } - - @Override - public Iterator iterator() { - return getAnimaux().iterator(); - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/Climat.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/Climat.java deleted file mode 100644 index b0266f3..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/Climat.java +++ /dev/null @@ -1,9 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.modele; - -public enum Climat { - - ETE, - AUTOMNE, - HIVER, - PRINTEMPS -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/EtreVivant.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/EtreVivant.java deleted file mode 100644 index c8fba2f..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/EtreVivant.java +++ /dev/null @@ -1,8 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.modele; - -import fr.uca.iut.clfreville2.tp2.modele.comportement.SubitClimat; - -public interface EtreVivant extends SubitClimat { - - String getPresentation(); -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/Lieu.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/Lieu.java deleted file mode 100644 index 481b83d..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/Lieu.java +++ /dev/null @@ -1,7 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.modele; - -public enum Lieu { - - NORD, - SUD -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/comportement/CapaciteMotrices.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/comportement/CapaciteMotrices.java deleted file mode 100644 index f640efe..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/comportement/CapaciteMotrices.java +++ /dev/null @@ -1,8 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.modele.comportement; - -import fr.uca.iut.clfreville2.tp2.modele.Lieu; - -public interface CapaciteMotrices { - - void setLieu(Lieu lieu); -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/comportement/Hibernateur.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/comportement/Hibernateur.java deleted file mode 100644 index dfef44b..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/comportement/Hibernateur.java +++ /dev/null @@ -1,22 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.modele.comportement; - -import fr.uca.iut.clfreville2.tp2.modele.Climat; - -/** - * Ce qui hiberne pour s'adapter au changement de climat. - */ -public interface Hibernateur extends SubitClimat { - - @Override - default void passer(Climat climat) { - if (climat == Climat.HIVER) { - hiberner(); - } else { - reveiller(); - } - } - - void hiberner(); - - void reveiller(); -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/comportement/Migrateur.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/comportement/Migrateur.java deleted file mode 100644 index dc1694b..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/comportement/Migrateur.java +++ /dev/null @@ -1,19 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.modele.comportement; - -import fr.uca.iut.clfreville2.tp2.modele.Climat; -import fr.uca.iut.clfreville2.tp2.modele.Lieu; - -/** - * Ce qui migre pour s'adapter au changement de climat. - */ -public interface Migrateur extends CapaciteMotrices, SubitClimat { - - @Override - default void passer(Climat climat) { - if (climat == Climat.AUTOMNE || climat == Climat.HIVER) { - setLieu(Lieu.SUD); - } else { - setLieu(Lieu.NORD); - } - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/comportement/SubitClimat.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/comportement/SubitClimat.java deleted file mode 100644 index 9705d33..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/comportement/SubitClimat.java +++ /dev/null @@ -1,8 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.modele.comportement; - -import fr.uca.iut.clfreville2.tp2.modele.Climat; - -public interface SubitClimat { - - void passer(Climat climat); -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/impl/Animal.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/impl/Animal.java deleted file mode 100644 index b6d9789..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/impl/Animal.java +++ /dev/null @@ -1,34 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.modele.impl; - -import fr.uca.iut.clfreville2.tp2.modele.EtreVivant; -import fr.uca.iut.clfreville2.tp2.modele.Lieu; -import fr.uca.iut.clfreville2.tp2.modele.comportement.CapaciteMotrices; - -/** - * Une base d'animal. - *

- * La classe est scellée pour prévenir de tout héritage supplémentaire. - */ -public sealed abstract class Animal implements EtreVivant, CapaciteMotrices permits Oiseau, Ours { - - private final String nom; - private Lieu lieu; - - public Animal(String nom, Lieu lieu) { - this.nom = nom; - this.lieu = lieu; - } - - public String getNom() { - return nom; - } - - public Lieu getLieu() { - return lieu; - } - - @Override - public void setLieu(Lieu lieu) { - this.lieu = lieu; - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/impl/Oiseau.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/impl/Oiseau.java deleted file mode 100644 index fe6171c..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/impl/Oiseau.java +++ /dev/null @@ -1,23 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.modele.impl; - -import fr.uca.iut.clfreville2.tp2.modele.Lieu; -import fr.uca.iut.clfreville2.tp2.modele.comportement.Migrateur; - -public final class Oiseau extends Animal implements Migrateur { - - private final int nbPlumes; - - public Oiseau(String nom, Lieu lieu, int nbPlumes) { - super(nom, lieu); - this.nbPlumes = nbPlumes; - } - - public int getNbPlumes() { - return nbPlumes; - } - - @Override - public String getPresentation() { - return getNom() + " vole dans la région du " + getLieu().name() + " avec " + nbPlumes + " plumes"; - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/impl/Ours.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/impl/Ours.java deleted file mode 100644 index 79bfa73..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/modele/impl/Ours.java +++ /dev/null @@ -1,34 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.modele.impl; - -import fr.uca.iut.clfreville2.tp2.modele.Lieu; -import fr.uca.iut.clfreville2.tp2.modele.comportement.Hibernateur; - -public final class Ours extends Animal implements Hibernateur { - - private final int nbPoils; - private boolean hiberne; - - public Ours(String nom, int nbPoils) { - super(nom, Lieu.NORD); - this.nbPoils = nbPoils; - } - - @Override - public String getPresentation() { - return getNom() + (hiberne ? " hiberne " : " pêche ") + "et a " + nbPoils + " poils."; - } - - public int getNbPoils() { - return nbPoils; - } - - @Override - public void hiberner() { - this.hiberne = true; - } - - @Override - public void reveiller() { - this.hiberne = false; - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/FileReaderPersistance.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/FileReaderPersistance.java deleted file mode 100644 index 4a82385..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/FileReaderPersistance.java +++ /dev/null @@ -1,46 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.persistance; - -import fr.uca.iut.clfreville2.tp2.factory.AnimalFactory; -import fr.uca.iut.clfreville2.tp2.io.Afficheur; -import fr.uca.iut.clfreville2.tp2.io.NoopAfficheur; -import fr.uca.iut.clfreville2.tp2.io.Saisisseur; -import fr.uca.iut.clfreville2.tp2.io.SaisisseurConsole; -import fr.uca.iut.clfreville2.tp2.modele.impl.Animal; -import fr.uca.iut.clfreville2.tp2.modele.Animalerie; - -import java.io.FileNotFoundException; -import java.io.FileReader; -import java.io.IOException; -import java.io.Reader; - -public class FileReaderPersistance implements ReadPersistance { - - private final String filename; - - public FileReaderPersistance(String filename) { - this.filename = filename; - } - - public FileReaderPersistance() { - this("animalerie.txt"); - } - - @Override - public void lire(Animalerie animalerie, AnimalFactory factory) { - try (Reader reader = new FileReader(filename)) { - // Plutôt que d'implémenter une nouvelle factory pour créer les animaux, - // je réutilise la factory existante en masquant tous les messages affichés. - Afficheur afficheur = new NoopAfficheur(); - Saisisseur saisisseur = new SaisisseurConsole(reader); - String genre; - while (!(genre = saisisseur.lireMot()).equals("--end--")) { - String nom = saisisseur.lireMot(); - Animal animal = factory.creer(genre, nom, afficheur, saisisseur); - animalerie.ajouter(animal); - } - } catch (FileNotFoundException ignored) { - } catch (IOException e) { - throw new RuntimeException(e); - } - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/FileWriterPersistance.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/FileWriterPersistance.java deleted file mode 100644 index ec4d64e..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/FileWriterPersistance.java +++ /dev/null @@ -1,57 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.persistance; - -import fr.uca.iut.clfreville2.tp2.factory.AnimalFactory; -import fr.uca.iut.clfreville2.tp2.modele.impl.Animal; -import fr.uca.iut.clfreville2.tp2.modele.Animalerie; -import fr.uca.iut.clfreville2.tp2.modele.impl.Oiseau; -import fr.uca.iut.clfreville2.tp2.modele.impl.Ours; - -import java.io.FileWriter; -import java.io.IOException; -import java.io.Writer; - -/** - * Une persistance écrivant dans un fichier. - */ -public class FileWriterPersistance implements WritePersistance { - - private final String filename; - - public FileWriterPersistance(String filename) { - this.filename = filename; - } - - public FileWriterPersistance() { - this("animalerie.txt"); - } - - @Override - public void ecrire(Animalerie animalerie, AnimalFactory factory) { - try (Writer writer = new FileWriter(filename)) { - for (Animal animal : animalerie) { - // Écrit l'information du type instancié de l'animal - writer.write(factory.trouverGenre(animal)); - writer.write(' '); - - // Écrit les informations généralistes de l'animal - writer.write(animal.getNom()); - writer.write(' '); - - // Pour écrire les informations spécifiques à un animal, il va falloir instanceof pour récupérer le type instancié - // Plutôt qu'un enchaînement de conditions, j'utilise ici la feature preview Java 17 du pattern matching pour les switch - switch (animal) { - case Oiseau oiseau -> { - writer.write(oiseau.getLieu().name()); - writer.write(' '); - writer.write(Integer.toString(oiseau.getNbPlumes())); - } - case Ours ours -> writer.write(Integer.toString(ours.getNbPoils())); - } - writer.write(' '); - } - writer.write("--end--"); - } catch (IOException e) { - throw new RuntimeException(e); - } - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/ReadPersistance.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/ReadPersistance.java deleted file mode 100644 index 2c2e3ea..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/ReadPersistance.java +++ /dev/null @@ -1,12 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.persistance; - -import fr.uca.iut.clfreville2.tp2.factory.AnimalFactory; -import fr.uca.iut.clfreville2.tp2.modele.Animalerie; - -/** - * Quelque chose qui permet de lire des données persistées. - */ -public interface ReadPersistance { - - void lire(Animalerie animalerie, AnimalFactory factory); -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/StubReadPersistance.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/StubReadPersistance.java deleted file mode 100644 index a7327f4..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/StubReadPersistance.java +++ /dev/null @@ -1,14 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.persistance; - -import fr.uca.iut.clfreville2.tp2.factory.AnimalFactory; -import fr.uca.iut.clfreville2.tp2.modele.Animalerie; -import fr.uca.iut.clfreville2.tp2.modele.Lieu; -import fr.uca.iut.clfreville2.tp2.modele.impl.Oiseau; - -public class StubReadPersistance implements ReadPersistance { - @Override - public void lire(Animalerie animalerie, AnimalFactory factory) { - animalerie.ajouter(new Oiseau("pivert", Lieu.NORD, 5)); - animalerie.ajouter(new Oiseau("colibri", Lieu.NORD, 4)); - } -} diff --git a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/WritePersistance.java b/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/WritePersistance.java deleted file mode 100644 index 6af97b0..0000000 --- a/2A/Java/tp/tp2-zoo/src/fr/uca/iut/clfreville2/tp2/persistance/WritePersistance.java +++ /dev/null @@ -1,12 +0,0 @@ -package fr.uca.iut.clfreville2.tp2.persistance; - -import fr.uca.iut.clfreville2.tp2.factory.AnimalFactory; -import fr.uca.iut.clfreville2.tp2.modele.Animalerie; - -/** - * Quelque chose qui permet d'écrire une animalerie pour la persister. - */ -public interface WritePersistance { - - void ecrire(Animalerie animalerie, AnimalFactory factory); -} diff --git a/2A/Java/tp/tp3-vehicules/.idea/.gitignore b/2A/Java/tp/tp3-vehicules/.idea/.gitignore deleted file mode 100644 index 26d3352..0000000 --- a/2A/Java/tp/tp3-vehicules/.idea/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml diff --git a/2A/Java/tp/tp3-vehicules/.idea/misc.xml b/2A/Java/tp/tp3-vehicules/.idea/misc.xml deleted file mode 100644 index a346fd7..0000000 --- a/2A/Java/tp/tp3-vehicules/.idea/misc.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/2A/Java/tp/tp3-vehicules/.idea/modules.xml b/2A/Java/tp/tp3-vehicules/.idea/modules.xml deleted file mode 100644 index 38d3733..0000000 --- a/2A/Java/tp/tp3-vehicules/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/2A/Java/tp/tp3-vehicules/.idea/uiDesigner.xml b/2A/Java/tp/tp3-vehicules/.idea/uiDesigner.xml deleted file mode 100644 index 2b63946..0000000 --- a/2A/Java/tp/tp3-vehicules/.idea/uiDesigner.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/2A/Java/tp/tp3-vehicules/garage.bin b/2A/Java/tp/tp3-vehicules/garage.bin deleted file mode 100644 index 294a6e2b1d6abf51a26493195495c616e4047f94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 354 zcmZ4UmVvdnh(RN*NUtxu%PxxyepJ&>TD zV^L9JB}k^C@sjM!}r+ zk`oIOlQT;orf~wz(Io7tu>8!D(xOxpgE$Kki;IC?Eh+}Piv?(sE@6`(F3L+SDM>w_ RXX;Qk`TG_o28N1)3IG;8aUcKy diff --git a/2A/Java/tp/tp3-vehicules/garage.txt b/2A/Java/tp/tp3-vehicules/garage.txt deleted file mode 100644 index 725d0e7..0000000 --- a/2A/Java/tp/tp3-vehicules/garage.txt +++ /dev/null @@ -1,3 +0,0 @@ -camion 9 -voiture 4 -camionnette diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/Main.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/Main.class deleted file mode 100644 index 2697c38c10ff8ca635e5d358e98a550edc2e1a2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7198 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 diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/ActionFactory$Builder.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/ActionFactory$Builder.class deleted file mode 100644 index dac569fc215db31f968cf5a3dae8e1d6d3fb8c7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 612 zcmbVK%Sr=55Ukdi%}b5ZPw`cI4^WX>gQR3`w z@PVgzYO1HFsH*PwkJmQtW+#MMA$0Dv7Uo9rJQq13SZ%RR vAZ+@305<$Sw@~*uC=ePRH_`gSZPZpT9c-5qJJ>C27d>B#Nq-U8uQxvdU7NAD diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/ActionFactory.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/ActionFactory.class deleted file mode 100644 index 4c300499abe0b0d59a1baf56e11a609ccba8ea09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 927 zcmbtT+iuf95IvKaI0=Ea;Zp85wJ3eTsPKTO6#!JCnbid03W@KI_xNBnKvcR~WmmT^oX+gG*=#8nMZY?+fa^wY?Bc!Si|P zL$n2phw4N{R%PSp!|+h2p46$+%4@;X-p()Uz&n$TH`ZpLX~2e{H8A5$`NA=1`J$jC zp;ySR*jz4H>Qyv_H#Qn*PwVQRSUi)dO5QJ7hSOmPVn)o{^GY>J5(S%+eb&3MV=}#4 z91XQg)X)<77$>i1a#vmU|07$>{>$2X7c>8zOwb-o3YY3FQ&!adZ7rUamm;{lt8@Qe zmxbpc?g?J~>o5eJ?JU!7)2ckzBzq`$IWJkctSo9~U3pj4w7IV#T6_vXJ)jdh+~h0N zYPd>$0gFHNCHi%7jh5@QKjK+_%`cEoXQ-c27Tn;!!4u?|vfM;aNz1rJyoTGj!!w}Q TUEHVCB_?=4#wL*vj~lHYNtyvH diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/ActionFactoryImpl$ThisBuilder.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/ActionFactoryImpl$ThisBuilder.class deleted file mode 100644 index 22b645c9fc6a99b590b1aeea5d75921526b35547..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1751 zcmbtU{ZG?S6g_X7ly#lJ)cFO9fVvH&2q+(07KMnAOf=bo;m1r|zRBo@T zv=0exq{b~{H#j*k+=g~wQY2TibKTZ6><4~sdB!zz?su7^7g;c zBY6xN!*Y!l_k34$)M9r-{DVn!W8{xd#Dp82k0UNmf>!in&%nRx|yyaBVm2Hv~P%KF}fEdQWI8uc0h@O-v zA5)m7-Aqs9G3^+h;3=IE=${Bf)XSE>LY|%bj?pAOUWT3`$mtMzGD?o2=@<$qhUKy- zVU|EexqL_{OIf0v$SPruVv)dSls^wOCa_J2LY{Jg{JtP@jys=eA4wA?fXH@aDSfg; nMAV7U7eX6^kN zf(Xnnm6SED$cq8ZT8d%iP{1t>lLl^MisAYI9)m$32f=gE;*m>ePnHreB}Qx5l6q7Z zX_#S{>w^yw$zdArNak}4lV_Y&1WEKg19vb_sve1xnvCw|*~(Y}GFcklXIShfVwWUs zb9X&xM;+mXTR+*NDXet8}PgiDBik zS)+{AoVLfqC=d)=N;W8C6-B+&kFsD$rAobStlt}84 zwFALJivQk4`BbD&jw{8Kkrg5J>Q_*j7KZ7IKqw&$8l6w7DH8MUn+16Rdzrqx%R7xG zFD3+wD-1tY>Q5D~DWlb4)1}2d6IQSJQDBR0M^?nt(9LpRhRl%L7rk&#$l~c~SZ7$f zN_iCPR9hR7<2FS=7vqNShrKZ1-8~V$@SDAS7SDBTVOztO26nJJaAqCv*gq0xHI|5W z@boq$avgQ_kD8ElQ{rHUdrepLidEk~in{6*HE_t{`(@c%vFmvv*mQZXC#be^il!RArDE$B=>X5c=rzVHI*2DKy9>g88p<>lX?{X(Nrd`$mu zPz&0d!F7z&=su06lGQM=LL=IjqJJ_l_uzc4eD3)n^&a8V)NhNhrQezIuh5oXlLwsQ z<|zKc^eJW;ex^B1%?SHdkO}gFDjO097sQ*zU4@9|aaS;pEKjzb|mOY_%yt}?#~R30$3cRIBpoDk^j z@N0`C0=0Xk(Bxadlt8%I`}ux%Q+VW=3KS3^Q1;gdQ1Z8Q2!YSTEQ5;ABdB^@hNHYv YgX28bq2c41?;%i!(;)J=4$UC?2Jpb)9RL6T diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactory$Context.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactory$Context.class deleted file mode 100644 index 810a0e2e3f8a992045c2b8e0d755a058ee82c2b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 410 zcmaiw!Ab)$5QhJ0b+=tx?ZHRzpeP3FO+k=Cu~76-@E*f#n-VsXWQ)F<2Oq$PlFn99 z5Ui(RhWV0zzW0yUHvrcd6TBdSKrH5gucKtZKI8G zL!bRi|7;6h%zPaTkF8_E;jiH5O;$qZj$^v@Q4Z)6hFh}zAwW)?R27Gj(~>e0@-HJ9 lfzTGaKug^0B17XSM@J@YbelN}>}_ff`%()bA)ArQmV0eK(mhJ6mRFi~bIe z{t0h_fU@f5=Up+7}}Bk z^r=i#>@)XP9??w4g`xd({vbUyThUDCdxbW~)5YEU>e9 zfDkQ#)f085q)~P%UrkOZ_6%;bG$kkSyfdmmO|xS%^fT*zck~Nt?47pLzQ9uKsDygg z`BPg3t~2=}Npw7;!u9`RI958>d0tv}t4uE@EYKY5sa3vkB=CMW>h%_JAN;41qKNw# zPR^G=V9=>7@{(oRnlBMUHHJJmft8WAbXcSla*>)CmbAuM;bPj?C3Ew_Hg1>06}WOp zxqnHeS03W7K(As$F3V+@Sx;|#hJ2tW8{qdUuJKu}u(XC%)?ddO^Ea5^WJ&oge};Jd5%mvDb6fcz q@C&xC;}*X)+{T?B(i+yWf%{Bvuuk9s9x>uN$K4E?EDP~CXnqF-+fH}@ diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactoryImpl$1.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactoryImpl$1.class deleted file mode 100644 index 4de982d4f82a964d74eb7233f55f7b6f934507bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1454 zcmcIk+iuf95IvhXaTDAo4N%Jc5(AE#Vp=4G2&#l4Dk_EY5R~_gyGgck?8=u2eu5W% z1SBdX9{2!03Naf(0w{GT5|+HPo}F`cc6?^Pe*63dzz#MG$RMjjGmt}`;ZZMi5|=wN zi5=JLg<>QYONG5 z88}aWhBj0VO9l!kGOQ?;h|5Su(U`_wK+~SaHi|H?tYgJM31x=zAs=za<9^?H**z3) z%#eQ~eHrgCWUX39M}^^WN|GlW*lY%VEM61cTPrQO6X2>|jWpbEwOJ7O%js(!2CW$! z2!>Ki`eHvBc18G#cRlh{T7k>G4iBaJo;bC5AR{V4+8!x~Ft-|1QN>~2C*}Mj3vm?M zvhVXa2`N#dFXE{(7&ffGmk~*jz_W@l)EA;>(UeEA9VDSEcBQJ=`W%_xQ;MSUKJ#5K zh@{_tA>u)Bpu=Q%czPizB^bDay9_xu6oQ)Ooz27S^)xIw*dfMFGxa#`I$09m>U=z7Z1Tf$k2 zI7hQ4SxtHD`Z1Wjc?{kDgfkz=mBD!$^F#w8T%&P~dtxmJA}-PTWtwMDrr8x- zrBM+(WEC=Je*}9!4w%tZ$8;(~3YgF_T*LJ_VEs?9H3zIwhAM}fxJ6b&6}MrHJyq1m QR%lJ-uAWucsOJmc0rQNF)&Kwi diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactoryImpl$ThisBuilder.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactoryImpl$ThisBuilder.class deleted file mode 100644 index a59ef4bc449448111f597e09d84f31d3595e4f72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2210 zcmbtV?M@Rx6g@*LOG^<%sZ>QlQE3aVq9V|WNEIOg{6SO0ACqO7mLbb-vmZnsz^Cz# zCK^-{AHat)-kEMnq0&&uCbM^D?wot>$K3hz_t$R#b9fU+2O=7x30y!YL*I_EXXut; zSM;}=JKXdcI`hI7{v1POEM3yj#c)X}1-`KKCBxfZHL7uFh{Vv1god63E~1xVq3r5` zY3L&Gb<--ld{0;wpVa;8W4&yczTOMF|HfyEbV^X1*DHCo&j-a;U(E$%XOxx6Ag z-{lOwD~D#uWKNp9lt90<6}6pRuNzk|pdp#SRSYup98o9w)quR29;?ALxR`5RNjEQP zxW+JbHlO0Sfguey6S#$8hJiz71&3l{`ogh2@-VP>oh?xo#-_!|MTX&!t%|jDIwV$~ z$C1KqnY%j-Bgd7G1x#k|F2ij5K8)7$5nC4(+wcRKkk3c)^9?au_g!IE!oVuB<-k^M z>WiU}UpWJhf@AyqgP+T`I!rO-7O&So0!esN-NO<8JD#xY`zxk zZgRIMlgZG(;+Te2GF+A1a53srtuwr8<;^Lt3fYdkyv$v0oATlm8teQN>1ezJDjvCX ziQMr&Ruy?wvFgr*SadbLpjx$rG&a-_+onVlv#!1Ho>T8=h+EALL-J^B$YdCw_pNZx zRY1j}DvIQBHu-SlSH3tq+bS(hMb>7#&(Hq<)MeJEZa7BRa!aKb$3H6*Ra4a+5VMh(8A`U;q}>? zSJ*TNDU>imPe%tBMrrJquNBGn=soPfeVWsYQlF0@LNYy#G^R;oRn39xnSHR#0kn;M z#J(ebDE56-Kp7e@k}@!bD5eQ=23eXV2#Ahj924|scmSQuO6X6d9i@LN^9}Lr_)lDp z;2p_*6WN+9fg?BseokO>7{m(&oT(iSfe8i=@kkjp3x& c+9_fUTqAqkB+ny8xp;{}XAH0Czt|c32V%2t1^@s6 diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactoryImpl.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactoryImpl.class deleted file mode 100644 index b37957446df48876e4852b23dfb4371a42eb3b76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2884 zcmc&$TW=dh6#m9`yzwPT-Isn)w@y&I8N zegH2#@(U0zAW@ZogphdSN1>kC-8gF}-71xUSee;5GjqQ0oHOUl{Qb{we*jp;7iq*0 zSCGhJ0!fBTkF-NgH8iuU?(99{y2Frc2vaz#4Dn)VH-$;06r{7rAj`1au~k>sRN*?R zZggyZC=7$&R-OJGwWH~dWgn@#{6Ofg!8iQzX0LBBOxnCF29C`cX0|*`*Aa%gt@Y~? zVmgZ%sXt*_y+H=E$SIi1;xeuE);>4*5R!1Z+*voY!GK||Sn`oP>pWpSgO_ks z!L=+FkY|`0VL}$uZib~|XrJ$udRSE;Qt--%|5}bM%DLg6*g~LX45sukt^qr3(@sS zoKN>HhWsf+$2E0FSf;uWd`zN50g%iUR0t@-?Gd3~yp={7H{|iU$?$D)>&4X6qxK0) zebDI${eZjn^A@%=F%W}+Tv^)9UwRtQ(>Z|l)&_iS>0mE#)ENNU&=UHnd%Jtx& z4)c5zm7+nXZJqL0Rs>=4rrX=&c3aysNRr#Kbj{e+Y$3;iFyR~sN{N*yi=W{xS%iqw z{HR(w>b`0=J4QC_lOUx+^#A7whM4?Y;gi8hQZ4Rro8f+B5|5v;aHR}fM`igixD*(w zQQ;d`Mro?sT$1=MT=z~w5|OtrS|cvTE_e3qQ)SRjiW5UAO5X@ahV)=qtLWBy&c;w( zWB9(&uGOM8jQe%N(GYoAOp-$Ta!D+2*ng3>54ztVP5( zBGDJyR43M4VeHF;lif5;ZhM7|Q}xJ%CKa?8Y8MANDZUI!P=-;UM@$TKl~9|LZzcM^ zOE0b%?$MauHpB5U;v}8GJJhbw3YYpg^)uxsVCBkVDCO#7O#MuvINqf;hXl2A)Lupk zS1^rv)JRhBx1o*(jYvTNE59UQ4DXS2o_c@o9#Qb;mPzK5TP4~1xKFL5vO{vYI$!<; zQbfN9rI`{%2tkFEfIv&z`sr(xx$!efV z$`w-X>0QbdJ-ti6qx@yLdgBSI$518WY%Osuaf&9Ntss+2sCbBXeO*JuD$RW0F{)w% zA9|~+_z0Wiq!Rs0K8e8Sk7@jgXU7({sZY}CCOuj{rSAorD^oB3niSK|$mO3?RNKka EQ%rzFaR2}S diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/io/Afficheur.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/io/Afficheur.class deleted file mode 100644 index 8e36c77ce221838d1911f578100c23293ed6e4be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 197 zcmYL@O$x#=5QX3P)7CD;jb~6d26QP1E_5ZhD7cRyttp|EA?e{x4k)hk`&a7>7s@&1sy0 IWO0wt8^($1`7 zoBbqClSmOG$qCsR7BZCa-sm_RWk$*QfZ0tKEe2PWF*ep%%lpUG=yRH>IUhA0%I~o6 zuE5jYQsmNLf9&8oZdllGv575#^(AfutRwao#bmdH7iA%{I-U*sV+*$g9$&Hm0=50* z6BVE})UkS-&nL=!kP|M6H%vkqjiu4NFN3x0K&JxFhL_}*1s({j%0Tw?=X52CcVg z_mL-yzAgU@!rwlHI7nuevg#xmRn;Wqz+>ye)d`o95t<+l3( diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/io/NoopAfficheur.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/io/NoopAfficheur.class deleted file mode 100644 index b700f7d28f7b0adbbe4d9273ce98c505c03bf52a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 588 zcmah`O;5r=5Pic}5vwQ)o;?W~-9+OFLt>1c8a!aQFLet`N=ufO|K-WVgFnC@Wt=Uj zK@&Lao1NMB=4(Gb-`)Xqa8yAKc?Sg-MU)78V>y>1l+jQ;4#vt)2&Eex>7+x*H(PxN zWx`otMCwbS(?s}TVANcPp}G{w^h)ShbmMq>8wA=Psnj^A5Kh($e#nHvUHq&FRZmB% zn@$GGJjp@Gk(w9#GVDvEt-lNwl98Sf&b{^dR~l*)%5u@2A=I1R@5H^t=xEq(^$E^I z&1Q0#75+yc?0#psH-?8KRC;l0eD$ESURMfUSUry6@TLh{y!Jd>-ZtYldx9;oEuOxD zUigxO%V?i1b%)Vi5U`6Xd;Ck-XSCvLJ~RIi^ E7jFG`8~^|S diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/io/Saisisseur.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/io/Saisisseur.class deleted file mode 100644 index d25accd7962e5deef04fd365d071ff240aba94ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 204 zcmYk0F%E(-7=>R^L1ECrL%?Da9ZeifNHh+dpq3v}Qi~~t!#Q{W4`nP9j_>7r`QGRI zdILBii4ZWPmF2w@T=kAiU0E8G*0ksDdElz$g;1U9I_hnNIm4zAgWy`2n&0jXNym_s z^bn>bdu@H%rrBj;3TKt6kAF~ZJTyzQoFOjS-by+vO$_Tvv>W#!gXjEDAn@J=LX7?h LOW!c8#vbtxWl%Gx diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/io/SaisisseurConsole.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/io/SaisisseurConsole.class deleted file mode 100644 index 901020a22943e9b4d281392164ce68a66b1baef3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1213 zcma)6+iuf96r4>$+&WHkzZ58!03}JG?gh$2P+uw`MM{fAP$V85XIr*%?8=u4{)q=b zKqQd(06q$F*0!2bOx1_1a_pHob7qhH>-YDc0Cw?AMG9#J84cHvWhfpSr-p7B_L2T_ ze9TRsA^Tj|!rx^`w>u*R3k;v@xa}4Y|pVcgW^Tq z7%EYV^A>v2Lq&S1GBjcj;UKTLF)_v#Ckql&mzV}a?L3A|3i~KDxs2-yZfLlPmA~>B zzW01SWk?B|$cZzmG@&Yc+|h6sEryKE-%*6sb|=Dze&SvdcVEK;tkPr>*S85uA@>!u z8QNEkhq~-J6N;xW5H>#urep5Dmh&={2aai2Bf}N4jvr?Hx58uC99*?QoPUp2!3*z_ z@}J+aOqaWq98F=-!qA0LY-jPrucepyYQ+gKv=X!f%zOhO$xfot*?LQYcu zXC2n19HpG61!j0izp~sb+UhL*r%j}@L)AVqgaAt28CdrRls9WLEPjRdi5{lVrE>{s zI&%b+tC`0dRrQF3M|eyX(Xoydl9bZ=WzyvY=>ka?LwCv28`zAc8<$Df5~M36T_x$- ze_U^1E0&hA$Ut_&z<`DBXEbNHHP1nQ3xFo=<#MQ|5rc4X1`OM1#Tt>O)c6AJ8*YCj eT$H8k0!m5_dXfJGtI7O(A1?4)iTtM_YUdBKq365+ diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/modele/Camion.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/modele/Camion.class deleted file mode 100644 index f0018d261719b17abb2e0674fe7689c8be9e884e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1618 zcmb7ETTc@~6#j-@wv>gIauZQ5D%uudMZ6b5K#fi6B|@60Ps4Vg3)|hgJ4^Jx_y=xhQn#rwA z?Xl2pr^b++H!MRgFvRkOs)7{5sa8L%s$Z;|VIW^=A+1Wsur^DDY9}(tD(F>_Lmxwa!_hpQYlbH^-P~}* zjzKjqYO*<}HSC%&g|@;QRFWa3hxG&lE9XexfQms3kwe-cJi|i1a#X-l;dgpI>adFA z7$MX;ck3%efnoZ8Py=cwRg7Ycx+|W0+;kZh{{y0p*TeNKq03U?se%cH;=i?3McvRn zlSs$&T6#Ja0stI|A%G=BUe5!C;NiwCEGs9)(Ax|hV-iKIl8!O_%gb}@tE=B zsNZ{Ion5wV=}Lz;LpE+EiA!l*#uWuuRb0b$hOrj5<5|*Z2raA;r7(1^@1ZcfYaeGC zczauDVcL~$)g7ZLZKpkD#pJHrZiq0R{SMMz z{g-KuI+a2$!_dQ^mMu#-0kUuv&}E-&Nk2r2f?Euuhlf(nL*1CAo81A1aauY5cGG1_ z&_01vWIs(O8!_4e$BG}pMqZ)&6O<>p&X4H&QXKh!o_FMn;SBu`QWg-WUjiv42`!Ex z+D!(&00U=nj!uLY)S^!b?YqH#(6K`SDF+I)5>K^Zj+iOTfSM`4OA2h)!MZ;q5cit|zWJQed5q>59!IPtgq!7yfDWeU@nAp~E| z9uX}#lf>eC^c+Sb5y8Zv1!ON!3y44f=D((kw0ymD)cy=^poDp{q{(sakw4@r2QxZLOaZ;`56t!vW!P z*{fi*vcW6kmOXE*b9}A*+l^|v7j~=`y0Kl`viF=JC(QP*RJ^h#I3^?uF(Hgg+wwzb zYVMzPJqXjXGul2nvF`t-DD#a&5G=E5TEN z1eAir1MpCYS=%88E@))QUhmF)^Uuug{`&p>Cx8YXTQHC@k+pFKQw+r(KjMzZ{jT$J zwd!G8CSe381hGAU%HVe4oO3Ez}M)yg>xvGDBGCD9K+mT zc`G2G8_K}fevwa9*^zwL6WWnsxiZeGj!#&mdBMga&NJ9u5w-_HN|k@C3%H0&CNA5! zf~ySE11U+soD7BHVW1f1N4%e>^L0&FvayWoR8hXSNBN{8hpJw$zBO@^p%nAug&07I znYhg`8_&zYX$d8{CqL+vsfsPx^?4X68aKug-E9898~xntjXFbii(14m)0Dn=5gqIb z^(u){Y6dR%+MFU&)O0c%?n~-H?G#axo>PP;BNfsGoLJ=c2%=x)i7}QE9ifEp3Tm8F zIYknGOI2+%`1*=3P~H*^iIMO z9Rh=%8@L79b^7?yw?bEhfhw{zrrUwuwfNG=&Fb z$*+J_8rg|G?qH4nm_BP{p;_znr&+n$XIS4*{77R1nxUhCbPW7+sehu%p>;ZfDd&F5 zv1(s2e}W4PTuCEt6o60K;Ph+4g^6|J1$nt|8jnJrLWi!pCLu}yh8(+y}X OMq0ZEct|V*kNyB+9#x$H diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/modele/Vehicule.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/modele/Vehicule.class deleted file mode 100644 index 8f6de821277f3d2304742b2da900b1833e2d0d14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159 zcmXv|y9xq95X+vARY9=uD=Zw)-qP0MzX?0mfI`*Gz&k#j}rF;izFn>guFk` z7l0k67KOp8j+DG3NiBJ;BX^?88*1-cx`q=g(~&RYld{FoV9~hFk-FQN4pqaxwHO;L pf2jm2If_$xxJubzR)!Qk@1-~Mf6ux<&QAt|j8PtgtTuCj$rl&_Ds2D& diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/modele/Voiture.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/modele/Voiture.class deleted file mode 100644 index f1835fee35e28919418700aba70cb7f5c76c59ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1635 zcmb7E+iuf95Ix&moCddP11*I@X}KmT)U@TELb;1b;UbD60Z$ueo0vM@uwGa2FMI+I zAb~0s3EufAVC=X}xK-`L+PkweXU-YV`1_B|uK;e~b`}Fj7)Y8(A$mXma3eT%(b10dGRQIrJ9UUmaFu0wNfmQOPb?UAXE>w37SuXy~ zFoZp1;xHx&w#EI{9b&;SwJ zkNsUueJ|I9)pdNpy@o6NlT|6#f=;=QbKLxWmN@X)+m5&^d|NpkEmeQW9hZiy-w$T@*Rf0z<8b?+`ztXrOD42{z!KToTTSCMTOBxq>-Ut zOP=-zF^E&qU4((tI725wi*hj(Xg>t@la2!hNI6iXl?vGaql8%^HX)CBdWY9WX%h#4 z540VK(xxMGB1&U+UE(yO^kbMM%b(#B!24Z=PvLAFzC_7F1)0+9CXW0se!T0mtulji zm?MNx%@z?WI+MiGCk*dIBNf9WVMS!mQwfMb1Qvd#1zMrrMJj&|*HFe1S+Zogj%D1! Fp-PKlQ@{R0{h>|In;A(X8&elPW_j;0^0`Da~)_$hk~SvPN)JS z6({SJw5;K|*^*gt^fkjY^;225`b@T}J2j)`YF0_lo;57ZS)VjaeWp1o5U*YTV*$N@q8IIDCkj%&I|BRamOa-nv-xnGdp&`yf~QrS z#3^pq-qrIKD{&gBQE zA9o|U(54?v#j{GTVO!a8+p2l1x|8d~NAOVv!zywZscYP_IZ9ixoe8b9d{JN3nCsS( zz@aesM_3KC8CCI|ESf~gv}?M8=LL5A%=r78U3Tp2+M-FS$1twq1xyHR*UIIhSFJjF zt)`co+PALowLgbZ1ygmC%&bUqD0ore$$ECl1TEO^r0rSdi5rqZQlMa(+h~R}ZfdpK zLnv881r--$Y@Ibr*H+g3xD|Yy!9^Wh@Z3h>Br$^n3T6d*>yRK1T0uq3$rOK?h0sj# zD8%1q5%VfOfy)fwy2DJYC;8sZ@`p81#Ap&%Bso{vIvV~X;k83!!7TZCeqzxe6{VKW z#_FfYvifxu6;SS&T@lDd9R`@(<)G$$dBUME-&(ts0z=@;7C9U3hU3ecv!r`YP>Bjw z1WrHZ(xT?AHCD2LjrtGri4>^DN*tvn5H4C4|G3)j-s(-X|CrGb7o{>IKpqEt>#9f_1YXx z&s~|Fp#Aodk{O;{l11BdN_y}i@7*-5Psm2XE^*ej-J0uY)$_W$Y?o_0+wf)*Z{ckP z@2L18-lf`p&+%h6tTlT@&rWNri)D=~w1%{utI@ZAMner31rDY(t8D7Eqtmv%;#G5z zjfU+eGSaeecD<@c;g3HVxZHYe^g|t59@k8>$o`z`!sVR_{6wB0eyZYU__=>NspyW* zqaO1l`#4RZUg<3HE@?r{TbAzl#iKJDe=TtAA(}U1Ou=sj`nHBL8v}ZAn4h~Cf0uEM z*Is$L5Bb4{BSKtoz7w(~N{`egn8jh#pxACFjL@Mz&47`hjsl;C~Fx-}EyN&eF z{9PP>`F%VCyoV3RAfX@IK#J(#NhL5Lp=VQx`^Rr%asxfX@!&y~s8mAE#qV!GEo`8@ zaQrUL-{Kbcld=NOIy1P0S9srrGFEtBW$-TVz-#z2^8WpGyu@utDo05n&_i^J7J6}n z*ONFvTYa?FLmPdx(!;ffxw;Qu;r(?S#2Yw-ZxJo2zeu7^VlQg+)5fu*@UTYO_tV>T z+(4YxZLH(d^!WzgK7-Ht0^V$hbrYZCT1oj$d>&sQ)vxh+9_qg_soS+)%GH_ zElO=KNo|L2;}t2^CmXWy=|R~(RhNwq56BiT-15mej5LEE!qZF!Dc5r(eGF5W=6P_8 z@m=OID<8^~VLk)>L=BMEL5h&(Z$H;kkQ4t)0AgANK!p4bdGuvivN)fj6fy&1nfvnU zXQwP&@Sh*KrJy8Z_$KqNX=98TBhlZc?%!z?`Z12kpY7cX+y0EjyD0ww+hw(jh}k3^ if0tu1d=KB}T{`#y$9{w#;}`fPN0J=*6@G)?A@yH(qY1+R diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/ChargeurGarage.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/ChargeurGarage.class deleted file mode 100644 index 075edc1ee62ec505f297f1080fc23f865cd13ba1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 388 zcmaJ-O-lnY5Pex|SL+9YCr@7WVnFe^6lr$;Xr08Gs;1BReiPSbPlE+$)?m+qAf%Z*vFO<9u)&cDlw=UPR>+=4WEiDB!vPLc?YJZ02dSNL A`Tzg` diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/NoopSauveurGarage.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/NoopSauveurGarage.class deleted file mode 100644 index dae1a65e4b4f38240a026c716f3f43a8307cab46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 767 zcma)4OHTqZ5dKEMMZ^~>zAkzb4>nN`MvNYe7!!gA4EItCmMpuZyG!(Ec{1_f5Aa7B zrwcJrBJt3f&g1)LI-QTtw|4*+*ePHJ84uYaa+oD7_vBCtUj|)q*Y0T*6K2m%VB!lx zX1~(%kSCmWtVom;CW(deJ5~>k@9QHG501q^+sH(*43rj)FdQ^xGSrE^kyduKhXUc` zpXeV*LiQ?r(1fMB33Marx3#^OZJ#}*dZ?t|lGZqT?99fGCL)~G|5t^rKOUuWKW_T4`~yZaN{t!8C@SwFusrlBYTi_E%v- z;rdDGL2SYx@~}x*P555YzdRRUi!8UgZh$a9&Oj6BU^omPum~i^(yYy9N;k3o;w1508)5y AB>(^b diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/StubChargeurGarage.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/StubChargeurGarage.class deleted file mode 100644 index 2b8826a4fafcce83868fbfe01778acee1f19ca34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1110 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 diff --git a/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/TsvFilePersistance.class b/2A/Java/tp/tp3-vehicules/out/production/tp3-vehicules/fr/uca/iut/clfreville2/tp3/persistance/TsvFilePersistance.class deleted file mode 100644 index f93d03324ace0eea99689c262cd7cb05e5caf1d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 868 zcmbVK+iDY06kU5J%}mmyiRsO|)*>_&JD?y)N>O5B1F;kn^WsA}ot{jOj5A>_!H@Dq zeNY7b06$9HXEI`>c@SUrIs3NOzWw<5^*ewAY?oocv{0yE2}Qz_apa_~a8#N&u0M|C zRQbMq;3SiW&O}DBiW3pI(izHkNmu#uxrl@(kN%2U9*6BWdH6*MpVz#kD zD0^AOdu}|nP$$&05`7VP&LD|Y;4PzpRSRnstYd@FxYz>02*-q0-rihp>-CIx-qc)F z3Zc*r&m^JNSAjfA-=4~7C{BI0H2R?{{E>*1)^lSaIae`L_WyfUEvB6C{0Zhxb3~|m zG8xDT4W=;s5YwRH`Ko1(kEED QBg#6Ofmp0z>% diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/Main.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/Main.java deleted file mode 100644 index 489cae8..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/Main.java +++ /dev/null @@ -1,71 +0,0 @@ -package fr.uca.iut.clfreville2.tp3; - -import fr.uca.iut.clfreville2.tp3.cli.CommandLineInterface; -import fr.uca.iut.clfreville2.tp3.factory.ActionFactory; -import fr.uca.iut.clfreville2.tp3.factory.VehiculeFactory; -import fr.uca.iut.clfreville2.tp3.io.Afficheur; -import fr.uca.iut.clfreville2.tp3.io.AfficheurConsole; -import fr.uca.iut.clfreville2.tp3.modele.Camion; -import fr.uca.iut.clfreville2.tp3.modele.Camionnette; -import fr.uca.iut.clfreville2.tp3.modele.Voiture; -import fr.uca.iut.clfreville2.tp3.persistance.*; - -public final class Main { - - public static void main(String[] args) { - Afficheur afficheur = new AfficheurConsole(); - - var chargeurs = chargeurs(); - if (args.length < 2 || args[0].equals("help")) { - afficheur.afficher("Choisissez votre cocktail: "); - afficheur.afficher("Chargeurs disponibles : " + String.join(", ", chargeurs.actions())); // Idem pour les sauveurs, mais le switch est beau - return; - } - - ChargeurGarage chargeur = chargeur(args[0], chargeurs, afficheur); - SauveurGarage sauveur = sauveur(args[1], afficheur); - new CommandLineInterface(chargeur, sauveur, factory()).executer(); - } - - private static ChargeurGarage chargeur(String choix, ActionFactory factory, Afficheur afficheur) { - try { - return factory.create(choix); - } catch (IllegalArgumentException ex) { - afficheur.afficherErreur("Choix inconnu !"); - System.exit(1); - } - return null; - } - - private static SauveurGarage sauveur(String choix, Afficheur afficheur) { - return switch (choix) { - case "noop" -> new NoopSauveurGarage(); - case "texte" -> new TextFileGaragePersistance(); - case "binaire" -> new BinaryFilePersistance(); - case "tsv" -> new TsvFilePersistance(); - default -> { - afficheur.afficherErreur("Choix inconnu !"); - System.exit(1); - yield null; - } - }; - } - - private static VehiculeFactory factory() { - var builder = VehiculeFactory.builder(); - builder.referencer("camion", (ctx) -> new Camion(ctx.getSaisisseur().demanderInt()), Camion.class); - builder.referencer("camionnette", (ctx) -> new Camionnette(), Camionnette.class); - builder.referencer("voiture", (ctx) -> new Voiture(ctx.getSaisisseur().demanderInt()), Voiture.class); - return builder.construire(); - } - - - private static ActionFactory chargeurs() { - ActionFactory.Builder builder = ActionFactory.builder(); - builder.enregistrer("stub", StubChargeurGarage::new); - builder.enregistrer("texte", TextFileGaragePersistance::new); - builder.enregistrer("tsv", TsvFilePersistance::new); - builder.enregistrer("binaire", BinaryFilePersistance::new); - return builder.construire(); - } -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/cli/CommandLineInterface.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/cli/CommandLineInterface.java deleted file mode 100644 index ca1fe1c..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/cli/CommandLineInterface.java +++ /dev/null @@ -1,35 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.cli; - -import fr.uca.iut.clfreville2.tp3.factory.VehiculeFactory; -import fr.uca.iut.clfreville2.tp3.modele.Garage; -import fr.uca.iut.clfreville2.tp3.persistance.ChargeurGarage; -import fr.uca.iut.clfreville2.tp3.persistance.SauveurGarage; - -public final class CommandLineInterface { - - private final ChargeurGarage chargeur; - private final SauveurGarage sauveur; - private final VehiculeFactory factory; - - public CommandLineInterface(ChargeurGarage chargeur, SauveurGarage sauveur, VehiculeFactory factory) { - this.chargeur = chargeur; - this.sauveur = sauveur; - this.factory = factory; - } - - public void executer() { - Garage garage = new Garage(); - try { - chargeur.charger(garage, factory); - } catch (java.io.IOException e) { - throw new RuntimeException(e); - } - /*while (true) { - }*/ - try { - sauveur.sauver(garage, factory); - } catch (java.io.IOException e) { - throw new RuntimeException(e); - } - } -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/factory/ActionFactory.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/factory/ActionFactory.java deleted file mode 100644 index 2db8d5e..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/factory/ActionFactory.java +++ /dev/null @@ -1,22 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.factory; - -import java.util.Set; -import java.util.function.Supplier; - -public interface ActionFactory { - - T create(String type); - - Set actions(); - - static Builder builder() { - return new ActionFactoryImpl.ThisBuilder<>(); - } - - interface Builder { - - void enregistrer(String type, Supplier supplier); - - ActionFactory construire(); - } -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/factory/ActionFactoryImpl.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/factory/ActionFactoryImpl.java deleted file mode 100644 index 8fbf25d..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/factory/ActionFactoryImpl.java +++ /dev/null @@ -1,42 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.factory; - -import java.util.HashMap; -import java.util.Map; -import java.util.Set; -import java.util.function.Supplier; - -class ActionFactoryImpl implements ActionFactory { - - private final Map> suppliers; - - public ActionFactoryImpl(Map> suppliers) { - this.suppliers = suppliers; - } - - @Override - public T create(String type) { - return suppliers.getOrDefault(type, () -> { - throw new IllegalArgumentException("type inconnu"); - }).get(); - } - - @Override - public Set actions() { - return suppliers.keySet(); - } - - static class ThisBuilder implements Builder { - private final Map> suppliers = new HashMap<>(); - - - @Override - public void enregistrer(String type, Supplier supplier) { - suppliers.put(type, supplier); - } - - @Override - public ActionFactory construire() { - return new ActionFactoryImpl<>(suppliers); - } - } -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactory.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactory.java deleted file mode 100644 index 131ddb9..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactory.java +++ /dev/null @@ -1,29 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.factory; - -import fr.uca.iut.clfreville2.tp3.io.Afficheur; -import fr.uca.iut.clfreville2.tp3.io.Saisisseur; -import fr.uca.iut.clfreville2.tp3.modele.Vehicule; - -import java.util.function.Function; - -public interface VehiculeFactory { - - String nommer(Vehicule vehicule); - - T creer(String type, Afficheur afficheur, Saisisseur saisisseur); - - static Builder builder() { - return new VehiculeFactoryImpl.ThisBuilder(); - } - - interface Builder { - void referencer(String type, Function supplier, Class vehicule); - - VehiculeFactory construire(); - } - - interface Context { - Afficheur getAfficheur(); - Saisisseur getSaisisseur(); - } -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactoryImpl.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactoryImpl.java deleted file mode 100644 index 0431a51..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/factory/VehiculeFactoryImpl.java +++ /dev/null @@ -1,70 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.factory; - -import fr.uca.iut.clfreville2.tp3.io.Afficheur; -import fr.uca.iut.clfreville2.tp3.io.Saisisseur; -import fr.uca.iut.clfreville2.tp3.modele.Vehicule; - -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; -import java.util.function.Function; - -import static java.util.Objects.requireNonNull; - -class VehiculeFactoryImpl implements VehiculeFactory { - - private final Map> registre; - private final Map, String> noms; - - private VehiculeFactoryImpl(Map> registre, Map, String> noms) { - this.registre = registre; - this.noms = noms; - } - - @Override - public String nommer(Vehicule vehicule) { - return requireNonNull(noms.get(vehicule.getClass()), "type de véhicule inconnu au bataillon"); - } - - @SuppressWarnings("unchecked") - @Override - public T creer(String type, Afficheur afficheur, Saisisseur saisisseur) { - Vehicule vehicule = requireNonNull(registre.get(type), "type").apply(new Context() { - @Override - public Afficheur getAfficheur() { - return afficheur; - } - - @Override - public Saisisseur getSaisisseur() { - return saisisseur; - } - }); - return (T) vehicule; - /* if (null instanceof T) { - - } - if (vehicule instanceof T) { // trop beau pour être vrai - return (T) vehicule; - }*/ - //T.class.cast(vehicule); - //throw new IllegalStateException("dommage"); - } - - public static class ThisBuilder implements Builder { - - private final Map> registre = new HashMap<>(); - private final Map, String> noms = new HashMap<>(); - - @Override - public void referencer(String type, Function supplier, Class vehicule) { - registre.put(type, supplier); - noms.put(vehicule, type); - } - - @Override - public VehiculeFactory construire() { - return new VehiculeFactoryImpl(Collections.unmodifiableMap(registre), Collections.unmodifiableMap(noms)); - } - } -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/Afficheur.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/Afficheur.java deleted file mode 100644 index b0cc4c1..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/Afficheur.java +++ /dev/null @@ -1,8 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.io; - -public interface Afficheur { - - void afficher(String message); - - void afficherErreur(String message); -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/AfficheurConsole.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/AfficheurConsole.java deleted file mode 100644 index 2772668..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/AfficheurConsole.java +++ /dev/null @@ -1,28 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.io; - -import java.io.PrintStream; - -public class AfficheurConsole implements Afficheur { - - private final PrintStream out; - private final PrintStream err; - - public AfficheurConsole(PrintStream out, PrintStream err) { - this.out = out; - this.err = err; - } - - public AfficheurConsole() { - this(System.out, System.err); - } - - @Override - public void afficher(String message) { - out.println(message); - } - - @Override - public void afficherErreur(String message) { - err.println(message); - } -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/NoopAfficheur.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/NoopAfficheur.java deleted file mode 100644 index dc4cdd7..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/NoopAfficheur.java +++ /dev/null @@ -1,13 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.io; - -public class NoopAfficheur implements Afficheur { - @Override - public void afficher(String message) { - - } - - @Override - public void afficherErreur(String message) { - - } -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/Saisisseur.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/Saisisseur.java deleted file mode 100644 index 34a7123..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/Saisisseur.java +++ /dev/null @@ -1,8 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.io; - -public interface Saisisseur { - - String demanderMot(); - - int demanderInt(); -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/SaisisseurConsole.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/SaisisseurConsole.java deleted file mode 100644 index 7984042..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/io/SaisisseurConsole.java +++ /dev/null @@ -1,36 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.io; - -import java.io.InputStream; -import java.io.Reader; -import java.util.Scanner; - -public class SaisisseurConsole implements Saisisseur { - - private final Scanner scanner; - - public SaisisseurConsole(InputStream stream) { - this.scanner = new Scanner(stream); - } - - public SaisisseurConsole(Reader lecteur) { - this.scanner = new Scanner(lecteur); - } - - public SaisisseurConsole(String lecteur) { - this.scanner = new Scanner(lecteur); - } - - public SaisisseurConsole() { - this(System.in); - } - - @Override - public String demanderMot() { - return scanner.next(); - } - - @Override - public int demanderInt() { - return scanner.nextInt(); - } -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Camion.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Camion.java deleted file mode 100644 index ecb9ec8..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Camion.java +++ /dev/null @@ -1,9 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.modele; - -public record Camion(int capacite) implements Vehicule { - public Camion { - if (capacite < 0) { - throw new IllegalArgumentException("Capacité invalide!"); - } - } -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Camionnette.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Camionnette.java deleted file mode 100644 index 564bde1..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Camionnette.java +++ /dev/null @@ -1,5 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.modele; - -public record Camionnette() implements Vehicule { - -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Garage.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Garage.java deleted file mode 100644 index ef49b8a..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Garage.java +++ /dev/null @@ -1,25 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.modele; - -import java.io.Serializable; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Iterator; -import java.util.List; - -public class Garage implements Iterable, Serializable { - - private final List vehicules = new ArrayList<>(); - - public List getVehicules() { - return Collections.unmodifiableList(vehicules); - } - - @Override - public Iterator iterator() { - return getVehicules().iterator(); - } - - public void referencer(Vehicule vehicule) { - vehicules.add(vehicule); - } -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Vehicule.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Vehicule.java deleted file mode 100644 index 9266bec..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Vehicule.java +++ /dev/null @@ -1,6 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.modele; - -import java.io.Serializable; - -public interface Vehicule extends Serializable { -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Voiture.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Voiture.java deleted file mode 100644 index 30276e8..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/modele/Voiture.java +++ /dev/null @@ -1,10 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.modele; - -public record Voiture(int passagers) implements Vehicule { - - public Voiture { - if (passagers < 0) { - throw new IllegalArgumentException("Nombre de passagers invalide!"); - } - } -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/BinaryFilePersistance.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/BinaryFilePersistance.java deleted file mode 100644 index e9f75f0..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/BinaryFilePersistance.java +++ /dev/null @@ -1,48 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.persistance; - -import fr.uca.iut.clfreville2.tp3.factory.VehiculeFactory; -import fr.uca.iut.clfreville2.tp3.modele.Garage; - -import java.io.*; -import java.nio.file.Path; - -public class BinaryFilePersistance implements ChargeurGarage, SauveurGarage { - private static final Path CHEMIN_FICHIER_DEFAUT = Path.of("garage.bin"); - - private final Path path; - - public BinaryFilePersistance(Path path) { - this.path = path; - } - - public BinaryFilePersistance() { - this(CHEMIN_FICHIER_DEFAUT); - } - - @Override - public void charger(Garage garage, VehiculeFactory factory) throws IOException { - try (InputStream lecteur = new FileInputStream(path.toFile()); - ObjectInputStream lecteurObjet = new ObjectInputStream(lecteur)) { - Object object = lecteurObjet.readObject(); - if (object instanceof Garage g) { - g.iterator().forEachRemaining(garage::referencer); - } - } catch (FileNotFoundException ignored) { - } catch (ClassNotFoundException ex) { - sneakyThrow(ex); - } - } - - @Override - public void sauver(Garage garage, VehiculeFactory factory) throws IOException { - try (OutputStream sortie = new FileOutputStream(path.toFile()); - ObjectOutputStream sortieObjet = new ObjectOutputStream(sortie)) { - sortieObjet.writeObject(garage); - } catch (FileNotFoundException ignored) { - } - } - - public static void sneakyThrow(Throwable e) throws E { - throw (E) e; - } -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/ChargeurGarage.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/ChargeurGarage.java deleted file mode 100644 index 6d4fa0f..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/ChargeurGarage.java +++ /dev/null @@ -1,12 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.persistance; - -import fr.uca.iut.clfreville2.tp3.factory.VehiculeFactory; -import fr.uca.iut.clfreville2.tp3.modele.Garage; - -import java.io.IOException; - -@FunctionalInterface -public interface ChargeurGarage { - - void charger(Garage garage, VehiculeFactory factory) throws IOException; -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/NoopSauveurGarage.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/NoopSauveurGarage.java deleted file mode 100644 index 84cedf4..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/NoopSauveurGarage.java +++ /dev/null @@ -1,13 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.persistance; - -import fr.uca.iut.clfreville2.tp3.factory.VehiculeFactory; -import fr.uca.iut.clfreville2.tp3.modele.Garage; - -import java.io.IOException; - -public class NoopSauveurGarage implements SauveurGarage { - @Override - public void sauver(Garage garage, VehiculeFactory factory) throws IOException { - // noop - } -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/SauveurGarage.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/SauveurGarage.java deleted file mode 100644 index 0e8c751..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/SauveurGarage.java +++ /dev/null @@ -1,12 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.persistance; - -import fr.uca.iut.clfreville2.tp3.factory.VehiculeFactory; -import fr.uca.iut.clfreville2.tp3.modele.Garage; - -import java.io.IOException; - -@FunctionalInterface -public interface SauveurGarage { - - void sauver(Garage garage, VehiculeFactory factory) throws IOException; -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/StubChargeurGarage.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/StubChargeurGarage.java deleted file mode 100644 index fdede3d..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/StubChargeurGarage.java +++ /dev/null @@ -1,18 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.persistance; - -import fr.uca.iut.clfreville2.tp3.factory.VehiculeFactory; -import fr.uca.iut.clfreville2.tp3.modele.Camion; -import fr.uca.iut.clfreville2.tp3.modele.Camionnette; -import fr.uca.iut.clfreville2.tp3.modele.Garage; -import fr.uca.iut.clfreville2.tp3.modele.Voiture; - -import java.io.IOException; - -public class StubChargeurGarage implements ChargeurGarage { - @Override - public void charger(Garage garage, VehiculeFactory factory) throws IOException { - garage.referencer(new Camion(9)); - garage.referencer(new Voiture(4)); - garage.referencer(new Camionnette()); - } -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/TextFileGaragePersistance.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/TextFileGaragePersistance.java deleted file mode 100644 index 06d8cd9..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/TextFileGaragePersistance.java +++ /dev/null @@ -1,63 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.persistance; - -import fr.uca.iut.clfreville2.tp3.factory.VehiculeFactory; -import fr.uca.iut.clfreville2.tp3.io.NoopAfficheur; -import fr.uca.iut.clfreville2.tp3.io.Saisisseur; -import fr.uca.iut.clfreville2.tp3.io.SaisisseurConsole; -import fr.uca.iut.clfreville2.tp3.modele.Camion; -import fr.uca.iut.clfreville2.tp3.modele.Garage; -import fr.uca.iut.clfreville2.tp3.modele.Vehicule; -import fr.uca.iut.clfreville2.tp3.modele.Voiture; - -import java.io.*; -import java.nio.file.Path; - -public class TextFileGaragePersistance implements SauveurGarage, ChargeurGarage { - - private static final Path CHEMIN_FICHIER_DEFAUT = Path.of("garage.txt"); - - private final Path path; - - public TextFileGaragePersistance(Path path) { - this.path = path; - } - - public TextFileGaragePersistance() { - this(CHEMIN_FICHIER_DEFAUT); - } - - @Override - public void charger(Garage garage, VehiculeFactory factory) throws IOException { - try (Reader lecteur = new FileReader(path.toFile()); - BufferedReader lecteurBuf = new BufferedReader(lecteur)) { - String line; - while ((line = lecteurBuf.readLine()) != null) { - Saisisseur saisisseur = new SaisisseurConsole(line); - Vehicule vehicule = factory.creer(saisisseur.demanderMot(), new NoopAfficheur(), saisisseur); - garage.referencer(vehicule); - } - } catch (FileNotFoundException ignored) { - } - } - - @Override - public void sauver(Garage garage, VehiculeFactory factory) throws IOException { - char separateur = getSeparateur(); - try (Writer writer = new FileWriter(path.toFile())) { - for (Vehicule vehicule : garage) { - writer.append(factory.nommer(vehicule)).append(separateur); - switch (vehicule) { - case Camion camion -> writer.append(Integer.toString(camion.capacite())); - case Voiture voiture -> writer.append(Integer.toString(voiture.passagers())); - default -> { /* Je suis un cas potentiellement oublié */ } - } - writer.append('\n'); - } - } catch (FileNotFoundException ignored) { - } - } - - public char getSeparateur() { - return ' '; - } -} diff --git a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/TsvFilePersistance.java b/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/TsvFilePersistance.java deleted file mode 100644 index 2188bba..0000000 --- a/2A/Java/tp/tp3-vehicules/src/fr/uca/iut/clfreville2/tp3/persistance/TsvFilePersistance.java +++ /dev/null @@ -1,21 +0,0 @@ -package fr.uca.iut.clfreville2.tp3.persistance; - -import java.nio.file.Path; - -public class TsvFilePersistance extends TextFileGaragePersistance { - - private static final Path CHEMIN_FICHIER_DEFAUT = Path.of("garage.csv"); - - public TsvFilePersistance(Path path) { - super(path); - } - - public TsvFilePersistance() { - super(CHEMIN_FICHIER_DEFAUT); - } - - @Override - public char getSeparateur() { - return '\t'; - } -} diff --git a/2A/Java/tp/tp4-fichier/.idea/.gitignore b/2A/Java/tp/tp4-fichier/.idea/.gitignore deleted file mode 100644 index 26d3352..0000000 --- a/2A/Java/tp/tp4-fichier/.idea/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml diff --git a/2A/Java/tp/tp4-fichier/.idea/misc.xml b/2A/Java/tp/tp4-fichier/.idea/misc.xml deleted file mode 100644 index a346fd7..0000000 --- a/2A/Java/tp/tp4-fichier/.idea/misc.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/2A/Java/tp/tp4-fichier/.idea/modules.xml b/2A/Java/tp/tp4-fichier/.idea/modules.xml deleted file mode 100644 index 5e24095..0000000 --- a/2A/Java/tp/tp4-fichier/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/2A/Java/tp/tp4-fichier/.idea/uiDesigner.xml b/2A/Java/tp/tp4-fichier/.idea/uiDesigner.xml deleted file mode 100644 index 2b63946..0000000 --- a/2A/Java/tp/tp4-fichier/.idea/uiDesigner.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/io/Dump$Visitor.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/io/Dump$Visitor.class deleted file mode 100644 index e2ecd73d1fe0e7f9b12e72ff243500e3d238f12e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2594 zcmb7GTUQfT6#h;~7!n7>3#jzsU6Tk*MWn6q3P?=}ff^g@h1Ovh!sw7mCo`yRt?kd~ zFW}j=DwcNj^3;d^hQ9Sz)U~Yr&dEhk8|_*!XJ((h_u2c~-`*#G{PW{408ZoE1R`kD z5Y-VwyFm9%bJ;Xpvs^N!=Wg0oAkco&DLcVwfwp9-7)J-<8WK7-K^I6b_(o`%h7$&c z;L*hf9?MMW^Zno-d$Tq3_#ey4;>q$CRnE;JCIiV+M;E4P62| z)duAgluw62B@7CIZ<|XAbYqK#tva@0yTHK~2QPW^wyPWnM9b!q%>$FE+L0x(flX5X%Q?lN5@lP`LxJKdOvbo-``x9~Qx3p|+!acu-pPc4%` zC-z9t_X=#OyKd~IiZa{%Iu78Vgv~1l3bw5cCt={YM$V}Q%;7MS8d5saI3m!ca%gS~ zbU1w8*52 z8a`}zV+pd;=kHi{C2+j5WP47>6!MHVXq+L?Q=`I0WtMbCQuL$NZBb+AxZ|_AJpZnS z0@=KgdS*a^&V_-kNPMpGmB7bfte16sf-8-Ho7|H;s|swk*e!wG^e=F+o_14Hb=$S) zTJS&4%)FH1GE=hdy1=1V_F=Znc1++JKGpFVZm@#Oav%r{Cvz=~m6GQh%Dg^8RH^0! zjQ?pTu;Zl|q>3ci7{eoMIj3yr!=*Xfza)9YM#y=V=@w1jk>7P;G+1;9a(}DH$%^%J zPZC`vQyT>7mRUa=UCdQLSo|O57^$imDA3m=-t+U3#|YUk3u@dPZWZ9VL)avRz_e~n znU#8mT`Jaf^f6u|;HJ8YI%X|8F8l2@3{`a*dIy_y+3`YR8=r5q#w&1su94^^QSd_F zvTH!cWf2BtW6^!yt_BypYM|k3fqgCLQ!k!?o-LPcf6O&GI~bK#ry%xlBt#%!@)?nr zAg|GgoDf{wD38J7bDm!lN&`rwA3>y#JcRZ@>DqjDQ5Q%eiWK4;-3$Ecr9QP$!Xj7s zCcU$)aB#EcQ}oj!#=X){=)98t9@>#rY+gf81Z#Lh;1PCDQL=9hhXnEiYv>pF4t;zX z68H@xt9WlD+TRmh#mSYYfAz28>Uv$0Vm} zjy+%C3e4gLvfPo0q!}hKNG$^y-XQ02l=?%o7^L1XHHQe*F(!CiB{|ISGib*xxJ;#w z{+3W?;wI%DL6i`bnh=yw!RJifr}QW~p5TCnP7MQ(v3o+p*i-O_i-ryj-AXrQ6fi<8)gQ+zv3oX+3^&Jw3lW<5rm30jTg zGS1^VuP;f68dlv1v8>9T$88cKLY-$=%{H-`#U0$OW3>mdCpfI3msst8jEDp(qJWx_ d5D}U-e8CeU_!3{K^&akXP0+pr_wWr8{{pa)iTeNm diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/io/Dump.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/io/Dump.class deleted file mode 100644 index 9a389c7a32a9356c099ecc9c97eb3ed320e0b188..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1459 zcma)6Sx*yD6#i~on06SpVHZIP6}up#h-(p4zywp4q^1e+X(+et;B=;$nWFqG6A+?N z-+b^l8RNM#Bho+`UhZ=4Ip;gyS?;etU%mra#=49Mq7q^XI?&0`cc35YnyFh=ZF}#4 zmpz8gCBrhjWrk=vQ%WF?galbZ7Zir+ila5lx@I&zt!!2terT8`U(noYMKf$|tyym{ z#4LNCGo%Y`l&@~m|WW-X+92>A<=ZXGhego zT*e@VBn&GU!DtJU;*sm|Izv~LdpnNZ;Es31Fq;mX`eciqV_4OE=CVk_jaFyAW*2T^ zLc*kiTbN={FNenvu`3MuD^T8DMhSsi3Cfg+X;GLNhLvll@2XT~N)m1}WZP6AELW;z zxQ1stGE%rBu+t19A&1uJG9?*VdVk^C@>fn+j8=iY$s@nFsi)h zz!dH&xQ_)YzE^YX5Bi=-?KKqeCK?;t>mSR!;Tg7-rw&^6yRWxkSbVEl-{a2Pz(6h7 zW!)_4jv?-$Fy_?^mm$@zSHnz^?_65~7dTVg6v@6n4pK;rVeT3z|LQ?#-9=9?zu(jw zVXX2wO;^GS!+_s}tqEX|i+0l~^Vc*slrS-o^FoiNVT-%oCKnkY#>$3eac9-kU6<2U z3KNbb^%Bk3}Ed_m_3 TUgA|KOJS8xGQFnAVh!?NxK>&s diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/ConsoleStream.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/ConsoleStream.class deleted file mode 100644 index 3a87cd9534a6dfdf1b33e387f6bf7719ae66b522..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1004 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 diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/Inode.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/Inode.class deleted file mode 100644 index bcc12e6f33efee6b8eb1d1cf36ea7fceba75a6cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1485 zcmah}*>2NN5Ixs*Vw$*3*OZdb1xj(!#ig_lP*e$lkRpXeYL$1_IOSH3jclh#{U#nj zq5|>22k=pdnQM1Z>b5U;a_u=YXU-hw@4w%F0PJGB1Pwz5bQ1*>1;&n?W5@QL;Lv`5 zaOAm(K=FkPWU?zTWHma&xPxH>B@<z$A9f4-ag%kS`dB_s9BA){?!!K=B|lZ+!HX}$a4~E!UY6oZv@p%+-J}j%_Fcv2Tx-Xbxcv^X)M#*g|sdn!=f8?Q2d1Y z#SArFpn)bpaRsaNoIHwZ#>=M2xrOEr%zUFC8n|&$J*=w+W}1*S5ai!HaBUF0kPBYJ zI+bHZcBz%dtyqoP#mxK{!c!E82+vndv(D!$@&`mU1WletWNwg%l}p6VCvr*rl*lR( zS-XY^FPe#zu|X#fby-ehkjO?ZkqYhPDtP28RlB^4?OgB^Y-ZpKIcwyrK{=n%6wj}j Nf=$9xJXIaH{sZ?G{Zaq` diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/Partition.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/sgf/model/Partition.class deleted file mode 100644 index b0dd38b10a72e07c674b35da25460e3c8ce111be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2475 zcmb7F-%}e^6#g!3ayQGi{AfcPt8IX`kU&|B6*WPGLMzcgYeBSBbe7E}Y*}{W?gs6< z|Aeo;_~L_|sqGBTpguX{U*tHB_3RHwkXX_g*xY;WJ>U7xcg~*u_cg=X zbj7Y|Szp> zV~C-DX;^rEwx)a8x}B{!o@WX-JJ3f(zoOzQh8bkvIS_EBjhY-5vY0!rXn>njk;f?E zZt33E92Jm3dpX=v0CP>nI5cWI@nv1NJcikq0%_uQXX7E&ub5k77;OV1YP#GiHEP7Z zyKLHGslKxz+!cMpqI~+wj-gwtx@!je*eLm1Cea)_x%>?Ysf`zfzvWcOr0)n{xP-u6 z;W^eW#o20u?qPQpn^Hb#`jfdt*-}4OOt&rajd&zbjo#`&jz$y5kqOZFiiQTGd=kMe z`aRR)6(o!bH7LWWWnVY87xh}GCdUlNErzS@jR=ObBQ3fy9957z?`Gp<0G00 zgw|fqb+rGIYw1`ve!jRfHKw)^?{MwuLuCpz)=;DHIS1jROE<4V4z1E^JnhF*>t~{!V zdEptZS))@sKRp4V)MOWa(|7SWH4hgew|UES2*3~I@?g&QIZkK+Nul}732lsB%^N2-HH2~|1xOwlSy>jYjW>vh^q({FID!=oW6^P1@1@5RGAy)(J+NAjDgEo1O&A`pHcp+xl4Fsi){(8ZAiI3W-c&e=^xQ z$98Ls19I%T14noc{&XBF=eUXa={W=Ty6H|abF={bECWgh&cIeIweIOgfe z$o+5JAk$w+{YkR-()Z?eq!9(B*+A|*zlX~}kj-)3)#yshs+T@1@3(Lt0e)!9eH;t1 zdyr5E`N;XvJ&gUIe^hq)P!t&@5;Nf4g%4vSE!$xZ@65QhI^ag;?6_w}sC(9x@g#NZ$#M92)FH`9y_HW`Lw7T(K~i3cCRhcecP z33K(*)!*OURex1~eSdrcsNp1s6w(GV1!S>8C{N^E3Rik#(HTyZ6B1T#w5P)wA$@u_ zFtAFv82KV{q|i|)9CzfaxprN3C4%utOlL336XY#~F)K3c7w8AFO-m``TCzd$17`nG93+s#&^7hhn9`FpF=?=Gb@q0s3yP0L8(J$n}Uj%w&Qb2-s< zHJ&3bVeoj_HukZG9NWsrU82BTOz=8$DZyptjRaSiHxsEU7kFOugO%#2jdvIS)tit=351D12tYu7V5$WZUt8&2!act`xw)b5*tW=z^l3N03J$AS`b&_@(nZd zzIndx4*(mCLIezySgHgkRh1-kVr8wgmMbdKglbi&(pcK(<|5))KY00pd9e%W4U705DT+d^MaTDAs>uQX>Iif$(AA3^~olIqgY@biRX_p?f Y&%n@en}NW=_t1wQ5n|vJNA7h*Z<^gu$^ZZW diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/CommandInput.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/CommandInput.class deleted file mode 100644 index 81730cc3506e609608b68900fedfd405536dd216..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmX^0Z`VEs1_nC@PId++Mh4BaBK^|jME%Ut68+?yw4&6q%$%H5BmLrx)SMiB=ltB< z#Jm*Gyn@mab_Nzk27#=^vPAuy#JqHU|D>$cW&*1Axw9U|k diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/FileCommandInput.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/FileCommandInput.class deleted file mode 100644 index 292f441045f8dee871ed8f94d9541f10ae65dc2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1040 zcmaJ=TTc^F5dNkuEG^p>N&yiSQNgwdt9VV8keCVyNfnZsCi-^RF7(jtZruyfpW?s3 zM1z;a`0S4|&R&F;7#?=!%$&J=^PSn>f4=_&u!(0mq>xsSQ89v1!o-m{7MdmOLv45e z$TWPy=!UeVzez|}sx1X$gmM%V_|noE((an=hV=X#au`>js>q{2n2KU->1YSiGPP|M z9zk_Y(SB}OoEDnPmBw(`p71+*HFhTTJzvj3!9)mfk}#K~M7MRvvKXUuY`xmbVhUvi z(<){#OIST{wZIUX41CS74qWqCa`3w5bxg~O@YJ1NPuT4pyC3kFV@7N;tjPfYFU)s= zsgGk0R~5{wxQ6S5;yD4)JwcJ)Rv4~AC7Er2U|qrO zA>Nz5EA2xCON8pBGYsR;Hszr${J=E{OBV;&h#gVexW2xr6K4O4DW1PqBS7ow%!|N zKYU(K!TP_Q;+5LjJ-cDTh1b1EZ89Sv-}HsieJT10(p=LCT*C~Z5T-98S_|J5i@ZoF z5bp3-3YUrXGXE_p+>QJrsIacGXAc=Z0p;2$sP+TOo0YG~o}%~#rB6{tjb#C8mU)gX zaOEOa*qVv+a1X0&aRsbF<39KKoMHWdzlV6lGVIf0O|0i@pHcdTD};|2p_ACULHLDR hCw!g8dAlj7T(rQA!ggw$p0s-$#ZrNtPxzR^)4yRw`YHeb diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/Main.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/Main.class deleted file mode 100644 index 803680ef895b652f480cb1b2edd7d68a0d1cc1e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1962 zcma)7OLN;)6#lLsk)ygKbzV*1X&dUqi50@D#3ewJ6darfaWR;Xq-uDTp0x{2Z0~HFA(#u7GiFDz_PciT;r~yP9^UgHW=Q#K*E>SS^q%6!l~xAi+%xFXbP5+cn!+}sjw-If9IjaexMOOPM>r zncZ3JuNxNnzr_oCzrvBR{XGQ_1hg}2Z?x;K75u#pii#YfGOPEJcpo3I6P{V)Sel-| zT90D(O(P8LU;GYu7~L9&uhOU=D%cQM8YsMVs(0gCM>K(t2*U9W6l@L(QlxqpB;QVQ zD~WBnJrwiEG#Y`aU{_$~%$T-x%c1i%UNnJ`g5{XojrzXnJ=XVazDX5aL$^!1XGy;E zG8P2!*Bq?B|t~&#*twj${pe>*k|S?{p>9DsqP!rrZbu!?GS(smDvc!)-5r z5zsY;cz!}o<5Tb%pKn4u55;>tr5Lz~BF|)70gv%1xnY#>89`_)Hj$tv@OukNIW^qG zg+fTZLTW3dMoDciwvZ~P#+#Tt##EcR+GaAL z+46LZHuuV@x#(ZW{DH+LUT@;9mH2c#^-c@9aue?!W0l;)7S_o^?$|_Qc>a*i1!s@L|ekw_=XMnmR2$9>--y}BdGiX DN>vO< diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/Shell.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/Shell.class deleted file mode 100644 index 186b04d948331ea77706b477a340f8753eebee8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2871 zcmcImTT|Os5dMx0$jBlA6Ck010O8^*0@6#UDQQbcLu+tSr%;;Sgb_v{ORg+K@(23f zUyk!#A;8cjluE8)s`s_x_Oe!xA;I5{ zAQTB53NGO?!^oDSma>{^lw37yZaMm%VVe4kTHMx6Q_b)vLm+GC^P06;WVoCJKdKe~~nagddd3#eg)dkxs+NPdy9bL;4?xMSCmneXla3poH!$}@WA9s9} zVfy^TYmVV+8;7n1@_q%caM&D$?l|1w02f{5Z#NVSVVI%4pgFGL8n(p{Ki|!RLv4ZY zrh-w7G4y3ij-y-dn(gcwR_?ChP}*$g>Ay00q%BNNCvt|qyrz>Qr0PW zf?h0`20@>w^;F$VMjqD~_GCfK;!O!j1#@_d;nFeelu;x*K6{H{EL?lC+89X>rDy}L zOAO57j)J%G4uzZ3>2ObY>6BPFQwv=0F2i^&%zDGM97(uG>1+zjXI9#{GKy7l2EFMgoDf|8NdAQthF zf>o?BNV*7{=%ZHn4=f3D>-a>%V+Eh$Gls~SR%%<6s!}WNGF+kiP=FK_=JkP0*U}dp zB-KQF#>iQkTXG2I!>X#Na=Ml08c&`b#)+~_&L8~hlgP*M<0Emv?0VtCB23CR|Ocpq<0@QTGMnE zavG{aM$=HNX@t>#3+c9EgPvJheFHy9fJF2FEcz1C`T^R@kfSfqSw=7YT`S{yG*-r7 zG+xF?G*QO*w{*aVO?r+XK+irh(M2Fa=tVaM$n6NOVFLY#(`464BU*KWE#zoL?gV%y z-Z(rSQi9J|g2S*4!-JQmwV(DnqTfM|#Vd&Vv3Bg9f209}P;f)I8LBEDx#_?TcF7bO zfQdY5Gv3Lb@!tqMk3Ag=O+ClV3*27jZsPt5=6$H(T_1kL;!5IYbdmge=)DS-e0YZ8 z#7m^tNi;~m5&HG=?f3y6R`AFN4zES9(@$yQ9LcyzAV=wK3{%9*3dMQMO8N+H8kT@7 z)5U0`KyU{!Er9#+6SWo?g zU^Mm|pFjKicMj4oKwc7@C8&xfDScA{Sa0>H2aLX6;R;~fWjpQtfgXvzI2cMK@L}&C D{1E+; diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/UserCommandInput.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/UserCommandInput.class deleted file mode 100644 index 7a266a28d258bedf96e814b6a318fd5a80a54bde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 683 zcmaJt@XYTfh{wp;q zi6s00e-vT%ju0V+4?8IR7wc6C3Hs>QfFev zelFeE$=d$}kRDRk*XV)k-%q>WJQ(m<;~2t*PBAt-Qvz0RvE^X`TB?iGJqi++GVO1fIm z&dr=*IDF^K{_yn;;0ZS+I)ri6aI%J7ifpxNWb0Jrf!j|}WgF_+_%+XdwZtXic4M}N z)%Xv7U2VihLMc13DGK3nxHt=}!&;P|Pj(mlEcht9I2kPoz4wqBD|4rr)Bj7nKZX$o zZ^=hj%hI)Or84zCL=!WhCEP9k3(b?a$FtFw3~nl8Wl|6b7x`s?a{Vh5dF!A&%`UF9 J7TM7QegLFlQH1~i diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/command/DumpCommand.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/command/DumpCommand.class deleted file mode 100644 index 7edb028aaf84c36dca16fcfc313d2d52342e8980..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1859 zcmbVN-BS}+6#rcUY`U(1D7CT0E*5JdG;5)L)L5+ssI&>R4TU=P<+8aXSN0>bdxQ9& z^r^2M`{oNy?TjzH`A2nn?(RASA?kE8xnJk|oZmV7>faYH0o=x~CI*l*Flb>2!wh4O z_zrhG9<-d*%}2sj48yl%Ak}S#T(PunAkT1ND{{IncVt&NuD2D59qD;u&WT%FjtrfJ zuHP|X;)DUq!byxU%=eRM3(s@>uqixeaaXuqCBvW^21@Lb<(&Jt$xtqqYW>8?U@E*I zBXTy3o>WX27}L?5VwfquTXH!d>y^^FmOE|XjLyPfGYjEE3uo~WB z!&VrE9+MuyFj1@>6p>tzL5spOaDm};LZA{YuP*MoqNB5|D>ZH5;_EO)6lqLcvQR{c zA>R_J>hU-xX^Qpp24hvFD#VdFpR!IXE;gn4e570vBG`w?#v-2nR_Ot@TG-0 zt->UMx`<=m65|BXuPj`}HHNc3-xh=nm#Yn_+H{H)4-~m|4;8(7iESY?<#z?=+r z!foNCB~QV!#FMeW@Ov*zGR9QteX6i0;^|r#Zg)GCqd@6-IV8CDq$7@Df7rvH4$(?) z<76tT-18dLurwZiqDj>=9)e5U?(o>|bnX4WXoO@V!Y;C#HY=4)25UJ8M3i)(hz+bU zTs)G5<6<*F)jj`qRvLC`BB&>?(;#5@n%YqB^nswYLN|wYM*Gm^=U~qg@-1358OY-s zTCJ3UJ~4Ob#_%of(yE33K#qRE^?zVInAyVz&oR1(aXL+m7yib_1Nak@b-I2wyNA#B zaGAC%FE9@z#Ak`(0!_;)QlrhDBg5L@2z_e`7$eFECNYX@IF-0!6W=6J?x9L?km1ZJ teOkaG>06>#0|UPqm?{wScXS=VeJsz?eK!j&^51{y1T#-N+k2$2%}p@L_rS}hHE8Ttrav?ueoZ$ zDA{~ZHw=DRb;{f@)Phy5YGzT*IuA4c>sVfQbl0-Us#PjEoXoRjVY5#`KL$wbxJ9c* z;@Rv;rngIK)hcpBUAJ{t+cNm7Yjdrdj*ywCg7-xjolaRVxlsynP{9z+Fr2As6`rxo zg66L4ZkgU3S2JCQA)RRNYEd_MI+<;dLq2tLJKckGI4@&Z!3aKJQ2!@p0{R05!5Ib< z$BifR5nMoA#)k?%!p97$w&w5ZHs#E+pE7iqT9pjP5-ngy!7wg}xyW#_mFMGN1eAn= zBvK4vf^2JE8i(GRuerLRE(dbrWeU?WE-6qk!w~g|J933VE^AJX|46x}!rBlTmlb@1 zD+0PFJ__A0$Fz)333FQ_mQ5;=2(DsI!FAjqqW47QFr~;_Pb}~@ZJK82_TY>9r}{gUJ0G*(DFSK9)0sHYcfF526^1^~Q&R=2 z@8GU}ow7tJDwK7j$nXw|UWP?{#YW3awa41<$I!d#YK6**wi~d`bcV>PRkI7+=c~Ul z_%4YKpw7v0$6c}JbFUcxH7At}ESEMJfZPcyr zWAqSXfrHee=a4&}P(+jam{^%Qz$C*j7^Ih3hCgvNH%*Gyp1t|YzgZNq2RNhYI>rzL z3n@hC93y|@ViOU{3CtmZo3vzZ(|_+_5;@umk1*}wj}x{zqB%zdi|97$k!;`rzM=>o zlC%fXKNy!W^_obP#IJ!Mv`RqSNN9eTc$0rcOwczFKfp~1KQZ>~&EJARADo|}8G<;A zLCj#7Hq+Y_NtCix$~&XmBLN8Ex?8xG*lRDdYb22HHS*qbouUBcSt8U7PrP#rMUq8H P7REX_xhkQI9i00QK#h9k diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/command/LsRCommand.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/command/LsRCommand.class deleted file mode 100644 index 1d05617a68ec87c80af4678508fef71a6cd2991d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1108 zcma)5TTc@~6#fovSzQ)ei{cFx6tykbiK5Y@hL@@dp<*JY#>ee;3PZNL$?R;cKg$2*9F#p&FiWT%_!D1*ezYgv4-RBt z2(zzLq|7Fv)M)lyT);&Ku7^2zgpH9FY2XW$8WDseEhj1r1#!a}lxr+Hr7+@S+HiXS>*oUHj1$UT&P%BF zR3vxO@j&X2mOw(i7YBaW_qDQqepoj9Dj_^6q_Uv04#APxWO3w|#XoV%ATlX-7R{9K z{PgtyA7n1U-HlTn$hXS&S3Q}#wp}B_+>T7lJ83!K9=)w7lDZrENg~;G^1s0fmUsyX zcX%VM=0#+=%${IPtShY}(6{V*g{8d)JlxA<_5k;>${yhX9(_S+?-eMiiT|Z`2QT(Q$4eYmY00#xymz`Mo8srYmOmBRjKt62Y z2#ykmCmCKgSF8utz+=I{@h$YusMrrZ6DM)Xz-bF-&?hjkE&ff%0!Az=QLsWjmU90S zc#ZS~TMa~E2fP(SCX+$r1Wx|0ks`D0Il=ANtCnS`CRSa!tXb6D4pr932?OMFW>CT*egvds{ZQ zdJ|}UP4~2(&HaU>r1-B{xV{lpR8=Mlx?o2H`nGkJP-wF0ZW$P}a2t07b~kXz?(ige z+NGjeUj8Vhdb$kU6*%9_U($MRR4zN=f<2=gHC{U#xF;~QBdxjy`)!yK%*4bn-*g;XayFtOvVIFUu#~>|ClO;{#llq;$+b+ z*xbbCAgC3zfS}9M4cTs1(!`i@)vCbde~0(?p-1gb=E8k7=`7dTGH0S{?8OOOa(MiMa(80@|$@j=}->1)7m|n-B7JS9AHJqR0gn=RhI&(Y x%xLqQr(x<%;|cGCTn|T|o??dn#%QIc@r?3Lq_Qszoc)0=gKa7BoR2M-{RO|Y+_V4y diff --git a/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/model/ExecutionContext.class b/2A/Java/tp/tp4-fichier/out/production/tp4-fichier/fr/uca/iut/clfreville2/shell/model/ExecutionContext.class deleted file mode 100644 index a41a897a81dedda1371f1a0af4098020b984dab2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2908 zcmds2-E!MR6#h1`Eyqp?hj1}GjOHY8(Xa`nUxgU zm*7dbpfh-w$psI<3=hGJbT})?vEtaS+e{H{&&@97lXis>}5p{;trfHjAg<-N-+MhxiQwlOF&Ov3keke4*W@x7GX*KIm z@FUZ*_%+RKa?8?MPMurY?dQDad!}P=Ikv~2dkj-;LwKeAlrH|WZ&(!8{kO9gWBcgfDb+(S z{YXOCH5<0!`GROJ_vLFd28jZ!=nVf1_dh@|LsNTlx2KNR-|f@En*;h3QQ9Z9ghiUE znl^vvw+^`2lTu^IRh^n)?Hj_B|D(f%*EFdJH-@?%B^ieK(>7nUyLM+EaIfjq=}R+O z+~b0L{QLh&^gt=e?u2i9W{YcK4kHNlg@djYhL`a&nD&wLjBDY=dxl-NxVv0+oM(Pp zkCi0q7qOEFxJQ!T=59@xZJG#i$d+ZeZu}s!@zYr&aqp-4aHNDZNIiv<8K={r(!*&Z z7n&BjoDee%3O&>GWa-J%v%sM4*ftjd8SX0hj^Ro#TO*=Zu*-09^i?WTm?~`0xSF8u zoG8nl@x=gec0BNff#Cdj;3epk4_Ui-%nRdyLj`Y=g1!t2 zRl!%Z7D+YX7ZB<{RDY=b)5`yvZqHHJ-$0?S=N|6kTU7A?5AlfJWa!OfJi#6o{{zaH B%CZ0e diff --git a/2A/Java/tp/tp4-fichier/shell.sh b/2A/Java/tp/tp4-fichier/shell.sh deleted file mode 100644 index 14649bf..0000000 --- a/2A/Java/tp/tp4-fichier/shell.sh +++ /dev/null @@ -1,2 +0,0 @@ -lsR -stat courses/algo2 \ No newline at end of file diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/io/Dump.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/io/Dump.java deleted file mode 100644 index 9e42e79..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/io/Dump.java +++ /dev/null @@ -1,73 +0,0 @@ -package fr.uca.iut.clfreville2.sgf.io; - -import fr.uca.iut.clfreville2.sgf.model.Directory; -import fr.uca.iut.clfreville2.sgf.model.File; -import fr.uca.iut.clfreville2.sgf.model.Inode; -import fr.uca.iut.clfreville2.sgf.visitor.InodeVisitor; - -import java.io.FileOutputStream; -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; - -public class Dump { - - private final Inode node; - private final Path path; - - public Dump(Inode node, Path path) { - this.node = node; - this.path = path; - } - - public Dump(Inode node) { - this(node, Path.of(System.getProperty("user.home"))); - } - - public void dump() throws IOException { - Visitor visitor = new Visitor(this.path); - this.node.visit(visitor); - if (visitor.throwable != null) { - throw visitor.throwable; - } - } - - private static class Visitor implements InodeVisitor { - - private Path current; - private IOException throwable; - - public Visitor(Path current) { - this.current = current; - } - - @Override - public void visitFile(File file) { - try (FileOutputStream stream = new FileOutputStream(current.resolve(file.name()).toFile())) { - for (byte c : file.content()) { - stream.write(c); - } - } catch (IOException e) { - this.throwable = e; - } - } - - @Override - public void visitDirectory(Directory directory) { - try { - Path previous = this.current; - this.current = this.current.resolve(directory.name()); - Files.createDirectory(this.current); - for (Inode child : directory) { - child.visit(this); - if (this.throwable != null) { - break; - } - } - this.current = previous; - } catch (IOException e) { - this.throwable = e; - } - } - } -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/ConsoleStream.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/ConsoleStream.java deleted file mode 100644 index 59054d3..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/ConsoleStream.java +++ /dev/null @@ -1,30 +0,0 @@ -package fr.uca.iut.clfreville2.sgf.model; - -import java.io.PrintStream; - -public class ConsoleStream implements WritableStream { - - private final PrintStream stream; - - public ConsoleStream(PrintStream stream) { - this.stream = stream; - } - - public static ConsoleStream stdout() { - return new ConsoleStream(System.out); - } - - public static ConsoleStream stderr() { - return new ConsoleStream(System.err); - } - - @Override - public void write(char c) { - stream.print(c); - } - - @Override - public void write(String str) { - stream.print(str); - } -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Directory.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Directory.java deleted file mode 100644 index 8a97bc6..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Directory.java +++ /dev/null @@ -1,48 +0,0 @@ -package fr.uca.iut.clfreville2.sgf.model; - -import fr.uca.iut.clfreville2.sgf.visitor.InodeVisitor; - -import java.util.Iterator; -import java.util.Map; -import java.util.TreeMap; - -public class Directory extends Inode implements Iterable { - - private static final int DEFAULT_PERMISSIONS = 755; - - private final Map children = new TreeMap<>(); - - public Directory(String filename) { - super(filename, DEFAULT_PERMISSIONS); - } - - public Inode get(String filename) { - return children.get(filename); - } - - public void add(Inode node) { - if (children.putIfAbsent(node.name(), node) != null) { - throw new IllegalArgumentException("This directory already contains the file " + node.name()); - } - } - - @Override - public void visit(InodeVisitor visitor) { - visitor.visitDirectory(this); - } - - @Override - public int size() { - return children.size() + 1; - } - - @Override - public Iterator iterator() { - return children.values().iterator(); - } - - @Override - public String toString() { - return "Directory " + name() + " (" + Integer.toOctalString(permissions()) + ") created on " + creationDate(); - } -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/File.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/File.java deleted file mode 100644 index 41c30bf..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/File.java +++ /dev/null @@ -1,53 +0,0 @@ -package fr.uca.iut.clfreville2.sgf.model; - -import fr.uca.iut.clfreville2.sgf.visitor.InodeVisitor; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -public class File extends Inode implements WritableStream { - - private static final int DEFAULT_PERMISSIONS = 644; - - private final List content = new ArrayList<>(); - - public File(String filename) { - super(filename, DEFAULT_PERMISSIONS); - } - - public List content() { - return Collections.unmodifiableList(this.content); - } - - public void clear() { - content.clear(); - } - - @Override - public void write(char c) { - content.add((byte) c); - } - - @Override - public void write(String str) { - for (char c : str.toCharArray()) { - content.add((byte) c); - } - } - - @Override - public void visit(InodeVisitor visitor) { - visitor.visitFile(this); - } - - @Override - public int size() { - return content.size(); - } - - @Override - public String toString() { - return "TextFile " + name() + " (" + Integer.toOctalString(permissions()) + ") created on " + creationDate(); - } -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Inode.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Inode.java deleted file mode 100644 index 608ad4e..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Inode.java +++ /dev/null @@ -1,59 +0,0 @@ -package fr.uca.iut.clfreville2.sgf.model; - -import fr.uca.iut.clfreville2.sgf.visitor.InodeVisitor; - -import java.time.LocalDateTime; - -public abstract class Inode implements Permissible { - - private String name; - private int permissions; - private LocalDateTime creationDate; - private LocalDateTime modificationDate; - private LocalDateTime accessDate; - - public Inode(String name, int permissions) { - this.name = name; - this.permissions = permissions; - this.creationDate = LocalDateTime.now(); - this.modificationDate = LocalDateTime.now(); - this.accessDate = LocalDateTime.now(); - } - - public abstract void visit(InodeVisitor visitor); - - public abstract int size(); - - public LocalDateTime creationDate() { - return this.creationDate; - } - - public LocalDateTime modificationDate() { - return this.modificationDate; - } - - public void setModificationDate(LocalDateTime modificationDate) { - this.modificationDate = modificationDate; - } - - public LocalDateTime accessDate() { - return this.accessDate; - } - - public void setAccessDate(LocalDateTime accessDate) { - this.accessDate = accessDate; - } - - public String name() { - return name; - } - - @Override - public int permissions() { - return this.permissions; - } - - public void setPermissions(int permissions) { - this.permissions = permissions; - } -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Partition.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Partition.java deleted file mode 100644 index 1cfbffc..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Partition.java +++ /dev/null @@ -1,19 +0,0 @@ -package fr.uca.iut.clfreville2.sgf.model; - -public record Partition(Inode root) { - public Inode resolve(Directory cwd, String s) { - String[] parts = s.split("/"); - Inode dest = cwd; - for (String part : parts) { - if (dest instanceof Directory dir) { - dest = dir.get(part); - if (dest == null) { - throw new IllegalArgumentException("Inode inconnu !"); - } - } else { - throw new IllegalArgumentException("N'est pas un dossier !"); - } - } - return dest; - } -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Permissible.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Permissible.java deleted file mode 100644 index 472e687..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Permissible.java +++ /dev/null @@ -1,6 +0,0 @@ -package fr.uca.iut.clfreville2.sgf.model; - -public interface Permissible { - - int permissions(); -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Permissions.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Permissions.java deleted file mode 100644 index 5ad34bd..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/Permissions.java +++ /dev/null @@ -1,14 +0,0 @@ -package fr.uca.iut.clfreville2.sgf.model; - -public final class Permissions { - - private Permissions() {} - - public static final int READ = 1 << 2; - public static final int WRITE = 1 << 1; - public static final int EXECUTE = 1 << 0; - - public static final int USER_SHIFT = 6; - public static final int GROUP_SHIFT = 3; - public static final int OTHERS_SHIFT = 0; -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/WritableStream.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/WritableStream.java deleted file mode 100644 index 0f57ded..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/model/WritableStream.java +++ /dev/null @@ -1,8 +0,0 @@ -package fr.uca.iut.clfreville2.sgf.model; - -public interface WritableStream { - - void write(char c); - - void write(String str); -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/visitor/InodeVisitor.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/visitor/InodeVisitor.java deleted file mode 100644 index cb8b917..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/sgf/visitor/InodeVisitor.java +++ /dev/null @@ -1,11 +0,0 @@ -package fr.uca.iut.clfreville2.sgf.visitor; - -import fr.uca.iut.clfreville2.sgf.model.Directory; -import fr.uca.iut.clfreville2.sgf.model.File; - -public interface InodeVisitor { - - void visitFile(File file); - - void visitDirectory(Directory directory); -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/CommandInput.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/CommandInput.java deleted file mode 100644 index dec617f..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/CommandInput.java +++ /dev/null @@ -1,6 +0,0 @@ -package fr.uca.iut.clfreville2.shell; - -public interface CommandInput { - - String ask(); -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/FileCommandInput.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/FileCommandInput.java deleted file mode 100644 index 54dab79..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/FileCommandInput.java +++ /dev/null @@ -1,24 +0,0 @@ -package fr.uca.iut.clfreville2.shell; - -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.Deque; -import java.util.LinkedList; - -public class FileCommandInput implements CommandInput { - - private final Deque commands; - - public FileCommandInput(Path path) throws IOException { - this.commands = new LinkedList<>(Files.readAllLines(path)); - } - - @Override - public String ask() { - if (this.commands.isEmpty()) { - return null; - } - return this.commands.pollFirst(); - } -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/Main.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/Main.java deleted file mode 100644 index 77b6375..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/Main.java +++ /dev/null @@ -1,33 +0,0 @@ -package fr.uca.iut.clfreville2.shell; - -import fr.uca.iut.clfreville2.sgf.model.Directory; -import fr.uca.iut.clfreville2.sgf.model.File; -import fr.uca.iut.clfreville2.sgf.model.Partition; -import fr.uca.iut.clfreville2.shell.command.StatCommand; -import fr.uca.iut.clfreville2.shell.command.DumpCommand; -import fr.uca.iut.clfreville2.shell.command.LsRCommand; - -import java.io.IOException; -import java.nio.file.Path; - -public final class Main { - - public static void main(String[] args) throws IOException { - Directory root = new Directory("root"); - Directory courses = new Directory("courses"); - Directory algo = new Directory("algo2"); - algo.add(new File("list.c")); - algo.add(new File("stack.c")); - root.add(new File("Matrix.txt")); - root.add(courses); - courses.add(algo); - courses.add(new Directory("java")); - Partition p = new Partition(root); - - Shell shell = new Shell(p, root, new FileCommandInput(Path.of("shell.sh"))); - shell.register("lsR", new LsRCommand()); - shell.register("dump", new DumpCommand()); - shell.register("stat", new StatCommand()); - shell.execute(); - } -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/Shell.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/Shell.java deleted file mode 100644 index 7891ccf..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/Shell.java +++ /dev/null @@ -1,49 +0,0 @@ -package fr.uca.iut.clfreville2.shell; - -import fr.uca.iut.clfreville2.sgf.model.ConsoleStream; -import fr.uca.iut.clfreville2.sgf.model.Directory; -import fr.uca.iut.clfreville2.sgf.model.Partition; -import fr.uca.iut.clfreville2.sgf.model.WritableStream; -import fr.uca.iut.clfreville2.shell.command.Command; -import fr.uca.iut.clfreville2.shell.model.ExecutionContext; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -public class Shell { - - private final Partition partition; - private final Map commands = new HashMap<>(); - private final WritableStream stdout = ConsoleStream.stdout(); - private final WritableStream stderr = ConsoleStream.stderr(); - private Directory currentWorkingDirectory; - private final CommandInput input; - - public Shell(Partition partition, Directory currentWorkingDirectory, CommandInput input) { - this.partition = partition; - this.currentWorkingDirectory = currentWorkingDirectory; - this.input = input; - } - - public void register(String name, Command command) { - this.commands.put(name, command); - } - - public void execute(String rawCommand) { - List args = List.of(rawCommand.split(" ")); - Command command = this.commands.get(args.get(0)); - if (command == null) { - stderr.write("Commande inconnue!\n"); - } else { - command.execute(new ExecutionContext(this.partition, this.currentWorkingDirectory, this.stdout, this.stderr, args)); - } - } - - public void execute() { - String raw; - while ((raw = input.ask()) != null) { - execute(raw); - } - } -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/UserCommandInput.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/UserCommandInput.java deleted file mode 100644 index 343fbb6..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/UserCommandInput.java +++ /dev/null @@ -1,12 +0,0 @@ -package fr.uca.iut.clfreville2.shell; - -import java.util.Scanner; - -public class UserCommandInput implements CommandInput { - - private final Scanner scanner = new Scanner(System.in); - - public String ask() { - return this.scanner.nextLine(); - } -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/command/Command.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/command/Command.java deleted file mode 100644 index bf6b4e7..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/command/Command.java +++ /dev/null @@ -1,9 +0,0 @@ -package fr.uca.iut.clfreville2.shell.command; - -import fr.uca.iut.clfreville2.shell.model.ExecutionContext; - -@FunctionalInterface -public interface Command { - - void execute(ExecutionContext ctx); -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/command/DumpCommand.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/command/DumpCommand.java deleted file mode 100644 index 43e0f68..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/command/DumpCommand.java +++ /dev/null @@ -1,18 +0,0 @@ -package fr.uca.iut.clfreville2.shell.command; - -import fr.uca.iut.clfreville2.sgf.io.Dump; -import fr.uca.iut.clfreville2.shell.model.ExecutionContext; - -import java.io.IOException; - -public class DumpCommand implements Command { - @Override - public void execute(ExecutionContext ctx) { - try { - new Dump(ctx.cwd()).dump(); - ctx.stdout().write("Le fichier a bien été écrit.\n"); - } catch (IOException e) { - ctx.stderr().write("Le fichier n'a pas pu être écrit (" + e.getClass().getSimpleName() + ": " + e.getMessage() + ").\n"); - } - } -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/command/LsRCommand.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/command/LsRCommand.java deleted file mode 100644 index 77d371c..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/command/LsRCommand.java +++ /dev/null @@ -1,53 +0,0 @@ -package fr.uca.iut.clfreville2.shell.command; - -import fr.uca.iut.clfreville2.sgf.model.Directory; -import fr.uca.iut.clfreville2.sgf.model.File; -import fr.uca.iut.clfreville2.sgf.model.Inode; -import fr.uca.iut.clfreville2.sgf.model.WritableStream; -import fr.uca.iut.clfreville2.sgf.visitor.InodeVisitor; -import fr.uca.iut.clfreville2.shell.model.ExecutionContext; - -import java.util.Arrays; - -public class LsRCommand implements Command { - - @Override - public void execute(ExecutionContext ctx) { - ctx.cwd().visit(new Visitor(ctx.stdout())); - } - - private static class Visitor implements InodeVisitor { - - private final WritableStream stdout; - private int offset = 0; - - public Visitor(WritableStream stdout) { - this.stdout = stdout; - } - - @Override - public void visitFile(File file) { - shift(); - this.stdout.write(file + "\n"); - } - - @Override - public void visitDirectory(Directory directory) { - shift(); - this.stdout.write("Directory [" + directory.name() + "] content:\n"); - this.offset += 2; - for (Inode child : directory) { - child.visit(this); - } - this.offset -= 2; - shift(); - this.stdout.write("----\n"); - } - - private void shift() { - for (int i = 0; i < this.offset; i++) { - this.stdout.write(' '); - } - } - } -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/command/StatCommand.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/command/StatCommand.java deleted file mode 100644 index 1f6f4cc..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/command/StatCommand.java +++ /dev/null @@ -1,22 +0,0 @@ -package fr.uca.iut.clfreville2.shell.command; - -import fr.uca.iut.clfreville2.sgf.model.Inode; -import fr.uca.iut.clfreville2.shell.model.ExecutionContext; - -public class StatCommand implements Command { - @Override - public void execute(ExecutionContext ctx) { - Inode target; - if (ctx.args().size() < 2) { - target = ctx.cwd(); - } else { - try { - target = ctx.partition().resolve(ctx.cwd(), ctx.args().get(1)); - } catch (IllegalArgumentException e) { - ctx.stderr().write(e.getMessage()); - return; - } - } - ctx.stdout().write(Integer.toString(target.size())); - } -} diff --git a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/model/ExecutionContext.java b/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/model/ExecutionContext.java deleted file mode 100644 index 7f9ce10..0000000 --- a/2A/Java/tp/tp4-fichier/src/fr/uca/iut/clfreville2/shell/model/ExecutionContext.java +++ /dev/null @@ -1,10 +0,0 @@ -package fr.uca.iut.clfreville2.shell.model; - -import fr.uca.iut.clfreville2.sgf.model.Directory; -import fr.uca.iut.clfreville2.sgf.model.Partition; -import fr.uca.iut.clfreville2.sgf.model.WritableStream; - -import java.util.List; - -public record ExecutionContext(Partition partition, Directory cwd, WritableStream stdout, WritableStream stderr, List args) { -} diff --git a/2A/systeme/tp/6_tp/exo1.c b/2A/systeme/tp/6_tp/exo1.c new file mode 100644 index 0000000..e69de29