Hi @alain.gicquaire welcome to the community.
You can use the conditionals to make the visibility of any element by creating conditions on the conditional tab of the element.
You can create two groups (edit form, create form).

“Create form” group can be visible by default. Please tick the box “Collapse when hidden”

In the conditional table of the “Create Form” group create the condition when “Edit Form” group is visible this element (create form) is not visible.

“Edit Form” group will be visible based on the “URL Parameters” like when edit contact button/icon is clicked in the repeating group of the contact list you send the parameter current cell’s contact list’s unique id to the contact form page/same page.
You can say when url parameter (uid in this case) is not empty this element, “Edit Form” group is visible.

** You can send the user to a different page or to the same page, but you can send the parameter for both cases.
Inputs value for the “Edit Form” will be set from the Url parameters as well.
So then when edit contact is clicked you make the changes in the database.
Solution2: To edit the contact without going to another page or sending the parameters in the URL - AUTOBINDING
Since repeating group data type is contact list you can use Input element instead of text element inside the repeating group, to show the contact lists. You can design them like text element. But this will give you an advantage of Autobinding and faster user experience for the user.
You can create an alert message to show the uses that changes has been made by ticking the box “Show alert on success”
You will need to set up a privacy rule which is pretty simple to use. Allowing users to auto-binding
Solution3: Pop Up - You can use Pop up when edit button/icon is clicked in the repeating group. You will need to follow the same process of sending the current cells contacts unique id to URL. Then you use the “Edit Form” group element inside the popup. Rest of the steps are same as mentioned above.
Hope it helps. Happy building 