Thank you:)
We treat them as 2d sprites, and knowing the size of each card, we can compute their position. By default the cards are scale down, and when the mouse hover signal is triggered, the scale is increased.
I think it's possible to have the same effect with UI and TextureRect, but for me Godot's UI isn't very intuitive^^
The shuffle is just an animation using AnimationPlayer. And the animation where the card go to the discard from the hand is made using script.
I hope it helps.