Skip to content

Releases: QrCommunication/Ploi-Panel

Ploi Panel 0.3.0 — refonte de l'interface (préversion)

Choose a tag to compare

@ronylicha ronylicha released this 02 Oct 14:06
d3ecb66

Ploi Panel 0.3.0 — refonte de l'interface

Client Android open source et indépendant pour l'administration Ploi, en Kotlin/Jetpack Compose. L'application parle directement à l'API officielle Ploi : aucun serveur intermédiaire, aucun compte Ploi Panel, aucune télémétrie. Non affiliée à Ploi.

Cette version refond l'interface de tous les écrans et corrige quatre bugs réels découverts en parcourant l'application sur un vrai compte Ploi. Elle porte aussi l'application complète sur main et corrige la licence déclarée du dépôt : main contenait encore le texte GPL-3.0 du commit initial alors que le projet est en LGPL-3.0-only depuis la v0.1.0.

Téléchargements

  • Ploi-Panel-0.3.0.apk — installation directe, Android 10+ (API 29). APK release signé, com.qrcommunication.ploipanel, versionCode 3. Met à jour une 0.1.0/0.2.0 signée de la même clé.
  • Ploi-Panel-0.3.0.aab — bundle signé par la même clé d'upload, destiné à une soumission manuelle à Google Play Console. Aucune fiche Play n'existe à ce jour.
  • upload_certificate.pem — certificat public de la clé d'upload, pour vérifier la signature.

Empreinte SHA-256 du certificat signataire (APK et AAB) :

b7306ed91bd26aa1d2a8a9ba536e139b1028f19dd9579c06cb33582ff6d9cee3

Vérifiez avant installation :

apksigner verify --print-certs Ploi-Panel-0.3.0.apk
sha256sum Ploi-Panel-0.3.0.apk   # a867ae67d65a4675923b07109c01633876ff8f85fe107fd06d6b011a76eaeede

Bugs corrigés, constatés sur des données réelles

  • Widget « un serveur » impossible à afficher sur un appareil. Sa mise en page utilisait une vue View, interdite dans RemoteViews : le lanceur affichait « Impossible de charger le widget ». Un test (RemoteViewsWhitelistTest) vérifie désormais les classes utilisées par toutes les mises en page de widgets.
  • Écran Projets en erreur « Réponse Ploi illisible ». /projects renvoie les serveurs comme objets {id, name, status, ip} et non comme la liste d'identifiants décrite dans la documentation. Les deux formes sont acceptées et les noms sont affichés.
  • Vue d'ensemble des serveurs surveillés vide. /servers/monitored renvoie des séries nommées ({"name":"CPU","data":{"HH:mm":valeur}}). Elles sont assemblées par horodatage, dans un ordre qui reste correct autour de minuit ; une mesure nulle reste inconnue au lieu d'être lue comme zéro.
  • Horodatages de monitoring décalés et toujours « périmés ». /monitor envoie yyyy-MM-dd HH:mm:ss sans fuseau (UTC) ; les dates sont désormais converties dans le fuseau et le format de l'appareil.

Les 35 lectures de l'API ont été rejouées sur les réponses réelles du compte.

Interface

  • Design system appliqué à tous les écrans : barre d'outils, cartes de ressources avec statut en mots, détails en paires libellé/valeur, actions destructrices distinguées en rouge et toujours derrière leur confirmation, états vide/erreur/chargement homogènes, valeurs machine (IP, ports, chemins, commandes) en police à largeur fixe, sorties longues repliées.
  • Liste des serveurs : 50 serveurs par page (maximum documenté), filtres par état avec compteurs de la page chargée, recherche locale dont la portée est indiquée, tirer pour actualiser.
  • Serveurs injoignables : retestés automatiquement à l'ouverture de la liste et de la fiche — relecture du statut Ploi, puis test TCP vers le port SSH depuis le téléphone, les deux résultats affichés séparément et horodatés. Ploi ne documente aucun moyen de relancer sa propre vérification : l'application ne le prétend pas.
  • Formats d'écran : barre de navigation sous 600 dp, rail latéral au-delà, liste et détail côte à côte à partir de 720 dp (pliant ouvert, tablette).
  • Mots plutôt que codes : statuts, priorités et règles de pare-feu traduits (« Injoignable », « À traiter », « Autoriser »…) ; les valeurs inconnues restent visibles telles qu'envoyées.
  • Widgets : pied de carte compact tenant en 2×2, statut Ploi précis, jauges natives colorées par palier (sous 75 %, 75–89 %, 90 % et plus) avec la valeur écrite à côté.
  • PIN de 4 à 12 chiffres, avec règles expliquées pendant la frappe.

