Hello Fabien,
Using Service Builder ( SEGW ) is easy to model and create GW services.
Below will give you idea how you can model your GW service and Implement Expand_EntitySet method in DPC_EXT class ->
Let's code association/navigation and data provider expand in OData service!
Regards,
Ashwin