So, "give the X to the Y," that construction corresponds to the thought "cause X to go to Y." Whereas "give the Y the X" corresponds to the thought "cause Y to have X."
Donc, "Donner le X au Y"... cette construction correspond à la pensée, "Causer X d'aller à Y". Tandis que "Y donner le X" correspond à la pensée "Causer Y d'avoir X"