Vérification

  • 751 tests JVM, 0 échec ; rapport lint No issues found.
  • APK et AAB reconstruits depuis le tag v0.3.0 dans un arbre de travail propre, afin que les fichiers publiés correspondent exactement au commit.
  • Les écrans de lecture ont été parcourus sur un compte Ploi réel, en lectures seules, rendus sur la JVM (Robolectric, graphismes natifs) en quatre formats : téléphone, pliant fermé (344 dp), pliant ouvert (690 dp), tablette paysage (1280 dp). Ce parcours est facultatif (-Pscreenshots), lit son jeton dans un fichier et n'est pas exécuté en CI.

Non vérifié

  • Usage sur un appareil réel : gestes, claviers tiers, lecteur d'écran TalkBack, biométrie, tailles de texte système.
  • Widgets posés sur un véritable écran d'accueil (seul leur rendu a été contrôlé).
  • Terminal SSH connecté à un serveur réel.
  • Toutes les actions qui créent, modifient ou suppriment des ressources Ploi : le parcours automatisé est strictement en lecture. Vérifiez les droits de votre jeton et les effets d'une action avant de l'utiliser sur des ressources importantes.
  • Aucune publication Google Play.

Licence

Code du dépôt : GNU LGPL-3.0-only (LICENSE), permissions additionnelles à la GPL-3.0. Les dépendances tierces conservent leurs propres licences. « Ploi » appartient à ses titulaires respectifs.

Journal complet : CHANGELOG.md.

Ploi Panel 0.1.0 — preuve de propriété Android

Choose a tag to compare

@ronylicha ronylicha released this 29 Sep 01:01

Ploi Panel 0.1.0 — APK de preuve Android Developer Verification

À importer dans l'écran « Android developer verification → Importer un APK » de votre compte développeur : Ploi-Panel-0.1.0-ADI-verification.apk. L'ancien APK de la release v0.1.0 ne contient pas la preuve demandée : ne pas l'utiliser pour cette étape.

L'APK signé contient assets/adi-registration.properties avec l'extrait exact fourni pour ce compte, sans clé = ni préfixe, conformément à la procédure Google. Application com.qrcommunication.ploipanel, versionCode=1, versionName=0.1.0, Android 10+. Certificat public joint ; empreinte SHA-256 du signataire : B7:30:6E:D9:1B:D2:6A:A1:D2:A8:A9:BA:53:6E:13:9B:10:28:F1:9D:D9:57:9C:06:CB:33:58:2F:F6:D9:CE:E3. Vérifier que cette empreinte est bien celle sélectionnée dans Play Console avant l'import. La propriété n'est confirmée qu'après acceptation par Google.

  • Ploi-Panel-0.1.0-ADI-verification.apk — APK de preuve signé, à importer dans l'écran de vérification.
  • Ploi-Panel-0.1.0-ADI-verification.aab — AAB construit du même code pour une soumission Play ultérieure ; ne remplace pas l'APK à cette étape.
  • upload_certificate.pem — certificat public seulement. Les fichiers de clé privée et leurs mots de passe ne sont pas sur GitHub.

SHA-256 des fichiers téléchargés :

