You can certainly read the MAC address in hex from the user as shown, except for a small issue: giving fgets a buffer just large enough for the 17 characters and a final '\0' will cause the linefeed typed by the user to stay in the stdin stream. It will be read before any further input, probably not what you would expect.
Furthermore, you want to convert this address into the binary format expected by the socket interface.
Give fgets a larger buffer, and parse with sscanf:
char line[80];
unsigned char MAC[6];
printf("\n\tEntrez l'adresse Mac (XX:XX:XX:XX:XX:XX) en Hexa :");
if (fgets(line, sizeof(line), stdin)
&& sscanf(line, "%hhx:%hhx:%hhx:%hhx:%hhx:%hhx",
MAC, MAC+1, MAC+2, MAC+3, MAC+4, MAC+5) == 6) {
// MAC address correctly parsed into MAC[0...5]
} else {
// invalid input.
}