{"id":534,"date":"2024-07-03T21:51:50","date_gmt":"2024-07-03T19:51:50","guid":{"rendered":"https:\/\/bslthemes.com\/luique\/?p=534"},"modified":"2024-07-12T15:43:41","modified_gmt":"2024-07-12T13:43:41","slug":"tech-update","status":"publish","type":"post","link":"https:\/\/azizaelgoul.com\/fr_fr\/tech-update\/","title":{"rendered":"Veille techno [07-24]"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"534\" class=\"elementor elementor-534\">\n\t\t\t\t<div class=\"elementor-element elementor-element-142ec149 e-flex e-con-boxed e-con e-parent\" data-id=\"142ec149\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-17fac538 elementor-widget elementor-widget-text-editor\" data-id=\"17fac538\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><\/p>\n<p><span style=\"text-align: var(--text-align);\">Bonjour tout le monde !&nbsp;<\/span><\/p>\n<p><span style=\"text-align: var(--text-align);\">Aujourd'hui, nous allons plonger dans l'une des mises \u00e0 jour les plus importantes pr\u00e9sent\u00e9es lors de la WWDC 2024 : SwiftData. SwiftData est un nouveau framework d'iOS 17 qui permet aux d\u00e9veloppeurs de mod\u00e9liser et de conserver les donn\u00e9es de leurs applications de mani\u00e8re efficace et s\u00e9curis\u00e9e. J'ai donc d\u00e9cid\u00e9 d'explorer un peu plus les fonctionnalit\u00e9s de SwiftData, et je vais tout vous expliquer de mani\u00e8re aussi simple que possible.<\/span><\/p>\n<p><\/p>\n<p><\/p>\n<blockquote class=\"is-layout-flow wp-block-quote-is-layout-flow\">\n<p><\/p>\n<p><em>La seule fa\u00e7on de faire du bon travail est d'aimer ce que vous faites.<\/em><\/p>\n<p><span style=\"color: #29a587; font-size: 16px; font-weight: bold;\">&#8211; Steve Jobs<\/span><\/p>\n<p><cite>&nbsp;<\/cite><\/p>\n<\/blockquote>\n<p><\/p>\n<p><\/p>\n<h5>Qu'est-ce que SwiftData?<\/h5>\n<p>SwiftData est comme une bo\u00eete magique qui nous aide \u00e0 sauvegarder et organiser les informations dans nos applications. Imaginez que vous ayez un carnet o\u00f9 vous notez toutes vos choses pr\u00e9f\u00e9r\u00e9es. SwiftData est comme ce carnet, mais sur votre iPhone ou iPad, et il peut faire bien plus que simplement stocker des notes.<\/p>\n<h5>Coder une simple application avec SwiftData<\/h5>\n<p>Disons que nous voulons cr\u00e9er une application appel\u00e9e \"Voyages\" o\u00f9 nous consignons toutes nos id\u00e9es de vacances. Nous utiliserons SwiftData pour enregistrer les informations sur chaque voyage. Voici un guide simple pour le r\u00e9aliser.<\/p>\n<h5>Etape 1: cr\u00e9er le model \"Trip\"<\/h5>\n<p><span style=\"text-align: var(--text-align);\">Tout d'abord, nous devons cr\u00e9er un mod\u00e8le pour repr\u00e9senter notre voyage. Un mod\u00e8le est comme un plan pour les informations que nous voulons sauvegarder. Dans notre cas, chaque voyage a un nom, une destination, une date de d\u00e9but et une date de fin. Voici le code :<\/span><\/p>\n<figure>\n<pre class=\"brush: swift; title: ; notranslate\" title=\"\">&lt;br&gt;\nimport Foundation&lt;br&gt;\nimport SwiftData&lt;p&gt;&lt;\/p&gt;\n&lt;p&gt;@Model&lt;br&gt;\nclass TripModel {&lt;br&gt;\n    var name: String&lt;br&gt;\n    var destination: String&lt;br&gt;\n    var startDate: Date&lt;br&gt;\n    var endDate: Date&lt;\/p&gt;\n&lt;p&gt;    init(name: String, destination: String, startDate: Date, endDate: Date) {&lt;br&gt;\n        self.name = name&lt;br&gt;\n        self.destination = destination&lt;br&gt;\n        self.startDate = startDate&lt;br&gt;\n        self.endDate = endDate&lt;br&gt;\n    }&lt;br&gt;\n}&lt;\/p&gt;\n&lt;p&gt;@Model&lt;br&gt;\nclass BucketListItem {&lt;br&gt;\n    var name: String&lt;br&gt;\n    var isInPlan: Bool&lt;\/p&gt;\n&lt;p&gt;    init(name: String, isInPlan: Bool) {&lt;br&gt;\n        self.name = name&lt;br&gt;\n        self.isInPlan = isInPlan&lt;br&gt;\n    }&lt;br&gt;\n}&lt;\/p&gt;\n&lt;p&gt;@Model&lt;br&gt;\nclass LivingAccommodation {&lt;br&gt;\n    var type: String&lt;br&gt;\n    var address: String&lt;\/p&gt;\n&lt;p&gt;    init(type: String, address: String) {&lt;br&gt;\n        self.type = type&lt;br&gt;\n        self.address = address&lt;br&gt;\n    }&lt;br&gt;\n}&lt;br&gt;\n<\/pre><\/p>\n<p><\/p>\n<\/figure>\n<p><\/p>\n<p><\/p>\n<h5>Etape 2: Configurer le Model Container<\/h5>\n<p>Le conteneur de mod\u00e8le est comme une bo\u00eete qui contient tous nos mod\u00e8les (dans ce cas, les voyages). Nous disons \u00e0 notre application d'utiliser cette bo\u00eete pour savoir o\u00f9 chercher les informations.<\/p>\n<p><pre class=\"brush: swift; title: ; notranslate\" title=\"\">&lt;br&gt;\nimport SwiftUI&lt;br&gt;\nimport SwiftData&lt;\/p&gt;\n&lt;p&gt;@main&lt;br&gt;\nstruct TripsApp: App {&lt;br&gt;\n    var container: ModelContainer = {&lt;br&gt;\n        do {&lt;br&gt;\n            let configuration = ModelConfiguration(schema: Schema([TripModel.self]))&lt;br&gt;\n            return try ModelContainer(for: TripModel.self, configurations: configuration)&lt;br&gt;\n        } catch {&lt;br&gt;\n            fatalError(&quot;Failed to initialize model container: \\(error)&quot;)&lt;br&gt;\n        }&lt;br&gt;\n    }()&lt;\/p&gt;\n&lt;p&gt;    var body: some Scene {&lt;br&gt;\n        WindowGroup {&lt;br&gt;\n            ContentView()&lt;br&gt;\n                .modelContainer(container)&lt;br&gt;\n        }&lt;br&gt;\n    }&lt;br&gt;\n}&lt;br&gt;\n<\/pre><\/p>\n<div>&nbsp;<\/div>\n<p><\/p>\n<h5>Etape 3: Afficher les Voyages&nbsp;<\/h5>\n<p>La ContentView est la vue principale qui liste tous les voyages et inclut une fonctionnalit\u00e9 de recherche.<\/p>\n<p><pre class=\"brush: swift; title: ; notranslate\" title=\"\">&lt;br&gt;\nimport SwiftUI&lt;br&gt;\nimport SwiftData&lt;\/p&gt;\n&lt;p&gt;struct ContentView: View {&lt;br&gt;\n    @State private var trips: [TripModel] = []&lt;br&gt;\n    @State private var searchText = &quot;&quot;&lt;\/p&gt;\n&lt;p&gt;    var body: some View {&lt;br&gt;\n        NavigationView {&lt;br&gt;\n            List {&lt;br&gt;\n                ForEach(trips.filter {&lt;br&gt;\n                    searchText.isEmpty || $0.name.localizedStandardContains(searchText) || $0.destination.localizedStandardContains(searchText)&lt;br&gt;\n                }, id: \\.self) { trip in&lt;br&gt;\n                    NavigationLink(destination: TripDetail(trip: trip)) {&lt;br&gt;\n                        Text(trip.name)&lt;br&gt;\n                    }&lt;br&gt;\n                }&lt;br&gt;\n            }&lt;br&gt;\n            .searchable(text: $searchText)&lt;br&gt;\n            .navigationTitle(&quot;Trips&quot;)&lt;br&gt;\n        }&lt;br&gt;\n        .onAppear {&lt;br&gt;\n            \/\/ Simulate fetching trips (replace with actual data fetching logic)&lt;br&gt;\n            fetchTrips()&lt;br&gt;\n        }&lt;br&gt;\n    }&lt;\/p&gt;\n&lt;p&gt;    private func fetchTrips() {&lt;br&gt;\n        \/\/ Simulated data fetching&lt;br&gt;\n        trips = [&lt;br&gt;\n            TripModel(name: &quot;Trip to Paris&quot;, destination: &quot;Paris&quot;, startDate: Date(), endDate: Date()),&lt;br&gt;\n            TripModel(name: &quot;Beach Vacation&quot;, destination: &quot;Maldives&quot;, startDate: Date(), endDate: Date()),&lt;br&gt;\n            TripModel(name: &quot;Skiing in Alps&quot;, destination: &quot;Switzerland&quot;, startDate: Date(), endDate: Date())&lt;br&gt;\n        ]&lt;br&gt;\n    }&lt;br&gt;\n}&lt;br&gt;\n<\/pre><\/p>\n<div>&nbsp;<\/div>\n<p><!-- \/wp:paragraph --><\/p>\n<h5>Etape 4: Cr\u00e9er la vue correspondant aux d\u00e9tails du voyage<\/h5>\n<p><span style=\"text-align: var(--text-align);\">La vue TripDetail montre les informations d\u00e9taill\u00e9es sur un voyage s\u00e9lectionn\u00e9. \nLa structure TripDetail affiche les d\u00e9tails d'un voyage s\u00e9lectionn\u00e9. \nLa m\u00e9thode formattedDate formatte la date en une cha\u00eene lisible.<\/span><\/p>\n<p><pre class=\"brush: swift; title: ; notranslate\" title=\"\">&lt;br&gt;\nimport SwiftUI&lt;\/p&gt;\n&lt;p&gt;struct TripDetail: View {&lt;br&gt;\n    var trip: TripModel&lt;\/p&gt;\n&lt;p&gt;    var body: some View {&lt;br&gt;\n        VStack {&lt;br&gt;\n            Text(&quot;Trip: \\(trip.name)&quot;)&lt;br&gt;\n                .font(.title)&lt;br&gt;\n            Text(&quot;Destination: \\(trip.destination)&quot;)&lt;br&gt;\n            Text(&quot;Start Date: \\(formattedDate(trip.startDate))&quot;)&lt;br&gt;\n            Text(&quot;End Date: \\(formattedDate(trip.endDate))&quot;)&lt;br&gt;\n        }&lt;br&gt;\n        .navigationTitle(trip.name)&lt;br&gt;\n    }&lt;\/p&gt;\n&lt;p&gt;    private func formattedDate(_ date: Date) -&amp;gt; String {&lt;br&gt;\n        let formatter = DateFormatter()&lt;br&gt;\n        formatter.dateStyle = .medium&lt;br&gt;\n        return formatter.string(from: date)&lt;br&gt;\n    }&lt;br&gt;\n}&lt;br&gt;\n<\/pre><\/p>\n<div>&nbsp;<\/div>\n<h5>Conclusion<\/h5>\n<p>En suivant ces \u00e9tapes, vous avez cr\u00e9\u00e9 une mini application SwiftUI utilisant SwiftData pour g\u00e9rer et afficher les informations sur les voyages.<\/p>\n<h6>et donc quel serait l'utilit\u00e9 de SwiftData pour finir?<\/h6>\n<p>SwiftData se distingue de Core Data par sa simplicit\u00e9 et son int\u00e9gration transparente avec SwiftUI. Contrairement \u00e0 Core Data, principalement con\u00e7u pour g\u00e9rer les donn\u00e9es locales au sein de l'application, SwiftData offre une flexibilit\u00e9 accrue pour interagir avec des API externes. Cela facilite la synchronisation des donn\u00e9es locales avec des services web, am\u00e9liorant ainsi l'exp\u00e9rience utilisateur.<\/p>\n<p>SwiftData simplifie \u00e9galement le d\u00e9veloppement en r\u00e9duisant le code et en offrant une meilleure s\u00e9curit\u00e9 des types. En r\u00e9sum\u00e9, SwiftData permet de cr\u00e9er des applications plus robustes, performantes et maintenables tout en facilitant l'int\u00e9gration avec les services en ligne, ce qui n'est pas aussi facilement r\u00e9alisable avec Core Data.<\/p>\n<table>\n<thead>\n<tr>\n<th>Fonctionnalit\u00e9<\/th>\n<th>SwiftData<\/th>\n<th>Core Data<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Age<\/strong><\/td>\n<td>Plus r\u00e9cent<\/td>\n<td>Moins r\u00e9cent<\/td>\n<\/tr>\n<tr>\n<td><strong>API<\/strong><\/td>\n<td>Plus moderne et user-friendly<\/td>\n<td>Plus compliqu\u00e9 et orient\u00e9 Objective-C<\/td>\n<\/tr>\n<tr>\n<td><strong>Efficacit\u00e9<\/strong><\/td>\n<td>Plus efficace<\/td>\n<td>Moins efficace<\/td>\n<\/tr>\n<tr>\n<td><strong>Int\u00e9gration avec SwiftUI<\/strong><\/td>\n<td>Transparent<\/td>\n<td>Moins transparente<\/td>\n<\/tr>\n<tr>\n<td><strong>Fonctionnalit\u00e9<\/strong><\/td>\n<td>Peu de fonctionnalit\u00e9s li\u00e9es<\/td>\n<td>Plus de fonctionnalit\u00e9s disponibles<\/td>\n<\/tr>\n<tr>\n<td><strong>Maturit\u00e9<\/strong><\/td>\n<td>Peu mature<\/td>\n<td>Plus mature<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>Salut ! Aujourd'hui je vais aborder les derni\u00e8res nouveaut\u00e9s qui sont parus lors du WWDC 2024, sp\u00e9cifiquement SwiftData. <\/p>\n<div class=\"readmore\"><a href=\"https:\/\/azizaelgoul.com\/fr_fr\/tech-update\/\" class=\"lnk\">Read more<\/a><\/div>","protected":false},"author":1,"featured_media":4184,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[51,50],"tags":[48,49],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Tech Update [07-24] - Aziza Elgoul<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/azizaelgoul.com\/fr_fr\/tech-update\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tech Update [07-24] - Aziza Elgoul\" \/>\n<meta property=\"og:description\" content=\"Hello everyone!&nbsp; Today, we&#8217;re going to dive into one of the most exciting updates introduced at the WWDC 2024: SwiftData.... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/azizaelgoul.com\/fr_fr\/tech-update\/\" \/>\n<meta property=\"og:site_name\" content=\"Aziza Elgoul\" \/>\n<meta property=\"article:published_time\" content=\"2024-07-03T19:51:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-07-12T13:43:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/azizaelgoul.com\/wp-content\/uploads\/2024\/07\/th-4.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Aziza\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Aziza\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/azizaelgoul.com\/tech-update\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/azizaelgoul.com\/tech-update\/\"},\"author\":{\"name\":\"Aziza\",\"@id\":\"https:\/\/azizaelgoul.com\/#\/schema\/person\/67cecbbea8e01e85282a9792ccb9e641\"},\"headline\":\"Tech Update [07-24]\",\"datePublished\":\"2024-07-03T19:51:50+00:00\",\"dateModified\":\"2024-07-12T13:43:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/azizaelgoul.com\/tech-update\/\"},\"wordCount\":773,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/azizaelgoul.com\/#\/schema\/person\/67cecbbea8e01e85282a9792ccb9e641\"},\"image\":{\"@id\":\"https:\/\/azizaelgoul.com\/tech-update\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/azizaelgoul.com\/wp-content\/uploads\/2024\/07\/th-4.jpeg\",\"keywords\":[\"Mobile\",\"Web\"],\"articleSection\":[\"Mobile\",\"Web\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/azizaelgoul.com\/tech-update\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/azizaelgoul.com\/tech-update\/\",\"url\":\"https:\/\/azizaelgoul.com\/tech-update\/\",\"name\":\"Tech Update [07-24] - Aziza Elgoul\",\"isPartOf\":{\"@id\":\"https:\/\/azizaelgoul.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/azizaelgoul.com\/tech-update\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/azizaelgoul.com\/tech-update\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/azizaelgoul.com\/wp-content\/uploads\/2024\/07\/th-4.jpeg\",\"datePublished\":\"2024-07-03T19:51:50+00:00\",\"dateModified\":\"2024-07-12T13:43:41+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/azizaelgoul.com\/tech-update\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/azizaelgoul.com\/tech-update\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/azizaelgoul.com\/tech-update\/#primaryimage\",\"url\":\"https:\/\/azizaelgoul.com\/wp-content\/uploads\/2024\/07\/th-4.jpeg\",\"contentUrl\":\"https:\/\/azizaelgoul.com\/wp-content\/uploads\/2024\/07\/th-4.jpeg\",\"width\":1024,\"height\":1024,\"caption\":\"mobile developer blog\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/azizaelgoul.com\/tech-update\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/azizaelgoul.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tech Update [07-24]\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/azizaelgoul.com\/#website\",\"url\":\"https:\/\/azizaelgoul.com\/\",\"name\":\"Aziza Elgoul\",\"description\":\"Portfolio\",\"publisher\":{\"@id\":\"https:\/\/azizaelgoul.com\/#\/schema\/person\/67cecbbea8e01e85282a9792ccb9e641\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/azizaelgoul.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/azizaelgoul.com\/#\/schema\/person\/67cecbbea8e01e85282a9792ccb9e641\",\"name\":\"Aziza\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/azizaelgoul.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/azizaelgoul.com\/wp-content\/uploads\/2021\/11\/person-3.webp\",\"contentUrl\":\"https:\/\/azizaelgoul.com\/wp-content\/uploads\/2021\/11\/person-3.webp\",\"width\":500,\"height\":500,\"caption\":\"Aziza\"},\"logo\":{\"@id\":\"https:\/\/azizaelgoul.com\/#\/schema\/person\/image\/\"},\"sameAs\":[\"http:\/\/azizaelgoul.com\"],\"url\":\"https:\/\/azizaelgoul.com\/fr_fr\/author\/admin2181\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Tech Update [07-24] - Aziza Elgoul","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:\/\/azizaelgoul.com\/fr_fr\/tech-update\/","og_locale":"fr_FR","og_type":"article","og_title":"Tech Update [07-24] - Aziza Elgoul","og_description":"Hello everyone!&nbsp; Today, we&#8217;re going to dive into one of the most exciting updates introduced at the WWDC 2024: SwiftData.... Read more","og_url":"https:\/\/azizaelgoul.com\/fr_fr\/tech-update\/","og_site_name":"Aziza Elgoul","article_published_time":"2024-07-03T19:51:50+00:00","article_modified_time":"2024-07-12T13:43:41+00:00","og_image":[{"width":1024,"height":1024,"url":"https:\/\/azizaelgoul.com\/wp-content\/uploads\/2024\/07\/th-4.jpeg","type":"image\/jpeg"}],"author":"Aziza","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"Aziza","Dur\u00e9e de lecture estim\u00e9e":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/azizaelgoul.com\/tech-update\/#article","isPartOf":{"@id":"https:\/\/azizaelgoul.com\/tech-update\/"},"author":{"name":"Aziza","@id":"https:\/\/azizaelgoul.com\/#\/schema\/person\/67cecbbea8e01e85282a9792ccb9e641"},"headline":"Tech Update [07-24]","datePublished":"2024-07-03T19:51:50+00:00","dateModified":"2024-07-12T13:43:41+00:00","mainEntityOfPage":{"@id":"https:\/\/azizaelgoul.com\/tech-update\/"},"wordCount":773,"commentCount":0,"publisher":{"@id":"https:\/\/azizaelgoul.com\/#\/schema\/person\/67cecbbea8e01e85282a9792ccb9e641"},"image":{"@id":"https:\/\/azizaelgoul.com\/tech-update\/#primaryimage"},"thumbnailUrl":"https:\/\/azizaelgoul.com\/wp-content\/uploads\/2024\/07\/th-4.jpeg","keywords":["Mobile","Web"],"articleSection":["Mobile","Web"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/azizaelgoul.com\/tech-update\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/azizaelgoul.com\/tech-update\/","url":"https:\/\/azizaelgoul.com\/tech-update\/","name":"Tech Update [07-24] - Aziza Elgoul","isPartOf":{"@id":"https:\/\/azizaelgoul.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/azizaelgoul.com\/tech-update\/#primaryimage"},"image":{"@id":"https:\/\/azizaelgoul.com\/tech-update\/#primaryimage"},"thumbnailUrl":"https:\/\/azizaelgoul.com\/wp-content\/uploads\/2024\/07\/th-4.jpeg","datePublished":"2024-07-03T19:51:50+00:00","dateModified":"2024-07-12T13:43:41+00:00","breadcrumb":{"@id":"https:\/\/azizaelgoul.com\/tech-update\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/azizaelgoul.com\/tech-update\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/azizaelgoul.com\/tech-update\/#primaryimage","url":"https:\/\/azizaelgoul.com\/wp-content\/uploads\/2024\/07\/th-4.jpeg","contentUrl":"https:\/\/azizaelgoul.com\/wp-content\/uploads\/2024\/07\/th-4.jpeg","width":1024,"height":1024,"caption":"mobile developer blog"},{"@type":"BreadcrumbList","@id":"https:\/\/azizaelgoul.com\/tech-update\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/azizaelgoul.com\/"},{"@type":"ListItem","position":2,"name":"Tech Update [07-24]"}]},{"@type":"WebSite","@id":"https:\/\/azizaelgoul.com\/#website","url":"https:\/\/azizaelgoul.com\/","name":"Aziza Elgoul","description":"Portfolio","publisher":{"@id":"https:\/\/azizaelgoul.com\/#\/schema\/person\/67cecbbea8e01e85282a9792ccb9e641"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/azizaelgoul.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":["Person","Organization"],"@id":"https:\/\/azizaelgoul.com\/#\/schema\/person\/67cecbbea8e01e85282a9792ccb9e641","name":"Aziza","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/azizaelgoul.com\/#\/schema\/person\/image\/","url":"https:\/\/azizaelgoul.com\/wp-content\/uploads\/2021\/11\/person-3.webp","contentUrl":"https:\/\/azizaelgoul.com\/wp-content\/uploads\/2021\/11\/person-3.webp","width":500,"height":500,"caption":"Aziza"},"logo":{"@id":"https:\/\/azizaelgoul.com\/#\/schema\/person\/image\/"},"sameAs":["http:\/\/azizaelgoul.com"],"url":"https:\/\/azizaelgoul.com\/fr_fr\/author\/admin2181\/"}]}},"_links":{"self":[{"href":"https:\/\/azizaelgoul.com\/fr_fr\/wp-json\/wp\/v2\/posts\/534"}],"collection":[{"href":"https:\/\/azizaelgoul.com\/fr_fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/azizaelgoul.com\/fr_fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/azizaelgoul.com\/fr_fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/azizaelgoul.com\/fr_fr\/wp-json\/wp\/v2\/comments?post=534"}],"version-history":[{"count":147,"href":"https:\/\/azizaelgoul.com\/fr_fr\/wp-json\/wp\/v2\/posts\/534\/revisions"}],"predecessor-version":[{"id":4839,"href":"https:\/\/azizaelgoul.com\/fr_fr\/wp-json\/wp\/v2\/posts\/534\/revisions\/4839"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/azizaelgoul.com\/fr_fr\/wp-json\/wp\/v2\/media\/4184"}],"wp:attachment":[{"href":"https:\/\/azizaelgoul.com\/fr_fr\/wp-json\/wp\/v2\/media?parent=534"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/azizaelgoul.com\/fr_fr\/wp-json\/wp\/v2\/categories?post=534"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/azizaelgoul.com\/fr_fr\/wp-json\/wp\/v2\/tags?post=534"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}