Commit 46d52300 authored by shadMod's avatar shadMod 💬

Merge branch 'dev-shadmod-231010-1348' into merge-cherry

parents 93af9b6e 2b20b436
...@@ -12,5 +12,5 @@ __pycache__ ...@@ -12,5 +12,5 @@ __pycache__
.py[co] .py[co]
# Compiled assets # Compiled assets
/uitwww/static/website.css /uitwww/static/assets/
/uitwww/static/website.js /uitwww/static/website.js
...@@ -3,7 +3,7 @@ div.page div.row.background-wallpaper { ...@@ -3,7 +3,7 @@ div.page div.row.background-wallpaper {
background: rgba(255, 255, 255, 0.5); background: rgba(255, 255, 255, 0.5);
} }
background: url("images/wallpapers/dotted.png") no-repeat 130% 10%; background: url("../../images/wallpapers/dotted.png") no-repeat 130% 10%;
@media all and (max-width: 60rem) { @media all and (max-width: 60rem) {
background: transparent; background: transparent;
...@@ -35,41 +35,41 @@ div.page div.row.background-wallpaper { ...@@ -35,41 +35,41 @@ div.page div.row.background-wallpaper {
} }
&.ubuntu, &.desktop { &.ubuntu, &.desktop {
background: url("images/wallpapers/ubuntu.jpg") 100% 0%; background: url("../../images/wallpapers/ubuntu.jpg") 200% 0%;
} }
&.kubuntu { &.kubuntu {
background: url("images/wallpapers/kubuntu.jpg") 100% 50%; background: url("../../images/wallpapers/kubuntu.jpg") 200% 50%;
} }
&.xubuntu { &.xubuntu {
background: background:
linear-gradient(rgba(100, 100, 100, 0.3), rgba(100, 100, 100, 0.3)), linear-gradient(rgba(100, 100, 100, 0.3), rgba(100, 100, 100, 0.3)),
url("images/wallpapers/xubuntu.jpg") 100% 50%; url("../../images/wallpapers/xubuntu.jpg") 200% 50%;
} }
&.lubuntu { &.lubuntu {
background: url("images/wallpapers/lubuntu.jpg") 100% 50%; background: url("../../images/wallpapers/lubuntu.jpg") 200% 50%;
} }
&.ubuntu-mate { &.ubuntu-mate {
background: background:
linear-gradient(rgba(85, 85, 85, 0.3), rgba(85, 85, 85, 0.3)), linear-gradient(rgba(85, 85, 85, 0.3), rgba(85, 85, 85, 0.3)),
url("images/wallpapers/ubuntu-mate.jpg") 100% 50%; url("../../images/wallpapers/ubuntu-mate.jpg") 200% 50%;
} }
&.ubuntu-budgie { &.ubuntu-budgie {
background: background:
linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)),
url("images/wallpapers/ubuntu-budgie.jpg") 100% 50%; url("../../images/wallpapers/ubuntu-budgie.jpg") 200% 50%;
} }
&.ubuntukylin { &.ubuntukylin {
background: url("images/wallpapers/ubuntu-kylin.jpg") 100% 50%; background: url("../../images/wallpapers/ubuntu-kylin.jpg") 200% 50%;
} }
&.ubuntustudio { &.ubuntustudio {
background: url("images/wallpapers/ubuntustudio.jpg") 100% 50%; background: url("../../images/wallpapers/ubuntustudio.jpg") 200% 50%;
.box { .box {
background: rgba(100, 100, 100, 0.25); background: rgba(100, 100, 100, 0.25);
...@@ -77,16 +77,17 @@ div.page div.row.background-wallpaper { ...@@ -77,16 +77,17 @@ div.page div.row.background-wallpaper {
} }
&.ubuntu-touch { &.ubuntu-touch {
background: url("images/wallpapers/ubuntu-touch.jpg") 100% 0%; background: url("../../images/wallpapers/ubuntu-touch.jpg") 100% 0%;
} }
&.nuovo-rilascio { &.nuovo-rilascio {
background: url("images/wallpapers/nuovo-rilascio.png") 100% 0%; background: url("../../images/versions/jammy-jellyfish-desktop.jpg") 100% 0%;
} }
&.banner-latest { &.banner-latest {
background: url("images/wallpapers/banner-latest.png") 100% 50%; background: url("../../images/versions/jammy-jellyfish.jpg") 50% 50%;
} }
} }
div.page div.row.download-index-distro { div.page div.row.download-index-distro {
...@@ -174,3 +175,20 @@ div.page div.row div.col.image-attach-corner { ...@@ -174,3 +175,20 @@ div.page div.row div.col.image-attach-corner {
} }
} }
} }
div.cookie-policy {
z-index: 10;
}
div.p-100 {
padding: 100px !important;
}
ul.item-list li {
margin: 0 0 0.25em 1.5em;
padding: 0 0 0 20px;
list-style-type: none;
background: url('https://www.ubuntu-it.org/sites/all/themes/light-drupal-theme/images/ubuntu-li.png') no-repeat left 4px;
font-size: 14px;
line-height: 20px;
}
\ No newline at end of file
:root {
--bs-blue: #0d6efd;
--bs-indigo: #6610f2;
--bs-purple: #6f42c1;
--bs-pink: #d63384;
--bs-red: #dc3545;
--bs-orange: #fd7e14;
--bs-yellow: #ffc107;
--bs-green: #198754;
--bs-teal: #20c997;
--bs-cyan: #0dcaf0;
--bs-black: #000;
--bs-white: #fff;
--bs-gray: #6c757d;
--bs-gray-dark: #343a40;
--bs-gray-100: #f8f9fa;
--bs-gray-200: #e9ecef;
--bs-gray-300: #dee2e6;
--bs-gray-400: #ced4da;
--bs-gray-500: #adb5bd;
--bs-gray-600: #6c757d;
--bs-gray-700: #495057;
--bs-gray-800: #343a40;
--bs-gray-900: #212529;
--bs-primary: #0d6efd;
--bs-secondary: #6c757d;
--bs-success: #198754;
--bs-info: #0dcaf0;
--bs-warning: #ffc107;
--bs-danger: #dc3545;
--bs-light: #f8f9fa;
--bs-dark: #212529;
--bs-primary-rgb: 13, 110, 253;
--bs-secondary-rgb: 108, 117, 125;
--bs-success-rgb: 25, 135, 84;
--bs-info-rgb: 13, 202, 240;
--bs-warning-rgb: 255, 193, 7;
--bs-danger-rgb: 220, 53, 69;
--bs-light-rgb: 248, 249, 250;
--bs-dark-rgb: 33, 37, 41;
--bs-white-rgb: 255, 255, 255;
--bs-black-rgb: 0, 0, 0;
--bs-body-color-rgb: 33, 37, 41;
--bs-body-bg-rgb: 255, 255, 255;
--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
--bs-body-font-family: var(--bs-font-sans-serif);
--bs-body-font-size: 1rem;
--bs-body-font-weight: 400;
--bs-body-line-height: 1.5;
--bs-body-color: #212529;
--bs-body-bg: #fff;
--bs-border-width: 1px;
--bs-border-style: solid;
--bs-border-color: #dee2e6;
--bs-border-color-translucent: rgba(0, 0, 0, 0.175);
--bs-border-radius: 0.375rem;
--bs-border-radius-sm: 0.25rem;
--bs-border-radius-lg: 0.5rem;
--bs-border-radius-xl: 1rem;
--bs-border-radius-2xl: 2rem;
--bs-border-radius-pill: 50rem;
--bs-link-color: #0d6efd;
--bs-link-hover-color: #0a58ca;
--bs-code-color: #d63384;
--bs-highlight-bg: #fff3cd;
}
.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
--bs-gutter-x: 1.5rem;
--bs-gutter-y: 0;
width: 100%;
padding-right: calc(var(--bs-gutter-x) * 0.5);
padding-left: calc(var(--bs-gutter-x) * 0.5);
margin-right: auto;
margin-left: auto;
}
@media (min-width: 576px) {
.container-sm, .container {
max-width: 540px;
}
}
@media (min-width: 768px) {
.container-md, .container-sm, .container {
max-width: 720px;
}
}
@media (min-width: 992px) {
.container-lg, .container-md, .container-sm, .container {
max-width: 960px;
}
}
@media (min-width: 1200px) {
.container-xl, .container-lg, .container-md, .container-sm, .container {
max-width: 1140px;
}
}
@media (min-width: 1400px) {
.container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
max-width: 1320px;
}
}
.row {
--bs-gutter-x: 1.5rem;
--bs-gutter-y: 0;
display: flex;
flex-wrap: wrap;
margin-top: calc(-1 * var(--bs-gutter-y));
margin-right: calc(-0.5 * var(--bs-gutter-x));
margin-left: calc(-0.5 * var(--bs-gutter-x));
}
.row > * {
box-sizing: border-box;
flex-shrink: 0;
width: 100%;
max-width: 100%;
padding-right: calc(var(--bs-gutter-x) * 0.5);
padding-left: calc(var(--bs-gutter-x) * 0.5);
margin-top: var(--bs-gutter-y);
}
$size_width: ("sm": 576, "md": 768, "lg": 992, "xl": 1200, "xxl": 1400);
$list_cols: ("auto": "auto", "1": "8.33333333%", "2": "16.66666667%", "3": "25%", "4": "33.33333333%", "5": "41.66666667%", "6": "50%", "7": "58.33333333%", "8": "66.66666667%", "9": "75%", "10": "83.33333333%", "11": "91.66666667%", "12": "100%");
@each $col, $width in $list_cols {
.col-#{$col} {
flex: 0 0 auto;
width: #{$width};
}
}
@each $typology, $size in $size_width {
@media (min-width: #{$size}px) {
.col-#{$typology} {
flex: 1 0 0%;
}
@each $col, $width in $list_cols {
.col-#{$typology}-#{$col} {
flex: 0 0 auto;
width: #{$width};
}
}
}
}
$sizes: (25: "25%", 50: "50%", 75: "75%", 100: "100%", "auto": "auto");
@each $size, $width in $sizes {
.w-#{$size} {
width: #{$width} !important;
}
}
.m-auto {
margin: auto;
}
.text-justify {
text-align: justify !important;
}
...@@ -65,7 +65,7 @@ def clean(ctx): ...@@ -65,7 +65,7 @@ def clean(ctx):
exclude = ["%s/.git" % BASE, "%s/build" % BASE] exclude = ["%s/.git" % BASE, "%s/build" % BASE]
remove_files = [ remove_files = [
re.compile(r'.py[co]$'), re.compile(r'.mo$'), re.compile(r'.py[co]$'), re.compile(r'.mo$'),
"%s/uitwww/static/website.css" % BASE, "%s/uitwww/static/libs/main.css" % BASE,
] ]
remove_dirs = [ remove_dirs = [
re.compile('__pycache__'), re.compile('__pycache__'),
......
...@@ -29,7 +29,7 @@ from . import redirects ...@@ -29,7 +29,7 @@ from . import redirects
from . import utils from . import utils
def create_app(data_path): def create_app(data_path, debug=False):
"""Create a new instance of the application""" """Create a new instance of the application"""
# Normalize the data path # Normalize the data path
data_path = os.path.expanduser(os.path.abspath(data_path)) data_path = os.path.expanduser(os.path.abspath(data_path))
...@@ -41,11 +41,11 @@ def create_app(data_path): ...@@ -41,11 +41,11 @@ def create_app(data_path):
) )
# Prepare the data directory # Prepare the data directory
init_data_directory(data_path) init_data_directory(data_path, debug)
# Load the secret key # Load the secret key
with open(os.path.join(data_path, "secret_key")) as f: with open(os.path.join(data_path, "secret_key")) as fn:
app.secret_key = f.read().strip() app.secret_key = fn.read().strip()
# Initialize the database # Initialize the database
app.db = db.Database(os.path.join(data_path, "database.db")) app.db = db.Database(os.path.join(data_path, "database.db"))
...@@ -79,14 +79,14 @@ def create_app(data_path): ...@@ -79,14 +79,14 @@ def create_app(data_path):
return app return app
def init_data_directory(data_path): def init_data_directory(data_path, debug=False):
"""Initialize the data directory""" """Initialize the data directory"""
src_directory = os.path.dirname(os.path.abspath(__file__)) src_directory = os.path.dirname(os.path.abspath(__file__))
# Create all the directories # Create all the directories
dirs = ["", "cache"] dirs = ["", "cache"]
for dir in dirs: for name in dirs:
os.makedirs(os.path.join(data_path, dir), exist_ok=True) os.makedirs(os.path.join(data_path, name), exist_ok=True)
# Initialize the cache # Initialize the cache
static_dirs = {"static": "+assets"} static_dirs = {"static": "+assets"}
...@@ -105,6 +105,7 @@ def init_data_directory(data_path): ...@@ -105,6 +105,7 @@ def init_data_directory(data_path):
f.write("%s\n" % utils.random_key(64)) f.write("%s\n" % utils.random_key(64))
os.chmod(secret_key_path, 0o400) os.chmod(secret_key_path, 0o400)
if debug is False:
# Initialize the download files # Initialize the download files
download_inst = download.Downloads(data_path) download_inst = download.Downloads(data_path)
download_inst.store_cache_file() download_inst.store_cache_file()
...@@ -14,18 +14,16 @@ ...@@ -14,18 +14,16 @@
# You should have received a copy of the GNU Affero General Public License # You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
import functools import time
import uuid import uuid
import yaml
import flask import flask
import functools
import flask_openid import flask_openid
import pkg_resources
import time
import yaml
from .constants import UITWWW_DIR
from uitwww.third_party import openid_teams from uitwww.third_party import openid_teams
SESSION_EXPIRES_AFTER = 86400 SESSION_EXPIRES_AFTER = 86400
...@@ -148,8 +146,8 @@ class Sessions: ...@@ -148,8 +146,8 @@ class Sessions:
class Permissions: class Permissions:
def __init__(self): def __init__(self):
raw = pkg_resources.resource_string("uitwww", "data/permissions.yml") with open(UITWWW_DIR + "/data/permissions.yml") as fn:
self.config = yaml.safe_load(raw.decode("utf-8")) self.config = yaml.safe_load(fn.read())
def allowed_teams(self): def allowed_teams(self):
"""Return a list of teams allowed to log in""" """Return a list of teams allowed to log in"""
...@@ -177,6 +175,7 @@ class Permissions: ...@@ -177,6 +175,7 @@ class Permissions:
def permission(perms): def permission(perms):
"""Process the endpoint only if the user has permission""" """Process the endpoint only if the user has permission"""
def decorator(func): def decorator(func):
@functools.wraps(func) @functools.wraps(func)
def wrapper(*args, **kwargs): def wrapper(*args, **kwargs):
...@@ -200,6 +199,7 @@ def permission(perms): ...@@ -200,6 +199,7 @@ def permission(perms):
return flask.abort(403) return flask.abort(403)
return wrapper return wrapper
return decorator return decorator
...@@ -277,7 +277,6 @@ def prepare_blueprint(app): ...@@ -277,7 +277,6 @@ def prepare_blueprint(app):
flask.flash("La sessione è stata terminata correttamente.", "success") flask.flash("La sessione è stata terminata correttamente.", "success")
return flask.redirect(flask.url_for("pages.index")) return flask.redirect(flask.url_for("pages.index"))
@bp.route("/sessions") @bp.route("/sessions")
@permission("auth.sessions.manage") @permission("auth.sessions.manage")
def sessions_list(): def sessions_list():
......
import os
UITWWW_DIR = os.path.dirname(os.path.abspath(__file__))
BASE_DIR = os.path.join(UITWWW_DIR, "..")
...@@ -8,8 +8,8 @@ codename = "impish" ...@@ -8,8 +8,8 @@ codename = "impish"
lts = false lts = false
[releases.lts] [releases.lts]
version = "20.04.3" version = "22.04.3"
codename = "focal" codename = "jammy"
lts = true lts = true
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
- name: Smartphone e tablet - name: Smartphone e tablet
endpoint: pages.scopri-ubuntu_ubuntu-touch endpoint: pages.scopri-ubuntu_ubuntu-touch
- name: 20.04 LTS Focal Fossa - name: 22.04 LTS Jammy Jellyfish
endpoint: pages.scopri-ubuntu_nuovo-rilascio endpoint: pages.scopri-ubuntu_nuovo-rilascio
- name: Derivate - name: Derivate
......
...@@ -17,9 +17,6 @@ ...@@ -17,9 +17,6 @@
import threading import threading
import sqlite3 import sqlite3
import pkg_resources
_LOCAL = threading.local() _LOCAL = threading.local()
......
...@@ -22,15 +22,14 @@ import random ...@@ -22,15 +22,14 @@ import random
import collections import collections
import flask import flask
import itsdangerous
import requests import requests
import pkg_resources import itsdangerous
from . import cache from . import cache
from . import launchpad from . import launchpad
from .constants import UITWWW_DIR
CONFIG_FILE = "/data/downloads.toml"
CONFIG_FILE = "data/downloads.toml"
CACHE_FILE = "download-cache.json" CACHE_FILE = "download-cache.json"
CACHE_FILE_VERSION = 1 CACHE_FILE_VERSION = 1
...@@ -39,16 +38,16 @@ class Downloads: ...@@ -39,16 +38,16 @@ class Downloads:
def __init__(self, data_path): def __init__(self, data_path):
# Load the configuration # Load the configuration
raw = pkg_resources.resource_string("uitwww", CONFIG_FILE) path = UITWWW_DIR + CONFIG_FILE
self.config = toml.loads( self.config = toml.load(
raw.decode("utf-8"), path, _dict=collections.OrderedDict,
_dict=collections.OrderedDict,
) )
self._strip_non_lts_releases() self._strip_non_lts_releases()
# Save the hash of the configuration # Save the hash of the configuration
self._config_hash = "sha1=%s" % hashlib.sha1(raw).hexdigest() with open(path, "rb") as raw:
self._config_hash = "sha1=%s" % hashlib.sha1(raw.read()).hexdigest()
self._cache_file = os.path.join(data_path, CACHE_FILE) self._cache_file = os.path.join(data_path, CACHE_FILE)
......
...@@ -15,13 +15,15 @@ ...@@ -15,13 +15,15 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
import os import os
import sys
import click import click
import subprocess
import uitwww import uitwww
from uitwww import utils
from scss.compiler import compile_file
from htmlmin import minify
from .constants import UITWWW_DIR, BASE_DIR
from .utils import ReverseProxied, GunicornInstance
@click.group() @click.group()
...@@ -40,11 +42,8 @@ def cli(): ...@@ -40,11 +42,8 @@ def cli():
@click.option("-d", "--debug", help="Enable debug mode", is_flag=True) @click.option("-d", "--debug", help="Enable debug mode", is_flag=True)
def run(data, gunicorn_config, port, public, workers, debug): def run(data, gunicorn_config, port, public, workers, debug):
"""Run the application""" """Run the application"""
# Create the application instance app = uitwww.create_app(data, debug)
src_directory = os.path.dirname(os.path.abspath(__file__)) app.wsgi_app = ReverseProxied(app.wsgi_app)
app = uitwww.create_app(data)
app.wsgi_app = utils.ReverseProxied(app.wsgi_app)
host = "127.0.0.1" host = "127.0.0.1"
if public: if public:
...@@ -53,22 +52,22 @@ def run(data, gunicorn_config, port, public, workers, debug): ...@@ -53,22 +52,22 @@ def run(data, gunicorn_config, port, public, workers, debug):
# In debug mode, run the flask builtin webserver # In debug mode, run the flask builtin webserver
if debug: if debug:
extra_files = [ extra_files = [
os.path.join(src_directory, "data/navbar.yml"), os.path.join(UITWWW_DIR, "data/navbar.yml"),
os.path.join(src_directory, "data/permissions.yml"), os.path.join(UITWWW_DIR, "data/permissions.yml"),
os.path.join(src_directory, "data/redirects.yml"), os.path.join(UITWWW_DIR, "data/redirects.yml"),
os.path.join(src_directory, "data/downloads.toml"), os.path.join(UITWWW_DIR, "data/downloads.toml"),
] ]
app.run(debug=True, port=port, host=host, extra_files=extra_files) app.run(debug=True, port=port, host=host, extra_files=extra_files)
# Else run the application with gunicorn # Else run the application with gunicorn
else: else:
options = { options = {
"bind": host+":"+str(port), "bind": host + ":" + str(port),
"workers": workers, "workers": workers,
"accesslog": "-", "accesslog": "-",
"errorlog": "-", "errorlog": "-",
} }
server = utils.GunicornInstance(gunicorn_config, options) server = GunicornInstance(gunicorn_config, options)
server.app = app server.app = app
try: try:
...@@ -79,25 +78,28 @@ def run(data, gunicorn_config, port, public, workers, debug): ...@@ -79,25 +78,28 @@ def run(data, gunicorn_config, port, public, workers, debug):
@cli.command("init") @cli.command("init")
@click.argument("data") @click.argument("data")
def init(data): @click.option("-d", "--debug", help="Enable debug mode", is_flag=True)
def init(data, debug):
"""Initialize the data directory""" """Initialize the data directory"""
print("Initializing data directory:", data) print("Initializing data directory:", data)
data_path = os.path.expanduser(os.path.abspath(data)) data_path = os.path.expanduser(os.path.abspath(data))
uitwww.init_data_directory(data_path) uitwww.init_data_directory(data_path, debug)
@cli.command("build_scss") @cli.command("build_scss")
def build_scss(): def build_scss():
"""Build the scss file""" """Compile the scss file"""
base_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..') print("Compile the scss file")
scss_file = open('%s/assets/scss/www.scss' % base_dir, 'rb') # init list of css path
css_file = open('%s/uitwww/static/website.css' % base_dir, 'wb') css_path = ["libs/main", "vendor/bootstrap_v5"]
subprocess.run( for val in css_path:
[sys.executable, '-mscss'], # init path css
stdin=scss_file, path = f"{UITWWW_DIR}/static/assets/{val}.css"
stdout=css_file, # check and mk dir if dir_ not exists
check=True, if not os.path.isdir(os.path.dirname(path)):
) os.makedirs(os.path.dirname(path))
css_file.flush() # open file, compile and write css
scss_file.close() with open(path, "w") as fn:
css_file.close() fn.write(minify(compile_file(
f"{BASE_DIR}/assets/scss/{val}.scss"
)))
...@@ -14,10 +14,10 @@ ...@@ -14,10 +14,10 @@
# You should have received a copy of the GNU Affero General Public License # You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
import flask
import json
import pkg_resources
import yaml import yaml
import flask
from .constants import UITWWW_DIR
class Navbar: class Navbar:
...@@ -55,8 +55,8 @@ class Navbar: ...@@ -55,8 +55,8 @@ class Navbar:
def install(self, app): def install(self, app):
"""Install this navbar on the app""" """Install this navbar on the app"""
raw = pkg_resources.resource_string("uitwww", "data/navbar.yml") with open(UITWWW_DIR + "/data/navbar.yml") as fn:
config = yaml.safe_load(raw.decode("utf-8")) config = yaml.safe_load(fn.read())
self._prepare_navbar_cache(config, []) self._prepare_navbar_cache(config, [])
# Add the _navbars variable to the templates # Add the _navbars variable to the templates
......
...@@ -15,10 +15,7 @@ ...@@ -15,10 +15,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
import os import os
import json
import flask import flask
import pkg_resources
from uitwww import cache from uitwww import cache
......
...@@ -14,16 +14,17 @@ ...@@ -14,16 +14,17 @@
# You should have received a copy of the GNU Affero General Public License # You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
import flask
import pkg_resources
import yaml import yaml
import flask
import hashlib import hashlib
from .constants import UITWWW_DIR
def prepare_blueprint(app): def prepare_blueprint(app):
"""Prepare a blueprint containing all the redirects""" """Prepare a blueprint containing all the redirects"""
raw = pkg_resources.resource_string("uitwww", "data/redirects.yml") with open(UITWWW_DIR + "/data/redirects.yml") as fn:
config = yaml.safe_load(raw.decode("utf-8")) config = yaml.safe_load(fn.read())
bp = flask.Blueprint("redirects", __name__) bp = flask.Blueprint("redirects", __name__)
......
{# Source code of the Ubuntu-it website {# Source code of the Ubuntu-it website
# Copyright (C) 2015 Pietro Albini <pietroalbini@ubuntu.com> # Copyright (C) 2015 Pietro Albini <pietroalbini@ubuntu.com>
# Copyright (C) 2020 Alessandro Viprati <vipri.alessandro@gmail.com> # Copyright (C) 2020 Alessandro Viprati <vipri.alessandro@gmail.com>
# # Copyright (C) 2023 shadMod
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU Affero General Public License as published # This program is free software: you can redistribute it and/or modify
# by the Free Software Foundation, either version 3 of the License, or # it under the terms of the GNU Affero General Public License as published
# (at your option) any later version. # by the Free Software Foundation, either version 3 of the License, or
# # (at your option) any later version.
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; witout even the implied warranty of # This program is distributed in the hope that it will be useful,
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # but WITHOUT ANY WARRANTY; witout even the implied warranty of
# GNU Affero General Public License for more details. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# # GNU Affero General Public License for more details.
# You should have received a copy of the GNU Affero General Public License #
# along with this program. If not, see <http://www.gnu.org/licenses/>. # You should have received a copy of the GNU Affero General Public License
#} # along with this program. If not, see <http://www.gnu.org/licenses/>.
#}
{% extends "layout.html" %} {% extends "layout.html" %}
{% block title %}Download{% endblock %} {% block title %}
Download
{% endblock %}
{% block content %} {% block content %}
<div class="page"> <div class="page">
<div class="row"> <div class="row w-100 m-auto">
<div class="col text-center"> <div class="col text-center">
<h1>Scarica Ubuntu</h1> <h1>
<p class="intro">Entra subito nel mondo Ubuntu. Scaricalo ora!</p> Scarica Ubuntu
</div> </h1>
<p class="intro">
Entra subito nel mondo Ubuntu. Scaricalo ora!
</p>
</div> </div>
</div> </div>
</div>
<div class="page"> <div class="page">
{% for name, data in distros.items() %} {% for name, data in distros.items() %}
<div class="row download-index-distro background-wallpaper {{ name }}"> <div class="row download-index-distro background-wallpaper {{ name }} w-100 m-auto">
<div class="col"> <div class="col">
<h2>{{ data["name"] }}</h2> <h2>
<p>{{ data["description"] }}</p> {{ data["name"] }}
</h2>
<p>
{{ data["description"] }}
</p>
</div> </div>
<div class="col col-center col-quarter"> <div class="col col-center col-quarter">
<a class="btn" href="{{ url_for("download.landing", distro = name) }}"> <a class="btn" href="{{ url_for('download.landing', distro = name) }}">
Scaricalo ora Scaricalo ora
</a> </a>
</div> </div>
</div> </div>
{% endfor %} {% endfor %}
</div> </div>
{% endblock %} {% endblock %}
{# Source code of the Ubuntu-it website {# Source code of the Ubuntu-it website
# Copyright (C) 2015-2018 Pietro Albini <pietroalbini@ubuntu.com> # Copyright (C) 2015 Pietro Albini <pietroalbini@ubuntu.com>
# # Copyright (C) 2023 shadMod
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU Affero General Public License as published # This program is free software: you can redistribute it and/or modify
# by the Free Software Foundation, either version 3 of the License, or # it under the terms of the GNU Affero General Public License as published
# (at your option) any later version. # by the Free Software Foundation, either version 3 of the License, or
# # (at your option) any later version.
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; witout even the implied warranty of # This program is distributed in the hope that it will be useful,
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # but WITHOUT ANY WARRANTY; witout even the implied warranty of
# GNU Affero General Public License for more details. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# # GNU Affero General Public License for more details.
# You should have received a copy of the GNU Affero General Public License #
# along with this program. If not, see <http://www.gnu.org/licenses/>. # You should have received a copy of the GNU Affero General Public License
#} # along with this program. If not, see <http://www.gnu.org/licenses/>.
#}
{% from "macros.html" import nav_item with context %} {% from "macros.html" import nav_item with context %}
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>{% block title %}Senza titolo{% endblock %} - Ubuntu-it</title> <title>{% block title %}Senza titolo{% endblock %} - Ubuntu-it</title>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="shortcut icon" href="{{ url_for('static', filename='favicon.ico') }}">
<link rel="stylesheet" href="https://static.ubuntu-it.org/fonts/ubuntu/include.min.css"> <link rel="stylesheet" href="https://static.ubuntu-it.org/fonts/ubuntu/include.min.css">
<link rel="stylesheet" href="https://static.ubuntu-it.org/themes/italy/theme.min.css"> <link rel="stylesheet" href="https://static.ubuntu-it.org/themes/italy/theme.min.css">
<link rel="stylesheet" href="{{ url_for("static", filename="website.css") }}"> <link rel="stylesheet" href="{{ url_for('static', filename='assets/vendor/bootstrap_v5.css') }}">
<link rel="shortcut icon" href="{{ url_for("static", filename="favicon.ico") }}"> <link rel="stylesheet" href="{{ url_for('static', filename='assets/libs/main.css') }}">
{% block extra_header %}{% endblock %} {% block extra_header %}{% endblock %}
</head>
<body {% block extra_body %}{% endblock %}> </head>
<div class="cookie-policy hidden"> <body {% block extra_body %}{% endblock %}>
<div class="cookie-policy hidden">
<div class="container"> <div class="container">
<span> <span>
Questo sito utilizza i cookie per offrirti un'esperienza Questo sito utilizza i cookie per offrirti un'esperienza
migliore. Continuando la navigazione ne accetti l'uso. migliore. Continuando la navigazione ne accetti l'uso.
</span> </span>
<a href="{{ url_for("pages.cookies") }}" id="ubuntuit-cookiepolicy-hide">OK</a> <a href="{{ url_for('pages.cookies') }}" id="ubuntuit-cookiepolicy-hide">
<a href="#">Maggiori informazioni</a> OK
</div> </a>
<a href="#">
Maggiori informazioni
</a>
</div> </div>
</div>
{% if g.auth_name %} {% if g.auth_name %}
<nav class="sites-list"> <nav class="sites-list">
<div class="container"> <div class="container">
<ul class="left"> <ul class="left">
{% if permission("auth.sessions.manage") %} {% if permission("auth.sessions.manage") %}
<li><a href="{{ url_for("auth.sessions_list") }}"> <li>
<a href="{{ url_for('auth.sessions_list') }}">
Sessioni attive: {{ g.auth_sessions_count }} Sessioni attive: {{ g.auth_sessions_count }}
</a></li> </a>
</li>
{% endif %} {% endif %}
{% if permission("actions.show") %} {% if permission("actions.show") %}
<li><a href="{{ url_for("actions.show") }}"> <li>
<a href="{{ url_for('actions.show') }}">
Azioni recenti Azioni recenti
</a></li> </a>
</li>
{% endif %} {% endif %}
</ul> </ul>
<ul class="right"> <ul class="right">
{% if permission("auth.sessions.own") %} {% if permission("auth.sessions.own") %}
<li><a href="{{ url_for("auth.sessions_show", id=g.auth_id) }}"> <li>
<a href="{{ url_for('auth.sessions_show', id=g.auth_id) }}">
{{ g.auth_name }} {{ g.auth_name }}
</a></li> </a>
</li>
{% endif %} {% endif %}
{% if permission("auth.logout") %} {% if permission("auth.logout") %}
<li><a href="{{ url_for("auth.logout") }}">Esci</a></li> <li>
<a href="{{ url_for('auth.logout') }}">
Esci
</a>
</li>
{% endif %} {% endif %}
</ul> </ul>
</div> </div>
</nav> </nav>
{% endif %} {% endif %}
<nav class="sites-list"> <nav class="sites-list">
<div class="container"> <div class="container">
<ul> <ul>
<li><a href="{{ url_for('pages.index') }}" class="active">Sito web</a></li> <li>
<li><a href="https://wiki.ubuntu-it.org">Wiki</a></li> <a href="{{ url_for('pages.index') }}" class="active">
<li><a href="https://forum.ubuntu-it.org">Forum</a></li> Sito web
<li><a href="https://chiedi.ubuntu-it.org">Chiedi</a></li> </a>
<li><a href="https://chat.ubuntu-it.org">Chat</a></li> </li>
<li><a href="https://cerca.ubuntu-it.org">Cerca</a></li> <li>
<li><a href="https://planet.ubuntu-it.org">Planet</a></li> <a href="https://wiki.ubuntu-it.org">
Wiki
</a>
</li>
<li>
<a href="https://forum.ubuntu-it.org">
Forum
</a>
</li>
<li>
<a href="https://chiedi.ubuntu-it.org">
Chiedi
</a>
</li>
<li>
<a href="https://chat.ubuntu-it.org">
Chat
</a>
</li>
<li>
<a href="https://cerca.ubuntu-it.org">
Cerca
</a>
</li>
<li>
<a href="https://planet.ubuntu-it.org">
Planet
</a>
</li>
</ul> </ul>
<ul class="right"> <ul class="right">
<li><a href="https://www.facebook.com/ubuntu.it">Facebook</a></li> <li>
<li><a href="https://twitter.com/ubuntuit">Twitter</a></li> <a href="https://www.facebook.com/ubuntu.it">
Facebook
<li><a href="https://www.youtube.com/ubuntuitpromozione">YouTube</a></li> </a>
<li><a href="https://telegram.me/ubuntuit">Telegram</a></li> </li>
<li>
<a href="https://twitter.com/ubuntuit">
Twitter
</a>
</li>
<li>
<a href="https://www.youtube.com/ubuntuitpromozione">
YouTube
</a>
</li>
<li>
<a href="https://telegram.me/ubuntuit">
Telegram
</a>
</li>
</ul> </ul>
</div> </div>
</nav> </nav>
{% for navbar in _navbars %} {% for navbar in _navbars %}
<nav {%- if loop.index == 1 %} class="main-navbar"{% endif %}> <nav {%- if loop.index== 1 %} class="main-navbar" {% endif %}>
<div class="container"> <div class="container">
<ul> <ul>
{% if loop.index == 1 %} {% if loop.index == 1 %}
<li class="site-name"><a href="{{ url_for("pages.index") }}">ubuntu-it</a></li> <li class="site-name">
<a href="{{ url_for('pages.index') }}">
ubuntu-it
</a>
</li>
{% endif -%} {% endif -%}
{%- for name, url, active in navbar %} {%- for name, url, active in navbar %}
<li> <li>
<a {%- if active %} class="active"{% endif %} href="{{ url }}">{{ name }}</a> <a {%- if active %} class="active" {% endif %} href="{{ url }}">
{{ name }}
</a>
</li> </li>
{% endfor %} {% endfor %}
</ul> </ul>
</div> </div>
</nav> </nav>
{% endfor %} {% endfor %}
<div class="container"> <div class="container">
{% with messages = get_flashed_messages(with_categories=True) %} {% with messages = get_flashed_messages(with_categories=True) %}
{% if messages %} {% if messages %}
{% for category, message in messages %} {% for category, message in messages %}
<div class="alert {% if category != "message" %}{{ category }}{% else %}info{% endif %}"> <div class="alert {% if category != 'message' %}{{ category }}{% else %}info{% endif %}">
{{ message }} {{ message }}
<span class="close">&times;</span> <span class="close">&times;</span>
</div> </div>
...@@ -129,37 +195,54 @@ ...@@ -129,37 +195,54 @@
<footer> <footer>
<p> <p>
Ubuntu e Canonical sono marchi registrati da Canonical Ubuntu e Canonical sono marchi registrati da Canonical Ltd.
Ltd.
</p> </p>
<p> <p>
Sito web realizzato dal Gruppo Web di Ubuntu-it, con Sito web realizzato dal Gruppo Web di Ubuntu-it, con
<a href="https://www.python.org/">Python</a>, <a href="https://www.python.org/">
<a href="https://www.palletsproject.com/p/flask/">Flask</a> e Python
<a href="https://www.sqlite.org/">SQLite</a>. </a>,
<a href="https://www.palletsproject.com/p/flask/">
Flask
</a>
e
<a href="https://www.sqlite.org/">
SQLite
</a>.
</p> </p>
<ul> <ul>
<li><a href="{{ url_for("pages.cookies") }}"> <li>
<a href="{{ url_for('pages.cookies') }}">
Informativa sui cookie Informativa sui cookie
</a></li> </a>
<li><a href="https://code.ubuntu-it.org/ubuntu-it-web/www/issues"> </li>
<li>
<a href="https://code.ubuntu-it.org/ubuntu-it-web/www/issues">
Segnala un problema Segnala un problema
</a></li> </a>
<li><a href="https://code.ubuntu-it.org/ubuntu-it-web/www"> </li>
<li>
<a href="https://code.ubuntu-it.org/ubuntu-it-web/www">
Codice sorgente Codice sorgente
</a></li> </a>
<li><a href="https://wiki.ubuntu-it.org/GruppoWeb"> </li>
<li>
<a href="https://wiki.ubuntu-it.org/GruppoWeb">
Collabora con noi Collabora con noi
</a></li> </a>
</li>
{% if not g.auth_name %} {% if not g.auth_name %}
<li><a href="{{ url_for("auth.login") }}"> <li>
<a href="{{ url_for('auth.login') }}">
Accedi Accedi
</a></li> </a>
</li>
{% endif %} {% endif %}
</ul> </ul>
</footer> </footer>
</div> </div>
<script type="text/javascript" src="https://static.ubuntu-it.org/themes/italy/theme.min.js"></script>
<script type="text/javascript" src="https://static.ubuntu-it.org/themes/italy/theme.min.js"></script> </body>
</body>
</html> </html>
{# Source code of the Ubuntu-it website
# Copyright (C) 2015 Pietro Albini <pietroalbini@ubuntu.com>
# 2015 Riccardo Padovani <rpadovani@ubuntu.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published
# by the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; witout even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#}
{% extends "layout.html" %} {% extends "layout.html" %}
{% block title %}Contatti{% endblock %} {% block title %}
Contatti
{% endblock %}
{% block content %} {% block content %}
<div class="page"> <div class="page">
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h1 class="text-center">Contatti</h1> <h1 class="text-center">
<p class="intro text-center">Gli indirizzi mail e le pagine di contatto di Ubuntu-it. Collabora con noi!</p> Contatti
</h1>
<p class="intro text-center">
Gli indirizzi mail e le pagine di contatto di Ubuntu-it. Collabora con noi!
</p>
</div> </div>
</div> </div>
</div> </div>
...@@ -77,6 +66,7 @@ ...@@ -77,6 +66,7 @@
<h2>Gruppi di lavoro</h2> <h2>Gruppi di lavoro</h2>
<p> <p>
La comunità italiana di Ubuntu è organizzata in gruppi di lavoro. La comunità italiana di Ubuntu è organizzata in gruppi di lavoro.
<br/>
Per entrare in contatto con noi e contribuire a rendere Ubuntu Per entrare in contatto con noi e contribuire a rendere Ubuntu
migliore, scrivici utilizzando i canali qui riportati. migliore, scrivici utilizzando i canali qui riportati.
</p> </p>
...@@ -206,8 +196,12 @@ ...@@ -206,8 +196,12 @@
</div> </div>
<div class="row text-center"> <div class="row text-center">
<div class="col"> <div class="col">
<a class="btn" href="http://liste.ubuntu-it.org/cgi-bin/mailman/listinfo">Elenco mailing list</a> <a class="btn" href="http://liste.ubuntu-it.org/cgi-bin/mailman/listinfo">
<a class="btn" href="{{ url_for("pages.supporto") }}">Canali di supporto</a> Elenco mailing list
</a>
<a class="btn" href="{{ url_for('pages.supporto') }}">
Canali di supporto
</a>
</div> </div>
</div> </div>
</div> </div>
......
{# Source code of the Ubuntu-it website {# Source code of the Ubuntu-it website
# Copyright (C) 2015 Pietro Albini <pietroalbini@ubuntu.com> # Copyright (C) 2015 Pietro Albini
# 2015 Marco Montabone <montabone.mrc@gmail.com> <pietroalbini@ubuntu.com>
# 2019-2020 Alessandro Viprati <vipri.alessandro@gmail.com> # 2015 Marco Montabone
# <montabone.mrc@gmail.com>
# This program is free software: you can redistribute it and/or modify # 2019-2020 Alessandro Viprati
# it under the terms of the GNU Affero General Public License as published <vipri.alessandro@gmail.com>
# by the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. # This program is free software: you can redistribute it and/or modify
# # it under the terms of the GNU Affero General Public License as published
# This program is distributed in the hope that it will be useful, # by the Free Software Foundation, either version 3 of the License, or
# but WITHOUT ANY WARRANTY; witout even the implied warranty of # (at your option) any later version.
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU Affero General Public License for more details. # This program is distributed in the hope that it will be useful,
# # but WITHOUT ANY WARRANTY; witout even the implied warranty of
# You should have received a copy of the GNU Affero General Public License # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# along with this program. If not, see <http://www.gnu.org/licenses/>. # GNU Affero General Public License for more details.
#} #
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see
<http://www.gnu.org/licenses/>.
#}
{% extends "layout.html" %} {% extends "layout.html" %}
...@@ -24,8 +28,18 @@ ...@@ -24,8 +28,18 @@
<div class="page"> <div class="page">
<div class="row background-wallpaper ubuntu-budgie"> <div class="row background-wallpaper ubuntu-budgie">
<div class="col"> <div class="col">
<h1 class="text-center">Ubuntu Budgie</h1> <h1 class="text-center">
<p class="intro text-center"><a href="https://ubuntubudgie.org/" target="_blank">Ubuntu Budgie</a> è la versione di Ubuntu basata sull'ambiente grafico <a href="https://github.com/solus-project/budgie-desktop" target="_blank">Budgie</a>.</p> Ubuntu Budgie
</h1>
<p class="intro text-center">
<a href="https://ubuntubudgie.org/" target="_blank">
Ubuntu Budgie
</a>
è la versione di Ubuntu basata sull'ambiente grafico
<a href="https://github.com/solus-project/budgie-desktop" target="_blank">
Budgie
</a>.
</p>
</div> </div>
</div> </div>
</div> </div>
...@@ -40,104 +54,87 @@ ...@@ -40,104 +54,87 @@
</p> </p>
</div> </div>
<div class="col col-quarter"> <div class="col col-quarter">
<img src="{{ url_for("static", filename="images/derivate/ubuntu-budgie/ubuntu-budgie-logo.png") }}" alt="Logo di Ubuntu Budgie"> <img src="{{ url_for('static', filename='images/derivate/ubuntu-budgie/ubuntu-budgie-logo.png') }}"
alt="Logo di Ubuntu Budgie">
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col" align="justify"> <div class="col" align="justify">
<h2>Titolo2</h2> <h2>
<p> Flessibile
Testo. </h2>
</p>
<p> <p>
<ul> L'utilizzo di Ubuntu Budgie offre la libertà di eseguire un sistema operativo completo e ricco di
<li>Testo.</li> funzionalità, preconfigurato con la maggior parte, se non tutte, le applicazioni necessarie per
<li>Testo.</li> l'attività informatica quotidiana, o di modificare l'aspetto, il funzionamento o le applicazioni
<li>Testo.</li> eseguite in base ai propri gusti.
</ul>
</p> </p>
</div> </div>
<div class="col"> <div class="col">
<img src="{{ url_for("static", filename="images/derivate/ubuntu-budgie/file.png") }}" alt="Nome"> <img src="{{ url_for('static', filename='images/derivate/ubuntu-budgie/ubuntu-budgie-desktop.png') }}">
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col" align="justify"> <div class="col" align="justify">
<h2>Titolo2</h2> <h2>
<p> Sicuro
Testo. </h2>
</p>
<p> <p>
<ul> Ubuntu Budgie è stato progettato pensando alla sicurezza. A differenza dei sistemi operativi che si
<li>Testo.</li> aggiornano solo una volta al mese, Ubuntu Budgie riceve aggiornamenti continui. Gli aggiornamenti
<li>Testo.</li> includono patch di sicurezza per Ubuntu Budgie e tutti i suoi componenti. Anche gli aggiornamenti di
<li>Testo.</li> sicurezza per tutte le applicazioni installate vengono forniti con la stessa frequenza. In questo modo
</ul> si ha la certezza di avere la protezione più recente per tutto il software del computer, non appena
disponibile!
</p> </p>
</div> </div>
<div class="col"> <div class="col">
<img src="{{ url_for("static", filename="images/derivate/ubuntu-budgie/file.png") }}" alt="Nome"> <img src="{{ url_for('static', filename='images/derivate/ubuntu-budgie/ubuntu-budgie-security.png') }}">
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col" align="justify"> <div class="col" align="justify">
<h2>Titolo2</h2> <h2>
Software per ogni esigenza
</h2>
<p> <p>
Testo. Ubuntu Budgie aggiunge una raccolta di applicazioni aggiuntive per trasformare il computer in una
</p> workstation davvero potente: dalla produttività all'intrattenimento!
<p>
<ul>
<li>Testo.</li>
<li>Testo.</li>
<li>Testo.</li>
</ul>
</p> </p>
</div> </div>
<div class="col"> <div class="col">
<img src="{{ url_for("static", filename="images/derivate/ubuntu-budgie/file.png") }}" alt="Nome"> <img src="{{ url_for('static', filename='images/derivate/ubuntu-budgie/ubuntu-budgie-everything.jpg') }}">
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col" align="justify"> <div class="col" align="justify">
<h2>Titolo2</h2> <h2>
<p> Powered by Steam
Testo. </h2>
</p>
<p>
<ul>
<li>Testo.</li>
<li>Testo.</li>
<li>Testo.</li>
</ul>
</p>
</div>
<div class="col">
<img src="{{ url_for("static", filename="images/derivate/ubuntu-budgie/file.png") }}" alt="Nome">
</div>
</div>
<div class="row">
<div class="col" align="justify">
<h2>Titolo2</h2>
<p>
Testo.
</p>
<p> <p>
<ul> Negli ultimi due anni Linux è diventato una piattaforma di gioco di prima classe grazie all'arrivo della
<li>Testo.</li> piattaforma Steam su Linux. Al momento in cui scriviamo, Steam ha più di 2000 titoli indie e AAA di alta
<li>Testo.</li> qualità pronti per Ubuntu Budgie. Se Steam è un importante passo avanti per il gioco su Linux, ci sono
<li>Testo.</li> anche molti titoli Open Source di alta qualità e divertenti disponibili per Ubuntu Budgie. Non importa
</ul> se vi piacciono i simulatori di volo, le corse automobilistiche, gli sparatutto in prima persona, i
giochi di salto e corsa o di carte, troverete qualcosa che vi intratterrà.
</p> </p>
</div> </div>
<div class="col"> <div class="col">
<img src="{{ url_for("static", filename="images/derivate/ubuntu-budgie/file.png") }}" alt="Nome"> <img src="{{ url_for('static', filename='images/derivate/ubuntu-budgie/ubuntu-budgie-steam.jpg') }}">
</div> </div>
</div> </div>
<div class="row text-center"> <div class="row text-center">
<div> <div>
<a class="btn" href="{{ url_for("download.landing", distro="ubuntu-budgie") }}">Scarica Ubuntu Budgie</a> <a class="btn" href="{{ url_for('download.landing', distro='ubuntu-budgie') }}">
<a class="btn" href="https://ubuntubudgie.org/">Sito internazionale</a> Scarica Ubuntu Budgie
<a class="btn" href="https://ubuntubudgie.org/about">Per saperne di più</a> </a>
<a class="btn" href="https://ubuntubudgie.org/">
Sito internazionale
</a>
<a class="btn" href="https://ubuntubudgie.org/about">
Per saperne di più
</a>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -40,97 +40,7 @@ ...@@ -40,97 +40,7 @@
</p> </p>
</div> </div>
<div class="col col-quarter"> <div class="col col-quarter">
<img src="{{ url_for("static", filename="images/derivate/ubuntu-kylin/ubuntu-kylin-logo.png") }}" alt="Logo di Ubuntu Kylin"> <img src="{{ url_for('static', filename='images/derivate/ubuntu-kylin/ubuntu-kylin-logo.png') }}" alt="Logo di Ubuntu Kylin">
</div>
</div>
<div class="row">
<div class="col" align="justify">
<h2>Titolo2</h2>
<p>
Testo.
</p>
<p>
<ul>
<li>Testo.</li>
<li>Testo.</li>
<li>Testo.</li>
</ul>
</p>
</div>
<div class="col">
<img src="{{ url_for("static", filename="images/derivate/ubuntu-kylin/file.png") }}" alt="Nome">
</div>
</div>
<div class="row">
<div class="col" align="justify">
<h2>Titolo2</h2>
<p>
Testo.
</p>
<p>
<ul>
<li>Testo.</li>
<li>Testo.</li>
<li>Testo.</li>
</ul>
</p>
</div>
<div class="col">
<img src="{{ url_for("static", filename="images/derivate/ubuntu-kylin/file.png") }}" alt="Nome">
</div>
</div>
<div class="row">
<div class="col" align="justify">
<h2>Titolo2</h2>
<p>
Testo.
</p>
<p>
<ul>
<li>Testo.</li>
<li>Testo.</li>
<li>Testo.</li>
</ul>
</p>
</div>
<div class="col">
<img src="{{ url_for("static", filename="images/derivate/ubuntu-kylin/file.png") }}" alt="Nome">
</div>
</div>
<div class="row">
<div class="col" align="justify">
<h2>Titolo2</h2>
<p>
Testo.
</p>
<p>
<ul>
<li>Testo.</li>
<li>Testo.</li>
<li>Testo.</li>
</ul>
</p>
</div>
<div class="col">
<img src="{{ url_for("static", filename="images/derivate/ubuntu-kylin/file.png") }}" alt="Nome">
</div>
</div>
<div class="row">
<div class="col" align="justify">
<h2>Titolo2</h2>
<p>
Testo.
</p>
<p>
<ul>
<li>Testo.</li>
<li>Testo.</li>
<li>Testo.</li>
</ul>
</p>
</div>
<div class="col">
<img src="{{ url_for("static", filename="images/derivate/ubuntu-kylin/file.png") }}" alt="Nome">
</div> </div>
</div> </div>
<div class="row text-center"> <div class="row text-center">
......
...@@ -44,96 +44,6 @@ ...@@ -44,96 +44,6 @@
<img src="{{ url_for("static", filename="images/derivate/ubuntu-mate/ubuntu-mate-logo.png") }}" alt="Logo di Ubuntu MATE"> <img src="{{ url_for("static", filename="images/derivate/ubuntu-mate/ubuntu-mate-logo.png") }}" alt="Logo di Ubuntu MATE">
</div> </div>
</div> </div>
<div class="row">
<div class="col" align="justify">
<h2>Titolo2</h2>
<p>
Testo.
</p>
<p>
<ul>
<li>Testo.</li>
<li>Testo.</li>
<li>Testo.</li>
</ul>
</p>
</div>
<div class="col">
<img src="{{ url_for("static", filename="images/derivate/ubuntu-mate/file.png") }}" alt="Nome">
</div>
</div>
<div class="row">
<div class="col" align="justify">
<h2>Titolo2</h2>
<p>
Testo.
</p>
<p>
<ul>
<li>Testo.</li>
<li>Testo.</li>
<li>Testo.</li>
</ul>
</p>
</div>
<div class="col">
<img src="{{ url_for("static", filename="images/derivate/ubuntu-mate/file.png") }}" alt="Nome">
</div>
</div>
<div class="row">
<div class="col" align="justify">
<h2>Titolo2</h2>
<p>
Testo.
</p>
<p>
<ul>
<li>Testo.</li>
<li>Testo.</li>
<li>Testo.</li>
</ul>
</p>
</div>
<div class="col">
<img src="{{ url_for("static", filename="images/derivate/ubuntu-mate/file.png") }}" alt="Nome">
</div>
</div>
<div class="row">
<div class="col" align="justify">
<h2>Titolo2</h2>
<p>
Testo.
</p>
<p>
<ul>
<li>Testo.</li>
<li>Testo.</li>
<li>Testo.</li>
</ul>
</p>
</div>
<div class="col">
<img src="{{ url_for("static", filename="images/derivate/ubuntu-mate/file.png") }}" alt="Nome">
</div>
</div>
<div class="row">
<div class="col" align="justify">
<h2>Titolo2</h2>
<p>
Testo.
</p>
<p>
<ul>
<li>Testo.</li>
<li>Testo.</li>
<li>Testo.</li>
</ul>
</p>
</div>
<div class="col">
<img src="{{ url_for("static", filename="images/derivate/ubuntu-mate/file.png") }}" alt="Nome">
</div>
</div>
<div class="row text-center"> <div class="row text-center">
<div> <div>
<a class="btn" href="{{ url_for("download.landing", distro="ubuntu-mate") }}">Scarica Ubuntu MATE</a> <a class="btn" href="{{ url_for("download.landing", distro="ubuntu-mate") }}">Scarica Ubuntu MATE</a>
......
...@@ -44,96 +44,6 @@ ...@@ -44,96 +44,6 @@
<img src="{{ url_for("static", filename="images/derivate/ubuntu-studio/ubuntu-studio-logo.png") }}" alt="Logo di Ubuntu Studio"> <img src="{{ url_for("static", filename="images/derivate/ubuntu-studio/ubuntu-studio-logo.png") }}" alt="Logo di Ubuntu Studio">
</div> </div>
</div> </div>
<div class="row">
<div class="col" align="justify">
<h2>Titolo2</h2>
<p>
Testo.
</p>
<p>
<ul>
<li>Testo.</li>
<li>Testo.</li>
<li>Testo.</li>
</ul>
</p>
</div>
<div class="col">
<img src="{{ url_for("static", filename="images/derivate/ubuntu-studio/file.png") }}" alt="Nome">
</div>
</div>
<div class="row">
<div class="col" align="justify">
<h2>Titolo2</h2>
<p>
Testo.
</p>
<p>
<ul>
<li>Testo.</li>
<li>Testo.</li>
<li>Testo.</li>
</ul>
</p>
</div>
<div class="col">
<img src="{{ url_for("static", filename="images/derivate/ubuntu-studio/file.png") }}" alt="Nome">
</div>
</div>
<div class="row">
<div class="col" align="justify">
<h2>Titolo2</h2>
<p>
Testo.
</p>
<p>
<ul>
<li>Testo.</li>
<li>Testo.</li>
<li>Testo.</li>
</ul>
</p>
</div>
<div class="col">
<img src="{{ url_for("static", filename="images/derivate/ubuntu-studio/file.png") }}" alt="Nome">
</div>
</div>
<div class="row">
<div class="col" align="justify">
<h2>Titolo2</h2>
<p>
Testo.
</p>
<p>
<ul>
<li>Testo.</li>
<li>Testo.</li>
<li>Testo.</li>
</ul>
</p>
</div>
<div class="col">
<img src="{{ url_for("static", filename="images/derivate/ubuntu-studio/file.png") }}" alt="Nome">
</div>
</div>
<div class="row">
<div class="col" align="justify">
<h2>Titolo2</h2>
<p>
Testo.
</p>
<p>
<ul>
<li>Testo.</li>
<li>Testo.</li>
<li>Testo.</li>
</ul>
</p>
</div>
<div class="col">
<img src="{{ url_for("static", filename="images/derivate/ubuntu-studio/file.png") }}" alt="Nome">
</div>
</div>
<div class="row text-center"> <div class="row text-center">
<div> <div>
<a class="btn" href="{{ url_for("download.landing", distro="ubuntu-studio") }}">Scarica Ubuntu Studio</a> <a class="btn" href="{{ url_for("download.landing", distro="ubuntu-studio") }}">Scarica Ubuntu Studio</a>
......
{# Source code of the Ubuntu-it website {# Source code of the Ubuntu-it website
# Copyright (C) 2015 Pietro Albini <pietroalbini@ubuntu.com> # Copyright (C) 2015 Pietro Albini <pietroalbini@ubuntu.com>
# Copyright (C) 2021 Alessandro Viprati <vipri.alessandro@gmail.com> # Copyright (C) 2021 Alessandro Viprati <vipri.alessandro@gmail.com>
# # Copyright (C) 2023 shadMod
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU Affero General Public License as published # This program is free software: you can redistribute it and/or modify
# by the Free Software Foundation, either version 3 of the License, or # it under the terms of the GNU Affero General Public License as published
# (at your option) any later version. # by the Free Software Foundation, either version 3 of the License, or
# # (at your option) any later version.
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; witout even the implied warranty of # This program is distributed in the hope that it will be useful,
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # but WITHOUT ANY WARRANTY; witout even the implied warranty of
# GNU Affero General Public License for more details. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# # GNU Affero General Public License for more details.
# You should have received a copy of the GNU Affero General Public License #
# along with this program. If not, see <http://www.gnu.org/licenses/>. # You should have received a copy of the GNU Affero General Public License
#} # along with this program. If not, see <http://www.gnu.org/licenses/>.
#}
{% extends "layout.html" %} {% extends "layout.html" %}
{% block title %}Home page{% endblock %} {% block title %}
Home page
{% endblock %}
{% block content %} {% block content %}
<div class="page"> <div class="page">
<div class="row background-wallpaper banner-latest" style="padding: 80px;"> <div class="row background-wallpaper banner-latest p-100">
<div class="col text-center"> <div class="col text-center">
<h1>Ubuntu 21.10</h1> <h1>
<p class="intro text-center">Le ultime novità dal mondo del software Ubuntu 22.04
libero, con stile.</p> </h1>
<a class="btn" href="{{ url_for("pages.scopri-ubuntu_nuovo-rilascio") }}">Scopri di più</a> <p class="intro text-center">
<a class="btn" href="{{ url_for("download.landing", distro="desktop") }}">Scarica Ubuntu</a> Le ultime novità dal mondo del software libero, con stile.
</p>
<a class="btn" href="{{ url_for('pages.scopri-ubuntu_nuovo-rilascio') }}">
Scopri di più
</a>
<a class="btn" href="{{ url_for('download.landing', distro='desktop') }}">
Scarica Ubuntu
</a>
</div> </div>
</div> </div>
</div> </div>
<div class="page"> <div class="page">
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h2>Comunità italiana</h2> <h2>
<p>Ubuntu-it è la comunità italiana di Ubuntu organizzata in Comunità italiana
<a href="{{ url_for('pages.comunita_index') }}">gruppi di lavoro</a>, </h2>
ciascuno con obbiettivi diversi: dallo sviluppo <p>
al supporto, alla documentazione, alla promozione...</p> Ubuntu-it è la comunità italiana di Ubuntu.
</p>
<p>
Essa è organizzata in diversi
<a href="{{ url_for('pages.comunita_index') }}">
gruppi di lavoro
</a>,
coordinati dal Consiglio della comunità, ciascuno con un obiettivo diverso:
dallo sviluppo, al supporto fino alla promozione.
</p>
</div> </div>
<div class="col"> <div class="col">
<h2>Derivate</h2> <h2>
<p>Interfacce diverse ma sotto batte lo stesso cuore, per essere Derivate
libero di scegliere. Scopri le differenze e gli obiettivi nella </h2>
<a href="{{ url_for('pages.derivate_index') }}">pagina dedicata</a>.</p> <p>
Interfacce diverse ma sotto batte lo stesso cuore, per essere libero di scegliere.
</p>
<p>
Scopri le differenze e gli obiettivi nella
<a href="{{ url_for('pages.derivate_index') }}">
pagina dedicata
</a>.
</p>
</div> </div>
<div class="col"> <div class="col">
<h2>Supporto</h2> <h2>
<p>Cerca risposte alle tue domande nei Supporto
<a href="{{ url_for('pages.supporto') }}">portali di Ubuntu-it</a> e </h2>
aiutaci a fornire supporto a chi ne ha bisogno.</p> <p>
Cerca risposte alle tue domande nei
<a href="{{ url_for('pages.supporto') }}">
portali di Ubuntu-it
</a>
e aiutaci a fornire supporto a chi ne ha bisogno.
</p>
</div> </div>
</div> </div>
</div> </div>
<div class="page"> <div class="page">
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h2>Ultime novità</h2> <h2>
Scopri Ubuntu
</h2>
<p>
Veloce, sicuro ed elegantemente semplice.
</p>
<p>
Ubuntu è usato da più di 20 milioni di persone in tutto il mondo ogni giorno.
</p>
</div> </div>
<div class="col"> <div class="col">
<p>inserire link ultimi articoli <a href="/news">blog</a>.</p> <h2>
Ultime novità
</h2>
<ul class="item-list">
<li>
<a href="{{ url_for('pages.derivate_index') }}">
Newsletter Italiana #Ubuntu - 2023.030
</a>
</li>
<li>
<a href="{{ url_for('pages.derivate_index') }}">
Newsletter Italiana #Ubuntu - 2023.029
</a>
</li>
<li>
<a href="{{ url_for('pages.derivate_index') }}">
Newsletter Italiana #Ubuntu - 2023.028
</a>
</li>
</ul>
</div> </div>
</div> </div>
</div> </div>
<div class="page"> <div class="page">
<div class="row"> <div class="row">
<div class="col col-fourth col-center"> <div class="col">
<h2 class="text-center">
Sponsor tecnici
</h2>
<div class="row">
<div class="col text-center">
<a href="https://www.infomaniak.com/it">
<img src="{{ url_for('static', filename='images/sponsor/infomaniak.png')}}"
style="height:150px;" alt="infomaniak logo"/>
</a>
</div> </div>
<div class="col col-fourth col-center"> <div class="col text-center">
<h2>Sponsor tecnico</h2> <a href="https://www.top-ix.org/it/home/">
<img src="{{ url_for('static', filename='images/sponsor/topix-logo.png')}}"
style="height:150px;" alt="Top-ix logo"/>
</a>
</div> </div>
<div class="col col-fourth col-center">
<p><a href="http://www.top-ix.org"><img src="{{ url_for("static", filename="images/logo/topix-logo.jpg") }}" style="width:203px; height:150px;" alt="Top-ix logo" /></a></p>
</div> </div>
<div class="col col-fourth col-center">
</div> </div>
</div> </div>
</div> </div>
......
{# Source code of the Ubuntu-it website {# Source code of the Ubuntu-it website
# Copyright (C) 2015 Pietro Albini <pietroalbini@ubuntu.com> # Copyright (C) 2015 Pietro Albini <pietroalbini@ubuntu.com>
# 2015 Riccardo Padovani <rpadovani@ubuntu.com> # Copyright (C) 2015 Riccardo Padovani <rpadovani@ubuntu.com>
# # Copyright (C) 2023 shadMod
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU Affero General Public License as published # This program is free software: you can redistribute it and/or modify
# by the Free Software Foundation, either version 3 of the License, or # it under the terms of the GNU Affero General Public License as published
# (at your option) any later version. # by the Free Software Foundation, either version 3 of the License, or
# # (at your option) any later version.
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; witout even the implied warranty of # This program is distributed in the hope that it will be useful,
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # but WITHOUT ANY WARRANTY; witout even the implied warranty of
# GNU Affero General Public License for more details. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# # GNU Affero General Public License for more details.
# You should have received a copy of the GNU Affero General Public License #
# along with this program. If not, see <http://www.gnu.org/licenses/>. # You should have received a copy of the GNU Affero General Public License
#} # along with this program. If not, see <http://www.gnu.org/licenses/>.
#}
{% extends "layout.html" %} {% extends "layout.html" %}
{% block title %}Desktop e portatili{% endblock %} {% block title %}Desktop e portatili{% endblock %}
{% block content %} {% block content %}
<div class="page"> <div class="page container">
<div class="row background-wallpaper ubuntu image-overflow"> <div class="row background-wallpaper ubuntu image-overflow">
<div class="col"> <div class="col">
<h1 class="text-center">Ubuntu per desktop e portatili</h1> <h1 class="text-center">
<p class="intro text-center">Il tuo sistema operativo, elegante e infinitamente personalizzabile.</p> Ubuntu per desktop e portatili
<img src="{{ url_for("static", filename="images/scopri-ubuntu/desktop/desktop1.png") }}" alt="Portatile con Ubuntu"> </h1>
<p class="intro text-center">
Il tuo sistema operativo, elegante e infinitamente personalizzabile.
</p>
<img src="{{ url_for('static', filename='images/scopri-ubuntu/desktop/desktop1.png') }}"
alt="Portatile con Ubuntu">
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<p> <p>
Ubuntu per desktop e portatili è il sistema operativo veloce e Ubuntu per desktop e portatili è il sistema operativo veloce e sicuro per le necessità di tutti i
sicuro per le necessità di tutti i giorni. Grazie alla sua giorni. Grazie alla sua interfaccia intuitiva e snella, potrai subito accedere a tutti i tuoi file e ai
interfaccia intuitiva e snella, potrai subito accedere a tutti i tuoi contenuti online, senza perdere tempo.
tuoi file e ai tuoi contenuti online, senza perdere tempo.
</p> </p>
<p> <p>
Ubuntu funziona brillantemente con una grande varietà di Ubuntu funziona brillantemente con una grande varietà di dispositivi. Collega semplicemente il lettore
dispositivi. Collega semplicemente il lettore MP3, la macchina MP3, la macchina fotografica o la stampante al PC e tutto funzionerà immediatamente, senza CD di
fotografica o la stampante al PC e tutto funzionerà installazione e senza preoccupazioni.
immediatamente, senza CD di installazione e senza preoccupazioni.
</p> </p>
<p> <p>
Ubuntu parte rapidamente su qualunque computer, ma è Ubuntu parte rapidamente su qualunque computer, ma è particolarmente veloce sulle macchine più recenti.
particolarmente veloce sulle macchine più recenti. Senza Senza programmi non necessari e software in prova a rallentare il sistema, avviare il computer e aprire
programmi non necessari e software in prova a rallentare il un browser sarà un'operazione di pochi secondi. E Ubuntu non diventerà più lento nel tempo. È veloce, e
sistema, avviare il computer e aprire un browser sarà resterà veloce.
un'operazione di pochi secondi. E Ubuntu non diventerà più
lento nel tempo. È veloce, e resterà veloce.
</p> </p>
</div> </div>
</div> </div>
</div> </div>
<div class="page"> <div class="page container">
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h2>Applicazioni per il lavoro, la scuola e il tempo libero</h2> <h2>
Applicazioni per il lavoro, la scuola e il tempo libero
</h2>
<p> <p>
Ubuntu è realizzato per essere efficiente e performante. Ubuntu è realizzato per essere efficiente e performante. Troverai numerose applicazioni preinstallate e
Troverai numerose applicazioni preinstallate e pronte da pronte da utilizzare al termine dell'installazione, come la famosa suite per ufficio
utilizzare al termine dell'installazione, come la famosa suite <b>
per ufficio <b>LibreOffice</b>, contenente un programma per la LibreOffice
scrittura di documenti, un foglio elettronico, un programma per </b>,
la realizzazione di presentazioni e un programma di disegno contenente un programma per la scrittura di documenti, un foglio elettronico, un programma per la
vettoriale. realizzazione di presentazioni e un programma di disegno vettoriale.
</p> </p>
<p> <p>
Numerose altre applicazioni sono preinstallate come Numerose altre applicazioni sono preinstallate come
<b>Simple Scan</b> per scansionare i documenti, <b>Rhythmbox</b> <b>
per ascoltare la musica, <b>Video</b> per riprodurre filmati di Simple Scan
ogni genere e <b>Shotwell</b> per migliorare e ritagliare </b>
fotografie. per scansionare i documenti,
<b>
Rhythmbox
</b>
per ascoltare la musica,
<b>
Video
</b>
per riprodurre filmati di ogni genere e
<b>
Shotwell
</b>
per migliorare e ritagliare fotografie.
</p> </p>
</div> </div>
<div class="col image-attach-corner"> <div class="col image-attach-corner">
<img src="{{ url_for("static", filename="images/scopri-ubuntu/desktop/desktop-lo.png") }}" alt="Schermata di LibreOffice"> <img src="{{ url_for('static', filename='images/scopri-ubuntu/desktop/desktop-lo.png') }}"
alt="Schermata di LibreOffice">
</div> </div>
</div> </div>
</div>
<div class="page container">
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h2>Il web a portata di tutti</h2> <h2>
Il web a portata di tutti
</h2>
<p> <p>
Ubuntu è un sistema estremamente sicuro e all'avanguardia, con Ubuntu è un sistema estremamente sicuro e all'avanguardia, con aggiornamenti di sicurezza automatici e
aggiornamenti di sicurezza automatici e costanti. Non dovrai più costanti. Non dovrai più preoccuparti di virus o di altri tipi di malware ma potrai goderti il web come
preoccuparti di virus o di altri tipi di malware ma potrai desideri.
goderti il web come desideri.
</p> </p>
<p> <p>
Troverai preinstallato il browser <b>Mozilla Firefox</b>, il Troverai preinstallato il browser
programma di posta elettronica <b>Mozilla Thunderbird</b>, il <b>
gestore di file torrent <b>Transmission</b> e il client Mozilla Firefox
per desktop remoti <b>Remmina</b>. </b>,
il programma di posta elettronica
<b>
Mozilla Thunderbird
</b>,
il gestore di file torrent
<b>
Transmission
</b>
e il client per desktop remoti
<b>
Remmina
</b>.
</p> </p>
</div> </div>
<div class="col image-attach-corner"> <div class="col image-attach-corner">
<img src="{{ url_for("static", filename="images/scopri-ubuntu/desktop/desktop-ff.png") }}" alt="Schermata di Firefox"> <img src="{{ url_for('static', filename='images/scopri-ubuntu/desktop/desktop-ff.png') }}"
alt="Schermata di Firefox">
</div> </div>
</div> </div>
</div>
<div class="page container">
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h2>Installare nuovi programmi non è mai stato così semplice</h2> <h2>
Installare nuovi programmi non è mai stato così semplice
</h2>
<p> <p>
Dimenticati delle lunghe procedure di scaricamento e Dimenticati delle lunghe procedure di scaricamento e installazione dei programmi.
installazione dei programmi. <b>Ubuntu Software</b> è il <b>
"negozio" di applicazioni dove potrai trovare, scaricare e Ubuntu Software
installare i programmi di cui hai bisogno, con un semplice </b>
clic del mouse. Migliaia di applicazioni e giochi è il "negozio" di applicazioni dove potrai trovare, scaricare e installare i programmi di cui hai
ti stanno aspettando! bisogno, con un semplice clic del mouse. Migliaia di applicazioni e giochi ti stanno aspettando!
</p> </p>
<div class="text-center"> <div class="text-center">
<a href="https://snapcraft.io/0ad"><img src="{{ url_for("static", filename="images/scopri-ubuntu/desktop/0ad.png") }}" alt="0 A.D." title="0 A.D."></a> <a href="https://snapcraft.io/0ad"><img src="{{ url_for('static',
<a href="https://snapcraft.io/chromium"><img src="{{ url_for("static", filename="images/scopri-ubuntu/desktop/chromium.png") }}" alt="Chromium" title="Chromium"></a> filename='images/scopri-ubuntu/desktop/0ad.png') }}" alt="0 A.D." title="0 A.D."></a>
<a href="https://snapcraft.io/gimp"><img src="{{ url_for("static", filename="images/scopri-ubuntu/desktop/gimp.png") }}" alt="Gimp" title="Gimp"></a> <a href="https://snapcraft.io/chromium"><img src="{{ url_for('static',
<a href="https://snapcraft.io/inkscape"><img src="{{ url_for("static", filename="images/scopri-ubuntu/desktop/inkscape.png") }}" alt="Inkscape" title="Inkscape"></a> filename='images/scopri-ubuntu/desktop/chromium.png') }}" alt="Chromium" title="Chromium"></a>
<a href="https://kodi.tv"><img src="{{ url_for("static", filename="images/scopri-ubuntu/desktop/kodi.png") }}" alt="Kodi" title="Kodi"></a> <a href="https://snapcraft.io/gimp"><img src="{{ url_for('static',
<a href="https://snapcraft.io/lxd"><img src="{{ url_for("static", filename="images/scopri-ubuntu/desktop/lxd.png") }}" alt="LXD" title="LXD"></a> filename='images/scopri-ubuntu/desktop/gimp.png') }}" alt="Gimp" title="Gimp"></a>
<a href="http://stellarium.org/it"><img src="{{ url_for("static", filename="images/scopri-ubuntu/desktop/stellarium.png") }}" alt="Stellarium" title="Stellarium"></a> <a href="https://snapcraft.io/inkscape"><img src="{{ url_for('static',
<a href="https://snapcraft.io/telegram-desktop"><img src="{{ url_for("static", filename="images/scopri-ubuntu/desktop/telegram.png") }}" alt="Telegram" title="Telegram"></a> filename='images/scopri-ubuntu/desktop/inkscape.png') }}" alt="Inkscape" title="Inkscape"></a>
<a href="https://snapcraft.io/vlc"><img src="{{ url_for("static", filename="images/scopri-ubuntu/desktop/vlc.png") }}" alt="VLC" title="VLC"></a> <a href="https://kodi.tv"><img src="{{ url_for('static',
<a href="https://snapcraft.io/xonotic"><img src="{{ url_for("static", filename="images/scopri-ubuntu/desktop/xonotic.png") }}" alt="Xonotic" title="Xonotic"></a> filename='images/scopri-ubuntu/desktop/kodi.png') }}" alt="Kodi" title="Kodi"></a>
<a href="https://snapcraft.io/lxd"><img src="{{ url_for('static',
filename='images/scopri-ubuntu/desktop/lxd.png') }}" alt="LXD" title="LXD"></a>
<a href="http://stellarium.org/it"><img src="{{ url_for('static',
filename='images/scopri-ubuntu/desktop/stellarium.png') }}" alt="Stellarium" title="Stellarium"></a>
<a href="https://snapcraft.io/telegram-desktop"><img src="{{ url_for('static',
filename='images/scopri-ubuntu/desktop/telegram.png') }}" alt="Telegram" title="Telegram"></a>
<a href="https://snapcraft.io/vlc"><img src="{{ url_for('static',
filename='images/scopri-ubuntu/desktop/vlc.png') }}" alt="VLC" title="VLC"></a>
<a href="https://snapcraft.io/xonotic"><img src="{{ url_for('static',
filename='images/scopri-ubuntu/desktop/xonotic.png') }}" alt="Xonotic" title="Xonotic"></a>
</div> </div>
</div> </div>
<div class="col image-attach-corner"> <div class="col image-attach-corner">
<img src="{{ url_for("static", filename="images/scopri-ubuntu/desktop/desktop-dt.png") }}" alt="Schermata di Ubuntu Software"> <img src="{{ url_for('static', filename='images/scopri-ubuntu/desktop/desktop-dt.png') }}"
alt="Schermata di Ubuntu Software">
</div> </div>
</div> </div>
</div> </div>
<div class="page"> <div class="page container">
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h2>Versioni diverse per tutte le esigenze</h2> <h2>
Versioni diverse per tutte le esigenze
</h2>
<p> <p>
Ogni sei mesi viene rilasciata una nuova versione di Ubuntu. Ogni sei mesi viene rilasciata una nuova versione di Ubuntu. Esistono due versioni contraddistinte dal
Esistono due versioni contraddistinte dal periodo di supporto: periodo di supporto:
</p> </p>
</div> </div>
</div> </div>
<div class="row row-borderless" style="text-align:justify"> <div class="row row-borderless text-justify">
<div class="col"> <div class="col">
<p> <p>
<b>Versioni LTS (Long Term Support):</b> rilasciate ogni <b>
due anni nell'aprile degli anni pari, offrono un periodo di Versioni LTS (Long Term Support):
supporto di <b>5 anni</b>. Sono ideali se prevedi di </b>
effettuare un'installazione duratura nel tempo e prediligi rilasciate ogni due anni nell'aprile degli anni pari, offrono un periodo di supporto di
la stabilità al cambiamento. <b>
5 anni
</b>.
Sono ideali se prevedi di effettuare un'installazione duratura nel tempo e prediligi la stabilità al
cambiamento.
</p> </p>
</div> </div>
<div class="col"> <div class="col">
<p> <p>
<b>Versioni intermedie:</b> rilasciate ogni sei mesi ad <b>
aprile e ottobre, offrono un periodo di supporto di Versioni intermedie:
<b>9 mesi</b>. Data la frequenza dei rilasci, contengono </b>
software sempre aggiornato e nuovi driver talora essenziali rilasciate ogni sei mesi ad aprile e ottobre, offrono un periodo di supporto di
<b>
9 mesi
</b>.
Data la frequenza dei rilasci, contengono software sempre aggiornato e nuovi driver talora essenziali
per il corretto funzionamento dell'hardware più recente. per il corretto funzionamento dell'hardware più recente.
</p> </p>
</div> </div>
</div> </div>
<div class="row text-center"> <div class="row text-center">
<div> <div>
<a class="btn" href="{{ url_for("download.landing", distro="desktop") }}">Scarica Ubuntu</a> <a class="btn" href="{{ url_for('download.landing', distro='desktop') }}">
<a class="btn" href="https://wiki.ubuntu-it.org/Installazione/InstallareUbuntu">Guida all'installazione</a> Scarica Ubuntu
<a class="btn" href="http://wiki.ubuntu-it.org/GruppoPromozione/ProgettoCDUbuntu">Richiedi il DVD</a> </a>
<a class="btn" href="https://wiki.ubuntu-it.org/Installazione/InstallareUbuntu">
Guida all'installazione
</a>
<a class="btn" href="http://wiki.ubuntu-it.org/GruppoPromozione/ProgettoCDUbuntu">
Richiedi il DVD
</a>
</div> </div>
</div> </div>
</div> </div>
......
{# Source code of the Ubuntu-it website {# Source code of the Ubuntu-it website
# Copyright (C) 2015 Pietro Albini <pietroalbini@ubuntu.com> # Copyright (C) 2015 Pietro Albini <pietroalbini@ubuntu.com>
# 2015 Riccardo Padovani <rpadovani@ubuntu.com> # Copyright (C) 2023 shadMod
# #
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published # it under the terms of the GNU Affero General Public License as published
# by the Free Software Foundation, either version 3 of the License, or # by the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; witout even the implied warranty of # but WITHOUT ANY WARRANTY; witout even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details. # GNU Affero General Public License for more details.
# #
# You should have received a copy of the GNU Affero General Public License # You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
#} #}
{% extends "layout.html" %} {% extends "layout.html" %}
{% block title %}Ubuntu 20.04 LTS{% endblock %} {% block title %}Ubuntu 20.04 LTS{% endblock %}
{% block content %} {% block content %}
<div class="page"> <div class="page container">
<div class="row background-wallpaper nuovo-rilascio image-overflow"> <div class="row background-wallpaper nuovo-rilascio image-overflow">
<div class="col"> <div class="col">
<h1 class="text-center">Ubuntu 20.04 LTS Focal Fossa</h1> <h1 class="text-center">
<p class="intro text-center">L'ultimo rilascio di Ubuntu, con supporto di 5 anni.</p> Ubuntu 22.04 LTS Jammy Jellyfish
<img src="{{ url_for("static", filename="images/scopri-ubuntu/nuovo-rilascio/nuovo-desktop.png") }}" alt="Ubuntu 20.04 Focal Fossa"> </h1>
</div> <p class="intro text-center">
</div> L'ultimo rilascio di Ubuntu, con supporto di 5 anni.
<div class="row">
<div class="col">
<p>
<br><b>Focal Fossa</b> è il nome in codice di Ubuntu 20.04 LTS,
il nuovissimo rilascio supportato fino ad <b>aprile 2025</b>!<br>
</p> </p>
<img src="{{ url_for('static', filename='images/versions/jammy-jellyfish-pc.png') }}"
alt="Ubuntu 22.04 LTS Jammy Jellyfish">
</div> </div>
</div> </div>
<div class="row"></div>
</div> </div>
<div class="page"> <div class="page container">
<div class="row"> <div class="row">
<div class="col" align="justify"> <div class="col" align="justify">
<h2>Nuovi pacchetti</h2> <h2>
Nuovi pacchetti
</h2>
<p> <p>
<ul> <ul>
<li><b>Linux 5.4:</b> l'ultima versione del kernel Linux, <li>
per aiutare a migliorare la velocità di avvio l'algoritmo di compressione del kernel <b>
predefinito è stato modificato in lz4. Linux Kernel 5.15:
Supporto per numerose nuove componenti hardware, miglioramenti </b>
significativi nella gestione energetica e tanto altro.</li> l'ultima versione del kernel Linux, per aiutare a migliorare la velocità di avvio l'algoritmo di
<li><b>Strumenti aggiornati:</b> nuove versioni di glibc 2.31, compressione del kernel predefinito è stato modificato in lz4. Supporto per numerose nuove
OpenJDK 11, rustc 1.41, GCC 9.3, Python 3.8.2, ruby 2.7.0, componenti hardware, miglioramenti significativi nella gestione energetica e tanto altro.
php 7.4, perl 5.30 , golang 1.13.</li> </li>
<li><b>Driver:</b> nuove versioni dei driver per schede video, <li>
wifi, stampanti e molti altri dispositivi.</li> <b>
Strumenti aggiornati:
</b>
Python 3.10.4, Golang 1.18, PHP 8.1, Ruby 3.0, OpenJDK 18, Perl 5.34, Rust 1.58, glibc 2.35, Django
3.2.12.
</li>
<li>
<b>
Driver:
</b>
nuove versioni dei driver per schede video, wifi, stampanti e molti altri dispositivi.
</li>
</ul> </ul>
</p> </p>
</div> </div>
</div> </div>
</div>
<div class="page container">
<div class="row"> <div class="row">
<div class="col" align="justify"> <div class="col" align="justify">
<h2>Desktop e portatili</h2> <h2>
Desktop e portatili
</h2>
<p> <p>
<ul> <ul>
<li><b>GNOME 3.36:</b> aggiornato l'ambiente grafico all'ultima <li>
versione, con miglioramento delle prestazioni e nuove funzionalità.</li> <b>
<li><b>Look:</b> Ubuntu diventa sempre più moderno ed elegante GNOME 42:
anche nell'aspetto con l'aggiornamento del tema <b>Yaru</b> </b>
realizzato dalla comunità.</li> GNOME 42 è un importante miglioramento dell'ambiente desktop. Le versioni precedenti di Ubuntu
<li><b>Snap:</b> miglioramenti alla velocità di avvio e all'aspetto includevano solo GNOME 40 per impostazione predefinita, quindi ci si aspetta di trovare alcuni
delle applicazioni snap, sempre più numerose e popolari.</li> importanti miglioramenti all'ambiente desktop in questa nuova versione, tra cui significative
<li><b>Applicazioni aggiornate:</b> i programmi sono stati modifiche all'usabilità, al design e alle prestazioni.
aggiornati alle ultime versioni disponibili, come la popolare </li>
suite LibreOffice ora alla versione 6.4, Mozilla Firefox 75, <li>
Thunderbird 68.7.0, Remmina 1.4.3 e Rhythmbox 3.4.4.</li> <b>
<li><b>Ubuntu Software:</b> l'app store di Ubuntu ora permette di Dark style UI:
installare le versioni di sviluppo delle applicazioni fornite </b>
tramite snap, oltre a mostrare un'icona accanto agli editori verificati.</li> Se si preferisce il buio alla luce, è ora disponibile un tema scuro globale che può essere attivato
tramite le impostazioni dell'aspetto. Dopo averlo attivato, le finestre di sistema, le applicazioni
e persino gli sfondi diventeranno scuri e daranno all'ambiente desktop un aspetto più distinto.
</li>
<li>
<b>
Wayland:
</b>
Ubuntu 22.04 utilizza Wayland Display Server Protocol come opzione predefinita per specificare la
comunicazione tra un display server e le applicazioni desktop. È ora compatibile con l'ultima serie
di driver Nvidia 510 e rappresenta un'alternativa più semplice, sicura e performante a Xorg per
tutti i dispositivi, comprese le schede GPU Nvidia che supportano i driver 510+.
</li>
<li>
<b>
Applicazioni aggiornate:
</b>
Firefox 99, Thunderbird 91, Libre Office 7.3, Pulse Audio 16 e Network Manager 1.36.
</li>
</ul> </ul>
</p> </p>
</div> </div>
<div class="col col-quarter col-center"> <div class="col col-quarter col-center">
<img src="{{ url_for("static", filename="images/scopri-ubuntu/nuovo-rilascio/gedit.png") }}" alt="Editor di testo" title="Editor di testo"> <img src="{{ url_for('static', filename='images/scopri-ubuntu/nuovo-rilascio/gedit.png') }}"
<img src="{{ url_for("static", filename="images/scopri-ubuntu/nuovo-rilascio/software-store.png") }}" alt="Ubuntu Software" title="Ubuntu Software"> alt="Editor di testo" title="Editor di testo">
<img src="{{ url_for("static", filename="images/scopri-ubuntu/nuovo-rilascio/rhythmbox.png") }}" alt="Rhythmbox" title="Rhythmbox"> <img src="{{ url_for('static', filename='images/scopri-ubuntu/nuovo-rilascio/software-store.png') }}"
<img src="{{ url_for("static", filename="images/scopri-ubuntu/nuovo-rilascio/software-properties.png") }}" alt="Software e aggiornamenti" title="Software e aggiornamenti"> alt="Ubuntu Software" title="Ubuntu Software">
<img src="{{ url_for("static", filename="images/scopri-ubuntu/nuovo-rilascio/terminal.png") }}" alt="Terminale" title="Terminale"> <img src="{{ url_for('static', filename='images/scopri-ubuntu/nuovo-rilascio/rhythmbox.png') }}"
<img src="{{ url_for("static", filename="images/scopri-ubuntu/nuovo-rilascio/totem.png") }}" alt="Video" title="Video"> alt="Rhythmbox" title="Rhythmbox">
<img src="{{ url_for("static", filename="images/scopri-ubuntu/nuovo-rilascio/nautilus.png") }}" alt="Nautilus" title="Nautilus"> <img src="{{ url_for('static', filename='images/scopri-ubuntu/nuovo-rilascio/software-properties.png') }}"
<img src="{{ url_for("static", filename="images/scopri-ubuntu/nuovo-rilascio/folder-documents.png") }}" alt="Cartella Documenti" title="Cartella Documenti"> alt="Software e aggiornamenti" title="Software e aggiornamenti">
<img src="{{ url_for("static", filename="images/scopri-ubuntu/nuovo-rilascio/user-trash.png") }}" alt="Cestino" title="Cestino"> <img src="{{ url_for('static', filename='images/scopri-ubuntu/nuovo-rilascio/terminal.png') }}"
<img src="{{ url_for("static", filename="images/scopri-ubuntu/nuovo-rilascio/application-x-gzpdf.png") }}" alt="Pdf" title="Pdf"> alt="Terminale" title="Terminale">
<img src="{{ url_for("static", filename="images/scopri-ubuntu/nuovo-rilascio/libreoffice-text.png") }}" alt="Documento LibreOffice Writer" title="Documento LibreOffice Writer"> <img src="{{ url_for('static', filename='images/scopri-ubuntu/nuovo-rilascio/totem.png') }}" alt="Video"
<img src="{{ url_for("static", filename="images/scopri-ubuntu/nuovo-rilascio/application-zip.png") }}" alt="File compresso" title="File compresso"> title="Video">
<img src="{{ url_for('static', filename='images/scopri-ubuntu/nuovo-rilascio/nautilus.png') }}"
alt="Nautilus" title="Nautilus">
<img src="{{ url_for('static', filename='images/scopri-ubuntu/nuovo-rilascio/folder-documents.png') }}"
alt="Cartella Documenti" title="Cartella Documenti">
<img src="{{ url_for('static', filename='images/scopri-ubuntu/nuovo-rilascio/user-trash.png') }}"
alt="Cestino" title="Cestino">
<img src="{{ url_for('static', filename='images/scopri-ubuntu/nuovo-rilascio/application-x-gzpdf.png') }}"
alt="Pdf" title="Pdf">
<img src="{{ url_for('static', filename='images/scopri-ubuntu/nuovo-rilascio/libreoffice-text.png') }}"
alt="Documento LibreOffice Writer" title="Documento LibreOffice Writer">
<img src="{{ url_for('static', filename='images/scopri-ubuntu/nuovo-rilascio/application-zip.png') }}"
alt="File compresso" title="File compresso">
</div> </div>
</div> </div>
</div> </div>
<div class="page"> <div class="page container">
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h2>Passare ad Ubuntu 20.04 LTS</h2> <h2>
Passare ad Ubuntu 22.04 LTS
</h2>
<p> <p>
Esistono due modalità per passare alla nuova versione di Ubuntu: Esistono due modalità per passare alla nuova versione di Ubuntu:
</p> </p>
...@@ -108,25 +155,40 @@ ...@@ -108,25 +155,40 @@
<div class="row row-borderless" style="text-align:justify"> <div class="row row-borderless" style="text-align:justify">
<div class="col"> <div class="col">
<p> <p>
<b>Installazione:</b> scarica e installa Ubuntu 20.04 LTS da zero, <b>
come unico sistema operativo o accanto ad altri sistemi, Installazione:
</b>
scarica e installa Ubuntu 22.04 LTS da zero, come unico sistema operativo o accanto ad altri sistemi,
come descritto nella come descritto nella
<a href="https://wiki.ubuntu-it.org/Installazione/InstallareUbuntu">guida all'installazione</a>. <a href="https://wiki.ubuntu-it.org/Installazione/InstallareUbuntu">
guida all'installazione
</a>.
</p> </p>
</div> </div>
<div class="col"> <div class="col">
<p> <p>
<b>Avanzamento di versione:</b> effettua un avanzamento di <b>
versione alla 20.04 LTS partendo da Ubuntu 19.10 oppure Ubuntu 18.04 LTS, come descritto in Avanzamento di versione:
<a href="https://wiki.ubuntu-it.org/Installazione/AggiornamentoFocal">questa guida</a>. </b>
effettua un avanzamento di versione alla 22.04 LTS partendo da Ubuntu 19.10 oppure Ubuntu 18.04 LTS,
come descritto in
<a href="https://wiki.ubuntu-it.org/Installazione/AggiornamentoFocal">
questa guida
</a>.
</p> </p>
</div> </div>
</div> </div>
<div class="row text-center"> <div class="row text-center">
<div> <div>
<a class="btn" href="https://wiki.ubuntu.com/FocalFossa/ReleaseNotes">Note di rilascio</a> <a class="btn" href="https://wiki.ubuntu.com/FocalFossa/ReleaseNotes">
<a class="btn" href="{{ url_for("download.landing", distro="desktop") }}">Scarica Ubuntu</a> Note di rilascio
<a class="btn" href="http://wiki.ubuntu-it.org/GruppoPromozione/ProgettoCDUbuntu">Richiedi il DVD</a> </a>
<a class="btn" href="{{ url_for('download.landing', distro='desktop') }}">
Scarica Ubuntu
</a>
<a class="btn" href="http://wiki.ubuntu-it.org/GruppoPromozione/ProgettoCDUbuntu">
Richiedi il DVD
</a>
</div> </div>
</div> </div>
</div> </div>
......
{# Source code of the Ubuntu-it website {# Source code of the Ubuntu-it website
# Copyright (C) 2015 Pietro Albini <pietroalbini@ubuntu.com> # Copyright (C) 2015 Pietro Albini <pietroalbini@ubuntu.com>
# 2015 Riccardo Padovani <rpadovani@ubuntu.com> # Copyright (C) 2021 Alessandro Viprati <vipri.alessandro@gmail.com>
# # Copyright (C) 2023 shadMod
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU Affero General Public License as published # This program is free software: you can redistribute it and/or modify
# by the Free Software Foundation, either version 3 of the License, or # it under the terms of the GNU Affero General Public License as published
# (at your option) any later version. # by the Free Software Foundation, either version 3 of the License, or
# # (at your option) any later version.
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; witout even the implied warranty of # This program is distributed in the hope that it will be useful,
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # but WITHOUT ANY WARRANTY; witout even the implied warranty of
# GNU Affero General Public License for more details. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# # GNU Affero General Public License for more details.
# You should have received a copy of the GNU Affero General Public License #
# along with this program. If not, see <http://www.gnu.org/licenses/>. # You should have received a copy of the GNU Affero General Public License
#} # along with this program. If not, see <http://www.gnu.org/licenses/>.
#}
{% extends "layout.html" %} {% extends "layout.html" %}
{% block title %}Server{% endblock %} {% block title %}Server{% endblock %}
{% block content %} {% block content %}
<div class="page"> <div class="page container">
<div class="row background-wallpaper server"> <div class="row background-wallpaper server">
<div class="col"> <div class="col">
<h1 class="text-center">Server</h1> <h1 class="text-center">
Server
</h1>
<p class="intro text-center"> <p class="intro text-center">
Il sistema operativo per server aziendali di tutti i tipi e dimensioni. Il sistema operativo per server aziendali di tutti i tipi e dimensioni.
</p> </p>
</div> </div>
</div> </div>
</div>
<div class="page container">
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h2 class="text-center">Performante</h2> <h2 class="text-center">
Performante
</h2>
<p> <p>
Ubuntu Server è progettato per server aziendali, ogni suo Ubuntu Server è progettato per server aziendali, ogni suo elemento si integra perfettamente sulla
elemento si integra perfettamente sulla macchina ospitante. macchina ospitante.
</p> </p>
</div> </div>
<div class="col"> <div class="col">
<h2 class="text-center">Sicuro</h2> <h2 class="text-center">
Sicuro
</h2>
<p> <p>
Dopo l'installazione Ubuntu Server non presenta nessuna porta Dopo l'installazione Ubuntu Server non presenta nessuna porta aperta verso l'esterno e contiene solo il
aperta verso l'esterno e contiene solo il software necessario software necessario per un server sicuro.
per un server sicuro.
</p> </p>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h2 class="text-center">Integrato</h2> <h2 class="text-center">
Integrato
</h2>
<p> <p>
Anche se in azienda non si utilizzano computer con Ubuntu Anche se in azienda non si utilizzano computer con Ubuntu desktop non c'è alcun problema. Ubuntu Server
desktop non c'è alcun problema. Ubuntu Server permette permette l'autenticazione da qualsiasi sistema: Linux, Mac Os o Windows.
l'autenticazione da qualsiasi sistema: Linux, Mac Os o Windows.
</p> </p>
</div> </div>
<div class="col"> <div class="col">
<h2 class="text-center">Una scelta strategica</h2> <h2 class="text-center">
Una scelta strategica
</h2>
<p> <p>
Basata su Debian, famosa per la robustezza, l'edizione Server di Basata su Debian, famosa per la robustezza, l'edizione Server di Ubuntu ne eredita le ottime prestazioni
Ubuntu ne eredita le ottime prestazioni e aggiornamenti regolari. e aggiornamenti regolari. Ubuntu Server fornisce un'ottima piattaforma per sviluppare server con i più
Ubuntu Server fornisce un'ottima piattaforma per sviluppare server diffusi servizi internet: mail, web, DNS, server di file o database.
con i più diffusi servizi internet: mail, web, DNS, server di file o database.
</p> </p>
</div> </div>
</div> </div>
</div>
<div class="page container">
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h2 class="text-center">Rilasci programmati su cui poter contare</h2> <h2 class="text-center">
Rilasci programmati su cui poter contare
</h2>
<p> <p>
I rilasci a lungo termine (LTS) sono supportati da Canonical I rilasci a lungo termine (LTS) sono supportati da Canonical per cinque anni. Ogni sei mesi, i rilasci
per cinque anni. Ogni sei mesi, i rilasci intermedi forniscono intermedi forniscono nuovo software, mentre gli
nuovo software, mentre gli <a href="https://wiki.ubuntu-it.org/Rilasci/PointRelease">
<a href="https://wiki.ubuntu-it.org/Rilasci/PointRelease">aggiornamenti HWE</a> aggiornamenti HWE
</a>
forniscono supporto per le nuove macchine a tutti i rilasci LTS. forniscono supporto per le nuove macchine a tutti i rilasci LTS.
</p><br> </p><br>
<img src="{{ url_for("static", filename="images/scopri-ubuntu/server/releases.png") }}"> <img src="{{ url_for('static', filename='images/scopri-ubuntu/server/releases.png') }}">
</div> </div>
</div> </div>
<div class="row text-center"> <div class="row text-center">
<div> <div>
<a class="btn" href="{{ url_for("download.landing", distro="server") }}">Scarica Ubuntu server</a> <a class="btn" href="{{ url_for('download.landing', distro='server') }}">
<a class="btn" href="https://www.ubuntu.com/server">Scopri di più sul sito internazionale</a> Scarica Ubuntu server
</a>
<a class="btn" href="https://www.ubuntu.com/server">
Scopri di più sul sito internazionale
</a>
</div> </div>
</div> </div>
</div> </div>
......
{# Source code of the Ubuntu-it website {# Source code of the Ubuntu-it website
# Copyright (C) 2015 Pietro Albini <pietroalbini@ubuntu.com> # Copyright (C) 2015 Pietro Albini <pietroalbini@ubuntu.com>
# 2015 Riccardo Padovani <rpadovani@ubuntu.com> # Copyright (C) 2015 Riccardo Padovani <rpadovani@ubuntu.com>
# # Copyright (C) 2023 shadMod
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU Affero General Public License as published # This program is free software: you can redistribute it and/or modify
# by the Free Software Foundation, either version 3 of the License, or # it under the terms of the GNU Affero General Public License as published
# (at your option) any later version. # by the Free Software Foundation, either version 3 of the License, or
# # (at your option) any later version.
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; witout even the implied warranty of # This program is distributed in the hope that it will be useful,
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # but WITHOUT ANY WARRANTY; witout even the implied warranty of
# GNU Affero General Public License for more details. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# # GNU Affero General Public License for more details.
# You should have received a copy of the GNU Affero General Public License #
# along with this program. If not, see <http://www.gnu.org/licenses/>. # You should have received a copy of the GNU Affero General Public License
#} # along with this program. If not, see <http://www.gnu.org/licenses/>.
#}
{% extends "layout.html" %} {% extends "layout.html" %}
{% block title %}Smartphone e tablet{% endblock %} {% block title %}
Smartphone e tablet
{% endblock %}
{% block content %} {% block content %}
<div class="page"> <div class="page container">
<div class="row background-wallpaper ubuntu-touch image-overflow"> <div class="row background-wallpaper ubuntu-touch image-overflow">
<div class="col"> <div class="col">
<h1 class="text-center">Smartphone e tablet</h1> <h1 class="text-center">
<p class="intro text-center">Il sistema operativo sicuro e attento alla privacy per il mobile.</p> Smartphone e tablet
<img src="{{ url_for("static", filename="images/scopri-ubuntu/utouch/smartphone.png") }}" alt="Smartphone con Ubuntu"> </h1>
<p class="intro text-center">
Il sistema operativo sicuro e attento alla privacy per il mobile.
</p>
<img src="{{ url_for('static', filename='images/scopri-ubuntu/utouch/smartphone.png') }}"
alt="Smartphone con Ubuntu">
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<p> <p>
Ubuntu Touch è la versione per dispositivi mobile di Ubuntu. Ubuntu Touch è la versione per dispositivi mobile di Ubuntu. Questo sistema operativo è sviluppato e
Questo sistema operativo è sviluppato e mantenuto da mantenuto da
<b>UBports</b>, una comunità volenterosa e appassionata. <b>
UBports
</b>,
una comunità volenterosa e appassionata.
</p> </p>
<p> <p>
Ubuntu Touch offre un'esperienza differente dai più diffusi Ubuntu Touch offre un'esperienza differente dai più diffusi sistemi operativi per mobile. Grazie
sistemi operativi per mobile. all'interfaccia pulita e ai bordi attivi dello schermo, ognuno dei quali con una funzione differente,
Grazie all'interfaccia pulita e ai bordi attivi avrai accesso a tutte le applicazioni, gli strumenti e i file del tuo dispositivo in maniera semplice e
dello schermo, ognuno dei quali con una funzione differente, intuitiva.
avrai accesso a tutte le applicazioni, gli strumenti e i file
del tuo dispositivo in maniera semplice e intuitiva.
</p> </p>
<p> <p>
Ubuntu Touch è un sistema operativo open source. Ognuno ha Ubuntu Touch è un sistema operativo open source. Ognuno ha accesso al codice sorgente e, proprio per
accesso al codice sorgente e, proprio per questo motivo, Ubuntu questo motivo, Ubuntu Touch è virtualmente libero da virus e da altre tipologie di malware che possono
Touch è virtualmente libero da virus e da altre tipologie di estrarre i tuoi dati. In poche parole: un sistema operativo libero, sicuro e privato per il mobile.
malware che possono estrarre i tuoi dati. In poche parole: un
sistema operativo libero, sicuro e privato per il mobile.
</p> </p>
</div> </div>
</div> </div>
</div> </div>
<div class="page"> <div class="page container">
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h2>Applicazioni per tutti i gusti</h2> <h2>
Applicazioni per tutti i gusti
</h2>
<p> <p>
Ubuntu Touch offre qualunque cosa tu desideri: applicazioni Ubuntu Touch offre qualunque cosa tu desideri: applicazioni per comunicare, ascoltare la musica,
per comunicare, ascoltare la musica, navigare, giocare e molto altro. navigare, giocare e molto altro.
</p> </p>
<p> <p>
Ubuntu Touch fonisce un set di applicazioni preinstallate più Ubuntu Touch fonisce un set di applicazioni preinstallate più comuni ed essenziali per le tue necessità
comuni ed essenziali per le tue necessità di tutti i giorni. di tutti i giorni. Poichè si tratta di un sistema operativo Linux, troverai preinstallati anche un
Poichè si tratta di un sistema operativo Linux, troverai terminale ed un gestore di file ricchi di funzionalità.
preinstallati anche un terminale ed un gestore di file ricchi
di funzionalità.
</p> </p>
<p> <p>
Se vuoi farti un'idea delle applicazioni disponibili per Ubuntu Se vuoi farti un'idea delle applicazioni disponibili per Ubuntu Touch, dai un'occhiata all'
Touch, dai un'occhiata all' <a href="https://open-store.io/">
<a href="https://open-store.io/">Open Store</a>. Open Store
</a>.
</p> </p>
</div> </div>
<div class="col col-center text-center"> <div class="col col-center text-center">
<a href="https://open-store.io/app/com.ubuntu.calculator"><img src="{{ url_for("static", filename="images/scopri-ubuntu/utouch/calculator.png") }}" alt="Calculator" title="Calculator"></a> <a href="https://open-store.io/app/com.ubuntu.calculator">
<a href="https://open-store.io/app/com.ubuntu.calendar"><img src="{{ url_for("static", filename="images/scopri-ubuntu/utouch/calendar.png") }}" alt="Calendar" title="Calendar"></a> <img src="{{ url_for('static', filename='images/scopri-ubuntu/utouch/calculator.png') }}"
<a href="https://open-store.io/app/palette.kevinfeyder"><img src="{{ url_for("static", filename="images/scopri-ubuntu/utouch/chromatic.png") }}" alt="Chromatic" title="Chromatic"></a> alt="Calculator" title="Calculator">
<a href="https://open-store.io/app/com.ubuntu.clock"><img src="{{ url_for("static", filename="images/scopri-ubuntu/utouch/clock.png") }}" alt="Clock" title="Clock"></a> </a>
<a href="https://open-store.io/app/apu.johangm90"><img src="{{ url_for("static", filename="images/scopri-ubuntu/utouch/cloudmusic.png") }}" alt="CloudMusic" title="CloudMusic"></a> <a href="https://open-store.io/app/com.ubuntu.calendar">
<a href="https://open-store.io/app/com.ubuntu.filemanager"><img src="{{ url_for("static", filename="images/scopri-ubuntu/utouch/filemanager.png") }}" alt="File Manager" title="File Manager"></a> <img src="{{ url_for('static', filename='images/scopri-ubuntu/utouch/calendar.png') }}" alt="Calendar"
<a href="https://open-store.io/app/com.ubuntu.gallery"><img src="{{ url_for("static", filename="images/scopri-ubuntu/utouch/gallery.png") }}" alt="Gallery" title="Gallery"></a> title="Calendar">
<a href="https://open-store.io/app/com.mikeasoft.podbird"><img src="{{ url_for("static", filename="images/scopri-ubuntu/utouch/podbird.png") }}" alt="Podbird" title="Podbird"></a> </a>
<a href="https://open-store.io/app/com.ubuntu.telegram"><img src="{{ url_for("static", filename="images/scopri-ubuntu/utouch/telegram.png") }}" alt="Telegram" title="Telegram"></a> <a href="https://open-store.io/app/palette.kevinfeyder">
<a href="https://open-store.io/app/navigator.costales"><img src="{{ url_for("static", filename="images/scopri-ubuntu/utouch/unav.png") }}" alt="uNav" title="uNav"></a> <img src="{{ url_for('static', filename='images/scopri-ubuntu/utouch/chromatic.png') }}" alt="Chromatic"
<a href="https://open-store.io/app/com.ubuntu.developer.majster-pl.utorch"><img src="{{ url_for("static", filename="images/scopri-ubuntu/utouch/utorch.png") }}" alt="uTorch" title="uTorch"></a> title="Chromatic">
<a href="https://open-store.io/app/uwp.costales"><img src="{{ url_for("static", filename="images/scopri-ubuntu/utouch/uwriter.png") }}" alt="uWriter" title="uWriter"></a> </a>
<a href="https://open-store.io/app/com.ubuntu.clock">
<img src="{{ url_for('static', filename='images/scopri-ubuntu/utouch/clock.png') }}" alt="Clock"
title="Clock">
</a>
<a href="https://open-store.io/app/apu.johangm90">
<img src="{{ url_for('static', filename='images/scopri-ubuntu/utouch/cloudmusic.png') }}"
alt="CloudMusic" title="CloudMusic">
</a>
<a href="https://open-store.io/app/com.ubuntu.filemanager">
<img src="{{ url_for('static', filename='images/scopri-ubuntu/utouch/filemanager.png') }}"
alt="File Manager" title="File Manager">
</a>
<a href="https://open-store.io/app/com.ubuntu.gallery">
<img src="{{ url_for('static', filename='images/scopri-ubuntu/utouch/gallery.png') }}" alt="Gallery"
title="Gallery">
</a>
<a href="https://open-store.io/app/com.mikeasoft.podbird">
<img src="{{ url_for('static', filename='images/scopri-ubuntu/utouch/podbird.png') }}" alt="Podbird"
title="Podbird">
</a>
<a href="https://open-store.io/app/com.ubuntu.telegram">
<img src="{{ url_for('static', filename='images/scopri-ubuntu/utouch/telegram.png') }}" alt="Telegram"
title="Telegram">
</a>
<a href="https://open-store.io/app/navigator.costales">
<img src="{{ url_for('static', filename='images/scopri-ubuntu/utouch/unav.png') }}" alt="uNav"
title="uNav">
</a>
<a href="https://open-store.io/app/com.ubuntu.developer.majster-pl.utorch">
<img src="{{ url_for('static', filename='images/scopri-ubuntu/utouch/utorch.png') }}" alt="uTorch"
title="uTorch">
</a>
<a href="https://open-store.io/app/uwp.costales">
<img src="{{ url_for('static', filename='images/scopri-ubuntu/utouch/uwriter.png') }}" alt="uWriter"
title="uWriter">
</a>
</div> </div>
</div> </div>
</div>
<div class="page container">
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h2>Convergenza</h2> <h2>
Convergenza
</h2>
<p> <p>
Immagina di collegare il tuo smartphone a un monitor, a un Immagina di collegare il tuo smartphone a un monitor, a un mouse e a una tastiera e di vedere tutte le
mouse e a una tastiera e di vedere tutte le applicazioni, i applicazioni, i contatti e i file del tuo smartphone sul monitor. Immagina di poter lavorare ai tuoi
contatti e i file del tuo smartphone sul monitor. progetti da un unico smartphone, che può divenire comodamente un normale PC.
Immagina di poter lavorare ai tuoi progetti da un unico
smartphone, che può divenire comodamente un normale PC.
</p> </p>
<p> <p>
<b>Convergenza</b> significa proprio questo: un'esperienza che ti <b>
consente di lavorare con lo stesso sistema operativo e le stesse Convergenza
applicazioni, adattabili alle differenti dimensioni dello schermo, </b>
per fare virtualmente tutto ciò che desideri. significa proprio questo: un'esperienza che ti consente di lavorare con lo stesso sistema operativo e le
Attualmente il dispositivo che fornisce la migliore esperienza stesse applicazioni, adattabili alle differenti dimensioni dello schermo, per fare virtualmente tutto
di convergenza è lo smartphone Nexus 5 (LG) con installato ciò che desideri. Attualmente il dispositivo che fornisce la migliore esperienza di convergenza è lo
Ubuntu Touch. <a href="https://ubports.com/it_IT/devices/nexus5-convergence">Scopri di più.</a> smartphone Nexus 5 (LG) con installato Ubuntu Touch.
<a href="https://ubports.com/it_IT/devices/nexus5-convergence">
Scopri di più
</a>.
</p> </p>
</div> </div>
<div class="col text-center"> <div class="col text-center">
<img src="{{ url_for("static", filename="images/scopri-ubuntu/utouch/convergenza.jpg") }}" alt="Dispositivi con Ubuntu Touch"> <img src="{{ url_for('static', filename='images/scopri-ubuntu/utouch/convergenza.jpg') }}"
alt="Dispositivi con Ubuntu Touch">
</div> </div>
</div> </div>
</div> </div>
<div class="page"> <div class="page container">
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h2>Dispositivi</h2> <h2>
Dispositivi
</h2>
<p> <p>
È possibile installare Ubuntu Touch in diversi dispositivi È possibile installare Ubuntu Touch in diversi dispositivi elencati nella pagina
elencati nella pagina <a href="https://devices.ubuntu-touch.io/">
<a href="https://devices.ubuntu-touch.io/">devices.ubuntu-touch.io</a>. devices.ubuntu-touch.io
</a>.
</p> </p>
<p> <p>
Alcuni dispositivi sono perfettamente funzionanti, mentre altri Alcuni dispositivi sono perfettamente funzionanti, mentre altri sono ancora in fase di sviluppo. Per
sono ancora in fase di sviluppo. Per rimanere informato sulle rimanere informato sulle ultime novità introdotte in Ubuntu Touch e sullo stato di avanzamento dei
ultime novità introdotte in Ubuntu Touch e sullo stato di dispositivi, consulta il
avanzamento dei dispositivi, consulta il <a href="https://ubports.com/it_IT/blog/il-nostro-blog-1/tag/blogs-2">
<a href="https://ubports.com/it_IT/blog/il-nostro-blog-1/tag/blogs-2">Blog di UBports</a>. Blog di UBports
</a>.
</p> </p>
</div> </div>
<div class="col col-center"> <div class="col col-center">
<img src="{{ url_for("static", filename="images/scopri-ubuntu/utouch/utouchdevices.jpeg") }}" alt="Dispositivi con Ubuntu Touch"> <img src="{{ url_for('static', filename='images/scopri-ubuntu/utouch/utouchdevices.jpeg') }}"
alt="Dispositivi con Ubuntu Touch">
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<h2>Installazione</h2> <h2>
Installazione
</h2>
<p> <p>
Ubuntu Touch non è preinstallato negli smartphone e nei Ubuntu Touch non è preinstallato negli smartphone e nei tablet venduti nei negozi, ma potrai utilizzare
tablet venduti nei negozi, ma potrai utilizzare l'applicazione l'applicazione fornita da
fornita da <b>UBports</b> per installarlo in uno dei dispositivi <b>
supportati, con pochi e semplici passaggi. UBports
</b>
per installarlo in uno dei dispositivi supportati, con pochi e semplici passaggi.
</p> </p>
</div> </div>
<div class="col text-center"> <div class="col text-center">
<iframe width="380" height="214" src="https://www.youtube.com/embed/zuLFTGkuD68" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe> <iframe width="380" height="214" src="https://www.youtube.com/embed/zuLFTGkuD68" frameborder="0"
allow="autoplay; encrypted-media" allowfullscreen></iframe>
</div> </div>
</div> </div>
<div class="row text-center"> <div class="row text-center">
<div> <div>
<a class="btn" href="https://ubports.com/">Scopri di più sul sito di UBports</a> <a class="btn" href="https://ubports.com/">
<a class="btn" href="https://devices.ubuntu-touch.io/">Dispositivi supportati</a> Scopri di più sul sito di UBports
</a>
<a class="btn" href="https://devices.ubuntu-touch.io/">
Dispositivi supportati
</a>
</div> </div>
</div> </div>
</div> </div>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment