{"id":5410,"date":"2010-11-22T19:32:00","date_gmt":"2010-11-22T18:32:00","guid":{"rendered":"https:\/\/www.artera.net\/it\/blog\/?p=5410"},"modified":"2024-08-12T08:12:11","modified_gmt":"2024-08-12T08:12:11","slug":"gestione-css-avanzata","status":"publish","type":"post","link":"https:\/\/www.artera.net\/it\/sviluppo\/gestione-css-avanzata\/","title":{"rendered":"Gestione CSS avanzata"},"content":{"rendered":"<p><img decoding=\"async\" class=\"alignleft size-full wp-image-5519\" title=\"css\" src=\"https:\/\/www.artera.net\/wp-content\/uploads\/2010\/11\/css1.jpg\" alt=\"css\" width=\"150\" height=\"150\">Iniziamo oggi una nuova serie di post su come gestire al meglio i CSS dei nostri siti internet, descrivendo in dettaglio la nostra metodologia di sviluppo che apporta notevoli vantaggi sia alla <strong>manutenibilit\u00e0 del codice<\/strong>, che alle <strong>performance del nostro sito<\/strong>.<\/p>\n<p>Quello che andremo a realizzare \u00e8 uno script che sfrutta diverse tecnologie per ottenere il miglior risultato possibile:<\/p>\n<ul>\n<li><strong>Sintassi razionalizzata<\/strong> con l&#8217;uso di <a href=\"https:\/\/www.artera.net\/it\/blog\/programmazione\/css-razionalizzati-con-cleancss\">CleanCSS<\/a><\/li>\n<li>Unione di <strong>pi\u00f9 CSS in un&#8217;unica risorsa<\/strong> per ridurre il numero di richieste HTTP<\/li>\n<li><strong>Cache statica<\/strong> del CleanCSS convertito in CSS semplice<\/li>\n<li>Utilizzo degli <a href=\"https:\/\/www.artera.net\/it\/blog\/programmazione\/utilizzare-la-cache-dei-browser-con-gli-etag-in-php\">ETag per sfruttare al meglio la cache dei browser<\/a><\/li>\n<li>Aggiunta automatica delle <strong>varianti dei browser<\/strong> (-webkit, -moz, -o) di alcune regole CSS come border-radius, box-shadow, etc&#8230; partendo dalla versione standard<\/li>\n<li>Minificazione del CSS con cssmin<\/li>\n<li><strong>Manipolazione dinamica<\/strong> dei colori con <a href=\"http:\/\/www.smarty.net\/v3_overview\">Smarty<\/a> 3 e <a href=\"http:\/\/www.php.net\/manual\/en\/book.imagick.php\">ImageMagick<\/a><\/li>\n<\/ul>\n<h3>Risultato finale<\/h3>\n<p>Per rendere l&#8217;idea di quale sar\u00e0 il risultato finale, ecco un piccolo esempio:<\/p>\n<p>Supponendo di chiamare il nostro script <strong>css.php<\/strong> e dati i 2 file sorgenti, main.ccss e tab.ccss, in formato CleanCSS:<\/p>\n<p><strong>main.ccss<\/strong><\/p>\n<p>[css]<br \/>\n{$blue = &#8216;#008FF9&#8217;}<\/p>\n<p>#main:<br \/>\nfloat: left<br \/>\nmargin-right: 60px<br \/>\nh1:<br \/>\nfont-size: 18px<br \/>\nheader:<br \/>\nline-height: 30px<br \/>\nfooter:<br \/>\nfont-size: 14px<br \/>\np:<br \/>\ncolor: {$blue}<br \/>\n&amp;.test1:<br \/>\nbackground-color: {$blue|luminosity_multiply:1.5}<br \/>\nborder-radius: 4px<br \/>\n[\/css]<\/p>\n<p><strong>tab.ccss<\/strong><\/p>\n<p>[css]<br \/>\ntable:<br \/>\nbox-shadow: 1px 1px 2px black<br \/>\nth, td:<br \/>\nvertical-align: middle<br \/>\n&amp;.highlight:<br \/>\nbackground-color: yellow<br \/>\nth:<br \/>\nfont-weight: bold<br \/>\n[\/css]<\/p>\n<p>utilizzando il seguente codice html per includere il css<\/p>\n<p>[html]<br \/>\n&lt;link rel=&#8221;stylesheet&#8221; href=&#8221;\/css.php?f=main,tab&#8221; type=&#8221;text\/css&#8221; \/&gt;<br \/>\n[\/html]<\/p>\n<p>otterremo il seguente risultato (minificazione omessa per non compromettere la leggibilit\u00e0):<\/p>\n<p>[css]<br \/>\n\/* main.ccss *\/<br \/>\n#main {<br \/>\nfloat: left;<br \/>\nmargin-right: 60px;<br \/>\n}<br \/>\n#main h1 {<br \/>\nfont-size: 18px;<br \/>\n}<br \/>\n#main header {<br \/>\nline-height: 30px;<br \/>\n}<br \/>\n#main footer {<br \/>\nfont-size: 14px;<br \/>\n}<br \/>\n#main p {<br \/>\ncolor: #008FF9;<br \/>\n}<br \/>\n#main p.test1 {<br \/>\nbackground-color: #76C5FF;<br \/>\nborder-radius: 4px;<br \/>\n-moz-border-radius: 4px;<br \/>\n-webkit-border-radius: 4px;<br \/>\n-o-border-radius: 4px;<br \/>\n}<\/p>\n<p>\/* tab.ccss *\/<br \/>\ntable {<br \/>\nbox-shadow: 1px 1px 2px black;<br \/>\n-moz-box-shadow: 1px 1px 2px black;<br \/>\n-webkit-box-shadow: 1px 1px 2px black;<br \/>\n-o-box-shadow: 1px 1px 2px black;<br \/>\n}<br \/>\ntable th,<br \/>\ntable td {<br \/>\nvertical-align: middle;<br \/>\n}<br \/>\ntable th.highlight,<br \/>\ntable td.highlight {<br \/>\nbackground-color: yellow;<br \/>\n}<br \/>\ntable th {<br \/>\nfont-weight: bold;<br \/>\n}<br \/>\n[\/css]<\/p>\n<p>Come vedete, sono successe diverse cose oltre alla semplice conversione di formato. Lo script ci ha consentito di tenere separati i css ma di includerli entrambi in un&#8217;unica richiesta.<\/p>\n<p>Abbiamo potuto utilizzare <strong>box-shadow<\/strong> e <strong>border-radius<\/strong> senza duplicare la regola 4 volte e lo script ha aggiunto per noi le varianti per webkit, mozilla e opera.<\/p>\n<p>Abbiamo potuto sfruttare smarty per salvare un colore in una variabile, in modo da poterlo modificare in un solo punto senza cercare tutti i css e abbiamo sfruttato una nostra funzione (luminosity_multiply) per schiarire il colore e usarlo per la regola <strong>p.test1<\/strong>. In questo modo se durante un aggiornamento del sito, il colore deve passare da un blu a un verde, ci baster\u00e0 modificare una sola variabile e otterremo anche il verde schiarito per <strong>p.test1<\/strong>.<\/p>\n<p>Oltre a questo, come indicato in apertura, lo script gestir\u00e0 diversi tipi di cache (lato server e lato client), la compressione gzip e la minificazione del sorgente.<\/p>\n<p>Prossimamente inizieremo lo sviluppo dello script.<\/p>\n","protected":false},"excerpt":{"rendered":"<p><img decoding=\"async\" class=\"alignleft size-full wp-image-5519\" title=\"css\" src=\"https:\/\/www.artera.net\/wp-content\/uploads\/2010\/11\/css1.jpg\" alt=\"css\" width=\"150\" height=\"150\" \/>Iniziamo oggi una <a title=\"Css Avanzato\" href=\"\/tag\/css-avanzato\">nuova serie di post<\/a> su come gestire al meglio i CSS dei nostri siti internet, descrivendo in dettaglio la nostra metodologia di sviluppo che apporta notevoli vantaggi sia alla <strong>manutenibilit\u00e0 del codice<\/strong>, che alle <strong>performance del nostro sito<\/strong>.<\/p>\n<p>Quello che andremo a realizzare \u00e8 uno script che sfrutta diverse tecnologie per ottenere il miglior risultato possibile:<\/p>\n","protected":false},"author":14,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_eb_attr":"","footnotes":""},"categories":[108],"tags":[127,202,697,63,160,161],"class_list":["post-5410","post","type-post","status-publish","format-standard","hentry","category-sviluppo","tag-css","tag-css-avanzati","tag-css-avanzato","tag-php","tag-smarty","tag-smarty-3"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u2022 Gestione CSS avanzata - Artera<\/title>\n<meta name=\"description\" content=\"Leggi dal blog: Gestione CSS avanzata. Contattaci per una partnership! Artera Swiss Premium Hosting news, articoli e notizie interessanti dal mondo digitale.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.artera.net\/it\/sviluppo\/gestione-css-avanzata\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u2022 Gestione CSS avanzata - Artera\" \/>\n<meta property=\"og:description\" content=\"Leggi dal blog: Gestione CSS avanzata. Contattaci per una partnership! Artera Swiss Premium Hosting news, articoli e notizie interessanti dal mondo digitale.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.artera.net\/it\/sviluppo\/gestione-css-avanzata\/\" \/>\n<meta property=\"og:site_name\" content=\"Artera\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/artera.net\/\" \/>\n<meta property=\"article:published_time\" content=\"2010-11-22T18:32:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-08-12T08:12:11+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.artera.net\/wp-content\/uploads\/2010\/11\/css1.jpg\" \/>\n<meta name=\"author\" content=\"Massimiliano Torromeo\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Massimiliano Torromeo\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.artera.net\\\/it\\\/sviluppo\\\/gestione-css-avanzata\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.artera.net\\\/it\\\/sviluppo\\\/gestione-css-avanzata\\\/\"},\"author\":{\"name\":\"Massimiliano Torromeo\",\"@id\":\"https:\\\/\\\/www.artera.net\\\/it\\\/#\\\/schema\\\/person\\\/f0793d88769c8429e457f364de9ae071\"},\"headline\":\"Gestione CSS avanzata\",\"datePublished\":\"2010-11-22T18:32:00+00:00\",\"dateModified\":\"2024-08-12T08:12:11+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.artera.net\\\/it\\\/sviluppo\\\/gestione-css-avanzata\\\/\"},\"wordCount\":507,\"commentCount\":4,\"publisher\":{\"@id\":\"https:\\\/\\\/www.artera.net\\\/it\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.artera.net\\\/it\\\/sviluppo\\\/gestione-css-avanzata\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.artera.net\\\/wp-content\\\/uploads\\\/2010\\\/11\\\/css1.jpg\",\"keywords\":[\"CSS\",\"CSS avanzati\",\"CSS avanzato\",\"PHP\",\"Smarty\",\"Smarty 3\"],\"articleSection\":[\"Sviluppo\"],\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.artera.net\\\/it\\\/sviluppo\\\/gestione-css-avanzata\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.artera.net\\\/it\\\/sviluppo\\\/gestione-css-avanzata\\\/\",\"url\":\"https:\\\/\\\/www.artera.net\\\/it\\\/sviluppo\\\/gestione-css-avanzata\\\/\",\"name\":\"\u2022 Gestione CSS avanzata - Artera\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.artera.net\\\/it\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.artera.net\\\/it\\\/sviluppo\\\/gestione-css-avanzata\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.artera.net\\\/it\\\/sviluppo\\\/gestione-css-avanzata\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.artera.net\\\/wp-content\\\/uploads\\\/2010\\\/11\\\/css1.jpg\",\"datePublished\":\"2010-11-22T18:32:00+00:00\",\"dateModified\":\"2024-08-12T08:12:11+00:00\",\"description\":\"Leggi dal blog: Gestione CSS avanzata. Contattaci per una partnership! Artera Swiss Premium Hosting news, articoli e notizie interessanti dal mondo digitale.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.artera.net\\\/it\\\/sviluppo\\\/gestione-css-avanzata\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.artera.net\\\/it\\\/sviluppo\\\/gestione-css-avanzata\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/www.artera.net\\\/it\\\/sviluppo\\\/gestione-css-avanzata\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.artera.net\\\/wp-content\\\/uploads\\\/2010\\\/11\\\/css1.jpg\",\"contentUrl\":\"https:\\\/\\\/www.artera.net\\\/wp-content\\\/uploads\\\/2010\\\/11\\\/css1.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.artera.net\\\/it\\\/sviluppo\\\/gestione-css-avanzata\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.artera.net\\\/it\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Gestione CSS avanzata\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.artera.net\\\/it\\\/#website\",\"url\":\"https:\\\/\\\/www.artera.net\\\/it\\\/\",\"name\":\"Artera\",\"description\":\"Swiss Premium Hosting\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.artera.net\\\/it\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.artera.net\\\/it\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.artera.net\\\/it\\\/#organization\",\"name\":\"Artera\",\"url\":\"https:\\\/\\\/www.artera.net\\\/it\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/www.artera.net\\\/it\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.artera.net\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/artera-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.artera.net\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/artera-logo.png\",\"width\":300,\"height\":77,\"caption\":\"Artera\"},\"image\":{\"@id\":\"https:\\\/\\\/www.artera.net\\\/it\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/artera.net\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/artera\\\/\",\"https:\\\/\\\/www.instagram.com\\\/artera_swiss\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.artera.net\\\/it\\\/#\\\/schema\\\/person\\\/f0793d88769c8429e457f364de9ae071\",\"name\":\"Massimiliano Torromeo\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c8c79e6f7da11d2b45e20c77201173517aecba437175f94ec02f729095cb40c2?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c8c79e6f7da11d2b45e20c77201173517aecba437175f94ec02f729095cb40c2?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c8c79e6f7da11d2b45e20c77201173517aecba437175f94ec02f729095cb40c2?s=96&d=mm&r=g\",\"caption\":\"Massimiliano Torromeo\"},\"description\":\"Passionate about computer science since I was a child, I started programming as a self-taught person from about the age of twelve. Over time, I have become a staunch supporter of free software and the open source movement. This fondness for free software soon led me to approach the Linux world and in 2011 I became a member of the Arch Linux Trusted Users team. In Artera since 2007 I deal with all aspects related to our infrastructure, internal development of software and enterprise solutions, research and development and internal training of our programming and support departments.\",\"url\":\"https:\\\/\\\/www.artera.net\\\/it\\\/author\\\/massimiliano-torromeo\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u2022 Gestione CSS avanzata - Artera","description":"Leggi dal blog: Gestione CSS avanzata. Contattaci per una partnership! Artera Swiss Premium Hosting news, articoli e notizie interessanti dal mondo digitale.","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:\/\/www.artera.net\/it\/sviluppo\/gestione-css-avanzata\/","og_locale":"it_IT","og_type":"article","og_title":"\u2022 Gestione CSS avanzata - Artera","og_description":"Leggi dal blog: Gestione CSS avanzata. Contattaci per una partnership! Artera Swiss Premium Hosting news, articoli e notizie interessanti dal mondo digitale.","og_url":"https:\/\/www.artera.net\/it\/sviluppo\/gestione-css-avanzata\/","og_site_name":"Artera","article_publisher":"https:\/\/www.facebook.com\/artera.net\/","article_published_time":"2010-11-22T18:32:00+00:00","article_modified_time":"2024-08-12T08:12:11+00:00","og_image":[{"url":"https:\/\/www.artera.net\/wp-content\/uploads\/2010\/11\/css1.jpg","type":"","width":"","height":""}],"author":"Massimiliano Torromeo","twitter_card":"summary_large_image","twitter_misc":{"Scritto da":"Massimiliano Torromeo","Tempo di lettura stimato":"3 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.artera.net\/it\/sviluppo\/gestione-css-avanzata\/#article","isPartOf":{"@id":"https:\/\/www.artera.net\/it\/sviluppo\/gestione-css-avanzata\/"},"author":{"name":"Massimiliano Torromeo","@id":"https:\/\/www.artera.net\/it\/#\/schema\/person\/f0793d88769c8429e457f364de9ae071"},"headline":"Gestione CSS avanzata","datePublished":"2010-11-22T18:32:00+00:00","dateModified":"2024-08-12T08:12:11+00:00","mainEntityOfPage":{"@id":"https:\/\/www.artera.net\/it\/sviluppo\/gestione-css-avanzata\/"},"wordCount":507,"commentCount":4,"publisher":{"@id":"https:\/\/www.artera.net\/it\/#organization"},"image":{"@id":"https:\/\/www.artera.net\/it\/sviluppo\/gestione-css-avanzata\/#primaryimage"},"thumbnailUrl":"https:\/\/www.artera.net\/wp-content\/uploads\/2010\/11\/css1.jpg","keywords":["CSS","CSS avanzati","CSS avanzato","PHP","Smarty","Smarty 3"],"articleSection":["Sviluppo"],"inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.artera.net\/it\/sviluppo\/gestione-css-avanzata\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.artera.net\/it\/sviluppo\/gestione-css-avanzata\/","url":"https:\/\/www.artera.net\/it\/sviluppo\/gestione-css-avanzata\/","name":"\u2022 Gestione CSS avanzata - Artera","isPartOf":{"@id":"https:\/\/www.artera.net\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.artera.net\/it\/sviluppo\/gestione-css-avanzata\/#primaryimage"},"image":{"@id":"https:\/\/www.artera.net\/it\/sviluppo\/gestione-css-avanzata\/#primaryimage"},"thumbnailUrl":"https:\/\/www.artera.net\/wp-content\/uploads\/2010\/11\/css1.jpg","datePublished":"2010-11-22T18:32:00+00:00","dateModified":"2024-08-12T08:12:11+00:00","description":"Leggi dal blog: Gestione CSS avanzata. Contattaci per una partnership! Artera Swiss Premium Hosting news, articoli e notizie interessanti dal mondo digitale.","breadcrumb":{"@id":"https:\/\/www.artera.net\/it\/sviluppo\/gestione-css-avanzata\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.artera.net\/it\/sviluppo\/gestione-css-avanzata\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.artera.net\/it\/sviluppo\/gestione-css-avanzata\/#primaryimage","url":"https:\/\/www.artera.net\/wp-content\/uploads\/2010\/11\/css1.jpg","contentUrl":"https:\/\/www.artera.net\/wp-content\/uploads\/2010\/11\/css1.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.artera.net\/it\/sviluppo\/gestione-css-avanzata\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.artera.net\/it\/"},{"@type":"ListItem","position":2,"name":"Gestione CSS avanzata"}]},{"@type":"WebSite","@id":"https:\/\/www.artera.net\/it\/#website","url":"https:\/\/www.artera.net\/it\/","name":"Artera","description":"Swiss Premium Hosting","publisher":{"@id":"https:\/\/www.artera.net\/it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.artera.net\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/www.artera.net\/it\/#organization","name":"Artera","url":"https:\/\/www.artera.net\/it\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.artera.net\/it\/#\/schema\/logo\/image\/","url":"https:\/\/www.artera.net\/wp-content\/uploads\/2019\/09\/artera-logo.png","contentUrl":"https:\/\/www.artera.net\/wp-content\/uploads\/2019\/09\/artera-logo.png","width":300,"height":77,"caption":"Artera"},"image":{"@id":"https:\/\/www.artera.net\/it\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/artera.net\/","https:\/\/www.linkedin.com\/company\/artera\/","https:\/\/www.instagram.com\/artera_swiss\/"]},{"@type":"Person","@id":"https:\/\/www.artera.net\/it\/#\/schema\/person\/f0793d88769c8429e457f364de9ae071","name":"Massimiliano Torromeo","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/secure.gravatar.com\/avatar\/c8c79e6f7da11d2b45e20c77201173517aecba437175f94ec02f729095cb40c2?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c8c79e6f7da11d2b45e20c77201173517aecba437175f94ec02f729095cb40c2?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c8c79e6f7da11d2b45e20c77201173517aecba437175f94ec02f729095cb40c2?s=96&d=mm&r=g","caption":"Massimiliano Torromeo"},"description":"Passionate about computer science since I was a child, I started programming as a self-taught person from about the age of twelve. Over time, I have become a staunch supporter of free software and the open source movement. This fondness for free software soon led me to approach the Linux world and in 2011 I became a member of the Arch Linux Trusted Users team. In Artera since 2007 I deal with all aspects related to our infrastructure, internal development of software and enterprise solutions, research and development and internal training of our programming and support departments.","url":"https:\/\/www.artera.net\/it\/author\/massimiliano-torromeo\/"}]}},"_links":{"self":[{"href":"https:\/\/www.artera.net\/it\/wp-json\/wp\/v2\/posts\/5410","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.artera.net\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.artera.net\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.artera.net\/it\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/www.artera.net\/it\/wp-json\/wp\/v2\/comments?post=5410"}],"version-history":[{"count":6,"href":"https:\/\/www.artera.net\/it\/wp-json\/wp\/v2\/posts\/5410\/revisions"}],"predecessor-version":[{"id":255370,"href":"https:\/\/www.artera.net\/it\/wp-json\/wp\/v2\/posts\/5410\/revisions\/255370"}],"wp:attachment":[{"href":"https:\/\/www.artera.net\/it\/wp-json\/wp\/v2\/media?parent=5410"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.artera.net\/it\/wp-json\/wp\/v2\/categories?post=5410"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.artera.net\/it\/wp-json\/wp\/v2\/tags?post=5410"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}