diff --git a/assets/barleySpring.png b/assets/barleySpring.png
new file mode 100644
index 0000000000000000000000000000000000000000..3e41c7e12bed71fc7c3b745f410321d344deeb23
Binary files /dev/null and b/assets/barleySpring.png differ
diff --git a/assets/canicule.png b/assets/canicule.png
index 306f3f88f6da84de283708e32270d3dbb05eec57..c49d0a15fd2d00ab10e282ae864c014954aba35b 100644
Binary files a/assets/canicule.png and b/assets/canicule.png differ
diff --git a/assets/champp.png.svg b/assets/champp.png.svg
new file mode 100644
index 0000000000000000000000000000000000000000..97359bbce1e845778a38c676c24dfe00c8a14e67
--- /dev/null
+++ b/assets/champp.png.svg
@@ -0,0 +1,323 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   id="svg78"
+   width="250"
+   height="163"
+   viewBox="0 0 250 163"
+   sodipodi:docname="champp.png.svg"
+   inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
+  <metadata
+     id="metadata84">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs82" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1417"
+     inkscape:window-height="783"
+     id="namedview80"
+     showgrid="false"
+     inkscape:zoom="3.6660493"
+     inkscape:cx="125"
+     inkscape:cy="81.5"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="g86" />
+  <g
+     inkscape:groupmode="layer"
+     inkscape:label="Image"
+     id="g86">
+    <image
+       width="250"
+       height="163"
+       preserveAspectRatio="none"
+       style="image-rendering:optimizeQuality"
+       xlink:href="data:image/png;base64,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
+"
+       id="image88" />
+    <rect
+       style="fill:#6b4a21;fill-opacity:1;stroke-width:1.09992"
+       id="rect90"
+       width="223.96349"
+       height="33.138496"
+       x="14.197068"
+       y="106.25127" />
+  </g>
+</svg>
diff --git a/assets/crop1phase.png b/assets/crop1phase.png
new file mode 100644
index 0000000000000000000000000000000000000000..669a3b650f6d14d018c2be49fa5b382f54c5e287
Binary files /dev/null and b/assets/crop1phase.png differ
diff --git a/assets/crop2phase.png b/assets/crop2phase.png
new file mode 100644
index 0000000000000000000000000000000000000000..489e01b8ba1907d2056474bc6c419803234daccf
Binary files /dev/null and b/assets/crop2phase.png differ
diff --git a/assets/crop3phase.png b/assets/crop3phase.png
new file mode 100644
index 0000000000000000000000000000000000000000..86ce51c721a66408f4b815e9e3721828a763d49c
Binary files /dev/null and b/assets/crop3phase.png differ
diff --git a/assets/crop4phase.png b/assets/crop4phase.png
new file mode 100644
index 0000000000000000000000000000000000000000..000581bdb98e40c0f6616d1bf4d8ac98c5731a81
Binary files /dev/null and b/assets/crop4phase.png differ
diff --git a/assets/damage.png b/assets/damage.png
new file mode 100644
index 0000000000000000000000000000000000000000..1c9227f5314b7145b9893a2a782cc55d30aff278
Binary files /dev/null and b/assets/damage.png differ
diff --git a/assets/fanne.png b/assets/fanne.png
new file mode 100644
index 0000000000000000000000000000000000000000..7bbe9e5378709d7119313152ad386a4b4d8ecd49
Binary files /dev/null and b/assets/fanne.png differ
diff --git a/assets/houblon.png b/assets/houblon.png
new file mode 100644
index 0000000000000000000000000000000000000000..a6f0b56781737e5c30dcde0206c2cf11b4eb85fb
Binary files /dev/null and b/assets/houblon.png differ
diff --git a/assets/imageBatiment.jpeg b/assets/imageBatiment.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..eb85e277f3cc3f5a2c99b07d2d5266a08a8ad2ca
Binary files /dev/null and b/assets/imageBatiment.jpeg differ
diff --git a/assets/imagePlantation.jpeg b/assets/imagePlantation.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..4fb54c0d8c053498814c307072a5db0f80527be8
Binary files /dev/null and b/assets/imagePlantation.jpeg differ
diff --git a/assets/imageinfo.jpg b/assets/imageinfo.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..711bc6bd1c38c657284c6781d2b83ca49eb770c1
Binary files /dev/null and b/assets/imageinfo.jpg differ
diff --git a/assets/intro.webp b/assets/intro.webp
new file mode 100644
index 0000000000000000000000000000000000000000..a0448e04bdfc38c0f4fa565930d7fd96d341419e
Binary files /dev/null and b/assets/intro.webp differ
diff --git a/assets/intro2.jpg b/assets/intro2.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..9fee9d020986469a2f32aa5b383e5580c573b015
Binary files /dev/null and b/assets/intro2.jpg differ
diff --git a/assets/irrigation.png b/assets/irrigation.png
new file mode 100644
index 0000000000000000000000000000000000000000..3c0c827fd58044f2561fd0b546278729a168cbe0
Binary files /dev/null and b/assets/irrigation.png differ
diff --git a/assets/irrigationGoutte.png b/assets/irrigationGoutte.png
new file mode 100644
index 0000000000000000000000000000000000000000..2877190dd6da6b04085e90834cc2936576df0dff
Binary files /dev/null and b/assets/irrigationGoutte.png differ
diff --git a/assets/leech.png b/assets/leech.png
new file mode 100644
index 0000000000000000000000000000000000000000..1bbacf1549a7d8c6ebe1ddd11366bf810eb586c2
Binary files /dev/null and b/assets/leech.png differ
diff --git a/assets/malt.png b/assets/malt.png
new file mode 100644
index 0000000000000000000000000000000000000000..af0b10143e581be99f1fff9586486c432a340cdb
Binary files /dev/null and b/assets/malt.png differ
diff --git a/assets/orge.png b/assets/orge.png
new file mode 100644
index 0000000000000000000000000000000000000000..933860decc193234ac839d2bd17c9c4c09b05848
Binary files /dev/null and b/assets/orge.png differ
diff --git a/assets/pesticide.png b/assets/pesticide.png
new file mode 100644
index 0000000000000000000000000000000000000000..97a1fe6c148a3ab9f97235707aa14343396f2d70
Binary files /dev/null and b/assets/pesticide.png differ
diff --git a/assets/puit.png b/assets/puit.png
new file mode 100644
index 0000000000000000000000000000000000000000..6ae8a91cb3e4d4c8b93bd521e263901bd440a30b
Binary files /dev/null and b/assets/puit.png differ
diff --git a/assets/secheresse.png b/assets/secheresse.png
new file mode 100644
index 0000000000000000000000000000000000000000..306f3f88f6da84de283708e32270d3dbb05eec57
Binary files /dev/null and b/assets/secheresse.png differ
diff --git a/assets/seigle.png b/assets/seigle.png
new file mode 100644
index 0000000000000000000000000000000000000000..ba322daeac9f57c104633b8daaf6f041a52b2abe
Binary files /dev/null and b/assets/seigle.png differ
diff --git a/assets/serre.png b/assets/serre.png
new file mode 100644
index 0000000000000000000000000000000000000000..dc95ce817133dbfae38245d1d020a63132f7a93e
Binary files /dev/null and b/assets/serre.png differ
diff --git a/assets/storagetank.png b/assets/storagetank.png
new file mode 100644
index 0000000000000000000000000000000000000000..50b1195f330a11a8cb715fe8ca0d7876ed4f2a9b
Binary files /dev/null and b/assets/storagetank.png differ
diff --git a/assets/torche.png b/assets/torche.png
new file mode 100644
index 0000000000000000000000000000000000000000..bcec813474359d48a038ab57182d51f3243d214a
Binary files /dev/null and b/assets/torche.png differ
diff --git a/assets/weed.png b/assets/weed.png
new file mode 100644
index 0000000000000000000000000000000000000000..99637b53f9c1ddc61aa37184f9f6a20349fb965a
Binary files /dev/null and b/assets/weed.png differ
diff --git a/assets/wheat.png b/assets/wheat.png
new file mode 100644
index 0000000000000000000000000000000000000000..397f96d0657427300a203a7e7ba50742ee295ba6
Binary files /dev/null and b/assets/wheat.png differ
diff --git a/src/Champs.py b/src/Champs.py
index 826baeae897b1adae316d766dc09ed0b8ca0960b..6a543d52fb77fc12ba5e09d3db4fbdce75fdc7ad 100755
--- a/src/Champs.py
+++ b/src/Champs.py
@@ -6,9 +6,11 @@ from Image import transformImage
 listeImage = [pygame.transform.scale(pygame.image.load('../assets/crop'+str(i)+'phase.png'),(120,120)) for i in range(1,5)]
 
 
+#TODO : mettre une proba que les plantes meurent si il fait trop froid/chaud, et baisser cette proba de mourir avec une serre ou des torche pour l'hiver
+#TODO : mettre des insecte/bacterie qui pourrai venir
 class Champs:
 
-
+    iconInsecteStatic = pygame.transform.scale(pygame.image.load("../assets/leech.png"),(90,90))
     def __init__ (self, temperature, humidite, tempsAvantMaturation, pos, image):
         self.temperature = temperature
         self.humidite = humidite
@@ -21,7 +23,8 @@ class Champs:
         self.police = pygame.font.SysFont("Alef", 22) #pygame.font.get_fonts() -> liste des fonts
         self.imgZoom = pygame.transform.scale(self.image, self.imageSize)
         self.indiceImage = 0
-    
+        self.champZoom = pygame.rect.Rect(self.pos,self.imgZoom.get_rect().size)
+        self.isInfeste = False
         self.descripteurChamps = {
             "Temperature" : None,
             "Humidite" : None,
@@ -45,9 +48,16 @@ class Champs:
     def plantationGrandit(self):
         self.indiceImage +=1
         if self.indiceImage <4:
+            
             self.imageChamp = listeImage[self.indiceImage]
         else:
-            self.imageChamp =pygame.transform.scale(pygame.image.load('../assets/damage.png'),(120,120))
+            if(self.indiceImage == 4):
+                self.imageChamp =pygame.transform.scale(pygame.image.load('../assets/damage.png'),(120,120))
+            elif(self.indiceImage == 5):
+                self.isInfeste = False
+                self.imageChamp =pygame.transform.scale(pygame.image.load('../assets/fanne.png'),(120,120))
+            
+
                                    
 
 
@@ -67,7 +77,7 @@ class Champs:
             if scaleChamp:
                 self.champZoom = scaleChamp
             varlongueur = camera.convertLocation(self.pos)   
-            self.rectChampScal = pygame.rect.Rect(camera.convertLocation(self.pos), self.champZoom.get_size())
+            self.rectChampScal = pygame.rect.Rect(varlongueur, self.champZoom.get_size())
             screen.blit(
             self.champZoom, 
             (
@@ -80,6 +90,23 @@ class Champs:
             )
             self.setInformation("Occupe", True)  
 
+        if(self.isInfeste):
+            scaleInfecte = camera.scaleImage(Champs.iconInsecteStatic)
+            if scaleInfecte:
+                self.infecteZoom = scaleInfecte
+            varlongueur = camera.convertLocation(self.pos)   
+            self.rectScalInfecte = pygame.rect.Rect(varlongueur, self.infecteZoom.get_size())
+            screen.blit(
+            self.infecteZoom, 
+            (
+                varlongueur[0] + 
+                (self.rectScale.w-self.rectScalInfecte.w)
+                /2,
+                varlongueur[1] + 
+                (self.rectScale.h-self.rectScalInfecte.h)
+                /2)
+            )
+            
 
     def changeText (self, camera):
         scaleText = camera.scaleImage(self.text)
@@ -99,6 +126,9 @@ class Champs:
             screen.blit(self.imageSurfaceinfo[k],(rectangle.x,rectangle.y + i))
             i += 30
 
+    def DeterminPourcentageFanage(self,montant):
+        self.probaFanage +=montant
+        
 
 class Buisson (Champs):
     def __init__ (self, pos, prix = 10000):
@@ -203,7 +233,16 @@ class Seigle(Champs):
         self.imageChamp = pygame.transform.scale(pygame.image.load('../assets/crop1phase.png'),(120,120))
 
 
+class Pesticide(Champs):
+    iconStatic = pygame.transform.scale(pygame.image.load('../assets/pesticide.png'),(150,150))
+    textStatic = police.render("Pesticide",False, (0,0,0))
+    textDescriptionStatic = police.render("Pour tuer les insectes",False,(0,0,0))
+    montantAchat = 200
+    def __init__ (self,pos):
+        super().__init__(0,0,0,pos,'../assets/pesticide.png')
+
+#TODO : class Bussion,
 
-typePlantation = [Houblon,Ble,Malt,Chanvre,OrgeHiver,OrgePrintemps,Seigle]
+typePlantation = [Houblon,Ble,Malt,Chanvre,OrgeHiver,OrgePrintemps,Seigle,Pesticide]
     
         
\ No newline at end of file
diff --git a/src/Game.py b/src/Game.py
index f733dfab655aa514cb47512e7f0cbd716b4de658..c00ae4e261eb6c4da088d944f58279edad024497 100755
--- a/src/Game.py
+++ b/src/Game.py
@@ -1,10 +1,11 @@
 import pygame
-from Champs import Champs,Houblon,Buisson,TerrainVide,typePlantation
+import random
+from Champs import Champs,Houblon,Buisson,TerrainVide,Pesticide,typePlantation
 import numpy as np
 from Camera import Camera
 from Image import transformImage,Image
 from Temps import Temps
-from Infrastructure import Infrastructure,typeBatiment
+from Infrastructure import Infrastructure,typeBatiment,Serre,Torche
 
 RAYON_MUR_INVISIBLE = 2000
 SAISONS = ["Printemps", "Été", "Automne", "Hiver"]
@@ -53,7 +54,7 @@ class Game:
         #DragAndDrop
         self.dragBatiment = None
         self.dragPlantation = None
-    
+        
 
 
 
@@ -129,7 +130,7 @@ class Game:
             if self.money < self.displayMoney:
                 self.displayMoney -= min(444, self.displayMoney - self.money) # Si quelque chose coûte moins que 100, changer par -= min(100, self.displayMoney - self.money)
             elif self.money > self.displayMoney:
-                self.displayMoney-= min(444, self.money - self.displayMoney) # Si quelque chose coûte moins que 100, changer par -= min(100, self.money - self.displayMoney)
+                self.displayMoney+= min(444, self.money - self.displayMoney) # Si quelque chose coûte moins que 100, changer par -= min(100, self.money - self.displayMoney)
             
 
             #self.displayMoney = self.money
@@ -180,23 +181,36 @@ class Game:
                         if self.dragPlantation:
                             for champ in self.champs:
                                 if champ.rectScale.collidepoint(event.pos):
-                                    if isinstance(champ,TerrainVide):                                                                                                              
+                                    print(champ)
+                                    print(self.dragPlantation)
+                                    if self.dragPlantation == Pesticide:
+                                        print(champ.isInfeste)
+                                        champ.isInfeste = False
+                                        print(champ.isInfeste)
+
+                                    elif isinstance(champ,TerrainVide):                                                                                                              
                                         self.champs.append(self.dragPlantation(champ.pos))
                                         self.champs.remove(champ)
                                         #Perdre l'argent
                                         variable = self.dragPlantation.montantAchat
                                         self.moneyDefile(-variable)
+                                   
+                                        
                         
                         if self.dragBatiment:
                             for champ in self.champs:
                                 if champ.rectScale.collidepoint(event.pos):
                                     if isinstance(champ,TerrainVide):  
                                         self.batiment.append(self.dragBatiment(champ.pos))
-                                        self.champs.remove(champ)
+                                       
                                         #Perdre l'argent
                                         variable = self.dragBatiment.montantAchat
                                         self.moneyDefile(-variable)
-                        
+
+                                        if self.dragBatiment not in [Torche,Serre]:
+                                            self.champs.remove(champ)
+                                            
+                            
                         self.dragPlantation = None
                         self.dragBatiment = None
                     
@@ -226,14 +240,21 @@ class Game:
                     if event.button == 1:
                         if(self.recTourSuivant.collidepoint(event.pos)):
                             self.temps.NextTurn()
-                            """
+                            
                             if(self.temps.currentSeason == "Hiver"):
                                 self.AideEtat()
-                            """
+                            
 
+                            i = 0
                             for champ in self.champs:
+                                
                                 if type(champ) in typePlantation:
+                                    if champ.isInfeste:
+                                        champ.indiceImage = 4
                                     champ.plantationGrandit()
+                                    if(random.random()< 0.10):
+                                        champ.isInfeste = True
+
 
                         for champ in self.champs: 
                             if champ.rectScale.collidepoint(event.pos):
diff --git a/src/Infrastructure.py b/src/Infrastructure.py
index ff432c4fdef315f1283f02d40b69e72b06c0d495..6b790a913a957d9ccbf049a598b3482e7844d70b 100644
--- a/src/Infrastructure.py
+++ b/src/Infrastructure.py
@@ -87,7 +87,7 @@ class ReservoirEau (Infrastructure):
 
 class Irrigation (Infrastructure):
     iconStatic = pygame.transform.scale(pygame.image.load('../assets/irrigation.png'),(150,150))
-    textStatic = police.render('Arrosoir automatique longue portée',False, (0,0,0))
+    textStatic = police.render('Arrosoir automatique ',False, (0,0,0))
     textDescriptionStatic = police.render("Permet d'arroser les plantes",False,(0,0,0))
     montantAchat = 5000
     def __init__ (self,pos):
@@ -96,7 +96,7 @@ class Irrigation (Infrastructure):
 
 class IrrigationGoutte (Infrastructure):
     iconStatic = pygame.transform.scale(pygame.image.load('../assets/irrigationGoutte.png'),(150,150))
-    textStatic = police.render('Irrigation goutte à goutte',False, (0,0,0))
+    textStatic = police.render('Système goutte à goutte',False, (0,0,0))
     textDescriptionStatic = police.render("Permet d'arroser les plantes en économisant l'eau",False,(0,0,0))
     montantAchat = 10000
     def __init__ (self,pos):
@@ -104,13 +104,55 @@ class IrrigationGoutte (Infrastructure):
         self.imagebat = pygame.transform.scale(pygame.image.load('../assets/irrigationGoutte.png'),(120,120))
 
 class Serre (Infrastructure):
-    iconStatic = pygame.transform.scale(pygame.image.load('../assets/serre.png'),(150,150))
+    iconoriginal = pygame.image.load('../assets/serre.png')
+    iconStatic = pygame.transform.scale(iconoriginal,(150,150))
     textStatic = police.render('Serre',False, (0,0,0))
     textDescriptionStatic = police.render("Permet de proteger les cultures du froid et de la chaleur",False,(0,0,0))
     montantAchat = 1500
+
+    iconStaticCopie = pygame.transform.scale(iconoriginal.copy(), (250,200))
+
+    iconStaticCopie.fill((255, 255, 255, 70), None, pygame.BLEND_RGBA_MULT)
+
     def __init__ (self,pos):
         super().__init__(pos,'../assets/champ.png')
+        self.champsAfecte = None
         #self.imagebat = pygame.transform.scale(pygame.image.load('../assets/serre.png'),(120,120))
+    
+    def draw (self, screen, camera):
+        scaleImage = camera.scaleImage(Serre.iconStaticCopie)
+        scaleChamp = camera.scaleImage(self.image)
+
+        if scaleChamp :
+            self.champZoom = scaleChamp
+            self.champRect = pygame.rect.Rect(camera.convertLocation(self.pos),self.champZoom.get_size())
+        if scaleImage: # != None
+            self.imgZoom = scaleImage
+            self.rectScale = pygame.rect.Rect(camera.convertLocation(self.pos), self.imgZoom.get_size())
+
+
+        varlongueur = camera.convertLocation(self.pos)  
+        screen.blit(self.imgZoom, (varlongueur[0]+ (self.champRect.w - self.rectScale.w)/2,varlongueur[1]+ (self.champRect.h - self.rectScale.h)/2))
+                
+        
+        """
+        if hasattr(self,'imagebat'):
+            scaleBat = camera.scaleImage(self.imagebat)
+            if scaleBat:
+                self.BatZoom = scaleBat
+            varlongueur = camera.convertLocation(self.pos)   
+            self.rectbatScal = pygame.rect.Rect(camera.convertLocation(self.pos), self.BatZoom.get_size())
+            screen.blit(
+            self.BatZoom, 
+            (
+                varlongueur[0] + 
+                (self.rectScale.w-self.rectbatScal.w)
+                /2,
+                varlongueur[1] + 
+                (self.rectScale.h-self.rectbatScal.h)
+                /2)
+            )
+        """    
 
 class Torche (Infrastructure):
     iconStatic = pygame.transform.scale(pygame.image.load('../assets/torche.png'),(150,150))
@@ -119,6 +161,7 @@ class Torche (Infrastructure):
     montantAchat = 1000
     def __init__ (self,pos):
         super().__init__(pos,'../assets/champ.png')
+        self.zoneafecte = None
         #self.imagebat = pygame.transform.scale(pygame.image.load('../assets/torche.png'),(120,120))
 
 typeBatiment = [Puit,ReservoirEau,Irrigation,IrrigationGoutte,Serre,Torche]
\ No newline at end of file
diff --git a/src/T3.py b/src/T3.py
index 2a34eca0ed704a29f4f18145c8575907305da3a5..1420c38357a4fc11fbc0d9c4df8a41a214405151 100755
--- a/src/T3.py
+++ b/src/T3.py
@@ -16,7 +16,7 @@ class month:
 current_month = month(date.today().strftime("%b"))
 
 #background (2è scène)
-background = pygame.image.load('../assets/accueil.jpg')
+background = pygame.image.load('../assets/intro.webp')
 background = pygame.transform.scale(background, (screen.get_width(), screen.get_height()))
 
 #bannière