Partage
  • Partager sur Facebook
  • Partager sur Twitter

Création d'un programme python ( HELP )

IndentationError: unindent does not match any outer indentation level

    20 mai 2022 à 11:55:27

    Bonjour je m'appelle Systorm-OS ,:)

    je travaille actuellement sur un programme de protection d'habitation via python et une caméra IP.

    Je travaille maintenant sur l'installateur cependant j'ai l'erreur suivant :

     File "SysHome V2-Installateur.py", line 243
        os.system("sudo echo   >>/Systorm-OS/SysHome-Protect/System/Script/Network/Scan_network.py")
                                                                                                   ^
    IndentationError: unindent does not match any outer indentation level

    Cependant j'ai tout vérifier mais je n'ai rien trouver , je vous laisse donc le code si quelqu'un à la bonté de m'aider :lol:

    #!/usr/bin/env python3
    # -*- coding: UTF-8 -*-
    
    
    import os  								# Module pour controler système d'exploitation
    from tkinter import *   				# Module pour création des fenetres
    import smtplib  						# Module pour envoi de mail
    from datetime import datetime           # Module de la gestion du temps
    import socket							# Module réseau 
    from playsound import playsound			# Module pour lecture des voix SysHome
    from gtts import gTTS					# Module pour création de voix off
    
    #Récuperation de date installation pour le mail
    
    temps_mail = str(datetime.now())
    temps_mail = str(temps_mail)
            
    #Création des fonction de la fenetre principale
    
    def install_SysHome():
    	#Création des dossiers  
    	 if os.path.isdir("/Systorm-OS"):
    	 	print("Dossier /Systorm-OS : Ok")
    	 else:
    	 	os.system("sudo mkdir /Systorm-OS")
    
    	 if os.path.isdir("/Systorm-OS/SysHome-Protect"):
    	 	print("Dossier /Systorm-OS/SysHome-Protect : Ok")
    	 else:
    	 	os.system("sudo mkdir /Systorm-OS/SysHome-Protect")
    
    	 if os.path.isdir("/Systorm-OS/SysHome-Protect/System"):
    	 	print("Dossier /Systorm-OS/SysHome-Protect/System : Ok")
    	 else:
    	 	os.system("sudo mkdir /Systorm-OS/SysHome-Protect/System")
    
    	 if os.path.isdir("/Systorm-OS/SysHome-Protect/TMP"):
    	 	print("Dossier /Systorm-OS/SysHome-Protect/TMP : Ok")
    	 else:
    	 	os.system("sudo mkdir /Systorm-OS/SysHome-Protect/TMP")
    
    	 if os.path.isdir("/Systorm-OS/SysHome-Protect/System/Script"):
    	 	print("Dossier /Systorm-OS/SysHome-Protect/System/Script : Ok")
    	 else:
    	 	os.system("sudo mkdir /Systorm-OS/SysHome-Protect/System/Script")
    
    	 if os.path.isdir("/Systorm-OS/SysHome-Protect/System/Script/Network"):
    	 	print("Dossier /Systorm-OS/SysHome-Protect/System/Script/Network : Ok")
    	 else:
    	 	os.system("sudo mkdir /Systorm-OS/SysHome-Protect/System/Script/Network")
    
    	 if os.path.isdir("/Systorm-OS/SysHome-Protect/System/Script/Calibrage"):
    	 	print("Dossier /Systorm-OS/SysHome-Protect/System/Script/Calibrage : Ok")
    	 else:
    	 	os.system("sudo mkdir /Systorm-OS/SysHome-Protect/System/Script/Calibrage")
    
    	 if os.path.isdir("/Systorm-OS/SysHome-Protect/System/Script/Camera"):
    	 	print("Dossier /Systorm-OS/SysHome-Protect/System/Script/Camera : Ok")
    	 else:
    	 	os.system("sudo mkdir /Systorm-OS/SysHome-Protect/System/Script/Camera")
    
    	 if os.path.isdir("/Systorm-OS/SysHome-Protect/System/Script/Mail"):
    	 	print("Dossier /Systorm-OS/SysHome-Protect/System/Script/Mail : Ok")
    	 else:
    	 	os.system("sudo mkdir /Systorm-OS/SysHome-Protect/System/Script/Mail")
    
    	 if os.path.isdir("/Systorm-OS/SysHome-Protect/System/Log"):
    	 	print("Dossier /Systorm-OS/SysHome-Protect/System/Log : Ok")
    	 else:
    	 	os.system("sudo mkdir /Systorm-OS/SysHome-Protect/System/Log")
    
    	 if os.path.isdir("/Systorm-OS/SysHome-Protect/System/Setup"):
    	 	print("Dossier /Systorm-OS/SysHome-Protect/System/Setup : Ok")
    	 else:
    	 	os.system("sudo mkdir /Systorm-OS/SysHome-Protect/System/Setup")
    	 if os.path.isdir("/Systorm-OS/SysHome-Protect/System/Setup/Devices"):
    	 	print("Dossier /Systorm-OS/SysHome-Protect/System/Setup/Devices : Ok")
    	 else:
    	 	os.system("sudo mkdir /Systorm-OS/SysHome-Protect/System/Setup/Devices")
    
    
    	 #Création du fichier d'envoi de mail 
    
    	 if os.path.isfile("/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py"):
    	 	print("Script d'envoi de mail installé")
    	 else:
    	 	os.system("sudo echo '#!/usr/bin/env python3' >/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py")
    	 	os.system("sudo echo '# -*- coding: UTF-8 -*-'>>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py")
    	 	os.system("sudo echo   >>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py")
    	 	os.system("sudo echo '##################################################################################' >>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py")
    	 	os.system("sudo echo '#																				 #' >>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py")
    	 	os.system("sudo echo '#								| SYSHOME Protect | 							 #' >>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py")
    	 	os.system("sudo echo '#										Envoi de Mail							 #' >>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py")
    	 	os.system("sudo echo '#																				 #' >>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py")
    	 	os.system("sudo echo '#																				 #' >>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py")
    	 	os.system("sudo echo '#																				 #' >>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py")
    	 	os.system("sudo echo '#					By Systorm-OS  ( Systorm-OS Corporation	)					 #' >>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py")
    	 	os.system("sudo echo '#																				 #' >>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py")
    	 	os.system("sudo echo '#																				 #' >>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py")
    	 	os.system("sudo echo '#																				 #' >>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py")
    	 	os.system("sudo echo '#	@ 2022 Copyright													v:2.1	 #' >>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py")
    	 	os.system("sudo echo '##################################################################################' >>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py")
    	 	os.system("sudo echo   >>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py")
    	 	os.system("sudo echo   >>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py")
    	 	os.system("sudo echo '#Importation des modules pour SysHome' >>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py")
    	 	os.system("sudo echo   >>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py")
    
    	 	os.system("sudo echo 'import os ' >>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py")
    	 	os.system("sudo echo 'import smtplib  						# Module pour envoi de mail' >>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py")
    	 	os.system("sudo echo 'from datetime import datetime           # Module de la gestion du temps ' >>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py")
    	 	os.system("sudo echo   >>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py")
    	 	os.system("sudo echo   >>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py")
    	 	os.system("sudo echo 'temps_mail=str(datetime.now())' >>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py")
    	 	os.system("sudo echo 'temps_mail = str(temps_mail)'  >>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py")
    
    
    	 	cmd = 'sudo echo '+ "'"+'SMTP_SERVER = "smtp.gmail.com"'+"'"+">>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py"
    	 	os.system(cmd)
    	 	
    	 	os.system("sudo echo 'SMTP_PORT = 587' >>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py")
    
    	 	cmd = 'sudo echo ' + "'" + "SMTP_USERNAME = " + '"syshome.alerte@gmail.com"' + "'"'>>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py'
    	 	os.system(cmd)
    
    	 	cmd = 'sudo echo ' + "'" + "SMTP_PASSWORD = " + '"' + "#" + '"' + "'" + ">>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py"
    	 	os.system(cmd)
    
    	 	cmd = 'sudo echo ' + "'" + "EMAIL_FROM = " + '"' + "SysHome Security " + '"' + "'" + ">>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py"
    	 	os.system(cmd)
    
    
    	 	# Récuperation de l'adresse mail et nom prenom pour l'écrire dans /Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py
    
    
    	 	recuperation_adresse_mail = True
    	 	while recuperation_adresse_mail:
    	 		nom = input("Saisir votre nom : >")
    	 		prenom = input("Sasir votre prénom : >")
    	 		recup_mail = input("Saisir votre adresse Mail :> ")
    	 		verif_recup_mail = input("Re-saisir votre adresse mail :> ")
    	 		if recup_mail == verif_recup_mail:
    	 			recup_mail = str(recup_mail)
    	 			verif_ok_verif = input("Lors d'une alerte , vous serai alerter via l'adresse mail ( " + recup_mail +" ) est-ce correct : [Y/N] >")
    	 			if verif_ok_verif == 'Y' or verif_ok_verif == 'y' or verif_ok_verif == 'o' or verif_ok_verif =="O" :
    	 				cmd = 'sudo echo '+ "'"+ 'EMAIL_TO =  ' + '"'+ recup_mail + '"' + "'" + " >>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py" # Génération de la commande
    	 				os.system(cmd) #Ecriture dans le fichier
    	 				recuperation_adresse_mail = False
    	 			else:
    	 				os.system("clear")
    	 				print("Une erreur s'est produite !")
    	 		else:
    	 			os.system("clear")
    	 			print("les 2 adresses mail ne correspondent pas !")
    
    	 	cmd = 'sudo echo ' + "'" + 'EMAIL_SUBJECT = "Il y a une intrusion chez vous ! Consulter vos cameras !"' + "'" + ">>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py"
    	 	os.system(cmd)
    
    	 	cmd = 'sudo echo ' + "'" + "EMAIL_MESSAGE = " + '"' + "A" + '"' + " + " + "temps_mail" + " + " + '"' + ", une alarme a etais activer , une verification est necessaire ! " + '"' + "'" + ">>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py"
    	 	os.system(cmd)
    
    	 	os.system("sudo echo 's = smtplib.SMTP(SMTP_SERVER, SMTP_PORT)' >>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py")
    	 	os.system("sudo echo 's.starttls()' >>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py")
    	 	os.system("sudo echo 's.login(SMTP_USERNAME, SMTP_PASSWORD)' >>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py")
    
    	 	cmd = 'sudo echo ' + '"' + "message = " + "'Subject: " + "{" + "}" + r"\n" + r"\n" + "{" + "}" + "'.format(EMAIL_SUBJECT, EMAIL_MESSAGE)" + '"' + " >>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py"
    	 	os.system(cmd)
    
    	 	os.system("sudo echo 's.sendmail(EMAIL_FROM, EMAIL_TO, message)' >>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py")
    	 	os.system("sudo echo 's.quit()' >>/Systorm-OS/SysHome-Protect/System/Script/Mail/Mail.py")
    	 	SMTP_SERVER = "smtp.gmail.com"
    	 	SMTP_PORT = 587
    	 	SMTP_USERNAME = "syshome.alerte@gmail.com"
    	 	SMTP_PASSWORD = "#"
    	 	EMAIL_FROM = "Syshome-Security Systorm-OS"
    	 	EMAIL_TO = recup_mail
    	 	ident = prenom + " " + nom
    	 	ident = str(ident)
    	 	EMAIL_SUBJECT = "Bienvenue sur Systorm-OS et SysHome-Protect !"
    	 	EMAIL_MESSAGE = "Salut " + ident +",\nMerci d'avoir installer SysHome-Protect !\n \nNous vous confirmont que votre inscription a Systorm-OS et a SysHome-Protect est bien valider .\n \nDate d'installation :" + temps_mail 
    	 	#Conversion en str du message 
    	 	EMAIL_MESSAGE = str(EMAIL_MESSAGE)
    	 	EMAIL_MESSAGE.encode("UTF-8")
    	 	s = smtplib.SMTP(SMTP_SERVER, SMTP_PORT)
    	 	s.starttls()
    	 	s.login(SMTP_USERNAME, SMTP_PASSWORD)
    	 	message = 'Subject: {}\n\n{}'.format(EMAIL_SUBJECT, EMAIL_MESSAGE)
    	 	s.sendmail(EMAIL_FROM, EMAIL_TO, message)
    	 	s.quit()
    
    	 	#Création du Script scanneur réseau 
    
    	 	os.system("sudo echo '#!/usr/bin/env python3' >/Systorm-OS/SysHome-Protect/System/Script/Network/Scan_network.py")
    	 	os.system("sudo echo '# -*- coding: UTF-8 -*-' >>/Systorm-OS/SysHome-Protect/System/Script/Network/Scan_network.py")
    	 	os.system("sudo echo   >>/Systorm-OS/SysHome-Protect/System/Script/Network/Scan_network.py")
    	 	os.system("sudo echo '##################################################################################' >>/Systorm-OS/SysHome-Protect/System/Script/Network/Scan_network.py")
    	 	os.system("sudo echo '#																				 #' >>/Systorm-OS/SysHome-Protect/System/Script/Network/Scan_network.py")
    	 	os.system("sudo echo '#								| SYSHOME Protect | 							 #' >>/Systorm-OS/SysHome-Protect/System/Script/Network/Scan_network.py")
    	 	os.system("sudo echo '#										Scan Réseau 							 #' >>/Systorm-OS/SysHome-Protect/System/Script/Network/Scan_network.py")
    	 	os.system("sudo echo '#																				 #' >>/Systorm-OS/SysHome-Protect/System/Script/Network/Scan_network.py")
    	 	os.system("sudo echo '#																				 #' >>/Systorm-OS/SysHome-Protect/System/Script/Network/Scan_network.py")
    	 	os.system("sudo echo '#																				 #' >>/Systorm-OS/SysHome-Protect/System/Script/Network/Scan_network.py")
    	 	os.system("sudo echo '#					By Systorm-OS  ( Systorm-OS Corporation	)					 #' >>/Systorm-OS/SysHome-Protect/System/Script/Network/Scan_network.py")
    	 	os.system("sudo echo '#																				 #' >>/Systorm-OS/SysHome-Protect/System/Script/Network/Scan_network.py")
    	 	os.system("sudo echo '#																				 #' >>/Systorm-OS/SysHome-Protect/System/Script/Network/Scan_network.py")
    	 	os.system("sudo echo '#																				 #' >>/Systorm-OS/SysHome-Protect/System/Script/Network/Scan_network.py")
    	 	os.system("sudo echo '#	@ 2022 Copyright													v:2.1	 #' >>/Systorm-OS/SysHome-Protect/System/Script/Network/Scan_network.py")
    	 	os.system("sudo echo '##################################################################################' >>/Systorm-OS/SysHome-Protect/System/Script/Network/Scan_network.py")
    	 	os.system("sudo echo   >>/Systorm-OS/SysHome-Protect/System/Script/Network/Scan_network.py")
    	 	os.system("sudo echo   >>/Systorm-OS/SysHome-Protect/System/Script/Network/Scan_network.py")
    	 	os.system("sudo echo 'from ping3 import ping' >>/Systorm-OS/SysHome-Protect/System/Script/Network/Scan_network.py")
    	 	os.system("sudo echo 'import os' >>/Systorm-OS/SysHome-Protect/System/Script/Network/Scan_network.py")
    	 	os.system("sudo echo   >>/Systorm-OS/SysHome-Protect/System/Script/Network/Scan_network.py")
    	 	os.system("sudo echo 'def myping(host):' >>/Systorm-OS/SysHome-Protect/System/Script/Network/Scan_network.py")
    	 	os.system("sudo echo '	resp = ping(host)' >>/Systorm-OS/SysHome-Protect/System/Script/Network/Scan_network.py")
    	 	os.system("sudo echo '	if resp == False:' >>/Systorm-OS/SysHome-Protect/System/Script/Network/Scan_network.py")
    	 	cmd = "sudo echo '" + '		os.system(r"echo > TMP/no-device.txt")' + "'" + ' >>/Systorm-OS/SysHome-Protect/System/Script/Network/Scan_network.py'
    	 	os.system(cmd)
    	 	cmd = "sudo echo '" + '		os.system(r"rm -rf TMP/device-detect.txt"' + ">>/Systorm-OS/SysHome-Protect/System/Script/Network/Scan_network.py"
    	 	os.system(cmd)
    	 	os.system("sudo echo '	else:' >>/Systorm-OS/SysHome-Protect/System/Script/Network/Scan_network.py")
    	 	cmd = "sudo echo '" + ' 		os.system(r"echo > TMP/device-detect.txt")'+ "'" + " >>/Systorm-OS/SysHome-Protect/System/Script/Network/Scan_network.py"
    	 	os.system(cmd)
    	 	cmd = "sudo echo '" + '		os.system(r"rm -rf TMP/no-device.txt")'+ "'" + ">>/Systorm-OS/SysHome-Protect/System/Script/Network/Scan_network.py"
    	 	os.system(cmd)
    	 	os.system("sudo echo   >>/Systorm-OS/SysHome-Protect/System/Script/Network/Scan_network.py")
            os.system("sudo echo   >>/Systorm-OS/SysHome-Protect/System/Script/Network/Scan_network.py")
            os.system("sudo echo   >>/Systorm-OS/SysHome-Protect/System/Script/Network/Scan_network.py")
            os.system("sudo echo 'while True:' >>/Systorm-OS/SysHome-Protect/System/Script/Network/Scan_network.py")
            time.sleep(2)
    		os.system("clear")
    	 	#Scan réseau pour choisir device 
    		print("Nous allons scanner votre réseau à la recherche d'un périphérique considéré comme de confiance ...")
    		for ping in range(1,254):
    			address = "192.168.1." + str(ping)
    			socket.setdefaulttimeout(1)
    			try:
    				hostname, alias, addresslist = socket.gethostbyaddr(address)
    			except socket.herror:
    				hostname = None
    				alias = None
    				addresslist = address
    			if hostname == None:
    				pass
    			else:
    				print(addresslist, '=>', hostname)
    			print("Veillez saisir l'adresse IP du périphérique de confiance que vous souhaiter enregistré ( VOTRE IP DOIS ETRE STATIQUE !)")
    			recuperation_adresse_ip_confiance = True
    			while recuperation_adresse_ip_confiance:
    				Ip_confiance = input("Saisir l'IP en IPV4 . Exemple :(192.168.1.1) : > ")
    				Ip_confiance = str(Ip_confiance)
    				verif_Ip_confiance = input("Veillez Re-saisir l'adresse Ip de confiance : >")
    				verif_Ip_confiance = str(verif_Ip_confiance)
    				if Ip_confiance == verif_Ip_confiance:
    					print("Nous avons bien enregistré le périphérique de confiance sous l'IP : " + Ip_confiance + ".\nVOTRE IP DOIS ETRE STATIQUE !")
    					print("Un Mail de confirmation va vous etre envoyer !")
    					SMTP_SERVER = "smtp.gmail.com"
    					SMTP_PORT = 587
    					SMTP_USERNAME = "syshome.alerte@gmail.com"
    					SMTP_PASSWORD = "#"
    					EMAIL_FROM = "Syshome-Security Systorm-OS"
    					EMAIL_TO = recup_mail
    					ident = prenom + " " + nom
    					ident = str(ident)
    					EMAIL_SUBJECT = "SysHome : La configuration de l'IP de confiance est confirmer !"
    					temps_mail = str(datetime.now())
    					temps_mail = str(temps_mail)
    					EMAIL_MESSAGE = "Bonjour " + ident +",\nVotre SysHome Protect est maintenant appareiller à L'IP ( "+ Ip_confiance+" ) de votre reseau local .\n \nNous vous remercions de votre confiance et restons disponible en cas de panne de SysHome-Protect\n \nAdresse IP de confiance configurer a : :" + temps_mail + "\nCordialement\nSystorm-OS\nProjet SysHome-Protect"
    					#Conversion en str du message 
    					EMAIL_MESSAGE = str(EMAIL_MESSAGE)
    					EMAIL_MESSAGE.encode("UTF-8")
    					s = smtplib.SMTP(SMTP_SERVER, SMTP_PORT)
    					s.starttls()
    					s.login(SMTP_USERNAME, SMTP_PASSWORD)
    					message = 'Subject: {}\n\n{}'.format(EMAIL_SUBJECT, EMAIL_MESSAGE)
    					s.sendmail(EMAIL_FROM, EMAIL_TO, message)
    					s.quit()
    				else:
    					pass
    
    
    
    #Génération de la fenetre principale ( MENU )
    
    installer_fenetre_principale = Tk()
    installer_fenetre_principale.geometry("600x400") #Config taille fenetre
    
    #Création du contenu de la page 
    
    txt_bienvenue = Label(installer_fenetre_principale, text="Bienvenue sur SysHome Protect") # Texte de bienvenue
    txt_bienvenue.pack()
    
    btn_install = Button(installer_fenetre_principale, text='Installer SysHome Protect',command=install_SysHome)
    btn_install.pack()
    
    
    
    
    btn_quit = Button(installer_fenetre_principale, text='Quitter', command=installer_fenetre_principale.destroy) #Boutton quitter
    btn_quit.pack()
    
    
    
    
    installer_fenetre_principale.mainloop()
    exit()

    Si jamais vous voulez participer au projet n'hésite pas à te manifester :D;)





    -
    Edité par Kevin Pion 8 février 2024 à 19:37:55

    • Partager sur Facebook
    • Partager sur Twitter
      20 mai 2022 à 12:16:16

      Ton code est extrèmement (mais genre vraiment) moche. Tout est hard-codé. Si tu commençais déjà par découper ton code en routine ça t'aiderait.

      Et c'est quoi tout tes os.system ? Si c'est pour faire ça autant le faire en bash qu'en Python. Python arrive bien à écrire des fichiers tu sais.

      • Partager sur Facebook
      • Partager sur Twitter
        20 mai 2022 à 12:25:34

        pour le message, il est clair, il voit un problème d'indentation après la ligne 243; il indique que ce n'est pas le même type d'indentation qu'il a trouvé après, donc refaire l'indentation de la ligne 244 identique à celle de la 243 (pour commencer)
        • Partager sur Facebook
        • Partager sur Twitter
          24 mai 2022 à 23:25:05


          Nephthys a écrit:

          Si tu commençais déjà par découper ton code en routine ça t'aiderait.

          Désoler mais que veux tu dire par découper ton code, je ne comprend pas ?

          J'utilise du python car j'ai besoin de ses modules ( socket ,  tkinter , face_recognition, numpy , cv2, queue, threading, time,  requests, re , io et bien d'autre vont bientôt s'ajouter ) et je préfère   .

          je n'ai poster en ligne qu'une infime partie du projet donc je comprend que tu n'approuve pas python dans ce cas .

          En quelque mot le projet concerne un logiciel de surveillance de domicile avec de la reconnaissance Faciale et d'autre fonctionnalité en cour de développement.

          Cependant j’apprécie  qu'un œil neuf regarde le projet car je suis seul à coder et je connais pas tout car je ne suis pas Guido Van Rossum :lol:


          umfred a écrit:

          pour le message, il est clair, il voit un problème d'indentation après la ligne 243; il indique que ce n'est pas le même type d'indentation qu'il a trouvé après, donc refaire l'indentation de la ligne 244 identique à celle de la 243 (pour commencer)

           avant tout je tiens à te remercier pour ta réponse et je pense avoir  trouver le problème .

          Pour écrire mes programmes , j’utilise Sublime Text et j'ai vue que lorsque je surligne l'espace entre la marge et le code sur certaine ligne avais que deux trait séparer par un point et d'autre avais plusieurs points .

          j'ai donc ré-édité mon script et depuis il refonctionne .

          Après je ne sais pas si c'est sa mais maintenant il refonctionne :)

          Si jamais vous souhaiter participer au projet, hésite pas à te manifesté ;)

          PS:@Nephthys , Pour moi peux m'importe la tête du texte du code , ce qui compte c'est que le résultat finale fonctionne .

          Sauf si hard-codé peux poser des problèmes techniques que je ne connais pas ? :o

          Systorm-OS

          -
          Edité par Kevin Pion 24 mai 2022 à 23:41:43

          • Partager sur Facebook
          • Partager sur Twitter
            25 mai 2022 à 1:04:20

            Je vais faire mon libéro-gaucho :

            déjà que des projets alimentés à coup de millions de dollars génèrent trop de faux positifs, je doute que toi seul réussisses là où les mastodontes échouent encore. En tout cas, si tu réussis, tu pourras t'autoproclamer Big Brother.

            https://www.vice.com/en/article/qjpkmx/fac-recognition-company-lied-to-school-district-about-its-racist-tech

            https://www.techdirt.com/2019/05/09/new-data-london-metro-police-facial-recognition-tech-shows-still-wrong-96-percent-time/ (en 2019, 96% d'erreurs d'un système du métro londonien)

            • Partager sur Facebook
            • Partager sur Twitter
              25 mai 2022 à 8:27:37

              Bonjour,

              @Nephtys a été gentil :D et trop à mon sens, car tu n'as pas l'air d'avoir trop compris ce qu'il voulait exprimer. Dire que l'essentiel est que ça fonctionne ne suffit pas forcément... ça suffit sur l'instant, mais par la suite, ça peut être très problématique !

              Certes, tes besoins justifient Python, mais cette partie de code justifierait de travailler avec un fichier bash en partie (car tu utilises Tkinter). Rien n'empêche de travailler avec plusieurs langages. Rien que déjà virer tes os.system par subprocess.call ça sera déjà mieux, voir Popen pour contrôler les erreurs en retour. Niveau OS, Python peut tout faire. Pour sudo, chose à pas faire !!! Heureusement une solution plus sécurisée existe.

              Ensuite, tu sais quand on code, on peut s'éviter beaucoup de lignes en utilisant les boucles, des fonctions, voir mieux, modéliser en objets pour organiser de manière "logique". Ça demande une petite réflexion avant de développer, mais l'avantage c'est qu'on sait ce qu'on fait avant et pas pendant le développement.

              Et puis la maintenabilité... Une fois le code développé et fonctionnel, si par la suite (6 mois voir 1 an après) tu souhaites modifier ton code pour y ajouter des fonctionnalités ou pour corriger une erreur, je peux quasiment faire le pari que tu ne sauras pas trouver à quel endroit du code tu devras là faire.

              • Partager sur Facebook
              • Partager sur Twitter

              Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
              La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

              Création d'un programme python ( HELP )

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown