
France beat Wales in Cardiff in Six Nations to be one win from Grand Slam
France remain on track for their first Grand Slam and Six Nations title since 2010 after claiming a tense 13-9 victory over Wales.
Anthony Jelonch scored the only try of the game along with eight points from Melvyn Jaminet while Dan Biggar responded with three penalty goals for the hosts in Cardiff.
The win set France up for a shot at the Grand Slam against England next Sunday (AEDT) in Paris.
It was a third loss in four matches for Wayne Pivac’s defending champions alongside a narrow victory over Scotland but featured great resolve from the French, who are quickly shaping as World Cup favourites on home turf next year.
The defensive effort owes much to the work of defence coach Shaun Edwards, who was part of Wales backroom staff between 2008 and 2019, during which they won four Six Nations titles and three Grand Slams.
Hooker Julian Marchand was named man of the match as France excelled at the contact area and went to seven games unbeaten.
It has been a sobering campaign for Wales reflected in the empty seats at the Principality Stadium with 63,208 present in a stadium that holds 74,500.
// This is called with the results from from FB.getLoginStatus(). var aslAccessToken = ''; var aslPlatform = ''; function statusChangeCallback(response) { console.log(response); if (response.status === 'connected') { if(response.authResponse && response.authResponse.accessToken && response.authResponse.accessToken != ''){ aslAccessToken = response.authResponse.accessToken; aslPlatform = 'facebook'; tryLoginRegister(aslAccessToken, aslPlatform, ''); }
} else { // The person is not logged into your app or we are unable to tell. console.log('Please log ' + 'into this app.'); } }
function cancelLoginPermissionsPrompt() { document.querySelector("#pm-login-dropdown-options-wrapper__permissions").classList.add('u-d-none'); document.querySelector("#pm-register-dropdown-options-wrapper__permissions").classList.add('u-d-none'); document.querySelector("#pm-login-dropdown-options-wrapper").classList.remove('u-d-none'); document.querySelector("#pm-register-dropdown-options-wrapper").classList.remove('u-d-none'); }
function loginStateSecondChance() { cancelLoginPermissionsPrompt(); FB.login( function(response) {
}, { scope: 'email', auth_type: 'rerequest' } ); }
// This function is called when someone finishes with the Login // Button. See the onlogin handler attached to it in the sample // code below. function checkLoginState() { FB.getLoginStatus(function(response) {
var permissions = null;
FB.api('/me/permissions', { access_token: response.authResponse.accessToken, }, function(response2) { if(response2.data) { permissions = response2.data; } else { permissions = []; }
var emailPermissionGranted = false; for(var x = 0; x < permissions.length; x++) { if(permissions[x].permission === 'email' && permissions[x].status === 'granted') { emailPermissionGranted = true; } } if(emailPermissionGranted) { statusChangeCallback(response); } else { document.querySelector("#pm-login-dropdown-options-wrapper__permissions").classList.remove('u-d-none'); document.querySelector("#pm-register-dropdown-options-wrapper__permissions").classList.remove('u-d-none'); document.querySelector("#pm-login-dropdown-options-wrapper").classList.add('u-d-none'); document.querySelector("#pm-register-dropdown-options-wrapper").classList.add('u-d-none'); } }); }); } window.fbAsyncInit = function() { FB.init({ appId : 392528701662435, cookie : true, xfbml : true, version : 'v3.3' }); FB.AppEvents.logPageView(); FB.Event.subscribe('auth.login', function(response) { var permissions = null; FB.api('/me/permissions', { access_token: response.authResponse.accessToken, }, function(response2) { if(response2.data) { permissions = response2.data; } else { permissions = []; } var emailPermissionGranted = false; for(var x = 0; x < permissions.length; x++) { if(permissions[x].permission === 'email' && permissions[x].status === 'granted') { emailPermissionGranted = true; } } if(emailPermissionGranted) { statusChangeCallback(response); } else { document.querySelector("#pm-login-dropdown-options-wrapper__permissions").classList.remove('u-d-none'); document.querySelector("#pm-register-dropdown-options-wrapper__permissions").classList.remove('u-d-none'); document.querySelector("#pm-login-dropdown-options-wrapper").classList.add('u-d-none'); document.querySelector("#pm-register-dropdown-options-wrapper").classList.add('u-d-none'); } }); }); }; (function(d, s, id){ var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) {return;} js = d.createElement(s); js.id = id; js.src = "https://connect.facebook.net/en_US/sdk.js"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));