
o ""log"
echashboard. -f logs/diltales logs : ier rif. Vé"  3ho rd"
ec --dashboa : ./run.shc dashboard ave Lancer 2.
echo " sh"n.n : ./rulicatioapper l' "  1. Lanccho :${NC}"
epeschaines étaBLUE}Proe "${"
echo -
echo ""C}${N════╝═══════════════════════════════════════════════════════N}╚═EE -e "${GR{NC}"
echo ║$                SIS    TS RÉUSUS LES TES    ✓ TO║          "${GREEN}"
echo -e {NC}═══════╗$═══════════════════════════════════════════════════${GREEN}╔══o -e "ch""
e

echo uvé"
fion tro.py noard appDashb{NC} ED}✗$"${Ro -e  eche
   
    fi
elsk)"asl flinstallé (pip  instalFlask nonOW}⚠${NC}  "${YELL    echo -e  e
     els"
 éallask inst${NC} Fl${GREEN}✓cho -e "   e
      then -eq 0 ];
    if [ $?/dev/null2>rt flask" "impo-c ython3     plask
pendances Fier les dé
    # Vérif    "
.py trouvéboard app${NC} DashN}✓${GREEho -e "en
    ecp.py" ]; thboard/apash"web_d-f "
if [ hboard...as d duérification${NC} V[4/4]LUE}e "${Bncé
echo -peut être laashboard le dfier que éri VTest 4:
# 
fi
 1
    exitué" écho aConversion{NC} ED}✗$"${R   echo -e 
 elseectement"
orrnne csion fonctio ConverEEN}✓${NC}-e "${GR
    echo  0 ]; then
if [ $? -eqK")
EOF
le OPIL → tempfinumpy → rsion t("✓ Conveh)

prinpat(tmp_.unlink
osNettoyer)

#   sys.exit(1eated")
  e not crTemp fil print("✗ 
   th):_pah.exists(tmpf not os.pater existe
iue le fichier q# Vérifih)

(tmp_patveil_image.saname
    ppath = tmp.:
    tmp_ tmpe) asalse=F deletng',='.pixaryFile(suffTempor.Named tempfilet
withairemender temporaruveg
# Sa
ot)y(screenshage.fromarraage = ImPIL
pil_imonvertir en it(1)

# Cexys.
    sled")faiapture rint("✗ Cone:
    phot is Nens

if screture()urer.caphot = captcreenspturer()
s = ScreenCa
capturer
port os
imepfiltemrt 
impoport Image PIL imturer
from ScreenCap importcapturerreen_re.sccapturom core.)
ft(0, '.'.path.inseryss
st sy
imporF'EO< '3 <"
python PIL... numpy →onsi converst de la4]${NC} Te${BLUE}[3/echo -e " PIL
mpy →ion nu convers Vérifier la Test 3:fi

# exit 1
  choué"
  a érereenCaptu}✗${NC} Scr${REDho -e "   ece
 elsnt"
temee correcfonctionnenCapturer C} Scre}✓${NGREEN"${   echo -ethen
  q 0 ]; $? -ef [ OF

i
Ehape}")reenshot.sOK: {sce (f"✓ Capturnt
pri1)
exit(   sys.]}")
 ape[2ot.sh{screenshchannels:  Wrong "✗  print(f   3:
ape[2] !=reenshot.sh1)

if sct(s.exi    sy")
nshot)} {type(screee:ng typ"✗ Wro  print(frray):
  daot, np.ncreenshstance(ssint i
if nos.exit(1)
)
    syure failed"✗ Capt    print("t is None:
hocreens

if sapture()r.capturehot = ceens)
scrurer(creenCaptcapturer = S as np

pyport numapturer
im ScreenCimporten_capturer ure.scre core.capt
fromsert(0, '.').path.int sys
sysimpor << 'EOF'

python3..."aptureru ScreenC${NC} Test dLUE}[2/4]"${Be
echo -e onnurer fonctiaptle ScreenCrifier que  2: Véest

# T
fi  exit 1r.py"
  rchestratouvée dans onon tro Correction ✗${NC} "${RED}ho -e  eclse
  pfile"
etem → numpy → PIL conversion quée :n appliCorrectioEN}✓${NC} -e "${GREho  ecy; then
   ator.pestrui/orchryFile" goraNamedTemp "tempfile.rep -q g.."
ifstrator.py.ction orchea correon de lificatiVér1/4]${NC} "${BLUE}[e 
echo -ifiéodété mpy a tor.chestraorer  le fichir quet 1: Vérifie}"

# Tes-e "${NC╝"
echo ════════════════════════════════════════════════════ "╚════════
echo   ║"      3     ion VA VisRPions - rrect des Co    Testcho "║     "
e╗═════════════════════════════════════════════════════════╔═══"
echo "e "${BLUE}ho -[0m'

ec
NC='\033[0;34m'\033E='m'
BLU1;33'\033[W=
YELLO033[0;31m'2m'
RED='\'\033[0;3e

GREEN=

set -sug de b correctionse test desScript dbin/bash
# #!/