How to add buttons on Revit's ribbon?

Dear community,
I want to know how to add a button on Revit ribbon (combobox type or other objects).
Do I need to install a particular programming device? How to connect a programm to Revit API ? What language to adopt (C#, VB, python) and how to access an IExternal Application ?
Thank you for your time

Check out Dyno.


Have a look to !

You can easily drag and drop your Dynamos Scripts into Nonica folder to integrate them into the Revit toolbar.