2026-04-12 20:12:51 +02:00
2026-04-12 20:12:51 +02:00
2026-04-12 20:12:46 +02:00
2026-04-12 20:12:46 +02:00
2026-04-12 20:12:46 +02:00

Phone Refurb - Gestion de stock de téléphones

Outil de gestion pour le reconditionnement de téléphones contre l'obsolescence programmée.

Installation

cd ~/phone-refurb
python3 -m venv venv
./venv/bin/pip install flask

Lancer la Web App

# Manuel
./venv/bin/python web-app.py

# Via systemd (recommandé)
sudo cp phone-refurb.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable phone-refurb
sudo systemctl start phone-refurb

Accès

CLI - phone-cli

Commandes principales

# Lister les téléphones
./phone-cli list [status]

# Ajouter un téléphone
./phone-cli add <brand> <model> <model_code> [imei] [serial] [status] [notes]

# Détails d'un téléphone
./phone-cli info <phone_id>

# Ajouter une action
./phone-cli action <phone_id> <action_type> [status] [notes]

# Changer le statut
./phone-cli status <phone_id> <status>

# Lister les ROMs
./phone-cli roms [device_code]

# Rechercher
./phone-cli search <query>

Exemples

# Ajouter un Galaxy S7
./phone-cli add Samsung "Galaxy S7" SM-G930F

# Ajouter avec IMEI et notes
./phone-cli add Samsung "Galaxy J5" SM-J510FN 352154091234567 51c1e4fc stock "Écran fêlé"

# Lister les téléphones en stock
./phone-cli list stock

# Voir les détails du téléphone #1
./phone-cli info 1

# Enregistrer une action
./phone-cli action 1 flash_rom success "LineageOS 18.1 installée"

# Enregistrer un échec
./phone-cli action 1 unlock_bootloader failed "Bootloader bloqué par opérateur"

# Marquer comme prêt
./phone-cli status 1 ready

# Marquer comme vendu
./phone-cli status 1 sold

# Voir les ROMs pour j5xnlte
./phone-cli roms j5xnlte

# Rechercher
./phone-cli search samsung
./phone-cli search j5

Statuts

Statut Description
stock En stock, pas encore traité
wip En cours de traitement
paused Traitement suspendu
ready Prêt à être utilisé/vendu
sold Vendu

Types d'actions

Action Description
backup Sauvegarde des données
unlock_bootloader Déverrouillage du bootloader
flash_recovery Flash du recovery (TWRP, etc.)
flash_rom Installation d'une ROM
root Root du téléphone
test Tests fonctionnels
repair Réparation matérielle
sell Vente
other Autre action

Base de données

SQLite: phones.db

Tables

  • phones — Téléphones (marque, modèle, IMEI, statut)
  • phone_specs — Caractéristiques (CPU, RAM, stockage)
  • software_state — État logiciel (OS, kernel, root)
  • roms — ROMs disponibles
  • actions — Historique des actions

Requêtes utiles

-- Voir tous les téléphones avec leur OS
SELECT * FROM phone_summary;

-- Téléphones rootés
SELECT * FROM phone_summary WHERE root = 1;

-- Téléphones par marque
SELECT brand, COUNT(*) FROM phones GROUP BY brand;

-- Actions récentes
SELECT p.brand, p.model, a.action_type, a.action_date, a.status 
FROM actions a JOIN phones p ON a.phone_id = p.id 
ORDER BY a.action_date DESC LIMIT 20;

-- Taux de succès
SELECT status, COUNT(*) as count FROM actions GROUP BY status;

Structure des fichiers

~/phone-refurb/
├── phones.db          # Base SQLite
├── web-app.py         # Web app Flask
├── phone-cli          # CLI
├── venv/              # Environnement Python
├── web-app.log        # Logs
└── README.md          # Cette doc

Intégration KAWA

La web app est accessible depuis n'importe quel nœud du mesh via:

  • http://kawaAgent1:5050 (si DNS mesh configuré)
  • http://100.64.0.4:5050 (IP mesh)

Dernière mise à jour: 2026-04-12

Description
Gestion de stock de téléphones reconditionnés
Readme 9 MiB
Languages
Python 100%