Ploi-Panel-0.1.0-ADI-verification.apk ecd2dadc4cc5d5d4c4b19e2e977747162a995d9d4e17d3b4ff30091939a61053
Ploi-Panel-0.1.0-ADI-verification.aab 731078b2037b8fcd7c91f8088fcfedeb770993486513b9778e0edd8c3041fbaa
upload_certificate.pem e2e979a9422a6674ff8852630d9f24bc3674a6a3bfb93008a5e260e5df40a34d

Vérifications locales : 619 tests réussis, lint debug/release « No issues found », APK et AAB signés et inspectés (contenu exact de l'asset, package, version et certificat). Aucun test de validation dans la console Google n'a été effectué. Pas de test réel sur appareil ni compte Ploi. Cette release est une préversion destinée à la preuve de propriété, pas une annonce de publication Play.

Documentation : procédure Play et preuve de propriété, README, confidentialité.


Version dépassée. La dernière préversion est v0.3.0 : refonte de l'interface, correctifs vérifiés sur un compte Ploi réel et licence LGPL-3.0-only sur main. Son APK contient également l'asset de vérification de propriété Android et est signé de la même clé d'upload.

Ploi Panel 0.1.0 — Android (préversion)

Choose a tag to compare

@ronylicha ronylicha released this 29 Sep 00:21

Vérification de propriété Android : cet APK initial ne contient PAS assets/adi-registration.properties. Pour importer la preuve demandée par la console Google, utilisez la nouvelle release ADI v0.1.0-adi.1. Cette release historique reste disponible sans être remplacée silencieusement.

Ploi Panel 0.1.0 — préversion Android

Client Android communautaire et indépendant pour l'administration Ploi, avec profils multiples, interface FR/EN, monitoring, widgets mono/multi-serveurs, contrôles HTTP(S) locaux et export/import chiffré. La sonde SSH vérifie uniquement la clé d'hôte : pas de terminal ni de commandes SSH. Licence du code de cette version : LGPL-3.0-only (texte LGPL et GPLv3).

Téléchargements

  • Ploi-Panel-0.1.0.apk — installation directe Android 10+ (API 29), APK release signé, com.qrcommunication.ploipanel, versionCode 1.
  • Ploi-Panel-0.1.0.aab — bundle signé par la même clé d'upload, destiné à une soumission manuelle à Google Play Console (nouvelle application). Ce dépôt ne publie pas l'app sur Google Play.
  • upload_certificate.pem — certificat public de la clé d'upload (jamais la clé privée).

SHA-256 des fichiers :

Ploi-Panel-0.1.0.apk   749c5f113aed7b6b0061751e762e7fe62a3709a61e10346cb5ff2e74db22fe61
Ploi-Panel-0.1.0.aab   6c5055746a3eae20a2438201c79d75658a7e7e7c07f7f49656bd0b8092e0c4a8
upload_certificate.pem e2e979a9422a6674ff8852630d9f24bc3674a6a3bfb93008a5e260e5df40a34d

Certificat d'upload SHA-256 : B7:30:6E:D9:1B:D2:6A:A1:D2:A8:A9:BA:53:6E:13:9B:10:28:F1:9D:D9:57:9C:06:CB:33:58:2F:F6:D9:CE:E3 ; SHA-1 : 2C:F9:F5:B8:59:C1:DE:A1:FF:B6:FB:50:10:38:A9:87:74:00:DE:37. Google Play App Signing distribuera sous sa propre clé d'application, potentiellement incompatible avec les mises à jour directes de cet APK hors Play : sauvegarder la configuration chiffrée avant de changer de canal.

Vérification locale : 619 tests JVM réussis, lint debug/release sans problème, APK et AAB release construits et signatures/packages vérifiés. Limites : aucun appareil ni compte Ploi réel testé dans ce cycle ; expérience visuelle, widgets du lanceur, migration entre appareils et déploiement Play restent à valider. Les vérifications périodiques sur Android sont best effort (minimum WorkManager de 15 minutes, non garanti), et les opérations Ploi peuvent modifier des ressources. Utiliser un compte de test avant toute production.

Voir README, procédure de publication et signature Play, confidentialité et CHANGELOG.