- Frontend v4 accessible sur réseau local (192.168.1.40) - Ports ouverts: 3002 (frontend), 5001 (backend), 5004 (dashboard) - Ollama GPU fonctionnel - Self-healing interactif - Dashboard confiance Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
151 lines
5.4 KiB
Python
151 lines
5.4 KiB
Python
e 1)cess elsf sucexit(0 i
|
|
sys.=")'ÉCHOUÉ'} ==ess else ccif suSSI' ÉU'R Test {f"\n===
|
|
print(load_flow()omplete_up test_c =ccess suin__":
|
|
_ == "__ma
|
|
if __name_False
|
|
|
|
return _exc()
|
|
eback.print trac
|
|
eback tracimport ")
|
|
e}ion: {sessla éation de cr lors de la Erreur print(f"❌ :
|
|
n as etioep Exccept
|
|
ex
|
|
n False retur ")
|
|
e}requête: { Erreur de t(f" ❌ prin s e:
|
|
tException aquesxceptions.Requests.e except re
|
|
se
|
|
Fal return )
|
|
[:500]}"text {response.Réponse:int(f" pr
|
|
_code}")tussponse.staTP {rer HTreu(f" ❌ Er print else:
|
|
e
|
|
Tru return )
|
|
non-JSON)"ponseussi (rérépload Unt(f" ✅ pri eError:
|
|
od.JSONDecjson except n True
|
|
retur
|
|
")}('user')a.get_datesponseeur: {risatt(f" Util prin )
|
|
unt')}"reenshots_coata.get('scsponse_drets: {nshoScree" nt(f pri nt')}")
|
|
ts_cout('evenata.geponse_dres: {reçusénements int(f" Év pr ")
|
|
ion_id')}a.get('sessponse_datesn ID: {r Sessioprint(f" )
|
|
ad réussi!" ✅ Uplot(f" prin
|
|
json()ponse.= resta e_da respons try:
|
|
0:
|
|
== 20tatus_code response.sif
|
|
")
|
|
_code}se.statusP: {respon Status HTTt(f" prin
|
|
)
|
|
t=30
|
|
timeou ,
|
|
=headersrs heade ,
|
|
data=data files,
|
|
files=
|
|
er_url,rv se post(
|
|
sts.onse = reque resp
|
|
|
|
} "
|
|
n}toke{auth_"Bearer zation": fhori "Aut
|
|
= {ders hea
|
|
} _id,
|
|
on.sessiontest_sessid": _i"session {
|
|
= data }
|
|
"),
|
|
reamston/octet-licati, f, "appd_path)e(encrypteh.basenam.pate": (os"fil = {
|
|
files :
|
|
") as fth, "rbd_papteencrypen( with o y:
|
|
tr
|
|
..")
|
|
rveur.s le seoad ver\n3. Upl("rint p
|
|
le serveurverser # 3. Upload
|
|
")
|
|
bytes)} ath_pede(encryptth.getsiz.paille: {osint(f" Ta pr")
|
|
th}rypted_pa: {enciffréer ch Fichi" (f print )
|
|
")
|
|
n_passwordencryptiog.get("ent_confi=agassword p =True,
|
|
encryption enable_ tmpdir,
|
|
ssion,
|
|
est_se t
|
|
cryption(_enithon_zip_wcreate_sessited_path = ncryp e chiffré
|
|
le fichier Créer #
|
|
")
|
|
ents)}session.evn(test_ents: {le" Événemrint(f p
|
|
d}")ion_ision.sessst_ses{teéée: Session crf" print()
|
|
tmpdirave_json(session.sest_ t sion
|
|
r la ses Sauvegarde #r:
|
|
pdi tmory() asirect.TemporaryDtempfileith w
|
|
|
|
session()on.end_t_sessi tes)
|
|
"}orldello W"H {"key": key",_event("session.add test_t"})
|
|
"lefon": tt0, "bu "y": 200, 10, {"x":ck"_event("clisession.addtest_
|
|
ts de tests événemenuelqueter qAjou
|
|
#
|
|
]
|
|
)=[1920, 1080olution_res screen host",
|
|
"test_ hostname= ",
|
|
m="linuxfor plat",
|
|
low_upload_f"testd=er_i us reate(
|
|
ession.csion = RawSt_ses tesst
|
|
tee session de # Créer un
|
|
r_config()
|
|
_usenfig = loadco agent_g agent
|
|
er la confi # Charg
|
|
nfig
|
|
coer_rt load_uspofig imuser_conv0.nt_ from age
|
|
ryptionip_with_encsession_z create_d importyptee_encroragst0.om agent_v
|
|
frsionport RawSes imionw_sessgent_v0.ra from a
|
|
|
|
try:..")
|
|
n chiffrée.iod'une sessréation t("\n2. Cprint
|
|
vec l'agenhiffrée a session c une 2. Créer #lse
|
|
|
|
return Fa
|
|
te")ncomplè iserveurration "❌ Configuint(pr
|
|
n:tokeot auth_ nl ort server_ur
|
|
if no")
|
|
ÉFINIn: NON D toke" Authn else f auth_toke:16]}..." i_token[{authn: h toket(f" Autin
|
|
pr}")server_url: {ver URL(f" Serrint p
|
|
")
|
|
_TOKEN_ADMIN"RPAs.get(env_varn = auth_toke")
|
|
SERVER_URLet("RPA_env_vars.grver_url = se
|
|
|
|
p()= value.stririp()] vars[key.st env_ )
|
|
, 1e.split('='in lkey, value = n line:
|
|
) and '=' iartswith('#'.stot linend n aine if l )
|
|
strip(line = line. in f:
|
|
for line r') as f:
|
|
path, 'v_local_h open(en wit {}
|
|
s =var env_cal
|
|
env.lo . Parser
|
|
#alse
|
|
Freturn
|
|
vable")ntrou i.localnvFichier .e print("❌ :
|
|
s()l_path.existcaenv_loot ")
|
|
if nallocenv.".(path = Pathocal_v_l enal
|
|
v.locenrger .Cha#
|
|
..")
|
|
ations.s configurrgement de. Chaint("\n1 prations
|
|
es configur Charger l
|
|
# 1.
|
|
t ===")remenec chiffd avd'uploau flux complet d Testt("===prin """
|
|
ment.ffrehivec cpload a'u dux flet du"Test compl):
|
|
""ow(e_upload_flmplet test_co
|
|
def)
|
|
")t_v0t / "agen.paren__file__)ath(ert(0, str(Pys.path.ins)
|
|
sparent)__).th(__file, str(Pah.insert(0s.patsyaires
|
|
emins nécessr les ch
|
|
# Ajoute Path
|
|
ib importrom pathl
|
|
f jsonimport
|
|
ort requests
|
|
impfileport tempsys
|
|
imort os
|
|
import """
|
|
|
|
imper
|
|
iffrpeut la déchrveur le seuee qVérifiveur
|
|
4. rs le sere ve'uploadurée
|
|
3. La clé confige avec lchiffr. La
|
|
2 l'agent v0on avecessine sée ust:
|
|
1. Cr te
|
|
Ce
|
|
ement.ec chiffrload av'updu flux d complet est"
|
|
T
|
|
""on3v pythbin/en#!/usr/ |