diff --git a/src/Champs.py b/src/Champs.py
index 96c43036f1bf04a051c064c95dbd45c4890bc538..1697f2fe4b3741d5d6ee795642f57c30e2bdc7e3 100644
--- a/src/Champs.py
+++ b/src/Champs.py
@@ -5,16 +5,32 @@ from Image import transformImage
 #from Infrastructure import Infrastructure
 listeImage = [transformImage(pygame.image.load('../assets/Plantation/crop'+str(i)+'phase.png'), 120, 120) for i in range(1,5)]
 iconStaticSize = (100,100)
-
+"""
+@nom = Game :  Class : Super class qui répresente un champs
+@param : pas de parametre
+@return : void
+@Description :
+Super class qui répresente un champs
+"""
 class Champs:
     iconInsecteStatic = pygame.transform.scale(pygame.image.load("../assets/Plantation/leech.png"),(90,90))
-    
+    """
+    @nom = __init___ :  Méthode Constructor : Constructeur de la classe Champs
+    @param : 
+    temperature : int : temperature du champs
+    humdite : int :  humidité du champs
+    tempsAvantMaturation : int : tempsAvantMaturation de la plante
+    pos : int : position x et y
+    image : string : chemin de l'image 
+    @return : void
+    @Description :
+    Met en place les champs
+    """
     def __init__ (self, temperature, humidite, tempsAvantMaturation, pos, image):
         self.pourcentagePlanteFane = 10
 
         self.temperature = temperature
         self.humidite = humidite
-        self.TAM = tempsAvantMaturation
         self.pos = np.array(pos)
         self.image = pygame.image.load(image)
         self.imageSize = np.array(self.image.get_size())
@@ -45,7 +61,13 @@ class Champs:
         self.setInformation("status", self.image,True)
 
 
-
+    """
+    @nom = plantationGrandit :  Methode : Change l'image et le status de la plante au tour suivant
+    @param :
+    @return : void
+    @Description :
+    Change l'image et le status de la plante au tour suivant
+    """
     def plantationGrandit(self):
         self.indiceImage += 1
         if self.indiceImage < 4:
@@ -56,9 +78,13 @@ class Champs:
             elif(self.indiceImage == 5):
                 self.isInfeste = False
                 self.imageChamp = transformImage(pygame.image.load('../assets/Plantation/fanne.png'), 120, 120)
+
     """
-    def setInfrastrcture(self,pos,image):
-        return Infrastructure(pos,image)
+    @nom = draw :  Function : Affiche les images et info dans 
+    @param :
+    @return : void
+    @Description :
+    Change l'image et le status de la plante au tour suivant
     """
     def draw (self, screen, camera):
         scaleImage = camera.scaleImage(self.image)
@@ -103,12 +129,17 @@ class Champs:
                 (self.rectScale.h-self.rectScalInfecte.h)
                 /2)
             )
-            
-    def changeText (self, camera):
-        scaleText = camera.scaleImage(self.text)
-        if scaleText:
-            self.zoomText = scaleText
 
+    """
+    @nom = setInformation :  Function : set les informations sur chaque champs
+    @param : 
+    clef : string : nom de colonne clef du dictionnaire
+    valeur : string : nom de colonne valeur du dictionnaire
+    isImage : bool : si la valeur et une image
+    @return : void
+    @Description :
+    Change l'image et le status de la plante au tour suivant
+    """
     def setInformation(self,clef,valeur,isImage = False):
         self.descripteurChamps[clef] = valeur
         if isImage : 
@@ -116,13 +147,28 @@ class Champs:
         else : 
             self.imageSurfaceinfo[clef] = police.render(str(valeur),True,(0,0,0))
         
-    def showInfo(self,screen,rectangle,bat = {}):
+    """
+    @nom = showinfo :  Function : Affiche les infos sur les champs
+    @param : 
+    screen : Surface : Surface sur laquelle nous allons écrire
+    rectangle : pygame.Rectangle : Surface sur laquelle nous allons écrire
+    @return : void
+    @Description :
+    Change l'image et le status de la plante au tour suivant
+    """
+    def showInfo(self,screen,rectangle):
         i = 0
         for k,v in self.descripteurChamps.items():
             screen.blit(self.imageSurfaceinfo[k],(rectangle.x,rectangle.y + i))
             i += 30
 
