Retourne la date courante ou depuis une date fournie moins un delta
		et étant autorisé dans une plage de jour (lundi=1 ... dimanche=7)

		:param: :date_from date de référence
		:param: :days nombre de jours à changer
		:param: :hours nombre d'heures à changer
		:param: :minutes nombre de minutes à changer
		:param: :seconds nombre de secondes à changer
		:param: :days_range numéro des jours (iso) autorisé pour le changement
		:return datetime

def delta(self, date_from=None, date_format=None, days=0, hours=0, minutes=0, seconds=0, days_range=[1, 2, 3, 4, 5, 6, 7]):
		"""
		Retourne la date courante ou depuis une date fournie moins un delta
		et étant autorisé dans une plage de jour (lundi=1 ... dimanche=7)

		:param: :date_from date de référence
		:param: :days nombre de jours à changer
		:param: :hours nombre d'heures à changer
		:param: :minutes nombre de minutes à changer
		:param: :seconds nombre de secondes à changer
		:param: :days_range numéro des jours (iso) autorisé pour le changement
		:return datetime
		"""
		# check des jours autorisés
		range_correct = False
		for i in range(1, 8):
			if i in days_range:
				# au moins un jour autorisé est correcte (de 1 à 7)
				range_correct = True

		# si aucun jour dans days_range ne correspond à jour réel,
		# on affecte un défaut
		if not range_correct:
			days_range = [i for i in range(1, 8)]

		# détermination du sens de déplacement du jour pour le days_range
		day_sens = 1  # en avant
		delta_absolute = days * 24 * 3600 + hours * 3600 + minutes * 60 + seconds
		if delta_absolute < 0:
			day_sens = -1

		# recherche de la date de départ
		now = self.convert(date_from=date_from, date_format=date_format)

		# calcul de la nouvelle date
		current_date = now + timedelta(
			days=days,
			hours=hours,
			minutes=minutes,
			seconds=seconds
		)

		# recherche d'un jour autorisé
		while current_date.isoweekday() not in days_range:
			current_date = current_date + timedelta(days=day_sens)

		# retour
		return current_date