Error message

  • Deprecated function: Return type of Aws\HandlerList::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 32 of /var/www/html/vendor/aws/aws-sdk-php/src/HandlerList.php).
  • Deprecated function: Return type of Aws\Api\AbstractModel::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Api/AbstractModel.php).
  • Deprecated function: Return type of Aws\Api\AbstractModel::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Api/AbstractModel.php).
  • Deprecated function: Return type of Aws\Api\AbstractModel::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Api/AbstractModel.php).
  • Deprecated function: Return type of Aws\Api\AbstractModel::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Api/AbstractModel.php).
  • Deprecated function: Return type of Aws\Endpoint\Partition::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 13 of /var/www/html/vendor/aws/aws-sdk-php/src/Endpoint/Partition.php).
  • Deprecated function: Return type of & Aws\Endpoint\Partition::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 13 of /var/www/html/vendor/aws/aws-sdk-php/src/Endpoint/Partition.php).
  • Deprecated function: Return type of Aws\Endpoint\Partition::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 13 of /var/www/html/vendor/aws/aws-sdk-php/src/Endpoint/Partition.php).
  • Deprecated function: Return type of Aws\Endpoint\Partition::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 13 of /var/www/html/vendor/aws/aws-sdk-php/src/Endpoint/Partition.php).
  • Deprecated function: Aws\Credentials\Credentials implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in include() (line 8 of /var/www/html/vendor/aws/aws-sdk-php/src/Credentials/Credentials.php).
  • Deprecated function: Return type of Aws\Command::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Command.php).
  • Deprecated function: Return type of & Aws\Command::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Command.php).
  • Deprecated function: Return type of Aws\Command::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Command.php).
  • Deprecated function: Return type of Aws\Command::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Command.php).
  • Deprecated function: Return type of Aws\Command::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Command.php).
  • Deprecated function: Return type of Aws\Command::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Command.php).
  • Deprecated function: Return type of Aws\Result::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 9 of /var/www/html/vendor/aws/aws-sdk-php/src/Result.php).
  • Deprecated function: Return type of & Aws\Result::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 9 of /var/www/html/vendor/aws/aws-sdk-php/src/Result.php).
  • Deprecated function: Return type of Aws\Result::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 9 of /var/www/html/vendor/aws/aws-sdk-php/src/Result.php).
  • Deprecated function: Return type of Aws\Result::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 9 of /var/www/html/vendor/aws/aws-sdk-php/src/Result.php).
  • Deprecated function: Return type of Aws\Result::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 9 of /var/www/html/vendor/aws/aws-sdk-php/src/Result.php).
  • Deprecated function: Return type of Aws\Result::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 9 of /var/www/html/vendor/aws/aws-sdk-php/src/Result.php).
  • Warning: Undefined array key "nid" in views_handler_field_term_node_tid->pre_render() (line 98 of /var/www/html/docroot/sites/all/modules/views/modules/taxonomy/views_handler_field_term_node_tid.inc).
  • Warning: Undefined array key "nid" in views_handler_field_term_node_tid->pre_render() (line 98 of /var/www/html/docroot/sites/all/modules/views/modules/taxonomy/views_handler_field_term_node_tid.inc).
×

Entertainment

Ligue 1 Leaders Lille Pick Up A Crucial Victory, But The Title Race Is Still Too Close To Call

Due to Paris St German's dominance of French football over the years, Ligue 1 has become one of the least competitive competitions in Europe. Since the club's Qatari takeover in 2011, PSG has won seven of the last nine Ligue 1 titles — nearly all of them by 10 points or more.

This season though has brought a welcome change to the Ligue 1 landscape. PSG has played slightly below its standards domestically (its eight league losses, including five at home, are the most in a decade), while the competing sides have noticeably improved, making for a scintillating title race.

Stade Rennais actually led the league after the first month of play through five wins and a draw, but, as has been the theme for much of the season, very few teams have been able to lock down the top spot in the league.

Since Rennes dropped down, there have been four different clubs in first and nine total changes to the league leader. Lille has held down the top spot for the nearly all of the second half of the campaign, but its lead has only extended as far as three points during its 12 match weeks in first.

The gap between the top four has been similarly tight. Prior to the most recent round of matches, the difference between first and fourth was four points, with just one point separating each of these four spots in the table. 

Fourth-place Lyon, led by Memphis Depay's 18 goals and nine assists, looked to build on last season's surprise run to the Champions League semifinals and win its first league title since 2007/08.

Embed from Getty Images

