Hi!I know custom keyboards are probably a question that often comes up, but after some research I couldn't find answers to some of my questions, so here I am. 
Being a student in math / physics, I'd like to build a keyboard that would allow me to type easily for these subjets, including mathematical symbols and greek letters. I know it's something I could do with a software solution, but I find this project amusing. 
The first thing is that… I'm French. So I'm used to using an AZERTY keyboard, which has, besides the different layout for letters, a different "numbers row" layout. 

How do I do this? I mean, my question is probably stupid, but when I'll have my keyboard finished, what will Windows see it like? Do I just have to reproduce the layout with corrent places for letters, and putting the numbers at the place they would be on a QWERTY keyboard (that would make sense in my opinion since the keyboard only sends signal, I guess Windows recognizes the "Key 2" signal and then converts it depending on the active layout: 2 for QWERTY, é for AZERTY, etc. That was my first question.
Second, and concerning the custom features. 
Here is a prototype of the layout I'd need. The alpha on the bottom right is a modifier for the greek letters mode, and the blackboard R for the "math" mode. 

Well… how do I do that? 
I plan to use QMK since it supports Unicode and (afaik) I have to use unicode if I want to produce all these symbols. Is there a better way to do it than configuring a layer for each "mode" and putting Unicode codes on the corresponding layers?
Last, concering the hardware. How is a keyboard made? I mean, I understand the matrix thingy, the switches, the electronics in a general way, but I don't really get what is put on what. After browsing the /r/mk FAQ - and yours - I didn't find anything related to that. 
Would anyone have a scheme or something that could explain what the keyboard is supposed to look like?
Thank you for your answers
EDIT : I was also wondering. When keymapping, to get my AZERTY layout, should I rather do that:
        KC_GRV,   KC_1,    KC_2,    KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9,    KC_0,    KC_MINS, KC_EQL,   KC_BSPC,   \
        TAB,      KC_A,    KC_Z,    KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O,    KC_P,    KC_LBRC, KC_RBRC,  KC_BSLS,   \
        ...        Or that:
        KC_GRV,   KC_1,    KC_2,    KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9,    KC_0,    KC_MINS, KC_EQL,   KC_BSPC,   \
        TAB,      KC_Q,    KC_W,    KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O,    KC_P,    KC_LBRC, KC_RBRC,  KC_BSLS,   \
        ...        If I'm not wrong, the first one will work as an AZERTY Layout if the Windows Layout is a QWERTY layout, and the second will work as an AZERTY layout if the Windows layout is QWERTY. Am I right or didn't I understand anything?