feat: page publique de téléchargement des applications mobiles
CI - Intégration continue / quality-and-tests (push) Successful in 3m16s
CD - Déploiement continu / deploy (push) Successful in 3m7s

Page /telecharger avec deux cartes (Android / iOS). Pour chaque plateforme,
utilise en priorité un lien de store (MOBILE_*_URL) sinon le binaire déposé
dans public/downloads/ (.apk / .ipa), et affiche "Bientôt disponible" à défaut.

- config/mobile.php + .env.example (URLs/versions)
- DownloadController + vue telecharger + lien dans le header (public)
- public/downloads/ (README) ; binaires ignorés par git
- tests: accès public, lien store prioritaire, indisponibilité

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-07 22:55:15 +02:00
parent dede70f70f
commit 507d77246c
9 changed files with 229 additions and 0 deletions
+37
View File
@@ -0,0 +1,37 @@
<?php
namespace Tests\Feature;
use Tests\TestCase;
class TelechargementTest extends TestCase
{
public function test_la_page_de_telechargement_est_accessible_publiquement(): void
{
$response = $this->get('/telecharger');
$response->assertStatus(200);
$response->assertSee('Android');
$response->assertSee('iOS');
}
public function test_un_lien_de_store_configure_est_utilise(): void
{
config(['mobile.android.url' => 'https://play.google.com/store/apps/details?id=test']);
$response = $this->get('/telecharger');
$response->assertStatus(200);
$response->assertSee('play.google.com/store/apps/details?id=test');
}
public function test_sans_binaire_ni_lien_le_bouton_est_indisponible(): void
{
config(['mobile.ios.url' => null]);
$response = $this->get('/telecharger');
$response->assertStatus(200);
$response->assertSee('Bientôt disponible');
}
}