Redface 2

Le client Android communautaire pour Hardware.fr, en bêta publique.

Voir les spécifications Voir les guides Voir sur GitHub


Pourquoi une réécriture ?

Redface v1 a rendu service à la communauté HFR pendant des années. Mais sa stack technique a atteint ses limites :

  Redface v1 Redface 2
Langage Java 11 Kotlin
UI XML + ButterKnife Jetpack Compose
Réseau Retrofit 1.9 (!), OkHttp 3 OkHttp 5
Async RxJava 1 Coroutines + Flow
Injection Dagger 2 Hilt (KSP)
Event bus Otto StateFlow
minSdk 16 (Android 4.1, 2012) 29 (Android 10, 2019)

Retrofit 1.9 n’est plus maintenu depuis 2016. RxJava 1 depuis 2018. ButterKnife est officiellement déprécié. Le minSdk 16 empêche d’utiliser les APIs modernes.

Un refactoring incrémental serait plus coûteux qu’une réécriture. Chaque brique dépend des autres — migrer Retrofit demande de migrer RxJava, qui demande de migrer les patterns async, qui touche toute l’architecture.

Vision

Redface 2 est conçu pour :

  • La vitesse — Scroll fluide à 120fps, prefetch intelligent, cache agressif. L’objectif : que le forum semble local.
  • Les extensions communautaires — Les meilleurs ajouts des userscripts HFR (alertes qualitay, bookmarks, blacklist, redflag…) intégrés nativement.
  • La maintenabilité — Architecture modulaire, testable, où chaque feature est isolée. Facile à comprendre pour un nouveau contributeur.
  • L’ouverture — Système d’extensions pour que la communauté ajoute ses propres features sans toucher au cœur de l’app.

Vue d’ensemble

graph TB
    subgraph "Presentation"
        A[Jetpack Compose] --> B[MVI ViewModels]
    end
    subgraph "Domaine"
        B --> C["Repositories (interfaces)"]
    end
    subgraph "Données"
        D["Repository implémentations"]
        D --> E[OkHttp 5 + Jsoup]
        D --> G[Room Cache]
    end
    C -.->|implémente| D
    E --> F["forum.hardware.fr"]
    style A fill:#e74c3c,color:#fff
    style B fill:#e67e22,color:#fff
    style C fill:#f1c40f,color:#000
    style D fill:#16a085,color:#fff
    style E fill:#2ecc71,color:#fff
    style G fill:#3498db,color:#fff
    style F fill:#95a5a6,color:#fff

État du projet

  • Bêta publique 0.62.0 (22 septembre 2026, Play test ouvert + F-Droid) : raccourcis Première page / Dernière page dans le sélecteur de page des sujets et des MP, position de lecture restaurée au retour à la page précédente d’un sujet, et confirmation explicite après l’envoi d’un message — y compris depuis la liste des drapeaux. Détail par version dans app/CHANGELOG.md.
  • Canal dev : aligné sur la bêta (0.62.0) au 22 septembre 2026 ; il reçoit les releases dev suivantes avant leur promotion en bêta.
  • Livré : les phases 0 à 3 de la roadmap (bootstrap ; lecture ; écriture ; messages privés et MultiMP, MPStorage en lecture et en écriture opt-in) et la refonte UI de la phase 4 (vues Drapeaux #603 et Topic #604, passe images #876, EgoQuote et EgoPost #874, surface de lecture partagée Topic → MP/DT #1040). L’état fonction par fonction côté MP se lit dans la matrice de parité.
  • Pilotage : depuis juin 2026 le travail est suivi par milestones de vue (Vue · Topic 2, Vue · Éditeur 2, Vue · Drapeaux 2, Vue · Forum 1, Vue · MP 1, Vue · Réglages 1, Vue · Compte HFR 1, Infra & dette), les phases restant des épics thématiques. Restent ouverts en fond : l’architecture d’extensions (#7) et la sync MPStorage entre appareils (#6).

Les specs restent la source de vérité du projet, mais elles doivent refléter le code réel : tout écart entre une page canonique et le repo est traité comme un bug de spec, pas comme une dette future. Voir /spec-reality pour la procédure d’audit cross-fichier.

Les contributions sont les bienvenues : ouvrez une issue, commentez les existantes ou proposez une PR sur dev. Les retours de test passent par le topic bêta et le topic dev sur HFR.


Sommaire

Spécifications

Guides


Haut de page

Redface 2 — Specs v0.13.2 — Un projet communautaire pour Hardware.fr

This site uses Just the Docs, a documentation theme for Jekyll.