{"id":425230,"date":"2026-08-05T05:17:20","date_gmt":"2026-08-05T03:17:20","guid":{"rendered":"https:\/\/nextcloud.com\/?post_type=event&#038;p=425230"},"modified":"2026-08-05T06:53:37","modified_gmt":"2026-08-05T04:53:37","slug":"devrel-zero-first-nextcloud-app","status":"publish","type":"event","link":"https:\/\/nextcloud.com\/fr\/blog\/event\/devrel-zero-first-nextcloud-app\/","title":{"rendered":"From zero to your first Nextcloud app"},"content":{"rendered":"<div class=\"wpb-content-wrapper\"><p>[vc_section][vc_row][vc_column][vc_empty_space][\/vc_column][\/vc_row][vc_row][vc_column width=\u00a0\u00bb3\/5&Prime;]<div class=\"webinar-element webinar-title live-webinar\"><h1 class=\"webinar-title\">From zero to your first Nextcloud app<\/h1><\/div>[vc_separator color=\u00a0\u00bbcustom\u00a0\u00bb align=\u00a0\u00bbalign_left\u00a0\u00bb border_width=\u00a0\u00bb2&Prime; el_width=\u00a0\u00bb20&Prime; css=\u00a0\u00bb\u00a0\u00bb el_class=\u00a0\u00bbnc_separator_line\u00a0\u00bb][vc_column_text css=\u00a0\u00bb\u00a0\u00bb]\t\t<ul class=\"webinar_details\" data-event-passed=\"\" data-lang=\"fr\">\n\t\t<li><b>Date : <\/b> mercredi 12 ao\u00fbt 2026<\/li>\n\t\t<li><b>Heure : <\/b> 3:00 pm CEST \/ <span class='edt_time'>9:00 am EDT<\/span>\t\t<\/li>\n\n\t\t\t\t\t<li><b>Dur\u00e9e : <\/b> 60 minutes\t\t<\/li>\n\t\t\t<\/ul>\n\t<\/p>\n<p><strong>So you want to build a Nextcloud app.<\/strong> Before the syntax, it helps to know how the platform fits together: where your code runs, what it&rsquo;s allowed to call, and how it talks to the rest of the server. This workshop covers the foundations your first app needs.<\/p>\n<p>Join Anna Larch, Developer Relations at Nextcloud, for an introduction to the concepts every app developer hits early on: the public API boundary, controllers and services, dependency injection, and the event system. She&rsquo;ll use real code from apps like Talk, Dashboard, and <code>files_reminders<\/code>, so you&rsquo;re seeing how it works in practice.<\/p>\n<p><strong>What you&rsquo;ll learn in this workshop:<\/strong><\/p>\n<ul class=\"nc-list\">\n<li>How a Nextcloud app is put together, and where your code sits between the server core and the public API<\/li>\n<li>Why you build against the stable OCP\\ API, and what breaks when you reach into OC\\ internals<\/li>\n<li>How to work with the database using entities, mappers, and migrations<\/li>\n<li>How to let the container wire up your dependencies for you<\/li>\n<li>How to react to events from other apps, and how to move slow work into background jobs<\/li>\n<li>A live Q&amp;A for your specific questions<\/li>\n<\/ul>\n<p>This session is for <strong>developers new to Nextcloud app development<\/strong> who want a solid starting point, as well as <strong>existing app developers<\/strong> looking to fill gaps or sharpen their fundamentals. You&rsquo;ll leave understanding how the platform fits together and ready to build or improve your apps.<\/p>\n<p>Can&rsquo;t attend live? This workshop will be recorded and shared with all registrants.[\/vc_column_text][vc_column_text css=\u00a0\u00bb\u00a0\u00bb]<\/p>\n<h2 style=\"font-size: 1.5rem;\">Webinar speakers<\/h2>\n<p>[\/vc_column_text]<div class=\"webinar-speakers-list\"><div class=\"speaker-item\"><div class=\"speaker-photo\"><img decoding=\"async\" src=\"https:\/\/nextcloud.com\/c\/uploads\/2022\/03\/anna-1.jpg\" alt=\"Anna Larch\"><\/div><div class=\"speaker-info\"><h3 class=\"speaker-name\">Anna Larch<\/h3><div class=\"speaker-role\">Developer Relations at Nextcloud<\/div><\/div><\/div><\/div>[vc_empty_space][\/vc_column][vc_column width=\u00a0\u00bb2\/5&Prime;]<noscript class=\"ninja-forms-noscript-message\">\n\tRemarque\u00a0: JavaScript est requis pour ce contenu.<\/noscript>\n<div id=\"nf-form-100-cont\" class=\"nf-form-cont\" aria-live=\"polite\" aria-labelledby=\"nf-form-title-100\" aria-describedby=\"nf-form-errors-100\" role=\"form\">\n\n    <div class=\"nf-loading-spinner\"><\/div>\n\n<\/div>\n        <!-- That data is being printed as a workaround to page builders reordering the order of the scripts loaded-->\n        <script>var formDisplay=1;var nfForms=nfForms||[];var form=[];form.id='100';form.settings={\"objectType\":\"Form Setting\",\"editActive\":true,\"title\":\"developer-webinar-registration\",\"created_at\":\"2024-08-20 21:03:17\",\"default_label_pos\":\"above\",\"show_title\":\"0\",\"clear_complete\":\"1\",\"hide_complete\":\"1\",\"logged_in\":\"\",\"wrapper_class\":\"\",\"element_class\":\"\",\"key\":\"\",\"add_submit\":\"0\",\"currency\":\"\",\"unique_field_error\":\"A form with this value has already been submitted.\",\"not_logged_in_msg\":\"\",\"sub_limit_msg\":\"The form has reached its submission limit.\",\"calculations\":[],\"formContentData\":[\"title_1785899476197\",\"name_textbox_1669714713726\",\"email_1669714714641\",\"subscribe_to_app_developer_newsletters_optional_1724246749069\",\"terms_and_conditions_1714745280237\",\"save_my_spot_1785899407974\",\"nc_activity_id\",\"interests_1688139146265\",\"url_1716377995578\",\"webinar_talk_url_1721314143458\",\"webinar_title_1721314201966\",\"webinar_date_and_time_1721314700727\",\"mailing_list_id_1724223429979\"],\"changeEmailErrorMsg\":\"Veuillez saisir une adresse de messagerie valide. Ex\\u00a0: jean.dupont@gmail.com\",\"changeDateErrorMsg\":\"Veuillez saisir une date valide\\u00a0!\",\"confirmFieldErrorMsg\":\"Ces champs doivent correspondre\\u00a0!\",\"fieldNumberNumMinError\":\"Erreur de nombre min.\",\"fieldNumberNumMaxError\":\"Erreur de nombre max.\",\"fieldNumberIncrementBy\":\"Veuillez incr\\u00e9menter par \",\"formErrorsCorrectErrors\":\"Veuillez corriger les erreurs avant d\\u2019envoyer ce formulaire.\",\"validateRequiredField\":\"Ce champ est obligatoire.\",\"honeypotHoneypotError\":\"Erreur Honeypot\",\"fieldsMarkedRequired\":\"Les champs marqu\\u00e9s d\\u2019un <span class=\\\"ninja-forms-req-symbol\\\">*<\\\/span> sont obligatoires\",\"drawerDisabled\":false,\"form_title_heading_level\":\"3\",\"conditions\":[],\"allow_public_link\":0,\"embed_form\":\"\",\"objectDomain\":\"display\",\"header_position\":\"left\",\"footer_position\":\"left\",\"ninjaForms\":\"Ninja Forms\",\"fieldTextareaRTEInsertLink\":\"Ins\\u00e9rer un lien\",\"fieldTextareaRTEInsertMedia\":\"Ins\\u00e9rer un m\\u00e9dia\",\"fieldTextareaRTESelectAFile\":\"S\\u00e9lectionnez un fichier\",\"tableInsertRowAbove\":\"Insert Row Above\",\"tableInsertRowBelow\":\"Insert Row Below\",\"tableInsertColumnLeft\":\"Insert Column Left\",\"tableInsertColumnRight\":\"Insert Column Right\",\"tableDeleteRow\":\"Delete Row\",\"tableDeleteColumn\":\"Delete Column\",\"tableDeleteTable\":\"Delete Table\",\"tableLegacyNotice\":\"This content has tables in the old editor format. Custom styles are preserved until converted. Editing will update to the new format.\",\"tableLegacyConvert\":\"Convert Now\",\"tableInsertTable\":\"Insert Table\",\"dismiss\":\"Ignorer\",\"insertLink\":\"Ins\\u00e9rer un lien\",\"formHoneypot\":\"Si vous \\u00eates un \\u00eatre humain et que vous voyez ce champ, veuillez le laisser vide.\",\"fileUploadOldCodeFileUploadInProgress\":\"T\\u00e9l\\u00e9versement du fichier en cours.\",\"fileUploadOldCodeFileUpload\":\"T\\u00c9L\\u00c9VERSEMENT DE FICHIER\",\"currencySymbol\":\"&euro;\",\"thousands_sep\":\"\\u00a0\",\"decimal_point\":\",\",\"siteLocale\":\"fr_FR\",\"dateFormat\":\"d\\\/m\\\/Y\",\"startOfWeek\":\"1\",\"of\":\"sur\",\"previousMonth\":\"Mois pr\\u00e9c\\u00e9dent\",\"nextMonth\":\"Mois suivant\",\"months\":[\"Janvier\",\"F\\u00e9vrier\",\"Mars\",\"Avril\",\"Mai\",\"Juin\",\"Juillet\",\"Ao\\u00fbt\",\"Septembre\",\"Octobre\",\"Novembre\",\"D\\u00e9cembre\"],\"monthsShort\":[\"Jan\",\"F\\u00e9v\",\"Mar\",\"Avr\",\"Mai\",\"Juin\",\"Juil\",\"Ao\\u00fb\",\"Sep\",\"Oct\",\"Nov\",\"D\\u00e9c\"],\"weekdays\":[\"Dimanche\",\"Lundi\",\"Mardi\",\"Mercredi\",\"Jeudi\",\"Vendredi\",\"Samedi\"],\"weekdaysShort\":[\"Dim\",\"Lun\",\"Mar\",\"Mer\",\"Jeu\",\"Ven\",\"Sam\"],\"weekdaysMin\":[\"Di\",\"Lu\",\"Ma\",\"Me\",\"Je\",\"Ve\",\"Sa\"],\"recaptchaConsentMissing\":\"reCaptcha validation couldn&#039;t load.\",\"recaptchaMissingCookie\":\"reCaptcha v3 validation couldn&#039;t load the cookie needed to submit the form.\",\"recaptchaConsentEvent\":\"Accept reCaptcha cookies before sending the form.\",\"paypalCheckout\":{\"countrySelectError\":\"Please select a country\",\"invalidNameError\":\"Invalid Name\",\"cardTypeError\":\"Card Type Not Accepted\",\"invalidCardError\":\"Invalid Card Number\",\"invalidExpiryError\":\"Invalid Expiry Date\",\"invalidCvvError\":\"Invalid Security Code\"},\"currency_symbol\":\"\",\"beforeForm\":\"\",\"beforeFields\":\"\",\"afterFields\":\"\",\"afterForm\":\"\"};form.fields=[{\"objectType\":\"Field\",\"objectDomain\":\"fields\",\"editActive\":false,\"order\":1,\"idAttribute\":\"id\",\"label\":\"Title\",\"type\":\"html\",\"default\":\"<h2 class=\\\"webinar-form-title\\\"><span>Join virtual developer workshop!<\\\/span><\\\/h2>\",\"container_class\":\"\",\"element_class\":\"\",\"admin_label\":\"\",\"key\":\"title_1785899476197\",\"drawerDisabled\":false,\"id\":1865,\"beforeField\":\"\",\"afterField\":\"\",\"value\":\"<h2 class=\\\"webinar-form-title\\\"><span>Join virtual developer workshop!<\\\/span><\\\/h2>\",\"label_pos\":\"above\",\"parentType\":\"html\",\"element_templates\":[\"html\",\"input\"],\"old_classname\":\"\",\"wrap_template\":\"wrap\"},{\"objectType\":\"Field\",\"objectDomain\":\"fields\",\"editActive\":false,\"order\":2,\"idAttribute\":\"id\",\"type\":\"textbox\",\"label\":\"Name\",\"key\":\"name_textbox_1669714713726\",\"label_pos\":\"above\",\"required\":1,\"default\":\"\",\"placeholder\":\"\",\"container_class\":\"one-half first\",\"element_class\":\"\",\"input_limit\":\"\",\"input_limit_type\":\"characters\",\"input_limit_msg\":\"Character(s) left\",\"manual_key\":1,\"disable_input\":\"\",\"admin_label\":\"\",\"help_text\":\"\",\"desc_text\":\"\",\"disable_browser_autocomplete\":\"\",\"mask\":\"\",\"custom_mask\":\"\",\"custom_name_attribute\":\"\",\"personally_identifiable\":\"\",\"wrapper_class\":\"\",\"wrap_styles_background-color\":\"\",\"wrap_styles_border\":\"\",\"wrap_styles_border-style\":\"\",\"wrap_styles_border-color\":\"\",\"wrap_styles_color\":\"\",\"wrap_styles_height\":\"\",\"wrap_styles_width\":\"\",\"wrap_styles_font-size\":\"\",\"wrap_styles_margin\":\"\",\"wrap_styles_padding\":\"\",\"wrap_styles_display\":\"\",\"wrap_styles_float\":\"\",\"wrap_styles_show_advanced_css\":0,\"wrap_styles_advanced\":\"\",\"label_styles_background-color\":\"\",\"label_styles_border\":\"\",\"label_styles_border-style\":\"\",\"label_styles_border-color\":\"\",\"label_styles_color\":\"\",\"label_styles_height\":\"\",\"label_styles_width\":\"\",\"label_styles_font-size\":\"\",\"label_styles_margin\":\"\",\"label_styles_padding\":\"\",\"label_styles_display\":\"\",\"label_styles_float\":\"\",\"label_styles_show_advanced_css\":0,\"label_styles_advanced\":\"\",\"element_styles_background-color\":\"\",\"element_styles_border\":\"\",\"element_styles_border-style\":\"\",\"element_styles_border-color\":\"\",\"element_styles_color\":\"\",\"element_styles_height\":\"\",\"element_styles_width\":\"\",\"element_styles_font-size\":\"\",\"element_styles_margin\":\"\",\"element_styles_padding\":\"\",\"element_styles_display\":\"\",\"element_styles_float\":\"\",\"element_styles_show_advanced_css\":0,\"element_styles_advanced\":\"\",\"value\":\"\",\"saved\":\"\",\"nicename\":\"Name\",\"field_label\":\"Name\",\"field_key\":\"name_textbox_1669714713726\",\"drawerDisabled\":\"\",\"id\":947,\"beforeField\":\"\",\"afterField\":\"\",\"parentType\":\"textbox\",\"element_templates\":[\"textbox\",\"input\"],\"old_classname\":\"\",\"wrap_template\":\"wrap\"},{\"objectType\":\"Field\",\"objectDomain\":\"fields\",\"editActive\":false,\"order\":3,\"idAttribute\":\"id\",\"type\":\"email\",\"label\":\"Email\",\"key\":\"email_1669714714641\",\"label_pos\":\"above\",\"required\":1,\"default\":\"\",\"placeholder\":\"\",\"container_class\":\"one-half last\",\"element_class\":\"\",\"admin_label\":\"\",\"help_text\":\"\",\"desc_text\":\"\",\"custom_name_attribute\":\"email\",\"personally_identifiable\":1,\"wrapper_class\":\"\",\"wrap_styles_background-color\":\"\",\"wrap_styles_border\":\"\",\"wrap_styles_border-style\":\"\",\"wrap_styles_border-color\":\"\",\"wrap_styles_color\":\"\",\"wrap_styles_height\":\"\",\"wrap_styles_width\":\"\",\"wrap_styles_font-size\":\"\",\"wrap_styles_margin\":\"\",\"wrap_styles_padding\":\"\",\"wrap_styles_display\":\"\",\"wrap_styles_float\":\"\",\"wrap_styles_show_advanced_css\":0,\"wrap_styles_advanced\":\"\",\"label_styles_background-color\":\"\",\"label_styles_border\":\"\",\"label_styles_border-style\":\"\",\"label_styles_border-color\":\"\",\"label_styles_color\":\"\",\"label_styles_height\":\"\",\"label_styles_width\":\"\",\"label_styles_font-size\":\"\",\"label_styles_margin\":\"\",\"label_styles_padding\":\"\",\"label_styles_display\":\"\",\"label_styles_float\":\"\",\"label_styles_show_advanced_css\":0,\"label_styles_advanced\":\"\",\"element_styles_background-color\":\"\",\"element_styles_border\":\"\",\"element_styles_border-style\":\"\",\"element_styles_border-color\":\"\",\"element_styles_color\":\"\",\"element_styles_height\":\"\",\"element_styles_width\":\"\",\"element_styles_font-size\":\"\",\"element_styles_margin\":\"\",\"element_styles_padding\":\"\",\"element_styles_display\":\"\",\"element_styles_float\":\"\",\"element_styles_show_advanced_css\":0,\"element_styles_advanced\":\"\",\"value\":\"\",\"saved\":\"\",\"nicename\":\"Email\",\"field_label\":\"Email\",\"field_key\":\"email_1669714714641\",\"drawerDisabled\":false,\"id\":948,\"beforeField\":\"\",\"afterField\":\"\",\"parentType\":\"email\",\"element_templates\":[\"email\",\"input\"],\"old_classname\":\"\",\"wrap_template\":\"wrap\"},{\"objectType\":\"Field\",\"objectDomain\":\"fields\",\"editActive\":false,\"order\":4,\"idAttribute\":\"id\",\"type\":\"checkbox\",\"label\":\"Subscribe to app developer news (optional)\",\"key\":\"subscribe_to_app_developer_newsletters_optional_1724246749069\",\"label_pos\":\"right\",\"required\":0,\"container_class\":\"\",\"element_class\":\"\",\"manual_key\":true,\"admin_label\":\"\",\"help_text\":\"\",\"desc_text\":\"<p><br><\\\/p>\",\"default_value\":\"unchecked\",\"checked_value\":\"Checked\",\"unchecked_value\":\"Unchecked\",\"checked_calc_value\":\"\",\"unchecked_calc_value\":\"\",\"drawerDisabled\":false,\"saved\":\"\",\"nicename\":\"I agree to the Nextcloud privacy policy.\",\"field_label\":\"Subscribe to our newsletter (optional)\",\"field_key\":\"subscribe_to_our_newsletter_optional_1714745284657\",\"id\":950,\"beforeField\":\"\",\"afterField\":\"\",\"value\":\"\",\"parentType\":\"checkbox\",\"element_templates\":[\"checkbox\",\"input\"],\"old_classname\":\"\",\"wrap_template\":\"wrap\"},{\"objectType\":\"Field\",\"objectDomain\":\"fields\",\"editActive\":false,\"order\":5,\"idAttribute\":\"id\",\"label\":\"Terms and Conditions\",\"type\":\"html\",\"default\":\"<p><br><\\\/p>\",\"container_class\":\"\",\"element_class\":\"\",\"key\":\"terms_and_conditions_1714745280237\",\"drawerDisabled\":false,\"field_label\":\"Terms and Conditions\",\"field_key\":\"terms_and_conditions_1714745280237\",\"admin_label\":\"\",\"id\":956,\"beforeField\":\"\",\"afterField\":\"\",\"value\":\"<p><br><\\\/p>\",\"label_pos\":\"above\",\"parentType\":\"html\",\"element_templates\":[\"html\",\"input\"],\"old_classname\":\"\",\"wrap_template\":\"wrap\"},{\"objectType\":\"Field\",\"objectDomain\":\"fields\",\"editActive\":false,\"order\":6,\"idAttribute\":\"id\",\"type\":\"submit\",\"label\":\"Save my spot\",\"processing_label\":\"Processing\",\"container_class\":\"\",\"element_class\":\"\",\"key\":\"save_my_spot_1785899407974\",\"field_label\":\"Register now\",\"field_key\":\"register_now_1718871436632\",\"drawerDisabled\":false,\"admin_label\":\"\",\"id\":951,\"beforeField\":\"\",\"afterField\":\"\",\"value\":\"\",\"label_pos\":\"above\",\"parentType\":\"textbox\",\"element_templates\":[\"submit\",\"button\",\"input\"],\"old_classname\":\"\",\"wrap_template\":\"wrap-no-label\"},{\"objectType\":\"Field\",\"objectDomain\":\"fields\",\"editActive\":false,\"order\":7,\"idAttribute\":\"id\",\"type\":\"hidden\",\"label\":\"Activity ID\",\"key\":\"nc_activity_id\",\"default\":\"[nc_activity_id]\",\"admin_label\":\"\",\"drawerDisabled\":false,\"manual_key\":1,\"field_label\":\"Activity ID\",\"field_key\":\"nc_activity_id\",\"id\":952,\"beforeField\":\"\",\"afterField\":\"\",\"value\":\"webinar-devrel-08-2026\",\"label_pos\":\"above\",\"parentType\":\"hidden\",\"element_templates\":[\"hidden\",\"input\"],\"old_classname\":\"\",\"wrap_template\":\"wrap-no-label\"},{\"objectType\":\"Field\",\"objectDomain\":\"fields\",\"editActive\":false,\"order\":8,\"idAttribute\":\"id\",\"label\":\"Interests\",\"type\":\"hidden\",\"key\":\"interests_1688139146265\",\"default\":\"[nc_event_interests]\",\"admin_label\":\"\",\"drawerDisabled\":\"\",\"manual_key\":1,\"field_label\":\"Interests\",\"field_key\":\"interests_1688139146265\",\"id\":953,\"beforeField\":\"\",\"afterField\":\"\",\"value\":\"\",\"label_pos\":\"above\",\"parentType\":\"hidden\",\"element_templates\":[\"hidden\",\"input\"],\"old_classname\":\"\",\"wrap_template\":\"wrap-no-label\"},{\"objectType\":\"Field\",\"objectDomain\":\"fields\",\"editActive\":false,\"order\":9,\"idAttribute\":\"id\",\"label\":\"URL\",\"type\":\"hidden\",\"key\":\"url_1716377995578\",\"default\":\"[fullURL]\",\"admin_label\":\"\",\"drawerDisabled\":\"\",\"field_label\":\"URL\",\"field_key\":\"url_1716377995578\",\"id\":957,\"beforeField\":\"\",\"afterField\":\"\",\"value\":\"https:\\\/\\\/nextcloud.com\\\/fr\\\/wp-json\\\/wp\\\/v2\\\/event\\\/425230\\\/\",\"label_pos\":\"above\",\"parentType\":\"hidden\",\"element_templates\":[\"hidden\",\"input\"],\"old_classname\":\"\",\"wrap_template\":\"wrap-no-label\"},{\"objectType\":\"Field\",\"objectDomain\":\"fields\",\"editActive\":false,\"order\":10,\"idAttribute\":\"id\",\"type\":\"hidden\",\"label\":\"Webinar Talk URL\",\"key\":\"webinar_talk_url_1721314143458\",\"default\":\"[acf field=\\\"webinar_talk_room_url\\\"]\",\"admin_label\":\"\",\"drawerDisabled\":\"\",\"field_label\":\"Webinar Talk URL\",\"field_key\":\"webinar_talk_url_1721314143458\",\"id\":958,\"beforeField\":\"\",\"afterField\":\"\",\"value\":\"https:\\\/\\\/meeting.nextcloud.com\\\/call\\\/vgs3u96d\",\"label_pos\":\"above\",\"parentType\":\"hidden\",\"element_templates\":[\"hidden\",\"input\"],\"old_classname\":\"\",\"wrap_template\":\"wrap-no-label\"},{\"objectType\":\"Field\",\"objectDomain\":\"fields\",\"editActive\":false,\"order\":11,\"idAttribute\":\"id\",\"type\":\"hidden\",\"label\":\"Webinar title\",\"key\":\"webinar_title_1721314201966\",\"default\":\"[title]\",\"admin_label\":\"\",\"drawerDisabled\":\"\",\"field_label\":\"Webinar title\",\"field_key\":\"webinar_title_1721314201966\",\"id\":959,\"beforeField\":\"\",\"afterField\":\"\",\"value\":\"From zero to your first Nextcloud app\",\"label_pos\":\"above\",\"parentType\":\"hidden\",\"element_templates\":[\"hidden\",\"input\"],\"old_classname\":\"\",\"wrap_template\":\"wrap-no-label\"},{\"objectType\":\"Field\",\"objectDomain\":\"fields\",\"editActive\":false,\"order\":12,\"idAttribute\":\"id\",\"label\":\"Webinar date and time\",\"type\":\"hidden\",\"key\":\"webinar_date_and_time_1721314700727\",\"default\":\"[webinar_datetime_email]\",\"admin_label\":\"\",\"drawerDisabled\":\"\",\"field_label\":\"Webinar date and time\",\"field_key\":\"webinar_date_and_time_1721314700727\",\"id\":960,\"beforeField\":\"\",\"afterField\":\"\",\"value\":\"mercredi, 12 ao\\u00fbt \\u00e0 3:00 pm CEST \\\/ 9:00 am EDT\",\"label_pos\":\"above\",\"parentType\":\"hidden\",\"element_templates\":[\"hidden\",\"input\"],\"old_classname\":\"\",\"wrap_template\":\"wrap-no-label\"},{\"objectType\":\"Field\",\"objectDomain\":\"fields\",\"editActive\":false,\"order\":13,\"idAttribute\":\"id\",\"label\":\"mailing_list_id\",\"type\":\"hidden\",\"key\":\"mailing_list_id_1724223429979\",\"default\":17013,\"admin_label\":\"\",\"drawerDisabled\":false,\"id\":962,\"beforeField\":\"\",\"afterField\":\"\",\"value\":\"17013\",\"label_pos\":\"above\",\"parentType\":\"hidden\",\"element_templates\":[\"hidden\",\"input\"],\"old_classname\":\"\",\"wrap_template\":\"wrap-no-label\"}];nfForms.push(form);<\/script>\n        [vc_raw_html css=\u00a0\u00bb\u00a0\u00bb]JTNDc3R5bGUlM0UlMEElMjAlMjAlMjAlMjAuZXZlbnQtdGVtcGxhdGUtc2luZ2xlLXNpbXBsaWZpZWQlMjAud2ViaW5hci10aXRsZS5saXZlLXdlYmluYXIlMjBoMSUzQWJlZm9yZSUyQyUyMC5vbi1kZW1hbmQtd2ViaW5hci10ZW1wbGF0ZS1zaW5nbGUtc2ltcGxpZmllZCUyMC53ZWJpbmFyLXRpdGxlLmxpdmUtd2ViaW5hciUyMGgxJTNBYmVmb3JlJTIwJTdCJTBBJTIwJTIwJTIwJTIwY29udGVudCUzQSUyMCUyMiVFMiU5NyU4RiUyMERldmVsb3BlciUyMHdvcmtzaG9wJTIyJTIwJTIxaW1wb3J0YW50JTNCJTBBJTdEJTBBJTNDJTJGc3R5bGUlM0U=[\/vc_raw_html][\/vc_column][\/vc_row][\/vc_section]<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>New to Nextcloud app development? Learn how the platform fits together: API boundaries, dependency injection, the event system. Plus, a live Q&#038;A with Anna Larch.<\/p>\n","protected":false},"author":35,"featured_media":425274,"menu_order":0,"template":"single-simplified.php","meta":{"_acf_changed":false,"inline_featured_image":false,"publish_to_discourse":"","publish_post_category":"","wpdc_auto_publish_overridden":"","wpdc_topic_tags":"","wpdc_pin_topic":"","wpdc_pin_until":"","discourse_post_id":"","discourse_permalink":"","wpdc_publishing_response":"","wpdc_publishing_error":"","footnotes":""},"tags":[],"event_categories":[250],"class_list":["post-425230","event","type-event","status-publish","has-post-thumbnail","hentry","event_categories-webinars"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>[Workshop] From zero to your first Nextcloud app<\/title>\n<meta name=\"description\" content=\"New to Nextcloud app development? Learn how the platform fits together \u2014 API boundaries, dependency injection, event system \u2014 plus a live Q&amp;A.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/nextcloud.com\/fr\/blog\/event\/devrel-zero-first-nextcloud-app\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Workshop] From zero to your first Nextcloud app\" \/>\n<meta property=\"og:description\" content=\"New to Nextcloud app development? Learn how the platform fits together \u2014 API boundaries, dependency injection, event system \u2014 plus a live Q&amp;A.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/nextcloud.com\/fr\/blog\/event\/devrel-zero-first-nextcloud-app\/\" \/>\n<meta property=\"og:site_name\" content=\"Nextcloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Nextclouders\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-05T04:53:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/nextcloud.com\/c\/uploads\/2026\/08\/webinar-devrel-08-2026-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/nextcloud.com\\\/fr\\\/blog\\\/event\\\/devrel-zero-first-nextcloud-app\\\/\",\"url\":\"https:\\\/\\\/nextcloud.com\\\/fr\\\/blog\\\/event\\\/devrel-zero-first-nextcloud-app\\\/\",\"name\":\"[Workshop] From zero to your first Nextcloud app\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/nextcloud.com\\\/fr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/nextcloud.com\\\/fr\\\/blog\\\/event\\\/devrel-zero-first-nextcloud-app\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/nextcloud.com\\\/fr\\\/blog\\\/event\\\/devrel-zero-first-nextcloud-app\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/nextcloud.com\\\/c\\\/uploads\\\/2026\\\/08\\\/webinar-devrel-08-2026-1.png\",\"datePublished\":\"2026-08-05T03:17:20+00:00\",\"dateModified\":\"2026-08-05T04:53:37+00:00\",\"description\":\"New to Nextcloud app development? Learn how the platform fits together \u2014 API boundaries, dependency injection, event system \u2014 plus a live Q&A.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/nextcloud.com\\\/fr\\\/blog\\\/event\\\/devrel-zero-first-nextcloud-app\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/nextcloud.com\\\/fr\\\/blog\\\/event\\\/devrel-zero-first-nextcloud-app\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/nextcloud.com\\\/fr\\\/blog\\\/event\\\/devrel-zero-first-nextcloud-app\\\/#primaryimage\",\"url\":\"https:\\\/\\\/nextcloud.com\\\/c\\\/uploads\\\/2026\\\/08\\\/webinar-devrel-08-2026-1.png\",\"contentUrl\":\"https:\\\/\\\/nextcloud.com\\\/c\\\/uploads\\\/2026\\\/08\\\/webinar-devrel-08-2026-1.png\",\"width\":1920,\"height\":1080,\"caption\":\"From zero to your first Nextcloud app\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/nextcloud.com\\\/fr\\\/blog\\\/event\\\/devrel-zero-first-nextcloud-app\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/nextcloud.com\\\/fr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"From zero to your first Nextcloud app\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/nextcloud.com\\\/fr\\\/#website\",\"url\":\"https:\\\/\\\/nextcloud.com\\\/fr\\\/\",\"name\":\"Nextcloud\",\"description\":\"Regain control over your data\",\"publisher\":{\"@id\":\"https:\\\/\\\/nextcloud.com\\\/fr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/nextcloud.com\\\/fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/nextcloud.com\\\/fr\\\/#organization\",\"name\":\"Nextcloud\",\"url\":\"https:\\\/\\\/nextcloud.com\\\/fr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/nextcloud.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/nextcloud.com\\\/c\\\/uploads\\\/2022\\\/10\\\/nextcloud-logo-blue-transparent.svg\",\"contentUrl\":\"https:\\\/\\\/nextcloud.com\\\/c\\\/uploads\\\/2022\\\/10\\\/nextcloud-logo-blue-transparent.svg\",\"width\":\"1024\",\"height\":\"1024\",\"caption\":\"Nextcloud\"},\"image\":{\"@id\":\"https:\\\/\\\/nextcloud.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/Nextclouders\\\/\",\"https:\\\/\\\/x.com\\\/nextclouders\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/10827569\\\/\",\"https:\\\/\\\/youtube.com\\\/nextcloud\",\"https:\\\/\\\/www.instagram.com\\\/nextclouders\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Workshop] From zero to your first Nextcloud app","description":"New to Nextcloud app development? Learn how the platform fits together \u2014 API boundaries, dependency injection, event system \u2014 plus a live Q&A.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/nextcloud.com\/fr\/blog\/event\/devrel-zero-first-nextcloud-app\/","og_locale":"fr_FR","og_type":"article","og_title":"[Workshop] From zero to your first Nextcloud app","og_description":"New to Nextcloud app development? Learn how the platform fits together \u2014 API boundaries, dependency injection, event system \u2014 plus a live Q&A.","og_url":"https:\/\/nextcloud.com\/fr\/blog\/event\/devrel-zero-first-nextcloud-app\/","og_site_name":"Nextcloud","article_publisher":"https:\/\/www.facebook.com\/Nextclouders\/","article_modified_time":"2026-08-05T04:53:37+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/nextcloud.com\/c\/uploads\/2026\/08\/webinar-devrel-08-2026-1.png","type":"image\/png"}],"twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/nextcloud.com\/fr\/blog\/event\/devrel-zero-first-nextcloud-app\/","url":"https:\/\/nextcloud.com\/fr\/blog\/event\/devrel-zero-first-nextcloud-app\/","name":"[Workshop] From zero to your first Nextcloud app","isPartOf":{"@id":"https:\/\/nextcloud.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/nextcloud.com\/fr\/blog\/event\/devrel-zero-first-nextcloud-app\/#primaryimage"},"image":{"@id":"https:\/\/nextcloud.com\/fr\/blog\/event\/devrel-zero-first-nextcloud-app\/#primaryimage"},"thumbnailUrl":"https:\/\/nextcloud.com\/c\/uploads\/2026\/08\/webinar-devrel-08-2026-1.png","datePublished":"2026-08-05T03:17:20+00:00","dateModified":"2026-08-05T04:53:37+00:00","description":"New to Nextcloud app development? Learn how the platform fits together \u2014 API boundaries, dependency injection, event system \u2014 plus a live Q&A.","breadcrumb":{"@id":"https:\/\/nextcloud.com\/fr\/blog\/event\/devrel-zero-first-nextcloud-app\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/nextcloud.com\/fr\/blog\/event\/devrel-zero-first-nextcloud-app\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/nextcloud.com\/fr\/blog\/event\/devrel-zero-first-nextcloud-app\/#primaryimage","url":"https:\/\/nextcloud.com\/c\/uploads\/2026\/08\/webinar-devrel-08-2026-1.png","contentUrl":"https:\/\/nextcloud.com\/c\/uploads\/2026\/08\/webinar-devrel-08-2026-1.png","width":1920,"height":1080,"caption":"From zero to your first Nextcloud app"},{"@type":"BreadcrumbList","@id":"https:\/\/nextcloud.com\/fr\/blog\/event\/devrel-zero-first-nextcloud-app\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/nextcloud.com\/fr\/"},{"@type":"ListItem","position":2,"name":"From zero to your first Nextcloud app"}]},{"@type":"WebSite","@id":"https:\/\/nextcloud.com\/fr\/#website","url":"https:\/\/nextcloud.com\/fr\/","name":"Nextcloud","description":"Regain control over your data","publisher":{"@id":"https:\/\/nextcloud.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/nextcloud.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/nextcloud.com\/fr\/#organization","name":"Nextcloud","url":"https:\/\/nextcloud.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/nextcloud.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/nextcloud.com\/c\/uploads\/2022\/10\/nextcloud-logo-blue-transparent.svg","contentUrl":"https:\/\/nextcloud.com\/c\/uploads\/2022\/10\/nextcloud-logo-blue-transparent.svg","width":"1024","height":"1024","caption":"Nextcloud"},"image":{"@id":"https:\/\/nextcloud.com\/fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Nextclouders\/","https:\/\/x.com\/nextclouders","https:\/\/www.linkedin.com\/company\/10827569\/","https:\/\/youtube.com\/nextcloud","https:\/\/www.instagram.com\/nextclouders\/"]}]}},"featured_media_url":"https:\/\/nextcloud.com\/c\/uploads\/2026\/08\/webinar-devrel-08-2026-1.png","_links":{"self":[{"href":"https:\/\/nextcloud.com\/fr\/wp-json\/wp\/v2\/event\/425230","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nextcloud.com\/fr\/wp-json\/wp\/v2\/event"}],"about":[{"href":"https:\/\/nextcloud.com\/fr\/wp-json\/wp\/v2\/types\/event"}],"author":[{"embeddable":true,"href":"https:\/\/nextcloud.com\/fr\/wp-json\/wp\/v2\/users\/35"}],"version-history":[{"count":12,"href":"https:\/\/nextcloud.com\/fr\/wp-json\/wp\/v2\/event\/425230\/revisions"}],"predecessor-version":[{"id":425265,"href":"https:\/\/nextcloud.com\/fr\/wp-json\/wp\/v2\/event\/425230\/revisions\/425265"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nextcloud.com\/fr\/wp-json\/wp\/v2\/media\/425274"}],"wp:attachment":[{"href":"https:\/\/nextcloud.com\/fr\/wp-json\/wp\/v2\/media?parent=425230"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nextcloud.com\/fr\/wp-json\/wp\/v2\/tags?post=425230"},{"taxonomy":"event_categories","embeddable":true,"href":"https:\/\/nextcloud.com\/fr\/wp-json\/wp\/v2\/event_categories?post=425230"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}