Code source wiki de TCMS - Report für externe Anwendungen bereitstellen
Modifié par Taha Gabdouri le 2025/12/05 09:57
Masquer les derniers auteurs
| author | version | line-number | content |
|---|---|---|---|
| |
4.1 | 1 | Via **« Fichier » → « Exporter le rapport »**, il est possible d’exporter un rapport lisible par machine au format CSV. Si l’on souhaite utiliser régulièrement ces données dans un programme externe, l’export peut être automatisé en quelques étapes. Le rapport peut ainsi être entièrement mis à disposition de manière automatisée via HTTP(S), FTP ou SMB, ou être enregistré sur un lecteur réseau. |
| |
1.2 | 2 | |
| 3 | {{info}} | ||
| |
4.1 | 4 | Testé avec succès pour la dernière fois avec : |
| |
1.2 | 5 | |
| 6 | Firmware: x64 -13.00 Build: 052 | ||
| 7 | TCMS 1.9 - 13.00 Build 007 | ||
| 8 | {{/info}} | ||
| 9 | |||
| |
4.1 | 10 | {{toc/}} |
| |
1.2 | 11 | |
| |
4.1 | 12 | = Configuration d’un dossier d’exportation = |
| |
1.2 | 13 | |
| |
4.1 | 14 | Décidez d’abord si vous souhaitez enregistrer votre rapport sur un lecteur réseau (PUT) ou le mettre à disposition pour téléchargement par d’autres applications (PULL). |
| |
1.2 | 15 | |
| |
4.1 | 16 | == Rapport sur un lecteur réseau == |
| |
1.2 | 17 | |
| |
4.1 | 18 | Si vous souhaitez enregistrer votre rapport sur un lecteur réseau, configurez le lecteur dans la Kommbox du TCMS sous **« Périphérie » → « Lecteurs » → « Nouveau lecteur réseau »**. Les lecteurs peuvent être intégrés ici via SMB, NFS, SSH ou WebDAV. |
| |
1.2 | 19 | |
| |
4.1 | 20 | Le chemin d’exportation doit ensuite être adapté en fonction du nom de lecteur attribué ici : |
| |
1.2 | 21 | |
| |
4.1 | 22 | {{{EXPORT_PATH="/mnt/shares/net/#NomDuLecteur#"}}} |
| 23 | |||
| |
1.2 | 24 | [[image:report01.png]] |
| 25 | |||
| |
4.1 | 26 | == **Mettre le rapport à disposition pour téléchargement** == |
| |
1.2 | 27 | |
| |
4.1 | 28 | Créez le lecteur que vous souhaitez utiliser pour partager votre rapport, comme décrit dans le guide [[RangeeOS - Lecteur d’échange sur le Thin Client>>doc:HowTos.RangeeOS - Austauschlaufwerk auf dem ThinClient.WebHome]]. |
| |
1.2 | 29 | |
| |
4.1 | 30 | Le chemin d’exportation doit ensuite être adapté en fonction du nom de lecteur attribué pour le répertoire : |
| |
1.2 | 31 | |
| |
4.1 | 32 | {{{EXPORT_PATH="/mnt/shares/local_dir/#NomDuLecteur#" }}} |
| |
1.2 | 33 | |
| |
4.1 | 34 | = **Automatiser l’exportation de la configuration** = |
| |
1.2 | 35 | |
| |
4.1 | 36 | Pour automatiser l’exportation, vous pouvez placer un script dans la Kommbox du TCMS. Dans l’exemple suivant, un rapport est généré une seule fois au démarrage du TCMS, puis à chaque heure pile. Veuillez adapter **EXPORT_PATH** et **REPORT_FILENAME** en conséquence : |
| |
1.2 | 37 | |
| |
4.1 | 38 | {{{#-------------------------------------À adapter-------------------------------------# |
| 39 | #Répertoire local pour l’export. Veuillez utiliser votre EXPORT_PATH défini précédemmentLokales Verzeichnis für den Export. Übernehmen Sie bitte Ihren zuvor definierten EXPORT_PATH | ||
| 40 | EXPORT_PATH="/mnt/shares/local_dir/#NomDuLecteur#" | ||
| |
1.2 | 41 | |
| |
4.1 | 42 | #Définit le nom de fichier de l’export du rapport – choix libre |
| |
3.1 | 43 | REPORT_FILENAME="report.csv" |
| 44 | #----------------------------------------------------------------------------------------# | ||
| 45 | |||
| |
4.1 | 46 | # Cette commande exporte le rapport TCMS dans le répertoire local |
| |
3.1 | 47 | COMMAND="/opt/rangee/tcms/symfony tcms:export-report $EXPORT_PATH/$REPORT_FILENAME" |
| |
1.2 | 48 | |
| |
4.1 | 49 | # Fichier temporaire pour le crontab actuel |
| |
1.2 | 50 | TEMP_CRON=$(mktemp) |
| 51 | |||
| |
4.1 | 52 | # Écrire le crontab actuel dans le fichier temporaire |
| |
1.2 | 53 | crontab -l > "$TEMP_CRON" 2>/dev/null |
| 54 | |||
| |
4.1 | 55 | # Vérifier si la commande existe déjà dans le crontab |
| |
1.2 | 56 | grep -F "$COMMAND" "$TEMP_CRON" > /dev/null |
| 57 | if [ $? -eq 0 ]; then | ||
| 58 | echo "Der Cronjob existiert bereits." | ||
| 59 | else | ||
| 60 | # Den neuen Cronjob hinzufügen (jede Stunde) | ||
| 61 | echo "0 * * * * $COMMAND" >> "$TEMP_CRON" | ||
| 62 | # Den aktualisierten Crontab laden | ||
| 63 | crontab "$TEMP_CRON" | ||
| 64 | fi | ||
| 65 | |||
| |
4.1 | 66 | # Supprimer le fichier temporaire |
| |
1.2 | 67 | rm "$TEMP_CRON" |
| 68 | |||
| |
4.1 | 69 | # Exécuter la commande une seule fois |
| |
3.1 | 70 | $COMMAND}}} |
| |
1.2 | 71 | |
| |
4.1 | 72 | Le script peut être placé dans la Kommbox sous **« Outils » → « Scripts » → « Nouvelle connexion »**. Utilisez les paramètres suivants : |
| |
3.1 | 73 | |
| 74 | |||
| 75 | |||
| |
4.1 | 76 | * **Nom de connexion :** au choix |
| 77 | * **Exécuter en tant que root :** oui | ||
| 78 | * **Script :** insérer le script créé | ||
| 79 | * **Démarrage automatique :** oui | ||
| |
3.1 | 80 | |
| |
4.1 | 81 | Redémarrez ensuite le TCMS une seule fois. |
| |
3.1 | 82 | |
| |
4.1 | 83 | = **Récupération des rapports** = |
| |
3.1 | 84 | |
| |
4.1 | 85 | Un rapport enregistré sur un lecteur réseau est directement accessible après l’exécution du script. |
| 86 | |||
| 87 | Les options de récupération pour le lecteur local sont également décrites dans l’article [[RangeeOS – Lecteur d’échange sur le Thin Client>>doc:HowTos.RangeeOS - Austauschlaufwerk auf dem ThinClient.WebHome]]. Via HTTPS, vous pouvez télécharger un rapport créé par le script ci-dessus (avec **NomDuLecteur = "report"**) à l’adresse suivante : | ||
| 88 | |||
| |
3.1 | 89 | {{{https://#Client#/shares/report/report.csv}}} |
| 90 | |||
| 91 | [[image:share03.png||width="600"]] |