I came up with this solution :
(add-hook 'org-insert-heading-hook
(lambda()
(save-excursion
(org-back-to-heading)
(org-set-property "CREATED:" (format-time-string "%Y-%m-%d %T")))))
UPDATE:
I read what-you-need-to-know-about-hooks :
It’s important to mention that you shouldn’t use anonymous functions
for your hooks because it becomes hard to tell the purpose of a lambda
when you inspect the hook at some later point. Another benefit of
using named functions is that you can easily remove them by passing
their name to remove-hook.
By consequence, I updated my solution as follows :
(defun set-creation-date-heading-property ()
(save-excursion
(org-back-to-heading)
(org-set-property "CREATED:" (format-time-string "%Y-%m-%d %T"))))
(defun my-org-mode-date-heading-on ()
"Turn on heading creation date property"
(interactive)
(add-hook 'org-insert-heading-hook #'set-creation-date-heading-property))
(defun my-org-mode-date-heading-off ()
"Turn off heading creation date property"
(interactive)
(remove-hook 'org-insert-heading-hook #'set-creation-date-heading-property))
You can use the two functions my-org-mode-date-heading-on
and my-org-mode-date-heading-off
to turn on/off automatic creation of the "CREATED" property.