Skip to content

Commit d4c9824

Browse files
authored
Fix/d3 teams in unfinalized pool (#13)
Fix : empty unfinalized pool's list of tours for D3 teams
1 parent ec64762 commit d4c9824

File tree

4 files changed

+117
-29
lines changed

4 files changed

+117
-29
lines changed

.gitignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@
22
bin
33
test.php
44
vendor
5-
composer.lock
5+
composer.lock
6+
.php-cs-fixer.cache

src/Service/Operation/ListRencontreOperation.php

+31-28
Original file line numberDiff line numberDiff line change
@@ -17,36 +17,39 @@ public function __construct(
1717
*/
1818
public function listRencontrePouleByLienDivision(string $lienDivision): array
1919
{
20-
/** @var array<array{equa: array<mixed>|string, equb: array<mixed>|string, dateprevue:string, datereelle: ?string, libelle: string, scorea: string, scoreb: string, lien: string }> $data */
21-
$data = $this->client->get('xml_result_equ', [], $lienDivision)['tour'];
20+
$data = $this->client->get('xml_result_equ', [], $lienDivision);
2221

2322
$result = [];
24-
foreach ($data as $dataRencontre) {
25-
$equipeA = $dataRencontre['equa'];
26-
$equipeB = $dataRencontre['equb'];
27-
28-
/** @var string $nomEquipeA */
29-
$nomEquipeA = is_array($equipeA) ? '' : $equipeA;
30-
31-
/** @var string $nomEquipeB */
32-
$nomEquipeB = is_array($equipeB) ? '' : $equipeB;
33-
34-
/** @var \DateTime $datePrevue */
35-
$datePrevue = \DateTime::createFromFormat('d/m/Y', $dataRencontre['dateprevue']);
36-
37-
/** @var \DateTime|null $dateReelle */
38-
$dateReelle = empty($dataRencontre['datereelle']) ? null : \DateTime::createFromFormat('d/m/Y', $dataRencontre['datereelle']);
39-
40-
$result[] = new Rencontre(
41-
$dataRencontre['libelle'],
42-
$nomEquipeA,
43-
$nomEquipeB,
44-
(int) $dataRencontre['scorea'],
45-
(int) $dataRencontre['scoreb'],
46-
$dataRencontre['lien'],
47-
$datePrevue,
48-
$dateReelle
49-
);
23+
if (array_key_exists('tour', $data)) {
24+
/** @var array<array{equa: array<mixed>|string, equb: array<mixed>|string, dateprevue:string, datereelle: ?string, libelle: string, scorea: string, scoreb: string, lien: string }> $data */
25+
$data = $data['tour'];
26+
foreach ($data as $dataRencontre) {
27+
$equipeA = $dataRencontre['equa'];
28+
$equipeB = $dataRencontre['equb'];
29+
30+
/** @var string $nomEquipeA */
31+
$nomEquipeA = is_array($equipeA) ? '' : $equipeA;
32+
33+
/** @var string $nomEquipeB */
34+
$nomEquipeB = is_array($equipeB) ? '' : $equipeB;
35+
36+
/** @var \DateTime $datePrevue */
37+
$datePrevue = \DateTime::createFromFormat('d/m/Y', $dataRencontre['dateprevue']);
38+
39+
/** @var \DateTime|null $dateReelle */
40+
$dateReelle = empty($dataRencontre['datereelle']) ? null : \DateTime::createFromFormat('d/m/Y', $dataRencontre['datereelle']);
41+
42+
$result[] = new Rencontre(
43+
$dataRencontre['libelle'],
44+
$nomEquipeA,
45+
$nomEquipeB,
46+
(int) $dataRencontre['scorea'],
47+
(int) $dataRencontre['scoreb'],
48+
$dataRencontre['lien'],
49+
$datePrevue,
50+
$dateReelle
51+
);
52+
}
5053
}
5154

5255
return $result;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
<?php declare(strict_types=1);
2+
3+
namespace Alamirault\FFTTApi\Tests\Unit\Service\Operation;
4+
5+
use Alamirault\FFTTApi\Service\FFTTClient;
6+
use Alamirault\FFTTApi\Service\Operation\ListRencontreOperation;
7+
use Alamirault\FFTTApi\Service\UriGenerator;
8+
use GuzzleHttp\Client;
9+
use GuzzleHttp\HandlerStack;
10+
use GuzzleHttp\Psr7\Response;
11+
use PHPUnit\Framework\TestCase;
12+
13+
/**
14+
* @coversDefaultClass \Alamirault\FFTTApi\Service\Operation\ListRencontreOperation
15+
*/
16+
final class ListRencontreOperationTest extends TestCase
17+
{
18+
/**
19+
* @covers ::listRencontrePouleByLienDivision
20+
* This test covers the special case of the beginning of phase : D3 teams are assigned in pools that are not yet finalized and therefore empty just for a few hours (hence the cx_poule parameter is not defined in the lien_division param)
21+
*/
22+
public function testListRencontrePouleByLienDivisionNoTours(): void
23+
{
24+
/** @var string $responseContent */
25+
$responseContent = '<?xml version="1.0" encoding="ISO-8859-1"?><liste></liste>';
26+
$mock = new MockHandlerStub([
27+
new Response(200, [
28+
'content-type' => ['text/html; charset=UTF-8'],
29+
], $responseContent),
30+
]);
31+
32+
$handlerStack = HandlerStack::create($mock);
33+
$client = new Client(['handler' => $handlerStack]);
34+
$FFTTClient = new FFTTClient($client, new UriGenerator('foo', 'bar'));
35+
36+
$operation = new ListRencontreOperation($FFTTClient);
37+
38+
$result = $operation->listRencontrePouleByLienDivision('cx_poule=&D1=106641&organisme_pere=105');
39+
40+
$this->assertCount(0, $result);
41+
$this->assertEquals([], $result);
42+
}
43+
44+
/**
45+
* @covers ::listRencontrePouleByLienDivision
46+
*/
47+
public function testListRencontrePouleByLienDivisionWithTours(): void
48+
{
49+
/** @var string $responseContent */
50+
$responseContent = file_get_contents(__DIR__.'/../fixtures/rencontres_by_lien_division.xml');
51+
$mock = new MockHandlerStub([
52+
new Response(200, [
53+
'content-type' => ['text/html; charset=UTF-8'],
54+
], $responseContent),
55+
]);
56+
57+
$handlerStack = HandlerStack::create($mock);
58+
$client = new Client(['handler' => $handlerStack]);
59+
$FFTTClient = new FFTTClient($client, new UriGenerator('foo', 'bar'));
60+
61+
$operation = new ListRencontreOperation($FFTTClient);
62+
63+
$result = $operation->listRencontrePouleByLienDivision('cx_poule=450762&D1=112049&organisme_pere=16');
64+
65+
$this->assertCount(28, $result);
66+
67+
$firstTour = $result[0];
68+
$this->assertSame('Poule 4 - tour n°1 du 16/12/2022', $firstTour->getLibelle());
69+
$this->assertSame('HERBLAY (2)', $firstTour->getNomEquipeA());
70+
$this->assertSame('CHAMBLY (1)', $firstTour->getNomEquipeB());
71+
$this->assertSame(82, $firstTour->getScoreEquipeA());
72+
$this->assertSame(80, $firstTour->getScoreEquipeB());
73+
$this->assertSame('renc_id=1568691&is_retour=0&phase=1&res_1=82&res_2=80&equip_1=HERBLAY+%282%29&equip_2=CHAMBLY+%281%29&equip_id1=19936&equip_id2=19995&clubnum_1=08950479&clubnum_2=08950092', $firstTour->getLien());
74+
75+
$fithTour = $result[4];
76+
$this->assertSame('Poule 4 - tour n°2 du 27/01/2023', $fithTour->getLibelle());
77+
$this->assertSame('MONTSOULT (1)', $fithTour->getNomEquipeA());
78+
$this->assertSame('HERBLAY (2)', $fithTour->getNomEquipeB());
79+
$this->assertSame(0, $fithTour->getScoreEquipeA());
80+
$this->assertSame(0, $fithTour->getScoreEquipeB());
81+
$this->assertSame('renc_id=1568695&is_retour=0&phase=1&res_1=&res_2=&equip_1=MONTSOULT+%281%29&equip_2=HERBLAY+%282%29&equip_id1=19929&equip_id2=19936&clubnum_1=08950531&clubnum_2=08950479', $fithTour->getLien());
82+
}
83+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<?xml version="1.0" encoding="ISO-8859-1"?><liste><tour><libelle>Poule 4 - tour n°1 du 16/12/2022</libelle><equa>HERBLAY (2)</equa><equb>CHAMBLY (1)</equb><scorea>82</scorea><scoreb>80</scoreb><lien><![CDATA[renc_id=1568691&is_retour=0&phase=1&res_1=82&res_2=80&equip_1=HERBLAY+%282%29&equip_2=CHAMBLY+%281%29&equip_id1=19936&equip_id2=19995&clubnum_1=08950479&clubnum_2=08950092]]></lien><dateprevue>16/12/2022</dateprevue><datereelle>16/12/2022</datereelle></tour><tour><libelle>Poule 4 - tour n°1 du 16/12/2022</libelle><equa>MAISONS-LAF. US (1)</equa><equb>MONTSOULT (1)</equb><scorea>92</scorea><scoreb>64</scoreb><lien><![CDATA[renc_id=1568692&is_retour=0&phase=1&res_1=92&res_2=64&equip_1=MAISONS-LAF.+US+%281%29&equip_2=MONTSOULT+%281%29&equip_id1=19939&equip_id2=19929&clubnum_1=08780130&clubnum_2=08950531]]></lien><dateprevue>16/12/2022</dateprevue><datereelle>16/12/2022</datereelle></tour><tour><libelle>Poule 4 - tour n°1 du 16/12/2022</libelle><equa>ARGENTEUIL (1)</equa><equb>FRANCONVILLE (1)</equb><scorea>60</scorea><scoreb>101</scoreb><lien><![CDATA[renc_id=1568693&is_retour=0&phase=1&res_1=60&res_2=101&equip_1=ARGENTEUIL+%281%29&equip_2=FRANCONVILLE+%281%29&equip_id1=19931&equip_id2=19937&clubnum_1=08950623&clubnum_2=08950103]]></lien><dateprevue>16/12/2022</dateprevue><datereelle>16/12/2022</datereelle></tour><tour><libelle>Poule 4 - tour n°1 du 16/12/2022</libelle><equa>LA FRETTE (1)</equa><equb>STAINS ES (1)</equb><scorea>77</scorea><scoreb>85</scoreb><lien><![CDATA[renc_id=1568694&is_retour=0&phase=1&res_1=77&res_2=85&equip_1=LA+FRETTE+%281%29&equip_2=STAINS+ES+%281%29&equip_id1=19933&equip_id2=19914&clubnum_1=08951331&clubnum_2=08931032]]></lien><dateprevue>16/12/2022</dateprevue><datereelle>16/12/2022</datereelle></tour><tour><libelle>Poule 4 - tour n°2 du 27/01/2023</libelle><equa>MONTSOULT (1)</equa><equb>HERBLAY (2)</equb><scorea/><scoreb/><lien><![CDATA[renc_id=1568695&is_retour=0&phase=1&res_1=&res_2=&equip_1=MONTSOULT+%281%29&equip_2=HERBLAY+%282%29&equip_id1=19929&equip_id2=19936&clubnum_1=08950531&clubnum_2=08950479]]></lien><dateprevue>27/01/2023</dateprevue><datereelle>27/01/2023</datereelle></tour><tour><libelle>Poule 4 - tour n°2 du 27/01/2023</libelle><equa>FRANCONVILLE (1)</equa><equb>MAISONS-LAF. US (1)</equb><scorea/><scoreb/><lien><![CDATA[renc_id=1568696&is_retour=0&phase=1&res_1=&res_2=&equip_1=FRANCONVILLE+%281%29&equip_2=MAISONS-LAF.+US+%281%29&equip_id1=19937&equip_id2=19939&clubnum_1=08950103&clubnum_2=08780130]]></lien><dateprevue>27/01/2023</dateprevue><datereelle>27/01/2023</datereelle></tour><tour><libelle>Poule 4 - tour n°2 du 27/01/2023</libelle><equa>STAINS ES (1)</equa><equb>ARGENTEUIL (1)</equb><scorea/><scoreb/><lien><![CDATA[renc_id=1568697&is_retour=0&phase=1&res_1=&res_2=&equip_1=STAINS+ES+%281%29&equip_2=ARGENTEUIL+%281%29&equip_id1=19914&equip_id2=19931&clubnum_1=08931032&clubnum_2=08950623]]></lien><dateprevue>27/01/2023</dateprevue><datereelle>27/01/2023</datereelle></tour><tour><libelle>Poule 4 - tour n°2 du 27/01/2023</libelle><equa>CHAMBLY (1)</equa><equb>LA FRETTE (1)</equb><scorea/><scoreb/><lien><![CDATA[renc_id=1568698&is_retour=0&phase=1&res_1=&res_2=&equip_1=CHAMBLY+%281%29&equip_2=LA+FRETTE+%281%29&equip_id1=19995&equip_id2=19933&clubnum_1=08950092&clubnum_2=08951331]]></lien><dateprevue>27/01/2023</dateprevue><datereelle>27/01/2023</datereelle></tour><tour><libelle>Poule 4 - tour n°3 du 10/02/2023</libelle><equa>HERBLAY (2)</equa><equb>FRANCONVILLE (1)</equb><scorea/><scoreb/><lien><![CDATA[renc_id=1568699&is_retour=0&phase=1&res_1=&res_2=&equip_1=HERBLAY+%282%29&equip_2=FRANCONVILLE+%281%29&equip_id1=19936&equip_id2=19937&clubnum_1=08950479&clubnum_2=08950103]]></lien><dateprevue>10/02/2023</dateprevue><datereelle>10/02/2023</datereelle></tour><tour><libelle>Poule 4 - tour n°3 du 10/02/2023</libelle><equa>MAISONS-LAF. US (1)</equa><equb>STAINS ES (1)</equb><scorea/><scoreb/><lien><![CDATA[renc_id=1568700&is_retour=0&phase=1&res_1=&res_2=&equip_1=MAISONS-LAF.+US+%281%29&equip_2=STAINS+ES+%281%29&equip_id1=19939&equip_id2=19914&clubnum_1=08780130&clubnum_2=08931032]]></lien><dateprevue>10/02/2023</dateprevue><datereelle>10/02/2023</datereelle></tour><tour><libelle>Poule 4 - tour n°3 du 10/02/2023</libelle><equa>ARGENTEUIL (1)</equa><equb>LA FRETTE (1)</equb><scorea/><scoreb/><lien><![CDATA[renc_id=1568701&is_retour=0&phase=1&res_1=&res_2=&equip_1=ARGENTEUIL+%281%29&equip_2=LA+FRETTE+%281%29&equip_id1=19931&equip_id2=19933&clubnum_1=08950623&clubnum_2=08951331]]></lien><dateprevue>10/02/2023</dateprevue><datereelle>10/02/2023</datereelle></tour><tour><libelle>Poule 4 - tour n°3 du 10/02/2023</libelle><equa>CHAMBLY (1)</equa><equb>MONTSOULT (1)</equb><scorea/><scoreb/><lien><![CDATA[renc_id=1568702&is_retour=0&phase=1&res_1=&res_2=&equip_1=CHAMBLY+%281%29&equip_2=MONTSOULT+%281%29&equip_id1=19995&equip_id2=19929&clubnum_1=08950092&clubnum_2=08950531]]></lien><dateprevue>10/02/2023</dateprevue><datereelle>10/02/2023</datereelle></tour><tour><libelle>Poule 4 - tour n°4 du 24/03/2023</libelle><equa>STAINS ES (1)</equa><equb>HERBLAY (2)</equb><scorea/><scoreb/><lien><![CDATA[renc_id=1568703&is_retour=0&phase=1&res_1=&res_2=&equip_1=STAINS+ES+%281%29&equip_2=HERBLAY+%282%29&equip_id1=19914&equip_id2=19936&clubnum_1=08931032&clubnum_2=08950479]]></lien><dateprevue>24/03/2023</dateprevue><datereelle>24/03/2023</datereelle></tour><tour><libelle>Poule 4 - tour n°4 du 24/03/2023</libelle><equa>LA FRETTE (1)</equa><equb>MAISONS-LAF. US (1)</equb><scorea/><scoreb/><lien><![CDATA[renc_id=1568704&is_retour=0&phase=1&res_1=&res_2=&equip_1=LA+FRETTE+%281%29&equip_2=MAISONS-LAF.+US+%281%29&equip_id1=19933&equip_id2=19939&clubnum_1=08951331&clubnum_2=08780130]]></lien><dateprevue>24/03/2023</dateprevue><datereelle>24/03/2023</datereelle></tour><tour><libelle>Poule 4 - tour n°4 du 24/03/2023</libelle><equa>ARGENTEUIL (1)</equa><equb>CHAMBLY (1)</equb><scorea/><scoreb/><lien><![CDATA[renc_id=1568705&is_retour=0&phase=1&res_1=&res_2=&equip_1=ARGENTEUIL+%281%29&equip_2=CHAMBLY+%281%29&equip_id1=19931&equip_id2=19995&clubnum_1=08950623&clubnum_2=08950092]]></lien><dateprevue>24/03/2023</dateprevue><datereelle>24/03/2023</datereelle></tour><tour><libelle>Poule 4 - tour n°4 du 24/03/2023</libelle><equa>FRANCONVILLE (1)</equa><equb>MONTSOULT (1)</equb><scorea/><scoreb/><lien><![CDATA[renc_id=1568706&is_retour=0&phase=1&res_1=&res_2=&equip_1=FRANCONVILLE+%281%29&equip_2=MONTSOULT+%281%29&equip_id1=19937&equip_id2=19929&clubnum_1=08950103&clubnum_2=08950531]]></lien><dateprevue>24/03/2023</dateprevue><datereelle>24/03/2023</datereelle></tour><tour><libelle>Poule 4 - tour n°5 du 07/04/2023</libelle><equa>HERBLAY (2)</equa><equb>LA FRETTE (1)</equb><scorea/><scoreb/><lien><![CDATA[renc_id=1568707&is_retour=0&phase=1&res_1=&res_2=&equip_1=HERBLAY+%282%29&equip_2=LA+FRETTE+%281%29&equip_id1=19936&equip_id2=19933&clubnum_1=08950479&clubnum_2=08951331]]></lien><dateprevue>07/04/2023</dateprevue><datereelle>07/04/2023</datereelle></tour><tour><libelle>Poule 4 - tour n°5 du 07/04/2023</libelle><equa>MAISONS-LAF. US (1)</equa><equb>ARGENTEUIL (1)</equb><scorea/><scoreb/><lien><![CDATA[renc_id=1568708&is_retour=0&phase=1&res_1=&res_2=&equip_1=MAISONS-LAF.+US+%281%29&equip_2=ARGENTEUIL+%281%29&equip_id1=19939&equip_id2=19931&clubnum_1=08780130&clubnum_2=08950623]]></lien><dateprevue>07/04/2023</dateprevue><datereelle>07/04/2023</datereelle></tour><tour><libelle>Poule 4 - tour n°5 du 07/04/2023</libelle><equa>MONTSOULT (1)</equa><equb>STAINS ES (1)</equb><scorea/><scoreb/><lien><![CDATA[renc_id=1568709&is_retour=0&phase=1&res_1=&res_2=&equip_1=MONTSOULT+%281%29&equip_2=STAINS+ES+%281%29&equip_id1=19929&equip_id2=19914&clubnum_1=08950531&clubnum_2=08931032]]></lien><dateprevue>07/04/2023</dateprevue><datereelle>07/04/2023</datereelle></tour><tour><libelle>Poule 4 - tour n°5 du 07/04/2023</libelle><equa>CHAMBLY (1)</equa><equb>FRANCONVILLE (1)</equb><scorea/><scoreb/><lien><![CDATA[renc_id=1568710&is_retour=0&phase=1&res_1=&res_2=&equip_1=CHAMBLY+%281%29&equip_2=FRANCONVILLE+%281%29&equip_id1=19995&equip_id2=19937&clubnum_1=08950092&clubnum_2=08950103]]></lien><dateprevue>07/04/2023</dateprevue><datereelle>07/04/2023</datereelle></tour><tour><libelle>Poule 4 - tour n°6 du 19/05/2023</libelle><equa>ARGENTEUIL (1)</equa><equb>HERBLAY (2)</equb><scorea/><scoreb/><lien><![CDATA[renc_id=1568711&is_retour=0&phase=1&res_1=&res_2=&equip_1=ARGENTEUIL+%281%29&equip_2=HERBLAY+%282%29&equip_id1=19931&equip_id2=19936&clubnum_1=08950623&clubnum_2=08950479]]></lien><dateprevue>19/05/2023</dateprevue><datereelle>19/05/2023</datereelle></tour><tour><libelle>Poule 4 - tour n°6 du 19/05/2023</libelle><equa>MAISONS-LAF. US (1)</equa><equb>CHAMBLY (1)</equb><scorea/><scoreb/><lien><![CDATA[renc_id=1568712&is_retour=0&phase=1&res_1=&res_2=&equip_1=MAISONS-LAF.+US+%281%29&equip_2=CHAMBLY+%281%29&equip_id1=19939&equip_id2=19995&clubnum_1=08780130&clubnum_2=08950092]]></lien><dateprevue>19/05/2023</dateprevue><datereelle>19/05/2023</datereelle></tour><tour><libelle>Poule 4 - tour n°6 du 19/05/2023</libelle><equa>LA FRETTE (1)</equa><equb>MONTSOULT (1)</equb><scorea/><scoreb/><lien><![CDATA[renc_id=1568713&is_retour=0&phase=1&res_1=&res_2=&equip_1=LA+FRETTE+%281%29&equip_2=MONTSOULT+%281%29&equip_id1=19933&equip_id2=19929&clubnum_1=08951331&clubnum_2=08950531]]></lien><dateprevue>19/05/2023</dateprevue><datereelle>19/05/2023</datereelle></tour><tour><libelle>Poule 4 - tour n°6 du 19/05/2023</libelle><equa>STAINS ES (1)</equa><equb>FRANCONVILLE (1)</equb><scorea/><scoreb/><lien><![CDATA[renc_id=1568714&is_retour=0&phase=1&res_1=&res_2=&equip_1=STAINS+ES+%281%29&equip_2=FRANCONVILLE+%281%29&equip_id1=19914&equip_id2=19937&clubnum_1=08931032&clubnum_2=08950103]]></lien><dateprevue>19/05/2023</dateprevue><datereelle>19/05/2023</datereelle></tour><tour><libelle>Poule 4 - tour n°7 du 02/06/2023</libelle><equa>HERBLAY (2)</equa><equb>MAISONS-LAF. US (1)</equb><scorea/><scoreb/><lien><![CDATA[renc_id=1568715&is_retour=0&phase=1&res_1=&res_2=&equip_1=HERBLAY+%282%29&equip_2=MAISONS-LAF.+US+%281%29&equip_id1=19936&equip_id2=19939&clubnum_1=08950479&clubnum_2=08780130]]></lien><dateprevue>02/06/2023</dateprevue><datereelle>02/06/2023</datereelle></tour><tour><libelle>Poule 4 - tour n°7 du 02/06/2023</libelle><equa>MONTSOULT (1)</equa><equb>ARGENTEUIL (1)</equb><scorea/><scoreb/><lien><![CDATA[renc_id=1568716&is_retour=0&phase=1&res_1=&res_2=&equip_1=MONTSOULT+%281%29&equip_2=ARGENTEUIL+%281%29&equip_id1=19929&equip_id2=19931&clubnum_1=08950531&clubnum_2=08950623]]></lien><dateprevue>02/06/2023</dateprevue><datereelle>02/06/2023</datereelle></tour><tour><libelle>Poule 4 - tour n°7 du 02/06/2023</libelle><equa>FRANCONVILLE (1)</equa><equb>LA FRETTE (1)</equb><scorea/><scoreb/><lien><![CDATA[renc_id=1568717&is_retour=0&phase=1&res_1=&res_2=&equip_1=FRANCONVILLE+%281%29&equip_2=LA+FRETTE+%281%29&equip_id1=19937&equip_id2=19933&clubnum_1=08950103&clubnum_2=08951331]]></lien><dateprevue>02/06/2023</dateprevue><datereelle>02/06/2023</datereelle></tour><tour><libelle>Poule 4 - tour n°7 du 02/06/2023</libelle><equa>CHAMBLY (1)</equa><equb>STAINS ES (1)</equb><scorea/><scoreb/><lien><![CDATA[renc_id=1568718&is_retour=0&phase=1&res_1=&res_2=&equip_1=CHAMBLY+%281%29&equip_2=STAINS+ES+%281%29&equip_id1=19995&equip_id2=19914&clubnum_1=08950092&clubnum_2=08931032]]></lien><dateprevue>02/06/2023</dateprevue><datereelle>02/06/2023</datereelle></tour></liste>

0 commit comments

Comments
 (0)