docs: def get(self, name, default="", parent_search=False, multikeys_search=False, __settings_temp=None, __rank_recursion=0):
  		""" 
  			Récupération d'une configuration 
  			le paramètre ```name``` peut être soit un nom ou 
  			un chemin vers la valeur (séparateur /)
  
  			```parent_search``` est le boolean qui indique si on doit
  			chercher la valeur dans la hiérarchie plus haute. Si la chaîne
  			"/document/host/val" retourne None, on recherche dans "/document/val"
  			puis dans "/val"
  
  			```multikeys_search``` indique si la recherche d'une clef non trouvabe
  			se fait sur les parents en multi clef
  			ie: /graphic/output/logo/enable va aussi chercher dans /graphic/logo/enable
  
  			```__settings_temp``` est le dictionnaire temporaire de 
  			transmission récursif (intégrant les sous configurations)
  
  			```__rank_recursion``` défini le rang de récusion pour chercher aussi
  			depuis la racine du chemin en cas de récursion inverse
  
  			exemple :
  				valeur = self.settings("document/host/val", "mon_defaut")
  				valeur = self.settings("/document/host/val", "mon_defaut")
  		"""
  		# configuration des settings temporaire pour traitement local
  		if __settings_temp is None:
  			__settings_temp = self.settings
  
  		# check si le chemin commence par / auquel cas on le supprime
  		if name.startswith("/"):
  			name = name[1:]
  
  		# check si le chemin termine par / auquel cas on le supprime
  		if name.endswith("/"):
  			name = name[:-1]
  
  		# check s'il s'agit d'un chemin complet
  		if "/" in name:
  			# récupération du nom de la sous configuraiton
  			name_master = name.split("/")[0]
  
  			# récupération de l'indice si le nom obtenu contient []
  			indice_master = -1
  			indices_master = re.findall(r"\[\d+\]", name_master)
  			if len(indices_master) > 0:
  				try:
  					indice_master = int(indices_master[0].replace("[", "").replace("]", ""))
  				except:
  					pass
  
  			# suppression de l'indice dans le nom du chemin courant (ie: data[0] devient data)
  			name_master = name_master.replace("[{}]".format(indice_master), "")
  
  			# recherche si la clef est présente dans le chemin courant
  			if name_master not in __settings_temp.keys():
  				return None
  
  			# récupération de la sous configuration
  			if indice_master < 0:
  				# la sous configuration n'est pas une liste
  				__settings_temp = __settings_temp[name_master]
  
  			else:
  				# la sous configuration est une liste (SI JSON !!)
  				__settings_temp = __settings_temp[name_master][indice_master] if self.is_json else __settings_temp[name]
  
  			# recursion sur le chemin en dessous
  			name_split = name.split("/")[1:]
  			search_path = "/".join(name_split)
  			return_value = self.get(
  				search_path, default, parent_search, multikeys_search, __settings_temp, __rank_recursion + 1)
  
  			# pas de valeur trouvé, on cherche sur la récursion inverse
  			if len(name_split) > 1 and return_value is None:
  				i = len(name_split)
  				while i >= 0:
  					# on décrémente le curseur de recherche
  					i -= 1
  
  					# établissement du nouveau chemin en supprimant le niveau supérieur
  					new_search_path = "/".join(name_split[i-len(name_split):])
  					return_value = self.get(
  						new_search_path, default, parent_search, multikeys_search, __settings_temp, __rank_recursion + 1)
  
  					# pas de recherche multi clef
  					if not multikeys_search:
  						break
  
  					# une valeur a été trouvée
  					if not return_value is None:
  						break
  
  			# pas de valeur trouvé et on est à la racine du chemin
  			if return_value is None and __rank_recursion == 0:
  				# on change le nom du master et on cherche
  				name = name_split[-1]
  				return_value = self.get(
  					name, default, parent_search, multikeys_search, self.settings, 0)
  
  				# toujours pas de valeur, on garde le défaut
  				if return_value is None:
  					return_value = default
  
  			# retour de la valeur récupérée
  			return return_value
  
  		# récupération de l'indice si le nom obtenu contient []
  		indice_master = -1
  		indices_master = re.findall(r"\[\d+\]", name)
  		if len(indices_master) > 0:
  			try:
  				indice_master = int(indices_master[0].replace("[", "").replace("]", ""))
  			except:
  				pass
  
  		# suppression de l'indice dans le nom du chemin courant (ie: data[0] devient data)
  		name = name.replace("[{}]".format(indice_master), "")
  
  		# check de la précense de la clef
  		if type(__settings_temp) is str or name not in __settings_temp.keys():
  			# le hash n'est pas présent !
  			# si la recherche récursive inverse est activée et pas de valeur trouvée,
  			# on recherche plus haut
  			if parent_search:
  				return None
  
  			return default
  
  		# récupération de la valeur
  		if indice_master < 0:
  			# la sous configuration n'est pas une liste
  			value = __settings_temp[name]
  
  		else:
  			# la sous configuration est une liste (SI JSON !!)
  			value = __settings_temp[name][indice_master] if self.is_json else __settings_temp[name]
  
  		# interdiction de la valeur "None"
  		if value is None:
  			# si la recherche récursive inverse est activée et pas de valeur trouvée,
  			# on recherche plus haut
  			if parent_search:
  				return None
  
  			# valeur par défaut
  			value = default
  
  		# trim si value est un str
  		if isinstance(value, str):
  			value = value.strip()
  
  		# retour de la valeur
  		return value