Free-spending Monaco in third is anchored by the young defensive midfield duo of Aurélien Tchouaméni and Youssouf Fofana, two of the most promising players in France.

Second-place PSG boasts the league's most prolific offense, fronted by the 25 goals of soon-to-be golden boot winner Kylian Mbappé, but partner in crime Neymar has been limited to just 11 starts domestically.

At the top of the league is Lille OSC, an unlikely title contender given that the club has earned $272 million in the transfer market over the past two seasons. Compared to their upscale counterparts in Paris and Monaco, Lille is a side built around bargains.

Captain José Fonte (age 37) and leading scorer Burak Yilmaz (35 years old, 14 Ligue 1 goals), were signed on free transfers from China and Turkey, respectively, when it appeared that both of their careers were nearly over.

Embed from Getty Images

Lille also has plenty of young, modestly-priced talent to go with its veteran leaders.

Dutchman Sven Botman has developed into one of the best center backs in Ligue 1 since joining on an $8.8 million transfer from Ajax last summer. Goalkeeper Mike Maignan had to wait two seasons to become the Lille starter after joining from PSG for around $1 million in 2015, but he leads the league in clean sheets over the past three seasons.

Jonathan Bamba, who joined on a free transfer from Saint-Étienne in 2018, currently leads the squad in assists, former Bayern man Renato Sanches is experiencing a career renaissance at 23, while 21-year-old Canadian striker Jonathan David currently has 11 goals in his first season since joining from Belgian side Gent.

Yet despite their dominance, a shock defeat to relegation-threatened Nîmes on March 21 meant that Lille relinquished first place to PSG. Fittingly, the two title contenders faced off in the very next match.

It was a fiesty affair, featuring 10 yellow cards and two reds, as Lille defender Tiago Djaló and PSG No. 10 Neymar were both sent off after receiving their second yellows for unsporting behavior at the end of regulation. Jonathan David's deflected first half strike was the only goal in a Lille victory that propelled the club back to the top of the league — a spot it has not vacated since.

While Lille's win against PSG was crucial, the club's victory over Lyon on Sunday might prove even more decisive come the end of the season.  

The league leaders found themselves down 2-0 after a pair of Lyon goals, including an own goal from former Southampton man José Fonte, gave the hosts a two-goal lead just after the half hour mark. But the visitors halved the deficit thanks to Burak Yilmaz's fantastic free kick in first half injury time.

In the second half, a careless giveaway at the back allowed Yilmaz to find young Canadian international Jonathan David for the equalizer. Both sides continued to press, and Lyon's Thiago Mendes, formerly of Lille, saw his ferocious strike from 30 yards out brilliantly saved by Maignan in goal. In the end, it was Lille that found the winner with five minutes left in normal time thanks to its pair of Turkish strikers.

Yusuf Yazici's flicked header off of a long ball from the back found the feet of Yilmaz as he strode into the Lyon half. After one dribble, Yilmaz calmly chipped the ball over the head of the onrushing keeper to secure the three points for his side.

Had the halftime scoreline held, Lille would have fallen to fourth, while Lyon would have jumped to third — just two points out of first. Instead, Lille maintained the slimmest of one-point margins at the top, while Lyon fell six points back of first with four matches to go — essentially ending any hopes of a league title.

Lost in the weekend's action though is Monaco, a side which has lost only one of its last 19 matches following a three-match losing streak in December. All three defeats (Lyon, Marseille and Lens) during that stretch came against current top-six teams, an unfortunate run for a side that won both of its league meetings against PSG this season.

Led by former Bayern manager Niko Kovač, Monaco has slowly climbed its way up the table. It is now in third place, its best league position of the season, and just two points off of first. The attack is spearheaded by Wissam Ben Yedder, the second-highest scorer in Ligue 1, and Russian midfielder Alexander Golovin, who has four goals seven assists after missing the first half of the season due to injury.

Monaco averages a goal more per game when Golovin is on the pitch and has won 15 of the matches 18 that he has played in. Golovin's return marked the start of Monaco's recent surge in the league and he has them within touching distance of first place.

With just four matches to go, who will seize the Ligue 1 title? 

Will it be a plucky Lille side filled with underdog stories and bargain buys; a star-studded PSG team that is also looking to reach the Champions League semifinals; or a resurgent Monaco squad that is back amongst the big boys after narrowly avoiding relegation two seasons ago.

None of the top three will face each other again this year, so expect a great deal of scoreboard watching as teams track the ever-changing title permutations.

What a great month of May this is shaping up to be for French football.

Videos you might like