-
+"""
+@nom = Game :  Class : Super class qui répresente un champs
+@param : pas de parametre
+@return : void
+@Description :
+Super class qui répresente un champs
+"""
 class Buisson (Champs):
     def __init__ (self, pos, prix = 10000):
         super().__init__(0, 0, 0, pos, '../assets/Interface/buissonCadenas.png')
@@ -146,18 +192,32 @@ class TerrainVide(Champs):
 
 
 class Houblon (Champs):
-    iconStatic = transformImage(pygame.image.load('../assets/Plantation/houblon.png'), *iconStaticSize)
-    textStatic = police.render('Houblon',False, (0,0,0))
-    textDescriptionStatic = police.render("Houblon sa marche bien",False,(0,0,0))
     montantAchat = 250
     montantVente = 600
+    iconStatic = transformImage(pygame.image.load('../assets/Plantation/houblon.png'), *iconStaticSize)
+    textStatic = police.render('Houblon',False, (0,0,0))
+    textDescriptionStatic = police.render("Montant Achat :"+str(montantAchat),False,(0,0,0))
+    textDescriptionStatic2 = police.render("Montant Vente :"+str(montantVente),False,(0,0,0))
+
     def __init__ (self, pos):
         super().__init__(0, 0, 0, pos,'../assets/Plantation/champ.png')
         self.text = self.police.render("Température : " + str(self.temperature), False, (0,0,0))
         self.zoomText = self.text
 
         self.imageChamp = transformImage(pygame.image.load('../assets/Plantation/crop1phase.png'), 120, 120)
+        self.descripteurPlante = {
         
+        }
+
+        self.imageSurfacePlante = {
+            
+        }
+
+        super.setInformation("Montant Achat",200)
+        super.setInformation("Montant Vente",800)
+        print("changement fait")
+
+
         
 class Ble (Champs):
     iconStatic = transformImage(pygame.image.load('../assets/Plantation/wheat.png'), *iconStaticSize)
diff --git a/src/Game.py b/src/Game.py
index 02262678172e66ed8a73b9186631ce0998600e8b..da051f97374227c11f4e239fcf32e02159d7ff80 100644
--- a/src/Game.py
+++ b/src/Game.py
@@ -6,21 +6,31 @@ from Camera import Camera
 from Image import *
 from Temps import Temps
 from Infrastructure import *
-
+#Limite du zoom
 RAYON_MUR_INVISIBLE = 2000
 SAISONS = ["Printemps", "Été", "Automne", "Hiver"]
-MOIS = ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"]
+#Défini la police 
 police = pygame.font.SysFont("roboto", 30)
 
-#TODO : MAJEUR : continuer le pourcentage des plantes
-        #1-> Faire une hiérarchie entre les batiments si il ya un puit et un reservoir appliquer le boost du reservoir et non du puit
-        #2->quand on place un batiment possable sur un champ il affiche le descripteur du champ et pas de l'infrastructure
-
-
+    """
+    @nom = Game :  Class : Classe principale du jeu
+    @param : pas de parametre
+    @return : void
+    @Description :
+    Constitue l'élément principal dans lequelle évolue le jeu
+    """
 class Game:
     imagestaticplantation = pygame.image.load('../assets/Interface/imagePlantation.jpeg')
     imagestaticbatiment = pygame.image.load('../assets/Interface/imageBatiment.jpeg')
     imagestaticinfor = pygame.image.load('../assets/Interface/imageinfo.jpg')
+
+    """
+    @nom = __init___ :  Méthode Constructor : Constructeur de la classe Game
+    @param : pas de parametre
+    @return : void
+    @Description :
+    Met en place l'interface et les éléments principaux du jeu
+    """
     def __init__ (self):
         self.screen = pygame.display.set_mode((0,0), pygame.FULLSCREEN)
         self.image = Image(self.screen)
@@ -35,12 +45,15 @@ class Game:
         self.batiment = []
 
         self.temps = Temps()
+        #Ajout des 12 champs de la partie
         for i in range(12):
             self.champs.append(Buisson(((i%4)*300-550,(i//4)*250-430)))
+        
+        #Pour les fps
         self.clock = pygame.time.Clock()
         self.selectedChamp = None
-        self.selectedBatiment = None
 
+        #Attribut pour image money
         self.imageMoney = pygame.transform.scale(self.image.moneyImage, np.array(self.image.moneyImage.get_size())/5)
 
         self.camera = Camera(np.array(self.screen.get_size())/2)
@@ -48,50 +61,66 @@ class Game:
         self.frame = 0
         self.buyFrame = -1000
         
+        #Interface pour le tour suivant
+        #Les 2 attributs pour la fleche qui change de proportion
         self.tourSuivantOriginal = self.image.arrowNextImage
         self.tourSuivantModif = pygame.transform.scale(self.tourSuivantOriginal, (100,100))
-        self.coordonneeSuite = self.screenSize[0]-self.tourSuivantModif.get_width() - 120, self.screenSize[1] - self.tourSuivantModif.get_height() - 120
-        self.suiteRectangle = pygame.rect.Rect(*self.coordonneeSuite, 100, 100)
 
+        #Défini l'interface le menu des batiments
         self.coordonne_info = pygame.rect.Rect(self.screen.get_width()*0.82,self.screen.get_height()*0.18,self.screen.get_width()*0.19,self.screen.get_height()*0.5)
         self.recInformation = pygame.rect.Rect(self.coordonne_info)
         self.rectPlantation = pygame.rect.Rect(0,0,self.temps.getImageSaison().get_width(),self.screen.get_height() -  self.temps.getImageSaison().get_height())
         self.recBatiment = pygame.rect.Rect(self.temps.getImageSaison().get_width(), self.screen.get_height() - self.temps.getImageSaison().get_height(), self.screen.get_width() * 0.65, self.temps.getImageSaison().get_height())
 
-        self.rectPlantationimage = pygame.transform.scale(Game.imagestaticplantation,(self.rectPlantation.w,self.rectPlantation.h))
-        self.rectBatimentimage = pygame.transform.scale(Game.imagestaticbatiment,(self.recBatiment.w,self.recBatiment.h))
-        self.rectinfoimage = pygame.transform.scale(Game.imagestaticinfor,(self.recInformation.w,self.recInformation.h))
 
+        #Background et hitbox pour le tour suivant et sa fleche
+        self.coordonneeSuite = self.screenSize[0]-self.tourSuivantModif.get_width() - 120, self.screenSize[1] - self.tourSuivantModif.get_height() - 120
+        self.suiteRectangle = pygame.rect.Rect(*self.coordonneeSuite, 100, 100)
         self.recTourSuivant = pygame.rect.Rect(
         self.recBatiment.x + self.recBatiment.w ,self.screen.get_height() - self.temps.getImageSaison().get_height(),
         self.screen.get_width() -  self.temps.getImageSaison().get_width() - self.recBatiment.w,self.temps.getImageSaison().get_height())
+        
+        #défini interface pour le menu des plantes
+        self.rectPlantationimage = pygame.transform.scale(Game.imagestaticplantation,(self.rectPlantation.w,self.rectPlantation.h))
+        self.rectBatimentimage = pygame.transform.scale(Game.imagestaticbatiment,(self.recBatiment.w,self.recBatiment.h))
+        self.rectinfoimage = pygame.transform.scale(Game.imagestaticinfor,(self.recInformation.w,self.recInformation.h))
 
+        
+        
         #DragAndDrop
         self.dragBatiment = None
         self.dragPlantation = None
         
 
 
-
+    """
+    @nom = gameLoop : Boucle principale du jeu 
+    @param : pas de parametre
+    @return : void
+    @Description :
+    Méthode qui constitut la boucle prinicpale du jeu et qui fait évoluer la partie
+    """
     def gameLoop (self):
         while True:
 
             self.screen.blit(self.image.backgroundImage, (0,0))
 
-            #CHAMPS------------------
+            #CHAMPS
+
             # Affichage des champs
             for champ in self.champs:
                 champ.draw(self.screen, self.camera)
 
+            # Affichage des batiments
             for bat in self.batiment:
                 bat.draw(self.screen, self.camera)
-            #DEBUT BOUCLE INTERFACE------------------------
+            #DEBUT mise en place  INTERFACE
 
             #Onglet Information
-            #pygame.draw.rect(self.screen, (0, 127, 0), self.recInformation)
+
             self.screen.blit(Game.imagestaticinfor,(self.coordonne_info.x,self.coordonne_info.y))
 
-            # Météo
+            # Onglet gestion de la météo
             self.screen.blit(self.temps.getImageSaison(), (0, self.screen.get_height() - 300))
             self.screen.blit(self.temps.iconSaison,(10,self.screen.get_height() - self.temps.iconSaison.get_height()))
             self.screen.blit(self.temps.tempsaisonImage,(10,self.screen.get_height() - self.temps.iconSaison.get_height() - 50))
@@ -103,11 +132,13 @@ class Game:
             #Onglet plantation
             
             self.screen.blit(self.rectPlantationimage,(0,0))
+
             #Onglet tour suivant
             pygame.draw.rect(self.screen,(0, 127, 0),(self.recTourSuivant))
             self.screen.blit(self.tourSuivantModif, (self.recTourSuivant.x+ (self.recTourSuivant.w - self.tourSuivantModif.get_width())/2,
             self.recTourSuivant.y+ (self.recTourSuivant.h - self.tourSuivantModif.get_height())/2))
 
+            #Boucle qui place tous les objets plantation dans le menu
             for i,c in enumerate(typePlantation):
                 x = self.rectPlantation.x + ( 0 if i%2 else 170)
                 y = self.rectPlantation.y + (i//2) * self.rectPlantationimage.get_height()/4
@@ -118,12 +149,14 @@ class Game:
                 r = pygame.rect.Rect(x,y,c.iconStatic.get_width(),c.iconStatic.get_height()+ 20 )
                 self.screen.blit(c.textStatic, (x,y))
                 self.screen.blit(c.iconStatic,(x,y+c.textStatic.get_height() ))
+                #Si la souris est dessus on affichage d'un rectangle
                 if ( (r.collidepoint(pygame.mouse.get_pos()))):
                     pygame.draw.rect(self.screen,(138, 227, 237), r,1)
                     self.screen.blit(c.textDescriptionStatic,(self.recInformation.x,self.recInformation.y))
                 
                 
             #Onglet batiment 
+            #Boucle qui place tous les objets infrastructure dans le menu
             self.screen.blit(self.rectBatimentimage,(self.temps.getImageSaison().get_width(),self.screen.get_height() - self.temps.getImageSaison().get_height()))
             for i,c in enumerate(typeBatiment):
                 x = self.recBatiment.x + i* self.rectBatimentimage.get_width() / 6
@@ -131,6 +164,7 @@ class Game:
                 r = pygame.rect.Rect(x,y,c.iconStatic.get_width() + 20 ,c.iconStatic.get_height()+ 30 )
                 self.screen.blit(c.textStatic, (x,y))
                 self.screen.blit(c.iconStatic,(x,y + c.textStatic.get_height()))
+                #Si la souris est dessus on affichage d'un rectangle
                 if ( (r.collidepoint(pygame.mouse.get_pos()))):
                     pygame.draw.rect(self.screen,(138, 227, 237), r,1)
                     self.screen.blit(c.textDescriptionStatic,(self.recInformation.x,self.recInformation.y))
@@ -139,38 +173,38 @@ class Game:
 
 
             isChamp = False
-            isbatiment = False
 
-            
+            #Compteur défilant de l'argent
             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 = self.money
-            
+            #variable money
             textMoney = police.render(str(self.displayMoney), True, (255,255,255))
 
+            #Variable pour la notif de perte/obtention d'argent
             self.CoRecArgent = pygame.rect.Rect(self.screen.get_width(), 0, 100, 100)
             self.recArgent = pygame.draw.rect(self.screen,(255,0,0),(self.CoRecArgent))
 
             self.screen.blit(textMoney, (self.screen.get_width() - self.imageMoney.get_width() - textMoney.get_width(),self.imageMoney.get_height()/2))
             self.screen.blit(self.imageMoney, (self.screen.get_width() - self.imageMoney.get_width() , 0))
 
-
+            #Boucle pour chaque action de l'utilisateur
             for event in pygame.event.get():
                 if event.type == pygame.QUIT or event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE:
                     exit()
 
                 #Deplacement de la souris
                 elif event.type == pygame.MOUSEMOTION:
-                    #drag and drop + interface des batiment et plantation
+                    
                     if event.buttons[2] == 1: #maintenir enfoncé clic droit
                         self.camera.setPosition(np.array(event.rel))
-            
+                    #drag and drop 
+                    #Pour l'item qui se deplace
                     if event.buttons[0] == 1:#maintenir enfoncé clic gauche
                         if self.dragBatiment == None and self.dragPlantation == None:
+                            #Boucle pour suivre la souris
                             for i,c in enumerate(typeBatiment):
                                 x = self.recBatiment.x + i* self.rectBatimentimage.get_width() / 6
                                 y = self.recBatiment.y + 50
@@ -180,9 +214,9 @@ class Game:
                         if(self.dragBatiment):
                             self.screen.blit(self.dragBatiment.iconStatic, (event.pos))   
 
-
-                        if self.dragPlantation == None and self.dragBatiment == None:
-                            
+                    
+                        if self.dragPlantation == None and self.dragBatiment == None: #POur empecher de prendre 2 items en drag
+                            #Boucle pour suivre la souris
                             for i,c in enumerate(typePlantation):
 
                                 x = self.rectPlantation.x + ( 0 if i%2 else 170) 
@@ -196,13 +230,16 @@ class Game:
                             
                                 
                     else:
+                        #Pour un item plantation pris
                         if self.dragPlantation:
                             for champ in self.champs:
                                 if champ.rectScale.collidepoint(event.pos):
                                     if self.dragPlantation == Pesticide:
                                         champ.isInfeste = False
 
+                                    #Si l'emplacement est un champs libre
                                     elif isinstance(champ,TerrainVide):     
+                                        #creation du nouvel objet dropé
                                         newChamp = self.dragPlantation(champ.pos)                                                                                                         
                                         self.champs.append(newChamp)
                                         newChamp.setInformation("Occupe" ,"Champ occupé")
@@ -215,15 +252,17 @@ class Game:
                                         self.moneyDefile(-variable)
                                    
                                         
-                        
+                        #Pour un item plantation pris
                         if self.dragBatiment:
                             for champ in self.champs:
                                 if champ.rectScale.collidepoint(event.pos):
                                     if isinstance(champ,TerrainVide) or type(champ) in typePlantation: 
+                                        #Creation du nouvel objet
                                         newBat = self.dragBatiment(champ.pos) 
                                         self.batiment.append(newBat)
                                         champ.isbat = newBat
                                         
+                                        #Ajout des informations dans le rectangle information
                                         newBat.setInformation("Occupe", "Espace occupé") 
                                         newBat.setInformation("Nom","Emplacement pour"+str(self.dragBatiment.NameObjet))
                                         newBat.setInformation("coutEntretien","117€ d'entretien mensuel ")
@@ -234,40 +273,36 @@ class Game:
 
                                         self.moneyDefile(-variable)
                                         self.nombreBatiments += 1
-
+                                        #Exception où le non supprime pas le champs derrière
                                         if self.dragBatiment not in [Torche,Serre,Irrigation,IrrigationGoutte]:
                                             self.champs.remove(champ)
                                             
                                             self.nombreChamps -= 1
                                             
-                            
+                        #Réinitialisation des pointeurs 
                         self.dragPlantation = None
                         self.dragBatiment = None
                     
 
                 
-
+                    #Boucle pour définir l'endroit comme un champ
                     for champ in self.champs + self.batiment:
                         if champ.rectScale.contains(event.pos[0],event.pos[1],0,0):
                             self.selectedChamp = champ
-                            self.selectedBatiment = champ
                             isChamp = True
-                            isbatiment = True
-                        
+                    
 
                     if not isChamp:
                         self.selectedChamp = None
 
-                    if not isbatiment:
-                        self.selectedBatiment = None
-
+                    #Remettre l'image fleche tour suivant par défaut quand on enlève la souris de la hitbox
                     if (*event.pos,0,0) in self.recTourSuivant:
                         self.tourSuivantModif = pygame.transform.scale(self.tourSuivantOriginal, (200, 200))
                     else:
                         self.tourSuivantModif = pygame.transform.scale(self.tourSuivantOriginal, (100, 100))
                     
                 
-                
+                #Pour zoomer 
                 elif event.type == pygame.MOUSEWHEEL:
                     self.camera.zoomInOut(event.y)
 
@@ -282,13 +317,10 @@ class Game:
 
 
                             #Code qui implemente la variation du pourcentage des plantes
-                            #Vérification de la construction de batiment d'eau quand il fait chaud avec different cas
-                            #self.ChangePourcentFanne(Serre,["orage"],2)
+                            self.ChangePourcentFanne(Serre,["orage"],2)
+                            #Action si la saison est été
                             if (self.temps.currentSeason == "été"):
-                                #self.ChangePourcentFanne(ReservoirEau,["canicule","secheresse"],20,"chaud",10),
                                 for bat in self.batiment:
-                                    print("batiment reconnu")
-                                    print("len batiment : "+ str(self.batiment))
                                     if (type(bat) == ReservoirEau):
                                         self.ChangePourcentFanne(ReservoirEau,["canicule","secheresse"],5,"chaud",2)
                                     elif(type(bat) == Puit):
@@ -296,43 +328,38 @@ class Game:
                                     elif(type(bat) == Irrigation):
                                         self.ChangePourcentFanne(Irrigation,["canicule","secheresse"],10,"chaud",5)
                                     elif(type(bat) == IrrigationGoutte):
-                                        self.ChangePourcentFanne(irrigationGoutte,["canicule","secheresse"],5,"chaud",2)
+                                        self.ChangePourcentFanne(IrrigationGoutte,["canicule","secheresse"],5,"chaud",2)
+                                #Si il y a aucun batiment
                                 if(len(self.batiment) == 0):
-                                    print("pas de batiment")
                                     for champ in self.champs:
                                         champ.pourcentagePlanteFane += 20
                                         champ.setInformation(hash('fane'),champ.pourcentagePlanteFane)
-
+                            #Action si la saison est automne
                             elif (self.temps.currentSeason == "Automne"):
-                                #self.ChangePourcentFanne(Serre,["neige","froid"],20)
                                 for bat in self.batiment:
                                     if (type(bat) == Serre):                              
                                         self.ChangePourcentFanne(Serre,["neige","froid"],5)
                                     elif(type(bat) == Puit):
                                         self.ChangePourcentFanne(Torche,["neige","froid"],10)
+                                #Si il y a aucun batiment
                                 if(len(self.batiment) == 0):
-                                    print("pas de batiment")
                                     for champ in self.champs:
                                         champ.pourcentagePlanteFane += 15
                                         champ.setInformation(hash('fane'),champ.pourcentagePlanteFane)
-
+                            #Action si la saison est hiver
                             elif (self.temps.currentSeason == "Hiver"):
                                 self.AideEtat()
-                                #self.ChangePourcentFanne(Serre,["neige","froid"],30)
                                 for bat in self.batiment:
                                     if (type(bat) == Serre):                              
                                         self.ChangePourcentFanne(Serre,["neige","froid"],5)
                                     elif(type(bat) == Puit):
                                         self.ChangePourcentFanne(Torche,["neige","froid"],10)
                                 if(len(self.batiment) == 0):
-                                    print("pas de batiment")
                                     for champ in self.champs:
                                         champ.pourcentagePlanteFane += 15
                                         champ.setInformation(hash('fane'),champ.pourcentagePlanteFane)
-
-                                #Ajouter torche est faire une hiérarchie
+                            #Action si la saison est printemps
                             elif(self.temps.currentSeason == "Printemps"):
-                                #self.ChangePourcentFanne(ReservoirEau,["chaud"],15)
                                 for bat in self.batiment:
                                     if (type(bat) == ReservoirEau):
                                         self.ChangePourcentFanne(ReservoirEau,["chaud"],2)
@@ -341,14 +368,14 @@ class Game:
                                     elif(type(bat) == Irrigation):
                                         self.ChangePourcentFanne(Irrigation,["chaud"],5)
                                     elif(type(bat) == IrrigationGoutte):
-                                        self.ChangePourcentFanne(irrigationGoutte,["chaud"],2)
+                                        self.ChangePourcentFanne(IrrigationGoutte,["chaud"],2)
+                                #Si il y a aucun batiment
                                 if(len(self.batiment) == 0):
-                                    print("pas de batiment")
                                     for champ in self.champs:
                                         champ.pourcentagePlanteFane += 15
                                         champ.setInformation(hash('fane'),champ.pourcentagePlanteFane)
                             
-                                
+                            #Boucle pour verifier si la plante est infecté par les verres
                             for champ in self.champs: 
                                 if type(champ) in typePlantation: 
                                     if champ.isInfeste:
@@ -356,12 +383,10 @@ class Game:
                                     self.VerifPlantFane(champ)
                                     if(random.random()< 0.10):
                                         champ.isInfeste = True
-                                
+
+                            #verification de la durée de vie des batiments
                             for bat in self.batiment:
-                                print("passe ici")
-                                print(type(bat))
                                 if(bat.verifDureeVie()):
-                                    print("changer")
                                     self.champs.append(TerrainVide(bat.pos))
                                     self.batiment.remove(bat)
 
@@ -370,7 +395,7 @@ class Game:
 
                             #click sur un champ
                             if champ.rectScale.collidepoint(event.pos):
-                                #Vente des plantes
+                                #Vente des plantes 
                                 if(champ.indiceImage > 3):
                                     self.champs.append(TerrainVide(champ.pos))
                                     self.champs.remove(champ)
@@ -392,33 +417,45 @@ class Game:
 
             if self.frame < self.buyFrame + 20:
                 self.screen.blit(self.moneyChange, (self.screen.get_width() - self.imageMoney.get_width() - textMoney.get_width(), (self.frame-self.buyFrame)*1.5))
-                #self.screen.blit(self.moneyChange, (200, self.screen.get_height()-textMoney.get_height()*4+(self.frame-self.buyFrame)*1.5))
-
-            if self.selectedChamp and self.selectedBatiment:
+            
+            #Pour le champ selectionnée afficher les infos dans le rectangle information
+            if self.selectedChamp:
                 self.selectedChamp.showInfo(self.screen,self.recInformation)
-                self.selectedBatiment.showInfo(self.screen,self.recInformation)
             pygame.display.update()
             self.clock.tick(50)
             self.frame += 1
         
+    """
+    @nom = moneyDefile : Fonction : additionne/soustrait l'argent du joueur
+    @param : montant : int : montant additionné/soustrait de l'argent du joueur
+    @return : void
+    @Description :
+    Fonction : additionne/soustrait l'argent du joueur
+    """
     def moneyDefile(self,montant):
         self.moneyChange = police.render(str(montant), True, (200,0,0) if montant < 0 else (0,250,0) )
         self.buyFrame = self.frame
         self.money+= montant
         
+     """
+    @nom = AideEtat : Fonction : Ajoute de l'argent
+    @param : 
+    @return : void
+    @Description :
+    Simule les aides de l'état aux agriculteurs
+    """
     def AideEtat(self):
         self.moneyDefile(5000)
 
+     """
+    @nom = ChangePourcentFanne : Fonction : Ajoute de l'argent
+    @param : 
+    @return : void
+    @Description :
+    Simule les aides de l'état aux agriculteurs
+    """
     def ChangePourcentFanne(self,infra,case1,augmentation1, case2 = "",augmentation2 = 0):
-        print("fonction rentrer avec : ")
-        print(case1)
-        print(case2)
-        print("compare avec : "+ str(self.temps.currentTempsName) +" et les cas : "+str(case1))
-        print("rentre dans le premier if batiment : "+str(not (infra in [type(bat) for bat in self.batiment])))
-        print("chaud" in ["chaud","secheresse"])
-        print(self.temps.currentTempsName)
         if not (infra in [type(bat) for bat in self.batiment]):
-            print(self.temps.currentTempsName in case1)
             if(self.temps.currentTempsName in case1):
                 for champ in self.champs:
                     champ.pourcentagePlanteFane += augmentation1
@@ -428,13 +465,26 @@ class Game:
                     champ.pourcentagePlanteFane += augmentation2
                     champ.setInformation(hash('fane'),champ.pourcentagePlanteFane)
 
-
+    """
+    @nom = VerifPlantFane : Fonction : Verfie la plante si elle fane
+    @param : champ : Champs
+    @return : void
+    @Description :
+    Tir au sort un nombre entre 0 et 100, si le nombre tiré est inférieur au pourcentage de chance de fane de la plante, la plante fane
+    """
     def VerifPlantFane(self,champ):
         nbrrandom = random.randint(0,100)
         if nbrrandom < champ.pourcentagePlanteFane:
             champ.indiceImage = 4
         champ.plantationGrandit()
 
+    """
+    @nom = VerifPlantFane : Fonction : Calcule le coût d'entretien mensuel 
+    @param : champ : Champs
+    @return : void
+    @Description :
+    Calcule le coût d'entretien mensuel de chaque champs et batiment
+    """
     def coutEntretien(self):
         cout = 0
         # Entretien des batiments pendant 3 mois