Ok, so this what I' ve done so far :
Added Virtual IP on Fortigate2 as you said :
External Interface : SERVERS_Interface (Internal)
External IP : 192.168.1.1
Mapped to : 192.168.1.200
Added static route to 192.168.1.200 to pass thought the IPSEC Tunnel
Added IP 192.168.1.200 as secondary IP on my server in Datacenter1
From fortigate on Datacenter2 I am able to ping both IPs of the Datacenter1 server.
But still, from my server in Datacenter2 I am still unable to ping servers in Datacenter1.
This what I get in the debug flow when I try to ping my DNS on Datacenter1 from Datacenter2 (192.168.1.20 is my test server located in Datacenter2, where I am trying to ping from) :
Fortigate2 :
id=36871 trace_id=477 msg=" vd-root received a packet(proto=1, 192.168.1.20:512->192.168.1.1:8) from OLD_SRV-NET."
id=36871 trace_id=477 msg=" Find an existing session, id-00fc9ed5, original direction"
id=36871 trace_id=477 msg=" enter fast path"
id=36871 trace_id=477 msg=" DNAT 192.168.1.1:8->192.168.1.200:512"
id=36871 trace_id=477 msg=" enter IPsec interface-OCC_IPSEC_SDB"
id=36871 trace_id=477 msg=" encrypted, and send to [FORTIGATE1_ISP_PUBLIC_IP] with source [FORTIGATE2_ISP_PUBLIC_IP]"
id=36871 trace_id=477 msg=" send to [FORTIGATE2_ISP_PUBLIC_IP] via intf-wan2"
Fortigate1 :
id=13 trace_id=233 msg=" vd-root received a packet(proto=1, 192.168.1.20:512->192.168.1.200:8) from IPSEC_SDB."
id=13 trace_id=233 msg=" allocate a new session-0e8fa28c"
id=13 trace_id=233 msg=" find a route: gw-192.168.1.200 via ONE-OLD_SRV-Net"
id=13 trace_id=233 msg=" use addr/intf hash, len=2"
id=13 trace_id=233 msg=" Allowed by Policy-320:"
In my IPSEC definition, I have created a phase2 without any Quick Selector.
I then tried to add another phase with source IP 192.168.1.1 and destination 192.168.1.20 on my Fortigate1, and the opposite in Fortigate2 (Soure 192.168.1.20, dest 192.168.1.1). But no luck