OPIS PRZEDMIOTU ZAMÓWIENIA Przedmiotem zamówienia jest zorganizowanie i przeprowadzenie przez Wykonawcę/Wykonawców następujących szkoleń informatycznych dla wybranych osób funkcyjnych Szefostwa Służby Hydrometeorologicznej SZ RP: Zadanie 1: Wprowadzenie do Django - Korzystanie z narzędzi programistycznych dla Pythona oraz Django - Abstrakcja bazy danych (Mapowanie obiektowo-relacyjne): - Tworzenie modelu - Eksport i import danych (za pomocą JSON) - Praca z ORM w wierszu poleceń - Pisanie prostych i ogólnych perspektyw - Tworzenie szablonów - Debugowanie - Definiowanie adresów URL w jednym miejscu (Routing) - Formularze i ich walidacja - Zarządzanie sesją - Uwierzytelnienie - Pisanie własnego middleware - Tworzenie własnych tagów i filtrów - Funkcjonalne testy jednostkowe - Umiędzynarodowienie b) Ilość uczestników: 3 osoby. c) Czas trwania szkolenia: Programista PHPO (6 godzin lekcyjnych/dzień). Zadanie 2: Wprowadzenie do Python dla programistów - Python w porównaniu z innymi językami programowania - Konfiguracja środowiska programistycznego - Rozbudowane przykłady - Moduły 1
- Obiekty - Nazwy - Typy danych - Kontrola przepływu - Przestrzeń nazw - Funkcje - Klasy - Sekwencje - Słowniki - Przetwarzanie tekstu - Wejście / Wyjście - Funkcje system b) Ilość uczestników: 4 osoby. c) Czas trwania szkolenia: 3 dni (6 godzin lekcyjnych/dzień). Zadanie 3: Zarządzanie serwerem Apache w systemie Linux - Wprowadzenie do serwera Apache i protokołu HTTP - Instalacja serwera Apache - Konfiguracja obsługi PYTHON i bibliotek, serwera MySQL, PostgreSQL - Dyrektywy - Serwery wirtualne - Katalogi użytkowników - Przekierowania - Logowanie zdarzeń - Statystyki odwiedzin - Zarządzanie dostępem poprzez konfigurację plików.htaccess - Indeksy - Instalacja i konfiguracja serwera FTP/SFTP do współpracy z serwerem Apache b) Ilość uczestników: 3 osoby. c) Czas trwania szkolenia: 2 dni (6 godzin lekcyjnych/dzień). 2
Zadanie 4: PostgreSQL dla administratorów - Instalacja - Konfiguracja - Tuning wydajności - Zabezpieczenia - Zarządzanie - Kopie zapasowe b) Ilość uczestników: 3 osoby. c) Czas trwania szkolenia: 2 dni (6 godzin lekcyjnych/dzień). Zadanie 5: Programowanie powłoki w BASH - Edytory - Wybór powłoki - Wywoływanie skryptu - Komendy zewnętrzne i wbudowane - Zmienne i parametry - Wyrażenia regularne (Regular Expressions) - Filtry (tail, head, tr, wc) - Archiwizacja plików - Przetwarzanie argumentów i interakcje z użytkownikiem - Program GREP - Stream Editor (sed) - Programy interaktywne - Funkcje - Komenda Steep - Debugging - Sygnały b) Ilość uczestników: 3 osoby. c) Czas trwania szkolenia: 2 dni (6 godzin lekcyjnych/dzień). 3
Zadanie 6: Cisco ASA - Modele i opis możliwości urządzeń Cisco ASA - Podstawowa konfiguracja Cisco ASA (konfiuracja w command line i ASDM) - Listy kontroli dostępu: współpraca ACL i algorytmu ASA; kontrola ruchu przez ASA i ruchu zatrzymanego przez ASA; wykorzystanie objects i objects groups - Translacje - funkcjonowanie i konfiguracja: NAT; Statyczny NAT; Port Address Translation - Routing ASA: Routing statyczny; RIP; OSPF - Modular policy framework : narzędzie do grupowania ruchu w celu poddania go odrębnym regułom oraz inspekcji warstw powyżej warstwy 4 modelu OSI/ISO - Konfiguracja i zarządzanie VPN: Site to Site (IPSec); IPSec Remote Access using VPN clients (ver 4.x and 5.x); EZY VPN (It uses IPSec protocol too); Anyconnect (SSL Based VPN) - Transparent firewall - Mechanizm failover - Cisco ASA cluster (CLI i ASDM): konfiguracja, zarządzanie - Cisco ASA Security Group: cechy, konfigurajca, zarządzanie b) Ilość uczestników: 3 osoby. c) Czas trwania szkolenia: 2 dni (6 godzin lekcyjnych/dzień). Zadanie 7: Administracja Systemem LINUX DEBIAN - Instalacja systemu, - Administracja użytkownikami i grupami: pam, sudo - Administracja systemami plików: partycjonowanie dysków; ext2/3/4, reiserfs, vfat, ntfs; LVM, software RAID - Zarządzanie urządzeniami: udev; hal, - Proces uruchamiania systemu: Programy rozruchowe (boot bloadery); Skrypty startowe; Poziomy pracy systemu - Backup systemu 4
- Konfiguracja zadań okresowych - Zarządzanie dziennikiem logów systemowych - Konfiguracja i zabezpieczanie systemu: /proc; sysctl; Selinux - Administracja siecią TCP/IP: Karty sieciowe w Linuksie, wykrywanie i instalacja modułów; Konfiguracja interfejsów i rutingu; Monitorowanie sieci - Zabezpieczanie sieci komputerowych: tunel VPN Openvpn; tworzenie polityki firewalla netfilter iptables - Serwery usług: Superserwer (xinetd) i TCP wrapper DHCP Podstawowa konfiguracja SSH scp, tunelowanie, ssh w oparciu o klucze FTP vsftpd: instalacja i konfiguracja vsftpd, współpraca FTP z xinetd, serwer FTP a firewall (tryby działania), bezpieczeństwo serwera FTP (chroot, selinux, użytkownik anonimowy) DNS bind: instalacja i podstawowa konfiguracja bind, konfiguracja klienta, weryfikacja działania, bezpieczeństwo serwera DNS (chroot, acl, selinux) Samba: udostępnianie zasobów w sieciach heterogenicznych, SWAT, bezpieczeństwo Serwer WWW Apache: konfiguracja, moduły Apache, wirtualne hosty Proxy Squid: transparentne proxy, filtrowanie dostępu acl c) Ilość uczestników: 3 osoby. d) Czas trwania szkolenia: 5 dni (6 godzin lekcyjnych/dzień). Zadanie 8: Tworzenie stron WWW HTML i CSS Techniczne podstawy działania WWW: architektura klient-serwer, protokół HTTP, formularze. Rejestracja domeny, założenie konta na serwerze hostingowym. Podstawy języka XML: elementy, atrybuty, komentarze. Język HTML: - podstawowe tagi: tytuły, akapity, listy wypunktowane i numerowane, tabele, rysunki, linki, encje, 5
- kodowanie polskich liter. Walidacja dokumentu HTML. Sposoby dołączania CSS-a do dokumentu. Budowa arkusza stylów: reguły, selektory, deklaracje, właściwości, wartości. Selektory CSS (w tym selektory dodane w CSS 3): - wybór elementów według nazwy, klasy, id, atrybutów i pokrewieństwa w drzewie DOM, - łączenie selektorów przy użyciu operatorów, - pseudoklasy i pseudoelementy. Ważniejsze właściwości CSS i wartości, które mogą przyjmować: - sposoby określania kolorów, bezwzględne i względne jednostki długości, - określanie wyglądu tła, ramki, wyglądu tekstu, - skrótowe zapisy niektórych właściwości. Model pudełkowy i model formatowania wizualnego: - elementy a pudełka, pudełka inlajnowe i blokowe, elementy opływane (właściwość float), - różne sposoby pozycjonowania elementów, - pułapki i zachowania nieoczywiste, Korzystanie z nietypowych czcionek: - umieszczanie fontów na serwerze, - korzystanie z fontów udostępnianych przez google web fonts. Typowe problemy wynikające z niezgodności między przeglądarkami i ich rozwiązywanie. Różne podejścia do wyświetlania stron na urządzeniach o różnej rozdzielczości: fixed layout, flow layout, responsive layout. Framework CSS na przykładzie Twitter Bootstrap: - rusztowanie (scaffolding) pozwalające wygodnie rozmieszczać elementy na stronie, - gotowe komponenty: różne rodzaje menu i zakładek, formularze, typografia, - zastosowanie frameworka Twitter Bootstrap do tworzenia układów typu fixed layout, flow layout i responsive layout. Analiza przykładowych projektów. 6
Przygotowywanie grafiki na potrzeby WWW: - różne sposoby kompresji obrazu i ich zastosowanie w popularnych formatach graficznych, - wady, zalety i typowe zastosowania różnych formatów graficznych, - proste przetwarzanie grafiki: przycinanie, skalowanie, konwersja między formatami, korzystanie z warstw. Javascript Techniczne podstawy działania WWW: architektura klient-serwer, protokół HTTP, formularze: - ładowanie biblioteki jquery, - sięganie po elementy strony przy użyciu selektorów CSS, - efekty wizualne: różne rodzaje ukrywania i odkrywania elementów, - animacja przez stopniowe zmienianie właściwości CSS, - obsługa zdarzeń, - walidacja formularzy, - przydatne pluginy. Wordpress Zasada działania systemów CMS. Zarządzanie instalacją Wordpressa: - podstawowa konfiguracja, - różne działania administracyjne: backupowanie, ręczna ingerencja w bazę danych, odzyskiwanie Wordpressa, do której straciliśmy hasło. Wypełnianie sajtu treścią: - budowa witryny: artykuły i kategorie, menu i pozycje menu, zasoby, moduły, - edycja artykułów. Zarządzanie użytkownikami: - użytkownicy i grupy, - poziomy dostępu, uprawnienia: do oglądania podstron i do wykonywania działań. Zamieszczanie reklam i banerów. Korzystanie z szablonów, modułów i dodatków, instalacja rozszerzeń. Pisanie własnych szablonów. b) Ilość uczestników: 1 osoba. 7
c) Czas trwania szkolenia: 10 dni (6 godzin lekcyjnych/dzień). Zadanie 9: Programista PHP Podstawy Wstęp do PHP, HTML, CSS, XML: - projektowanie witryn od strony programisty HTML i CSS, - elementy formularza, metody POST i GET, żądania http, - zmienne, warunki i pętle (podstawowa składnia if... else, while), - najważniejsze funkcje PHP. Praca z bazami danych: - pobieranie danych z MySQL-a i Postgresa, - modyfikacja danych, - ochrona przed atakami typu SQL Injection i Cross Site Scripting. Zarządzanie danymi Wykorzystanie relacyjnych baz danych: - typy danych w języku SQL, - agregaty, podkwerendy, różne rodzaje złączeń, - różnice między MySQL-em a Postgresem. Projektowanie baz danych: - diagramy ERD (Entity Relationship Diagram), - tworzenie projektu bazy na podstawie prostej specyfikacji problemu, - baza w postaci normalnej, - polecenia DDL dla MySQL-a i Postgresa. Przetwarzanie i pozyskiwanie danych w formacie XML - budowa dokumentu XML; instrukcje przetwarzania, terminologia, kodowanie, - przestrzenie nazw w dokumentach XML. PHP w praktyce Zmienne, funkcje, tablice, napisy: - przekazywanie zmiennych przez wartość i przez referencję, 8
- operacje na tablicach (wyszukiwanie, sortowanie, zaawansowane, sortowanie), - operacje na łańcuchach znaków, wyrażenia regularne (Regexp), - rzutowanie i problem niejawnego rzutowania. Programowanie obiektowe: - składnia obiektowa i wykorzystanie istniejących bibliotek, - praktyki dotyczące wczytywania klas, - projektowanie programów obiektowych: składnia definicji klas, widoczność, asercja typu parametrów w metodach i funkcjach, użycie interfejsów i klas abstrakcyjnych, - przykładowe interfejsy i klasy biblioteki SPL (Standard PHP Library; np. Iterator, ArrayAccess, DirectoryIterator), - podstawy diagramów klas UML, - wzorce projektowe charakterystyczne dla aplikacji PHP, - stworzenie prostej aplikacji w modelu MVC (w wariancie Front Controller). Techniki warstwy prezentacji Javascript: - język Javascript: funkcje, zmienne, sposób użycia w kontekście dokumentu HTML, - model DOM, efekty i animacja, - przykładowe popularne skrypty dostępne w sieci (efekty), - dynamiczna walidacja formularza. Systemy szablonowe, ich użycie w aplikacjach MVC: - użycie systemu Smarty (bądź podobnego, np. Twig). b) Ilość uczestników: 1 osoba. c) Czas trwania szkolenia: 10 dni (6 godzin lekcyjnych/dzień). Termin realizacji: do 30.11.2019 r. Inne wymagania: a) Zamawiający dopuszcza składanie ofert częściowych z podziałem na 9 części (zadania). Wykonawca może złożyć ofertę na jedno lub na wszystkie (części) zadania. 9
b) Zamawiający wymaga całkowitej realizacji zakresu szkolenia wyszczególnionego w zadaniu (oferta na cały zakres szkolenia w danych zadaniu). c) Zamawiając nie przewiduje prawa opcji w przedmiotowym postepowaniu. d) Zamawiający nie dopuszcza możliwości składania ofert wariantowych. e) Wykonawca może powierzyć wykonanie zamówienia podwykonawcom. W takiej sytuacji Wykonawca zobowiązany jest do wskazania w ofercie część (zakres) zamówienia, który powierzy podwykonawcom wraz z podaniem nazw firm podwykonawców. Niniejsze dotyczy wszystkich podwykonawców. f) Wykonawca ponosi pełną odpowiedzialność wobec Zamawiającego i osób trzecich za szkody i skutki wynikłe w trakcie realizacji zamówienia. g) Liczba szkolonych określna maksymalną liczebność grupy szkoleniowej. h) Wykonawca nie może przeprowadzić szkolenia w formie dołączenia do grup otwartych. i) Wykonawca zobowiązuje się do: - zapewnienia zespołu realizującego zamówienie składającego się ze specjalistów posiadających odpowiednie kwalifikacje, wiedzę i doświadczenie, dającego rękojmię prawidłowej realizacji przedmiotu zamówienia, na wymaganym przez Zamawiającego poziomie (odpowiednia i certyfikowana kadra trenerska). W skład zespołu ma również wchodzić osoba upoważniona do kontaktu odpowiedzialna za sprawy organizacyjne i kontakty bieżące z upoważnionym przedstawicielem SSH SZ RP oraz Zamawiającym; - zapewnienia zastępstw osób prowadzących szkolenia (trenerów) w przypadku niemożności ich przybycia na szkolenie i jego przeprowadzenia. Osoby te muszą spełniać co najmniej te same warunki (wymagania) jak trenerzy zastępowani; - przygotowania i uzgodnienia z SSH SZ RP programu szkolenia oraz terminu i formy przeprowadzenia zajęć. Szkolenie powinno obejmować wykłady, prezentacje multimedialne i zajęcia praktyczne. Dominujący powinien być charakter warsztatowy szkolenia (zajęcia praktyczne), zastosowane metody nauczania musza uwzględniać indywidualne podejście do każdego szkolonego. 10
- przeprowadzenia szkoleń w języku polskim. Nie dopuszcza się przeprowadzenia szkolenia w innym języku z jednoczesnym tłumaczeniem na język polski; - zapewnienia sali szkoleniowej w zakresie niezbędnym do niezakłóconego i komfortowego przeprowadzenia szkolenia, spełniającego wymagania BHP i przepisy ppoż., wyposażonego w stanowiska komputerowe spełniające zasady ergonomii oraz sprzęt komputerowy (jeden komputer dla każdego szkolonego) w konfiguracji sprzętowej/oprogramowaniem zapewniający bezproblemową i komfortową pracę z aplikacjami stanowiącymi przedmiot szkolenia. Sala szkoleniowa musi być klimatyzowana, wyposażona w niezbędne pomoce dydaktyczne (np. projektor multimedialny, ekran), posiadać swobodny dostęp do sanitariatów oraz obsługi cateringowej; - zapewnienia, w każdym dniu szkolenia, obsługi cateringowej w postaci swobodnego i nieograniczonego dostępu w trakcie szkolenia do kawy z automatycznego ekspresu ciśnieniowego (wybór kawa czarna, latte, kawa z mlekiem), herbaty, wody gazowanej i niegazowanej w małych butelkach, świeżych owoców (min. 4 rodzaje); - zapewnienia, w każdym dniu szkolenia, jednodaniowego obiadu sporządzonego na bazie produktów, przygotowanych zgodnie ze standardami HACCP. Obiady muszą być wysokiej jakości (min. 150g mięsa, surówka ze świeżych warzyw), wykonane z produktów naturalnych, minimalnie przetworzonych, przyrządzonych metodą tradycyjną (nie można używać gotowych produktów oraz typu instant), z ograniczeniem substancji dodatkowych, konserwantów i barwników. - zapewnienia zastępczej infrastruktury informatycznej w przypadku awarii sprzętu; - zapewnienia uczestnikom szkolenia materiałów szkoleniowych (w języku polskim) w formie skryptów, książek oraz innych materiałów dydaktycznych dostarczonych w wersji papierowej i elektronicznej (Pendrive); - zapewnienia w pobliżu budynku w którym odbywać się będzie szkolenie min. jednego bezpłatnego miejsca parkingowego dla samochodu osobowego; 11
- wydanie uczestnikom szkolenia imiennych certyfikatów (sygnowanych przez certyfikowaną firmę) ukończenia szkolenia zawierających informacje dotyczące głównej tematyki szkolenia, liczby godzin szkolenia oraz szczegółowej listy zdobytych umiejętności. j) Realizacja wszystkich szkoleń będzie odbywać się w dni robocze Zamawiającego, na terenie miasta stołecznego Warszawa, w terminach uzgodnionych w trybie roboczym z SSH SZ RP. Godzina rozpoczęcia szkolenia 8.00-9.00. k) Wykonawca zobowiązany jest uwzględnić w cenie oferty wszystkie koszty związane z organizacją i przeprowadzeniem szkoleń, w tym koszty wynagrodzeń wykładowców, materiałów szkoleniowych, pomocy dydaktycznych, wynajmu pomieszczeń szkoleniowych, cateringu i wyżywienia, wystawienia certyfikatów itp. l) W terminie do 10 dni roboczych, licząc od dnia podpisania umowy, Wykonawca dostarczy do SSH SZ RP w formie pisemnej i elektronicznej: - szczegółowy program szkolenia. Program szkolenia, poza wykazem zagadnień omawianych w trakcie szkolenia i ilości godzin przeznaczonych na poszczególne zagadnienia, powinien zawierać również imiona i nazwiska wykładowców oraz informacje o posiadanych przez nich certyfikatach trenerskich; - propozycje terminów szkoleń (dzień, miesiąc, rok) przewidywane ramy czasowe (godziny rozpoczęcia, zakończenia oraz wykaz przewidzianych w programie przerw) lokalizację sali szkoleniowej (co najmniej nazwa i adres budynku) oraz lokalizację miejsc parkingowych. Ponad to musi zawierać numer telefonu komórkowego osoby odpowiedzialnej za przyjęcie szkolonych i wskazanie lokalizacji miejsc parkingowych. m) SSH SZ RP zatwierdzi lub zwróci z uwagami szczegółowy program szkolenia oraz propozycje terminów szkoleń w terminie do 5 dni roboczych od ich otrzymania. W przypadku zgłoszenia uwag przez SSH SZ RP, Wykonawca zobowiązuje się do ich uwzględnienia i przekazania poprawionej wersji w terminie 3 dni roboczych od dnia otrzymania uwag. SSH SZ RP po otrzymaniu poprawionych propozycji dokona ich pisemnej akceptacji w terminie 2 dni roboczych od dnia ich otrzymania. Nieuwzględnienie uwag traktowane będzie jako nienależyte wykonanie umowy. 12
n) SSH SZ RP ma prawo, przed rozpoczęciem szkolenia lub w trakcie jego realizacji, kontrolować warunki oferowane przez Wykonawcę. W przypadku, gdy warunki będą odbiegać od wymogów Zamawiającego, Wykonawca zobowiązany jest usunąć uchybienia w ciągu 1 dnia pod sankcją wypowiedzenia umowy ze skutkiem natychmiastowym. o) Po przeprowadzeniu każdego ze szkoleń, będących przedmiotem umowy, Wykonawca sporządzi protokół przeprowadzenia szkolenia, według wzoru stanowiącego o przeprowadzeniu każdego ze szkoleń, będących przedmiotem umowy, Wykonawca sporządzi protokół przeprowadzenia szkolenia, według wzoru stanowiącego załącznik nr. do umowy Zamawiający lub SSH SZ RP zatwierdzi protokół z przeprowadzenia szkolenia, bądź zgłosi zastrzeżenia w terminie 1 dnia roboczego od daty otrzymania od Wykonawcy. p) Wykonawca (w uzgodnieniu z SSH SZ RP) może zmienić termin szkolenia, bez ponoszenia z tego tytułu jakichkolwiek konsekwencji, jednak nie mniej niż 3 dni przed terminem jego rozpoczęcia i wyłącznie w przypadku wystąpienia poważnych problemów natury organizacyjnej i/lub technicznej powodujących, że przeprowadzenie szkolenia w tym terminie jest niemożliwe lub znacząco utrudnione. q) SSH SZ RP może zmienić termin szkolenia, bez ponoszenia z tego tytułu jakichkolwiek konsekwencji, jednak nie mniej niż 3 dni robocze przed terminem jego rozpoczęcia. r) Informacja o zmianie terminu wymaga formy pisemnej i powinna być niezwłocznie przesłana drugiej stronie. Zmiana terminu szkolenia nie wymaga aneksu do umowy, z zastrzeżeniem zachowania terminu realizacji umowy tj. 30.11.2019 r. s) W przypadku zmiany terminu szkolenia strona odwołująca zaproponuje nowy termin szkolenia. Strony uzgadniają nowy termin w ciągu 2 dni roboczych od dnia, w którym miało odbyć się planowane szkolenie, z zastrzeżeniem zachowania terminu realizacji umowy tj. 30.11.2019 r. 13