I had to do something similar myself recently. The solution I went with involved two fields, one for checking whether the date within another field was within Daylight Savings Time, and another to translate a date field into a verbose text output e.g. 6:00 PM Friday, December 10, 2016
.
It sounds like you could use a similar solution, use a field to determine which side of the +1/+2 the field should be in, then use a formula like IF(Field_is_gmt1__c, date_field__c + 1/24, date_field__c + 2/24)
Checking if a field's date is within DST (these are the US DST dates, not sure if they vary in France):
AND(
Event__r.EventDate__c >=
DATE(YEAR(Event__r.EventDate__c),3,8) + MOD(7 - MOD(DATE(YEAR(Event__r.EventDate__c),3,8) - DATE(1900,1,7),7) , 7)
,
Event__r.EventDate__c <
DATE(YEAR(Event__r.EventDate__c),11,1) + MOD(7 - MOD(DATE(YEAR(Event__r.EventDate__c),11,1) - DATE(1900,1,7),7) , 7)
)