A boutonniere is worn by men on the lapel of they're tuxedo blazer. The men usually just either choose to buy one for themselves or don't where one at all. However most men prefer to wear them as they usually choose one that matches the corsage, so choose one that is matching to the corsage. In my opinion I would definitely surprise her with it, it will ruin the moment if you tell her before hand. Most men choose to give the corsage to their date when they collect them on their way to prom. I think you should definitely by her a bouquet of flowers, it will make everything just a little bit more special. I think if you really want to show her you like her more than just friends you should ask her out on a real date. Good luck :)
I think you should surprise her. Every girl loves corsages! And I think a bouquet of flowers would be really romantic but I don't think you need to go all out with a gift to show her you have feelings for her. Hope this helps!!!