Agenda refactor
This commit is contained in:
parent
90ecf450b4
commit
b9f4076a7b
70
test-infomaniak-caldav-simple.sh
Executable file
70
test-infomaniak-caldav-simple.sh
Executable file
@ -0,0 +1,70 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Script de test simple pour la connexion CalDAV Infomaniak
|
||||
# Usage: ./test-infomaniak-caldav-simple.sh <email> <password>
|
||||
|
||||
EMAIL="${1:-a.tmiri@icmaae.foundation}"
|
||||
PASSWORD="${2}"
|
||||
|
||||
if [ -z "$PASSWORD" ]; then
|
||||
echo "❌ Usage: $0 <email> <password>"
|
||||
echo ""
|
||||
echo "Example:"
|
||||
echo " $0 a.tmiri@icmaae.foundation 'your-password'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
BASE_URL="https://sync.infomaniak.com/caldav"
|
||||
|
||||
echo "🔍 Test CalDAV Infomaniak"
|
||||
echo "Email: $EMAIL"
|
||||
echo "URL: $BASE_URL"
|
||||
echo ""
|
||||
|
||||
# Test PROPFIND (méthode principale utilisée par le code)
|
||||
echo "📡 Test PROPFIND..."
|
||||
HTTP_CODE=$(curl -s -o /tmp/caldav-response.xml -w "%{http_code}" \
|
||||
-X PROPFIND \
|
||||
-u "${EMAIL}:${PASSWORD}" \
|
||||
-H "Depth: 1" \
|
||||
-H "Content-Type: application/xml" \
|
||||
--data-binary '<?xml version="1.0" encoding="utf-8" ?>
|
||||
<d:propfind xmlns:d="DAV:" xmlns:c="urn:ietf:params:xml:ns:caldav">
|
||||
<d:prop>
|
||||
<d:displayname />
|
||||
<c:calendar-color />
|
||||
</d:prop>
|
||||
</d:propfind>' \
|
||||
"${BASE_URL}/")
|
||||
|
||||
echo "HTTP Status: $HTTP_CODE"
|
||||
echo ""
|
||||
|
||||
if [ "$HTTP_CODE" = "200" ] || [ "$HTTP_CODE" = "207" ]; then
|
||||
echo "✅ SUCCESS - Connexion réussie!"
|
||||
echo ""
|
||||
echo "Calendriers trouvés:"
|
||||
grep -o "<d:displayname>[^<]*</d:displayname>" /tmp/caldav-response.xml | sed 's/<[^>]*>//g' | nl
|
||||
echo ""
|
||||
echo "Réponse complète sauvegardée dans /tmp/caldav-response.xml"
|
||||
elif [ "$HTTP_CODE" = "401" ]; then
|
||||
echo "❌ ERREUR 401 - Non autorisé"
|
||||
echo ""
|
||||
echo "Causes possibles:"
|
||||
echo " 1. Mot de passe incorrect"
|
||||
echo " 2. 2FA activé - utilisez un mot de passe d'application"
|
||||
echo " 3. Compte suspendu"
|
||||
echo ""
|
||||
echo "Pour générer un mot de passe d'application Infomaniak:"
|
||||
echo " 1. Connectez-vous à https://config.infomaniak.com"
|
||||
echo " 2. Allez dans 'Mon profil' > 'Mots de passe d'application'"
|
||||
echo " 3. Générez un nouveau mot de passe pour 'CalDAV'"
|
||||
echo " 4. Utilisez ce mot de passe dans votre compte email"
|
||||
else
|
||||
echo "❌ ERREUR HTTP $HTTP_CODE"
|
||||
echo ""
|
||||
echo "Réponse:"
|
||||
cat /tmp/caldav-response.xml | head -20
|
||||
fi
|
||||
|
||||
rm -f /tmp/caldav-response.xml
|
||||
147
test-infomaniak-caldav.sh
Normal file
147
test-infomaniak-caldav.sh
Normal file
@ -0,0 +1,147 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Script de test pour la connexion CalDAV Infomaniak
|
||||
# Usage: ./test-infomaniak-caldav.sh <email> <password>
|
||||
|
||||
EMAIL="${1:-a.tmiri@icmaae.foundation}"
|
||||
PASSWORD="${2}"
|
||||
|
||||
if [ -z "$PASSWORD" ]; then
|
||||
echo "Usage: $0 <email> <password>"
|
||||
echo "Example: $0 a.tmiri@icmaae.foundation 'your-password'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
BASE_URL="https://sync.infomaniak.com/caldav"
|
||||
|
||||
echo "=========================================="
|
||||
echo "Test de connexion CalDAV Infomaniak"
|
||||
echo "=========================================="
|
||||
echo "Email: $EMAIL"
|
||||
echo "Base URL: $BASE_URL"
|
||||
echo "Password length: ${#PASSWORD}"
|
||||
echo ""
|
||||
|
||||
# Test 1: PROPFIND sur la racine
|
||||
echo "Test 1: PROPFIND sur la racine (/)"
|
||||
echo "-----------------------------------"
|
||||
RESPONSE=$(curl -s -w "\nHTTP_CODE:%{http_code}" \
|
||||
-X PROPFIND \
|
||||
-u "${EMAIL}:${PASSWORD}" \
|
||||
-H "Depth: 1" \
|
||||
-H "Content-Type: application/xml" \
|
||||
--data-binary '<?xml version="1.0" encoding="utf-8" ?>
|
||||
<d:propfind xmlns:d="DAV:" xmlns:c="urn:ietf:params:xml:ns:caldav">
|
||||
<d:prop>
|
||||
<d:displayname />
|
||||
<c:calendar-color />
|
||||
</d:prop>
|
||||
</d:propfind>' \
|
||||
"${BASE_URL}/")
|
||||
|
||||
HTTP_CODE=$(echo "$RESPONSE" | grep -o "HTTP_CODE:[0-9]*" | cut -d: -f2)
|
||||
BODY=$(echo "$RESPONSE" | sed '/HTTP_CODE:/d')
|
||||
|
||||
echo "HTTP Status: $HTTP_CODE"
|
||||
if [ "$HTTP_CODE" = "200" ] || [ "$HTTP_CODE" = "207" ]; then
|
||||
echo "✅ SUCCESS - Connexion réussie!"
|
||||
echo ""
|
||||
echo "Réponse:"
|
||||
echo "$BODY" | head -50
|
||||
else
|
||||
echo "❌ FAILED - Erreur HTTP $HTTP_CODE"
|
||||
echo ""
|
||||
echo "Réponse complète:"
|
||||
echo "$BODY"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo ""
|
||||
|
||||
# Test 2: OPTIONS pour vérifier les capacités
|
||||
echo "Test 2: OPTIONS pour vérifier les capacités"
|
||||
echo "--------------------------------------------"
|
||||
RESPONSE2=$(curl -s -w "\nHTTP_CODE:%{http_code}" \
|
||||
-X OPTIONS \
|
||||
-u "${EMAIL}:${PASSWORD}" \
|
||||
"${BASE_URL}/")
|
||||
|
||||
HTTP_CODE2=$(echo "$RESPONSE2" | grep -o "HTTP_CODE:[0-9]*" | cut -d: -f2)
|
||||
BODY2=$(echo "$RESPONSE2" | sed '/HTTP_CODE:/d')
|
||||
|
||||
echo "HTTP Status: $HTTP_CODE2"
|
||||
if [ "$HTTP_CODE2" = "200" ]; then
|
||||
echo "✅ SUCCESS"
|
||||
echo ""
|
||||
echo "Headers (capacités):"
|
||||
curl -s -I -X OPTIONS \
|
||||
-u "${EMAIL}:${PASSWORD}" \
|
||||
"${BASE_URL}/" | grep -i "dav\|allow\|calendar"
|
||||
else
|
||||
echo "❌ FAILED - Erreur HTTP $HTTP_CODE2"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo ""
|
||||
|
||||
# Test 3: GET sur la racine
|
||||
echo "Test 3: GET sur la racine (/)"
|
||||
echo "------------------------------"
|
||||
RESPONSE3=$(curl -s -w "\nHTTP_CODE:%{http_code}" \
|
||||
-u "${EMAIL}:${PASSWORD}" \
|
||||
"${BASE_URL}/")
|
||||
|
||||
HTTP_CODE3=$(echo "$RESPONSE3" | grep -o "HTTP_CODE:[0-9]*" | cut -d: -f2)
|
||||
BODY3=$(echo "$RESPONSE3" | sed '/HTTP_CODE:/d')
|
||||
|
||||
echo "HTTP Status: $HTTP_CODE3"
|
||||
if [ "$HTTP_CODE3" = "200" ] || [ "$HTTP_CODE3" = "207" ]; then
|
||||
echo "✅ SUCCESS"
|
||||
echo ""
|
||||
echo "Réponse:"
|
||||
echo "$BODY3" | head -30
|
||||
else
|
||||
echo "❌ FAILED - Erreur HTTP $HTTP_CODE3"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo ""
|
||||
|
||||
# Test 4: Vérification avec verbose pour voir les headers d'authentification
|
||||
echo "Test 4: Requête verbose (pour debug)"
|
||||
echo "-------------------------------------"
|
||||
echo "Commande curl complète:"
|
||||
echo "curl -v -X PROPFIND -u \"${EMAIL}:***\" -H \"Depth: 1\" \"${BASE_URL}/\""
|
||||
echo ""
|
||||
echo "Exécution (sans afficher le password):"
|
||||
curl -v -X PROPFIND \
|
||||
-u "${EMAIL}:${PASSWORD}" \
|
||||
-H "Depth: 1" \
|
||||
-H "Content-Type: application/xml" \
|
||||
--data-binary '<?xml version="1.0" encoding="utf-8" ?>
|
||||
<d:propfind xmlns:d="DAV:" xmlns:c="urn:ietf:params:xml:ns:caldav">
|
||||
<d:prop>
|
||||
<d:displayname />
|
||||
</d:prop>
|
||||
</d:propfind>' \
|
||||
"${BASE_URL}/" 2>&1 | grep -E "(< HTTP|Authorization|WWW-Authenticate|401|200|207)" | head -20
|
||||
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
echo "Résumé:"
|
||||
echo "=========================================="
|
||||
if [ "$HTTP_CODE" = "200" ] || [ "$HTTP_CODE" = "207" ]; then
|
||||
echo "✅ La connexion CalDAV fonctionne correctement"
|
||||
echo " Le problème pourrait être dans le code Node.js"
|
||||
elif [ "$HTTP_CODE" = "401" ]; then
|
||||
echo "❌ Erreur 401 Unauthorized"
|
||||
echo " Causes possibles:"
|
||||
echo " 1. Mot de passe incorrect"
|
||||
echo " 2. 2FA activé - nécessite un mot de passe d'application"
|
||||
echo " 3. Compte suspendu ou désactivé"
|
||||
echo " 4. Email incorrect"
|
||||
else
|
||||
echo "⚠️ Erreur HTTP $HTTP_CODE"
|
||||
echo " Vérifiez la connexion réseau et l'URL"
|
||||
fi
|
||||
echo ""
|
||||
Loading…
Reference in New Issue
Block a user