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

Add the Dynamo code as Addin

Check out Dyno.