Consulting, services, computer engineering. Implementation of technology solutions and support for businesses.

kubernetes application web nginx avec docker sur google cloud platform

User Rating: 5 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Active

 

kubernetes application web nginx avec docker sur google cloud platform : création des instances

 

Ce tutorial est une démonstration en laboratoire pour le plaisir, à but non lucratif, pour montrer que le concept est possible, ou pour un cours dans le cadre scolaire. Ne testez pas dans un environnement réel de production

 

But du POC: Configurer Kubernetes pour orchestrer 5 pods containers faisant tourner l'application web Nginx sous docker

kubernetes application web nginx avec docker sur google cloud platform orchestration

 

Création des instances sur Google Cloud Platform:

Google gloud/Compute engine/VM instances

kubernetes application web nginx avec docker sur google cloud platform vm instances

 

Une question? Posez-la ici

Besoin d'aide avec Kubernetes?

kubernetes application web nginx avec docker sur google cloud platform : configuration

On clique sur SSH sur le master

 

sudo su -s

On aurait pu créer le script en python mais le bash convient bien dans ce cas précis

# Etape 1 - Permettre au iptables de voir le bridged traffic

cat >>/etc/sysctl.d/kubernetes.conf<<EOF

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

EOF

cat >>/etc/sysctl.d/kubernetes.conf<<EOF

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

EOF

# Etape 2 - Appliquer la modification

 

sysctl --system

 

* Applying /etc/sysctl.d/10-console-messages.conf ...

kernel.printk = 4 4 1 7

* Applying /etc/sysctl.d/10-ipv6-privacy.conf ...

net.ipv6.conf.all.use_tempaddr = 2

net.ipv6.conf.default.use_tempaddr = 2

* Applying /etc/sysctl.d/10-kernel-hardening.conf ...

kernel.kptr_restrict = 1

* Applying /etc/sysctl.d/10-link-restrictions.conf ...

fs.protected_hardlinks = 1

fs.protected_symlinks = 1

* Applying /etc/sysctl.d/10-lxd-inotify.conf ...

fs.inotify.max_user_instances = 1024

* Applying /etc/sysctl.d/10-magic-sysrq.conf ...

kernel.sysrq = 176

* Applying /etc/sysctl.d/10-network-security.conf ...

net.ipv4.conf.default.rp_filter = 1

net.ipv4.conf.all.rp_filter = 1

net.ipv4.tcp_syncookies = 1

* Applying /etc/sysctl.d/10-ptrace.conf ...

kernel.yama.ptrace_scope = 1

* Applying /etc/sysctl.d/10-zeropage.conf ...

vm.mmap_min_addr = 65536

* Applying /usr/lib/sysctl.d/50-default.conf ...

net.ipv4.conf.all.promote_secondaries = 1

net.core.default_qdisc = fq_codel

* Applying /etc/sysctl.d/60-gce-network-security.conf ...

net.ipv4.tcp_syncookies = 1

net.ipv4.conf.all.accept_source_route = 0

net.ipv4.conf.default.accept_source_route = 0

net.ipv4.conf.all.accept_redirects = 0

net.ipv4.conf.default.accept_redirects = 0

net.ipv4.conf.all.secure_redirects = 1

net.ipv4.conf.default.secure_redirects = 1

net.ipv4.ip_forward = 0

net.ipv4.conf.all.send_redirects = 0

net.ipv4.conf.default.send_redirects = 0

net.ipv4.conf.all.rp_filter = 1

net.ipv4.conf.default.rp_filter = 1

net.ipv4.icmp_echo_ignore_broadcasts = 1

net.ipv4.icmp_ignore_bogus_error_responses = 1

net.ipv4.conf.all.log_martians = 1

net.ipv4.conf.default.log_martians = 1

kernel.randomize_va_space = 2

kernel.panic = 10

* Applying /etc/sysctl.d/99-cloudimg-ipv6.conf ...

net.ipv6.conf.all.use_tempaddr = 0

net.ipv6.conf.default.use_tempaddr = 0

* Applying /etc/sysctl.d/99-sysctl.conf ...

* Applying /etc/sysctl.d/kubernetes.conf ...

* Applying /etc/sysctl.conf ...

 

Une question? Posez-la ici

Besoin d'aide avec Kubernetes?

kubernetes application web nginx avec docker sur google cloud platform : installation docker

 

 

# Etape 3 - Installer docker

apt update && apt install -y docker.io apt-transport-https ca-certificates \

curl gnupg-agent software-properties-common

root@loic-master:~# apt update && apt install -y docker.io apt-transport-https ca-certificates \

> curl gnupg-agent software-properties-common

Get:1 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]

Hit:2 http://northamerica-northeast1.gce.archive.ubuntu.com/ubuntu bionic InRelease

Get:3 http://northamerica-northeast1.gce.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]

Get:4 http://northamerica-northeast1.gce.archive.ubuntu.com/ubuntu bionic-backports InRelease [83.3 kB]

Get:5 http://northamerica-northeast1.gce.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages [8570 kB]

Get:6 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages [2493 kB]

Get:7 http://security.ubuntu.com/ubuntu bionic-security/main Translation-en [432 kB]                      

Get:8 http://security.ubuntu.com/ubuntu bionic-security/restricted amd64 Packages [1021 kB]                   

Get:9 http://security.ubuntu.com/ubuntu bionic-security/restricted Translation-en [141 kB]                   

Get:10 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 Packages [1249 kB]                   

Get:11 http://northamerica-northeast1.gce.archive.ubuntu.com/ubuntu bionic/universe Translation-en [4941 kB] 

Get:12 http://security.ubuntu.com/ubuntu bionic-security/universe Translation-en [289 kB]                    

Get:13 http://security.ubuntu.com/ubuntu bionic-security/multiverse amd64 Packages [19.1 kB]                 

Get:14 http://security.ubuntu.com/ubuntu bionic-security/multiverse Translation-en [3908 B]                  

Get:15 http://northamerica-northeast1.gce.archive.ubuntu.com/ubuntu bionic/multiverse amd64 Packages [151 kB]

Get:16 http://northamerica-northeast1.gce.archive.ubuntu.com/ubuntu bionic/multiverse Translation-en [108 kB]

Get:17 http://northamerica-northeast1.gce.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [2828 kB]

Get:18 http://northamerica-northeast1.gce.archive.ubuntu.com/ubuntu bionic-updates/restricted amd64 Packages [1051 kB]

Get:19 http://northamerica-northeast1.gce.archive.ubuntu.com/ubuntu bionic-updates/restricted Translation-en [146 kB]

Get:20 http://northamerica-northeast1.gce.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages [1862 kB]

Get:21 http://northamerica-northeast1.gce.archive.ubuntu.com/ubuntu bionic-updates/universe Translation-en [403 kB]

Get:22 http://northamerica-northeast1.gce.archive.ubuntu.com/ubuntu bionic-updates/multiverse amd64 Packages [24.9 kB]

Get:23 http://northamerica-northeast1.gce.archive.ubuntu.com/ubuntu bionic-updates/multiverse Translation-en [6072 B]

Get:24 http://northamerica-northeast1.gce.archive.ubuntu.com/ubuntu bionic-backports/main amd64 Packages [53.3 kB]

Get:25 http://northamerica-northeast1.gce.archive.ubuntu.com/ubuntu bionic-backports/main Translation-en [14.6 kB]

Get:26 http://northamerica-northeast1.gce.archive.ubuntu.com/ubuntu bionic-backports/universe amd64 Packages [18.1 kB]

Get:27 http://northamerica-northeast1.gce.archive.ubuntu.com/ubuntu bionic-backports/universe Translation-en [8668 B]

Fetched 26.1 MB in 5s (4899 kB/s)

Reading package lists... Done

Building dependency tree      

Reading state information... Done

3 packages can be upgraded. Run 'apt list --upgradable' to see them.

Reading package lists... Done

Building dependency tree      

Reading state information... Done

curl is already the newest version (7.58.0-2ubuntu3.21).

curl set to manually installed.

software-properties-common is already the newest version (0.96.24.32.18).

software-properties-common set to manually installed.

The following package was automatically installed and is no longer required:

  libnuma1

Use 'apt autoremove' to remove it.

The following additional packages will be installed:

  bridge-utils containerd pigz runc ubuntu-fan

Suggested packages:

  ifupdown aufs-tools cgroupfs-mount | cgroup-lite debootstrap docker-doc rinse zfs-fuse | zfsutils

The following NEW packages will be installed:

  apt-transport-https bridge-utils containerd docker.io gnupg-agent pigz runc ubuntu-fan

The following packages will be upgraded:

  ca-certificates

1 upgraded, 8 newly installed, 0 to remove and 2 not upgraded.

Need to get 69.0 MB of archives.

After this operation, 333 MB of additional disk space will be used.

Get:1 http://northamerica-northeast1.gce.archive.ubuntu.com/ubuntu bionic/universe amd64 pigz amd64 2.4-1 [57.4 kB]

Get:2 http://northamerica-northeast1.gce.archive.ubuntu.com/ubuntu bionic-updates/main amd64 ca-certificates all 20211016ubuntu0.18.04.1 [140 kB]

Get:3 http://northamerica-northeast1.gce.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 apt-transport-https all 1.6.14 [4348 B]

Get:4 http://northamerica-northeast1.gce.archive.ubuntu.com/ubuntu bionic/main amd64 bridge-utils amd64 1.5-15ubuntu1 [30.1 kB]

Get:5 http://northamerica-northeast1.gce.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 runc amd64 1.1.0-0ubuntu1~18.04.1 [3896 kB]

Get:6 http://northamerica-northeast1.gce.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 containerd amd64 1.5.9-0ubuntu1~18.04.1 [33.0 MB]

Get:7 http://northamerica-northeast1.gce.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 docker.io amd64 20.10.12-0ubuntu2~18.04.1 [31.8 MB]

Get:8 http://northamerica-northeast1.gce.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 gnupg-agent all 2.2.4-1ubuntu1.6 [4868 B]

Get:9 http://northamerica-northeast1.gce.archive.ubuntu.com/ubuntu bionic/main amd64 ubuntu-fan all 0.12.10 [34.7 kB]

Fetched 69.0 MB in 4s (18.6 MB/s)

Preconfiguring packages ...

Selecting previously unselected package pigz.

(Reading database ... 66644 files and directories currently installed.)

Preparing to unpack .../0-pigz_2.4-1_amd64.deb ...

Unpacking pigz (2.4-1) ...

Preparing to unpack .../1-ca-certificates_20211016ubuntu0.18.04.1_all.deb ...

Unpacking ca-certificates (20211016ubuntu0.18.04.1) over (20211016~18.04.1) ...

Selecting previously unselected package apt-transport-https.

Preparing to unpack .../2-apt-transport-https_1.6.14_all.deb ...

Unpacking apt-transport-https (1.6.14) ...

Selecting previously unselected package bridge-utils.

Preparing to unpack .../3-bridge-utils_1.5-15ubuntu1_amd64.deb ...

Unpacking bridge-utils (1.5-15ubuntu1) ...

Selecting previously unselected package runc.

Preparing to unpack .../4-runc_1.1.0-0ubuntu1~18.04.1_amd64.deb ...

Unpacking runc (1.1.0-0ubuntu1~18.04.1) ...

Selecting previously unselected package containerd.

Preparing to unpack .../5-containerd_1.5.9-0ubuntu1~18.04.1_amd64.deb ...

Unpacking containerd (1.5.9-0ubuntu1~18.04.1) ...

Selecting previously unselected package docker.io.

Preparing to unpack .../6-docker.io_20.10.12-0ubuntu2~18.04.1_amd64.deb ...

Unpacking docker.io (20.10.12-0ubuntu2~18.04.1) ...

Selecting previously unselected package gnupg-agent.

Preparing to unpack .../7-gnupg-agent_2.2.4-1ubuntu1.6_all.deb ...

Unpacking gnupg-agent (2.2.4-1ubuntu1.6) ...

Selecting previously unselected package ubuntu-fan.

Preparing to unpack .../8-ubuntu-fan_0.12.10_all.deb ...

Unpacking ubuntu-fan (0.12.10) ...

Setting up apt-transport-https (1.6.14) ...

Setting up runc (1.1.0-0ubuntu1~18.04.1) ...

Setting up containerd (1.5.9-0ubuntu1~18.04.1) ...

Created symlink /etc/systemd/system/multi-user.target.wants/containerd.service → /lib/systemd/system/containerd.service.

Setting up bridge-utils (1.5-15ubuntu1) ...

Setting up ubuntu-fan (0.12.10) ...

Created symlink /etc/systemd/system/multi-user.target.wants/ubuntu-fan.service → /lib/systemd/system/ubuntu-fan.service.

Setting up gnupg-agent (2.2.4-1ubuntu1.6) ...

Setting up ca-certificates (20211016ubuntu0.18.04.1) ...

Updating certificates in /etc/ssl/certs...

rehash: warning: skipping ca-certificates.crt,it does not contain exactly one certificate or CRL

0 added, 3 removed; done.

Setting up pigz (2.4-1) ...

Setting up docker.io (20.10.12-0ubuntu2~18.04.1) ...

Adding group `docker' (GID 116) ...

Done.

Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /lib/systemd/system/docker.service.

Created symlink /etc/systemd/system/sockets.target.wants/docker.socket → /lib/systemd/system/docker.socket.

Processing triggers for systemd (237-3ubuntu10.56) ...

Processing triggers for man-db (2.8.3-2ubuntu0.1) ...

Processing triggers for ureadahead (0.100.0-21) ...

Processing triggers for ca-certificates (20211016ubuntu0.18.04.1) ...

Updating certificates in /etc/ssl/certs...

0 added, 0 removed; done.

Running hooks in /etc/ca-certificates/update.d...

done.

 

 

kubernetes application web nginx avec docker sur google cloud platform : ajour du repo kubernetes

 

soit on edite le.list avec nano, soit on lance cette commande

 

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -

echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" > /etc/apt/sources.list.d/kubernetes.list

 

# Etape 5 - Installer les composants kubernetes

 

apt update && apt install -y kubeadm=1.21.0-00 kubelet=1.21.0-00 kubectl=1.21.0-00

 

Hit:1 http://security.ubuntu.com/ubuntu bionic-security InRelease

Hit:2 http://northamerica-northeast1.gce.archive.ubuntu.com/ubuntu bionic InRelease                          

Hit:4 http://northamerica-northeast1.gce.archive.ubuntu.com/ubuntu bionic-updates InRelease         

Hit:5 http://northamerica-northeast1.gce.archive.ubuntu.com/ubuntu bionic-backports InRelease

Get:3 https://packages.cloud.google.com/apt kubernetes-xenial InRelease [9383 B]      

Get:6 https://packages.cloud.google.com/apt kubernetes-xenial/main amd64 Packages [61.4 kB]

Fetched 70.8 kB in 3s (27.6 kB/s)

Reading package lists... Done

Building dependency tree      

Reading state information... Done

2 packages can be upgraded. Run 'apt list --upgradable' to see them.

Reading package lists... Done

Building dependency tree      

Reading state information... Done

The following package was automatically installed and is no longer required:

  libnuma1

Use 'apt autoremove' to remove it.

The following additional packages will be installed:

  conntrack cri-tools kubernetes-cni socat

The following NEW packages will be installed:

  conntrack cri-tools kubeadm kubectl kubelet kubernetes-cni socat

0 upgraded, 7 newly installed, 0 to remove and 2 not upgraded.

Need to get 79.6 MB of archives.

After this operation, 333 MB of additional disk space will be used.

Get:2 http://northamerica-northeast1.gce.archive.ubuntu.com/ubuntu bionic/main amd64 conntrack amd64 1:1.4.4+snapshot20161117-6ubuntu2 [30.6 kB]

Get:4 http://northamerica-northeast1.gce.archive.ubuntu.com/ubuntu bionic/main amd64 socat amd64 1.7.3.2-2ubuntu2 [342 kB]

Get:1 https://packages.cloud.google.com/apt kubernetes-xenial/main amd64 cri-tools amd64 1.25.0-00 [17.9 MB]

Get:3 https://packages.cloud.google.com/apt kubernetes-xenial/main amd64 kubernetes-cni amd64 1.1.1-00 [25.0 MB]

Get:5 https://packages.cloud.google.com/apt kubernetes-xenial/main amd64 kubelet amd64 1.21.0-00 [18.8 MB]

Get:6 https://packages.cloud.google.com/apt kubernetes-xenial/main amd64 kubectl amd64 1.21.0-00 [8972 kB]

Get:7 https://packages.cloud.google.com/apt kubernetes-xenial/main amd64 kubeadm amd64 1.21.0-00 [8544 kB]

Fetched 79.6 MB in 5s (15.9 MB/s) 

Selecting previously unselected package conntrack.

(Reading database ... 66973 files and directories currently installed.)

Preparing to unpack .../0-conntrack_1%3a1.4.4+snapshot20161117-6ubuntu2_amd64.deb ...

Unpacking conntrack (1:1.4.4+snapshot20161117-6ubuntu2) ...

Selecting previously unselected package cri-tools.

Preparing to unpack .../1-cri-tools_1.25.0-00_amd64.deb ...

Unpacking cri-tools (1.25.0-00) ...

Selecting previously unselected package kubernetes-cni.

Preparing to unpack .../2-kubernetes-cni_1.1.1-00_amd64.deb ...

Unpacking kubernetes-cni (1.1.1-00) ...

Selecting previously unselected package socat.

Preparing to unpack .../3-socat_1.7.3.2-2ubuntu2_amd64.deb ...

Unpacking socat (1.7.3.2-2ubuntu2) ...

Selecting previously unselected package kubelet.

Preparing to unpack .../4-kubelet_1.21.0-00_amd64.deb ...

Unpacking kubelet (1.21.0-00) ...

Selecting previously unselected package kubectl.

Preparing to unpack .../5-kubectl_1.21.0-00_amd64.deb ...

Unpacking kubectl (1.21.0-00) ...

Selecting previously unselected package kubeadm.

Preparing to unpack .../6-kubeadm_1.21.0-00_amd64.deb ...

Unpacking kubeadm (1.21.0-00) ...

Setting up conntrack (1:1.4.4+snapshot20161117-6ubuntu2) ...

Setting up kubernetes-cni (1.1.1-00) ...

Setting up cri-tools (1.25.0-00) ...

Setting up socat (1.7.3.2-2ubuntu2) ...

Setting up kubelet (1.21.0-00) ...

Created symlink /etc/systemd/system/multi-user.target.wants/kubelet.service → /lib/systemd/system/kubelet.service.

Setting up kubectl (1.21.0-00) ...

Setting up kubeadm (1.21.0-00) ...

Processing triggers for man-db (2.8.3-2ubuntu0.1) ...

root@loic-master:~# 

 

.

# initialiser l'api du cluster kubernetes

kubeadm init --apiserver-advertise-address=<l'adresse ip de votre machine master> \

--pod-network-cidr=192.168.0.0/16 --ignore-preflight-errors=all

# initialiser l'api du cluster kubernetes

kubeadm init --apiserver-advertise-address=10.162.0.16 \

--pod-network-cidr=192.168.0.0/16 --ignore-preflight-errors=all

I1207 09:17:46.744599   12576 version.go:254] remote version is much newer: v1.25.4; falling back to: stable-1.21

[init] Using Kubernetes version: v1.21.14

[preflight] Running pre-flight checks

        [WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd". Please follow the guide at https://kubernetes.io/docs/setup/cri/

[preflight] Pulling images required for setting up a Kubernetes cluster

[preflight] This might take a minute or two, depending on the speed of your internet connection

[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'

[certs] Using certificateDir folder "/etc/kubernetes/pki"

[certs] Generating "ca" certificate and key

[certs] Generating "apiserver" certificate and key

[certs] apiserver serving cert is signed for DNS names [kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local loic-master] and IPs [10.96.0.1 10.162.0.16]

[certs] Generating "apiserver-kubelet-client" certificate and key

[certs] Generating "front-proxy-ca" certificate and key

[certs] Generating "front-proxy-client" certificate and key

[certs] Generating "etcd/ca" certificate and key

[certs] Generating "etcd/server" certificate and key

[certs] etcd/server serving cert is signed for DNS names [localhost loic-master] and IPs [10.162.0.16 127.0.0.1 ::1]

[certs] Generating "etcd/peer" certificate and key

[certs] etcd/peer serving cert is signed for DNS names [localhost loic-master] and IPs [10.162.0.16 127.0.0.1 ::1]

[certs] Generating "etcd/healthcheck-client" certificate and key

[certs] Generating "apiserver-etcd-client" certificate and key

[certs] Generating "sa" key and public key

[kubeconfig] Using kubeconfig folder "/etc/kubernetes"

[kubeconfig] Writing "admin.conf" kubeconfig file

[kubeconfig] Writing "kubelet.conf" kubeconfig file

[kubeconfig] Writing "controller-manager.conf" kubeconfig file

[kubeconfig] Writing "scheduler.conf" kubeconfig file

[kubelet-start] Writing kubelet environment file with flags to file "/var/lib/kubelet/kubeadm-flags.env"

[kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml"

[kubelet-start] Starting the kubelet

[control-plane] Using manifest folder "/etc/kubernetes/manifests"

[control-plane] Creating static Pod manifest for "kube-apiserver"

[control-plane] Creating static Pod manifest for "kube-controller-manager"

[control-plane] Creating static Pod manifest for "kube-scheduler"

[etcd] Creating static Pod manifest for local etcd in "/etc/kubernetes/manifests"

[wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory "/etc/kubernetes/manifests". This can take up to 4m0s

[kubelet-check] Initial timeout of 40s passed.

[apiclient] All control plane components are healthy after 58.504957 seconds

[upload-config] Storing the configuration used in ConfigMap "kubeadm-config" in the "kube-system" Namespace

[kubelet] Creating a ConfigMap "kubelet-config-1.21" in namespace kube-system with the configuration for the kubelets in the cluster

[upload-certs] Skipping phase. Please see --upload-certs

[mark-control-plane] Marking the node loic-master as control-plane by adding the labels: [node-role.kubernetes.io/master(deprecated) node-role.kubernetes.io/control-plane node.kubernetes.io/exclude-from-external-load-balancers]

[mark-control-plane] Marking the node loic-master as control-plane by adding the taints [node-role.kubernetes.io/master:NoSchedule]

[bootstrap-token] Using token: 70wxtr.72yl8h60yvyp06w0

[bootstrap-token] Configuring bootstrap tokens, cluster-info ConfigMap, RBAC Roles

[bootstrap-token] configured RBAC rules to allow Node Bootstrap tokens to get nodes

[bootstrap-token] configured RBAC rules to allow Node Bootstrap tokens to post CSRs in order for nodes to get long term certificate credentials

[bootstrap-token] configured RBAC rules to allow the csrapprover controller automatically approve CSRs from a Node Bootstrap Token

[bootstrap-token] configured RBAC rules to allow certificate rotation for all node client certificates in the cluster

[bootstrap-token] Creating the "cluster-info" ConfigMap in the "kube-public" namespace

[kubelet-finalize] Updating "/etc/kubernetes/kubelet.conf" to point to a rotatable kubelet client certificate and key

[addons] Applied essential addon: CoreDNS

[addons] Applied essential addon: kube-proxy

Your Kubernetes control-plane has initialized successfully!

To start using your cluster, you need to run the following as a regular user:

  mkdir -p $HOME/.kube

  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

  sudo chown $(id -u):$(id -g) $HOME/.kube/config

Alternatively, if you are the root user, you can run:

  export KUBECONFIG=/etc/kubernetes/admin.conf

You should now deploy a pod network to the cluster.

Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:

  https://kubernetes.io/docs/concepts/cluster-administration/addons/

Then you can join any number of worker nodes by running the following on each as root:

kubeadm join 10.162.0.16:6443 --token 70wxtr.72yl8h60yvyp06w0 \

        --discovery-token-ca-cert-hash sha256:eea627abb9ca4392559c5494b243610f47dd1a14dfa296d36b8f740d2b717700

root@loic-master:~# 

  


# Configurer le networking interne du cluster
kubectl --kubeconfig=/etc/kubernetes/admin.conf create -f https://docs.projectcalico.org/v3.14/manifests/calico.yaml

 

root@loic-master:~# kubectl --kubeconfig=/etc/kubernetes/admin.conf create -f https://docs.projectcalico.org/v3.14/manifests/calico.yaml

configmap/calico-config created

Warning: apiextensions.k8s.io/v1beta1 CustomResourceDefinition is deprecated in v1.16+, unavailable in v1.22+; use apiextensions.k8s.io/v1 CustomResourceDefinition

customresourcedefinition.apiextensions.k8s.io/bgpconfigurations.crd.projectcalico.org created

customresourcedefinition.apiextensions.k8s.io/bgppeers.crd.projectcalico.org created

customresourcedefinition.apiextensions.k8s.io/blockaffinities.crd.projectcalico.org created

customresourcedefinition.apiextensions.k8s.io/clusterinformations.crd.projectcalico.org created

customresourcedefinition.apiextensions.k8s.io/felixconfigurations.crd.projectcalico.org created

customresourcedefinition.apiextensions.k8s.io/globalnetworkpolicies.crd.projectcalico.org created

customresourcedefinition.apiextensions.k8s.io/globalnetworksets.crd.projectcalico.org created

customresourcedefinition.apiextensions.k8s.io/hostendpoints.crd.projectcalico.org created

customresourcedefinition.apiextensions.k8s.io/ipamblocks.crd.projectcalico.org created

customresourcedefinition.apiextensions.k8s.io/ipamconfigs.crd.projectcalico.org created

customresourcedefinition.apiextensions.k8s.io/ipamhandles.crd.projectcalico.org created

customresourcedefinition.apiextensions.k8s.io/ippools.crd.projectcalico.org created

customresourcedefinition.apiextensions.k8s.io/kubecontrollersconfigurations.crd.projectcalico.org created

customresourcedefinition.apiextensions.k8s.io/networkpolicies.crd.projectcalico.org created

customresourcedefinition.apiextensions.k8s.io/networksets.crd.projectcalico.org created

clusterrole.rbac.authorization.k8s.io/calico-kube-controllers created

clusterrolebinding.rbac.authorization.k8s.io/calico-kube-controllers created

clusterrole.rbac.authorization.k8s.io/calico-node created

clusterrolebinding.rbac.authorization.k8s.io/calico-node created

daemonset.apps/calico-node created

serviceaccount/calico-node created

deployment.apps/calico-kube-controllers created

serviceaccount/calico-kube-controllers created

root@loic-master:~# 

Nous avons maintenant un master et un worker:

kubernetes application web nginx avec docker sur google cloud platform cluster master worker

On clique sur SSH sur le worker

Welcome to Ubuntu 18.04.6 LTS (GNU/Linux 5.4.0-1096-gcp x86_64)

 * Documentation:  https://help.ubuntu.com

 * Management:     https://landscape.canonical.com

 * Support:        https://ubuntu.com/advantage

  System information as of Wed Dec  7 09:28:10 UTC 2022

  System load:  0.08              Processes:           105

  Usage of /:   18.8% of 9.51GB   Users logged in:     0

  Memory usage: 5%                IP address for ens4: 10.162.0.17

  Swap usage:   0%

0 updates can be applied immediately.

The programs included with the Ubuntu system are free software;

the exact distribution terms for each program are described in the

individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by

applicable law.

Répeter le process d'installation de docker sur le worker

kubernetes application web nginx avec docker sur google cloud platform : jointure cluster master worker

On fait joindre le woker1 au master-node

kubeadm join 10.162.0.16:6443 --token 70wxtr.72yl8h60yvyp06w0 \
--discovery-token-ca-cert-hash sha256:eea627abb9ca4392559c5494b243610f47dd1a14dfa296d36b8f740d2b717700

root@loic-master:~# kubeadm token create --print-join-command
kubeadm join 10.162.0.16:6443 --token tynh4r.iy44albpjc6aj70y --discovery-token-ca-cert-hash sha256:eea627abb9ca4392559c5494b243610f47dd1a14dfa296d36b8f740d2b717700

[preflight] Running pre-flight checks

        [WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd". Please follow the guide at https://kubernetes.io/docs/setup/cri/

[preflight] Reading configuration from the cluster...

[preflight] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'

[kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml"

[kubelet-start] Writing kubelet environment file with flags to file "/var/lib/kubelet/kubeadm-flags.env"

[kubelet-start] Starting the kubelet

[kubelet-start] Waiting for the kubelet to perform the TLS Bootstrap...

This node has joined the cluster:

* Certificate signing request was sent to apiserver and a response was received.

* The Kubelet was informed of the new secure connection details.

Run 'kubectl get nodes' on the control-plane to see this node join the cluster.

kubernetes application web nginx avec docker sur google cloud platform : en service managé

Dans le google cloud, on peut créer master+worker automatiquement grace à Kubernetes services, en service managé. C’est plus simple, on n’a pas à gérer l’infra, le réseau, la sécurité. En tant qu’utilisateur on ne se concentre que sur le déploiement c’est beaucoup plus simple:

Google cloud/Kubernetes engine/cluster

kubernetes application web nginx avec docker sur google cloud platform kubernetes engines cluster

Créer cluster en standard:

kubernetes application web nginx avec docker sur google cloud platform cluster create standard

 

Une question? Posez-la ici

Besoin d'aide avec Kubernetes ?

 

configure

mettre prénom

Loic

default pool/Noeud/micro

 

kubernetes application web nginx avec docker sur google cloud platform kubernetes cluster basics

 

 

 

Par defaut on est à :

158$ par mois

Estimated monthly cost PREVIEW

$158.38

That's about $0.22 per hour

Pricing is based on the resources you use, management fees, discounts and credits. 

En optimisant:

 

 

kubernetes application web nginx avec docker sur google cloud platform kubernetes e2 micro

 

           

Avec cette petite optimisation, on arrive à

Estimated monthly cost PREVIEW

$86.03

That's about $0.12 per hour

Pricing is based on the resources you use, management fees, discounts and credits.

Une question? Posez-la ici

Besoin d'aide pour réduire les couts de votre cluster Kubernetes ?

Le cluster est créé:

 

kubernetes application web nginx avec docker sur google cloud platform cluster ok

 

 

kubernetes application web nginx avec docker sur google cloud platform : le cloud shell

 

Le Cloud shell:

C’est une machine qui permet de lancer des commandes

sorte de machine locale directement accessible, avec 30Go par defaut, c’est comme une machine locale

 

kubernetes application web nginx avec docker sur google cloud platform activate cloud shell

 

Dans cete Cloud shell, a-t-on kubectl? Et quelle version?

loic_kubernetes@cloudshell:~ (exalted-gamma-343120)$ kubectl version

WARNING: This version information is deprecated and will be replaced with the output from kubectl version --short. Use --output=yaml|json to get the full version.

Client Version: version.Info{Major:"1", Minor:"25", GitVersion:"v1.25.3", GitCommit:"434bfd82814af038ad94d62ebe59b133fcb50506", GitTreeState:"clean", BuildDate:"2022-10-12T10:57:26Z", GoVersion:"go1.19.2", Compiler:"gc", Platform:"linux/amd64"}

 

On va utiliser le Cloudshell en guise de machine locale

Ensuite je pourrai me connecter au cluster Kubernetes pour créer des namespaces, des pods…

Sur le cluster, connecter

executer sur le cloud shell

 

kubernetes application web nginx avec docker sur google cloud platform run in cloud shell

 

Welcome to Cloud Shell! Type "help" to get started.

Your Cloud Platform project in this session is set to exalted-gamma-343120.

Use “gcloud config set project [PROJECT_ID]” to change to a different project.

loic_kubernetes@cloudshell:~ (exalted-gamma-343120)$ gcloud container clusters get-credentials loic-cluster --zone us-central1-c --project exalted-gamma-343120

Automatiquement, il a collé la configuration dans ~/.kube (étape que l’on a fait auparavant) et maintenant avec Kkubectl on peut interroger le cluster

on tape kubectl version:

loic_kubernetes@cloudshell:~ (exalted-gamma-343120)$ kubectl version

WARNING: This version information is deprecated and will be replaced with the output from kubectl version --short. Use --output=yaml|json to get the full version.

Client Version: version.Info{Major:"1", Minor:"25", GitVersion:"v1.25.4", GitCommit:"872a965c6c6526caa949f0c6ac028ef7aff3fb78", GitTreeState:"clean", BuildDate:"2022-11-09T13:36:36Z", GoVersion:"go1.19.3", Compiler:"gc", Platform:"linux/amd64"}

Kustomize Version: v4.5.7

Avec

kubectl get nodes

On voit les nodes

loic_kubernetes@cloudshell:~ (exalted-gamma-343120)$ kubectl get nodes

NAME                                         STATUS   ROLES   AGE   VERSION

gke-loic-cluster-default-pool-bb5af307-3txs   Ready   <none>   110m   v1.23.12-gke.100

gke-loic-cluster-default-pool-bb5af307-9kfr   Ready   <none>   110m   v1.23.12-gke.100

Sur l’interface du serveur, on clique sur deployer

selectionner l’image docker à déployer

nginx:latest

 

 

 

 

kubernetes application web nginx avec docker sur google cloud platform : création d'un déploiement nginx

 

kubernetes application web nginx avec docker sur google cloud platform kubernetes create deployment

 

cliquer plus bas sur continuer

Choisir son cluster:

 

kubernetes application web nginx avec docker sur google cloud platform choisir cluster

 

 

En cliquant sur YAML on visualise le fichier YAML

 

---

apiVersion: "apps/v1"

kind: "Deployment"

metadata:

name: "nginx-1"

namespace: "default"

labels:

app: "nginx-1"

spec:

replicas: 3

selector:

matchLabels:

app: "nginx-1"

template:

metadata:

labels:

app: "nginx-1"

spec:

containers:

- name: "nginx-1"

image: "nginx:latest"

---

apiVersion: "autoscaling/v2"

kind: "HorizontalPodAutoscaler"

metadata:

name: "nginx-1-hpa-zh7r"

namespace: "default"

labels:

app: "nginx-1"

spec:

scaleTargetRef:

kind: "Deployment"

name: "nginx-1"

apiVersion: "apps/v1"

minReplicas: 1

maxReplicas: 5

metrics:

- type: "Resource"

resource:

name: "cpu"

target:

type: "Utilization"

averageUtilization: 80

On clique sur deploy et on a les détails du deploiement

kubernetes application web nginx avec docker sur google cloud platform deployment details

alternivement, on peut le faire manuellement avec des fichiers yaml:


https://kubernetes.io/docs/tasks/run-application/run-stateless-application-deployment/
copier coller:

apiVersion: apps/v1

kind: Deployment

metadata:

  name: nginx-deployment

spec:

  selector:

    matchLabels:

      app: nginx

  replicas: 2 # tells deployment to run 2 pods matching the template

  template:

    metadata:

      labels:

        app: nginx

    spec:

      containers:

      - name: nginx

        image: nginx:1.14.2

        ports:

        - containerPort: 80

Dans la console de la machine “locale” taper

Utiliser Vi ou Nano:

vi nginx-deployment.yml

coller le contenu du fichier en faisant SHIFT+INSERT ou CTL+V

sauvegarder

On le lance avec

kubectl create -f nginx-deployment.yml

kubernetes application web nginx avec docker sur google cloud platform : création du napespace nginx

Création du namespace:

kubectl create namespace ns-moncif

kubectl create namespace ns-loic

voir les namespaces:

kubectl get ns

loic_kubernetes@cloudshell:~ (exalted-gamma-343120)$ kubectl create namespace ns-loic

namespace/ns-loic created

loic_kubernetes@cloudshell:~ (exalted-gamma-343120)$ kubectl get ns

NAME              STATUS   AGE

default           Active   114m

kube-node-lease   Active   114m

kube-public       Active   114m

kube-system       Active   114m

ns-loic           Active   19s

kubectl get pods -n default

loic_kubernetes@cloudshell:~ (exalted-gamma-343120)$ kubectl get pods -n default

NAME                       READY   STATUS    RESTARTS   AGE

nginx-1-5b9c56c897-cz8pv   1/1     Running   0          79m

nginx-1-5b9c56c897-ddf72   1/1     Running   0          79m

nginx-1-5b9c56c897-plmv6   1/1     Running   0          79m

 

kubectl –replicas=6 -f deployment.yaml –namespace=ns-nginx

kubectl scale deployment ngix-deployment –replicas=6 –namespace=ns-nginx

 

kubectl scale --replicas=6

 

kubectl config set-context --current –namespace=ns-nginx

kubectl scale deployment nginx-deployment -replicas=6

 

kubectl create -f nginx-deployment.yml

 

kubectl get pods

 

loic_kubernetes@cloudshell:~ (exalted-gamma-343120)$ kubectl get pods

NAME                               READY   STATUS    RESTARTS   AGE

nginx-deployment-9456bbbf9-nlqf8   1/1     Running   0          2m48s

nginx-deployment-9456bbbf9-xc8zc   1/1     Running   0          2m48s

kubectl scale - - replicas=6 nginx-deployment

loic_kubernetes@cloudshell:~ (exalted-gamma-343120)$ kubectl scale --replicas=6 -f nginx-deployment.yml

deployment.apps/nginx-deployment scaled

kubernetes application web nginx avec docker sur google cloud platform : déploiement sur 6 pods

On a bien 6 pods:

kubectl get deployments

loic_kubernetes@cloudshell:~ (exalted-gamma-343120)$ kubectl get deployments

NAME               READY   UP-TO-DATE   AVAILABLE   AGE

nginx-deployment   6/6     6            6           15m

kubectl get pods

loic_kubernetes@cloudshell:~ (exalted-gamma-343120)$ kubectl get pods

NAME                               READY   STATUS    RESTARTS   AGE

nginx-deployment-9456bbbf9-2phcl   1/1     Running   0          101s

nginx-deployment-9456bbbf9-5bqgm   1/1     Running   0          101s

nginx-deployment-9456bbbf9-dvlzl   1/1     Running   0          101s

nginx-deployment-9456bbbf9-nlqf8   1/1     Running   0          14m

nginx-deployment-9456bbbf9-pzxhk   1/1     Running   0          101s

nginx-deployment-9456bbbf9-xc8zc   1/1     Running   0          14m

Voilà, notre instance Kubernetes orchestrant 6 pods docker Nginx fonctionne

Il faut maintenant créer le service pour faire communiquer les containers avec l'exterieur

On crée un service, fichie yml qui pointe sur ce déploiement

Se service contient un load balancer

Ce service expose

            -un port Load balancer : 80

            -un port worker : 30697

            -un port pod : 80

Ce service expose une url que l’on peut interroger via navigateur

kubectl get deployments

On va créer le service nginx-service.yml

nano nginx-service.yml

 

apiVersion: v1

kind: Service

metadata: 

  name: nginx-service

spec: 

  type: LoadBalancer 

  selector:   

    name: nginx 

  ports:   

    - protocol: TCP     

      port: 80     

      targetPort: 80     

      nodePort:   32623

On aplique le service

kubectl apply -f nginx-service.yml

kubectl get svc

loic_kubernetes@cloudshell:~ (exalted-gamma-343120)$ kubectl apply -f nginx-service.yml

service/nginx-service created

 

loic_kubernetes@cloudshell:~ (exalted-gamma-343120)$ kubectl get svc

NAME               TYPE           CLUSTER-IP    EXTERNAL-IP     PORT(S)        AGE

nginx-deployment   LoadBalancer   10.20.2.218   35.232.234.15   80:32623/TCP   5m2s

 

Quand on tape l’IP : http://35.232.234.15  dans le navigateur, on voir la page NGINX:

 

Welcome to nginx!

If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

For online documentation and support please refer to nginx.org.
Commercial support is available at 
nginx.com.

Thank you for using nginx.

 

Cet article reflète exclusivement l'opinion de ses auteurs et n’engage en aucune façon Consultingit. J'espère que ça vous a plu. Vos commentaires/remarques sont les bienvenus:

 

 

 

 

Talent IO Paris Creative Code algorave cookie collective INRéV Michel bret

User Rating: 5 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Active

Talent IO Paris Creative Code algorave cookie collective INRéV : sommaire

 

Ce tutorial est une démonstration en laboratoire pour le plaisir, à but non lucratif, pour montrer que le concept est possible, ou pour un cours dans le cadre scolaire. Ne testez pas dans un environnement réel de production

 

Développer des application c'est sympa, mais lier l'art et le développement, l'art algorithmique, c'est encore mieux. C'est ce que nous proposent zOrg, Michel Bret, et Flopine chez Talent.io

 

Trois sujets autour du graphisme 2D et 3D, sujets qui nous seront présentés par zOrg, Michel Bret, et Flopine.

zOrg est un Creativecoder passionné par la création d'images numériques. Il programme des visuels en temps réel, synchronisés à du son, projetés sur des murs lors de soirées appelées "algorave". Il va nous présenter son rapport au livecoding, en retracant les événements récents du cookie collective, et les célébrations des 10 ans de l'algorave.

Michel Bret est un artiste numérique, et a été un des pionniers de l'image numérique en France. Il vient aujourd'hui nous présenter une méthode de travail pour la création artistique, dont voici le programme :
- rappel sur les réseaux neuronaux
- application à l'image interactive et aux acteurs virtuels
- les rêves artificiels
- la programmation interactive: live coding et fly coding
Cette présentation utilisera les concepts mêmes qu'elle introduit sous la forme de programmes interactifs.

Florine 'Flopine' Fouquart est une artiste numérique membre du Cookie Collective et doctorante à l'université Paris 8 dans l'équipe de recherche INRéV. Elle nous présente l'évolution de sa pratique du code créatif mise en relation avec sa plongée dans la scène démo.
Débutant par une vue d'ensemble et un petit historique sur la scène démo - une communauté d'artistes et techniciens partageant une passion pour l'art algorithmique - ce talk proposera ensuite une description de ce qui est, selon elle, fondamentale dans la maîtrise de son médium et dans son processus créatif. Des exemples concrets mêlant art et optimisation technique clôtureront cette présentation.

 

Une question? Posez-la ici

Besoin d'aide en dev?

Talent.IO est un job board permettant de trouver des jobs en développement avec transparence sur les salaires.

creativeCode intervenants artistes ou creatifs: art autour de la programmation de manière générale.

Talent IO Paris Creative Code algorave cookie collective INRéV : Michel Bret les rêves avec réseaux neuronaux

Les réseaux neuronaux, rêve artificiel, live coding, et autres choses inventées.

Réseaux neuronaux: c'est fondamental, on en a plein dans la tête. On entend "Deep learning" partout, mais ça date des années 1970, alors on découvre aujourd'hui ce qui a été fait en 1970. Algorithme qui permet de résoudre des problèmes linéaires que ne permet pas de faire le perceptron.

Entrée (oeil, oreillle), sorties (main, bouche) et couches cachées qui correspondent à notre cortex cérébral.

On utilise des réseaux pour reconnaitre des choses avec une matrice de poids synaptique. Algorithme de rétro propagation d'erreur: on calcule l'erreur par rapport à la sortie, différence entre ce qu'on voulait qu'il fasse et ce qu'il fait: intégrations différentielles. 

Les algorithmes de reconnaissances faciales marchent bien, en Python par exemple, parce qu'il y a des arlgorithmes entrainés avec des millions d'images. 

Le cerveau fonctionne en 16hertz généralement.

Mais l'algorithme sur les perceptrons, n'est pas conçu de la même manière que notre cerveau, l'information circule de gauche à droite.

Alors que notre cerveau fonctionne de manière réentrente et fait des boucles. Donc le deep learning n'est pas une bonne solution pour ce type d'art graphique.

Michel Bret utilise les réseaux réentrants pour créer.

Exemple de réseau neuronaux qui fabrique ds rêves.

Animation avec des bonhommes qui dansent au son de la musique "borderline". En fonction du signal audio, l'algorithme génère des animation des personnages.

Comme dans un rêve, on voit des images alors qu'on a les yeux fermés. Le cerveau s'envoie à lui même les informations. Réflexion= réentrence. On peut faire rêver les ordinateurs.

 

Une question? Posez-la ici

Besoin d'aide en dev?

Talent IO Paris Creative Code algorave cookie collective INRéV : Michel Bret avec le live coding

 

 Programmation classique: on programme, on compile, on link et ça donne un executable.

L'assembleur permet de programmer près de la machine

Linker: remplacer les appels de fonctions par des adresses et il regarde s'il manque des fonctions

Executable

Si on veut modifier le code, il faut refaire tout ce process, c'est long. D'où le live coding: modifier le code pendant que l'executable fonctionne.

On utilise un interpréteur, mais il compile à chaque passage de ligne.

Autre façon: on utilise un assembleur de base, chaqua ligne est interprétée

Autre façon: compilateurs dynamiques comme le langage Chuck ou anyflo de Michel Bret , anyflo.exe.

Mais les informaticiens sont de grands conservateurs: on crée un truc on l'étudie, mais ensuite on ne veut pas le changer.

Avant d'affecter une variable, il faut la présenter et la déclarer. 

Quand x est déclaré entier on ne peut pas le changer. Idem pour les structures. Mais dans un compilateur dynamique, on peut changer le type des objets. On peut donc faire de la programmation génétique. Car les structures autrements sont définies à la compilation et ensuite on ne peut pas les changer.

Soit une fonction live_code(){} qui crée des bodies, des corps. On peut faire des rotations entre 0 et pi...

Talent IO Paris Creative Code algorave cookie collective INRéV : Michel Bret avec l'emergent coding

Des programmes qui se créent eux mêmes: ils s'auto engendrent.

C'est du code qui se génère tout seul.

Avec de la musique, les bodies s'animent tous seuls et de plus en plus vite.

Philo génétique: on croise les programes entre eux

On applique des algorithmes génétqiues, ou programmation génétique. Théorie de la compilation: tout programme peut etre compilé dans n'importe quel langage et traduit dans n'importe quel langage. Exemple vers le lisp avec lequel on obtient un arbre avec sa structure arborescente.

Anto génétiques: on fait appel aux réseaux neuronaux. On fabrique des êtres nouveaux à partir d'êtres élémentaires.

 

Merci à Michel qui a renvoyé sa présentation :

 

=================================================
Présentation d'une méthode de création artistique
par Michel Bret
=================================================

1) Les réseaux neuronaux
2) Rêves artificiels
3) Live coding
4) Emergent coding

 

1) Les réseaux neuronaux


---------------------
L´idée de neurone artificiel date de 1943 avec les travaux de McCulloch et Pitts, puis ceux de David Rumelhart qui appliqua l'algorithme de la rétropropagation de l'erreur, popularisant le "deep learning". Il s'agit d'une méthode d'apprentissage supervisé sur des réseaux neuronaux de type perceptron à couches représentant très imparfaitement la réalité des systèmes nerveux qui sont massivement ré entrants. En effet, dans leperceptron, l'information circule des entrées vers les sorties sans aucun feed back, l'erreur commise est la différence entre la valeur reconnue et la valeur à reconnaître, en intégrant cette erreur l'algorithme remonte ainsi, de proche en proche, jusqu'aux entrées en corrigeant chaque fois la matrice des poids synaptiaques de façon à minimiser ces erreurs.

En connectant des capteurs (caméra, micros, motion capture, ...) aux entrées d'un réseau et en interprétant ses sorties comme des couples de forces appliquées aux articulations de modèles dynamiques de danseuses virtuelles, il est possible de constituer des ballets de synthèses...

 

2) Rêves artificiels


-----------------
Par rêve artificiel je n´entends pas la production par des machines d´images ou de récits pouvant évoquer nos propres rêves, mais bien plutôt l´état dans lequel une machine devrait se trouver pour devenir le siège de telles manifestations.  Lorsque nous rêvons nous voyons des images, alors que nous avons les yeus fermés, nous entendons des sons alors que nous dormons en général dans le silence, nous pouvons voler alors que nous sommes allongés sur un matelas. Les régions du cerveau sur lesquelles se projettent nos organes des sens sont donc excitées par des signaux nerveux ne provenant pas de ces organes mais des couches profondes du cortex, il s'agit bien là d'un fonctionnement réentrant que j'ai modélisé au moyen de réseaux complètement connectés. On peut voir sur le programme intéractif "dream" le ballet rêver: en l'abscence de musique, l'information arrivant sur la couche d'entrée provenant des autres couches. Et le ballet dance lorsque la fft du signal audio est présenté en entrée. 

 

3) Live coding


-----------
La programmation classique obéit au schéma suivant:

code -> compile -> langage machine -> link -> exécutable


Toute modification du code nécessite que soit recompilé et relinké le programme dans son entier.

la modification du code pendant son exécution peutse faire: 
- via un interpréteur qui recompile une ligne de code chaque fois qu'elle est invoquée au détriment de la performance. 
- un assembleur de base (pour des programmes assez
simples)
- un compilateur dynamique comme le langage anyflo anyflo que je développe depuis les années 80.
- Les langages ChucK, SuperCollider, LC, etc ..

Le life coding ou fly coding ou encore programmation à la volée est une technique basée sur le concept de programmation interactive multi-utilisateurs.
L'activité du programmeur codant en temps réél est visualisée sur un écran et peut être partagée par les spectateurs sur leur ordinateur personnel via interne ou un réseau local.

4) Emergent coding


---------------
Il serait intéressant de coder en s'élevant au dessus du processus de codage manuel, il suffit de lui donner la capacité de s'engendrer (auto programmation). Pour cela un programme dit "emergent coder" génère automatiquement du code, partiellement compilé en temps réél, le .exe restant en mémoire. un tel "emergent coder" est connecté à des capteurs auxquels les programmeurs et un public lambda peuvent communiquer des informations non "codantes" (c'est à dire non construites sur un
langage formel, par exemple à partir de musique, de gestes, ...).

Le "emergent coding" suppose que le code puisse générer du code, c´est à dire qu´il puisse se modifier lui-même, donc qu´il soit vivant. Nous utiliseront alors les algorithmes de la Vie Artificielle pour construire le "emergent coder"

- du point de vue phylogénétique (évolution des espèces) la programmation génétique consiste à soumettre une population de programmes aléatoires (donc peu performants) à une sélection darwinienne par croisements, mutations et optimisation d'une fonction fitness. Ce qui est rendu possible par le fait que, tout programme étant isomorphe à un arbre, par bouture de sous arbres on peut alors croiser des programmes.


- du point de vue ontogénétique un code peut évoluer au cours de son existence interactive avec des réseaux neuronaux ou des algorithmes génétiques (évolution darwinienne non plus de programmes mais de datas).

Je montre sur le programme "emergent_code" deux fonctions générées en temps réel au rythme de la musique "borderline" de Grégory Jarrige.

Talent IO Paris Creative Code algorave cookie collective INRéV : Flopine florine fouquart create with code on hardware

 

Talent IO Paris Creative Code algorave cookie collective INRéV : présentation de Flopine florine fouquart 

 

Artiste numérique, demosceneuse, qui va à des demo parties etc. Technical artis at don't nod. Doctorante a Inrev et étudiante chez ATI.

 

Avec quoi faire du creative coding?

 Les classiques, processing, coding train, threJS, python, avec PIL ou PILow

Shaders etc.

 Les shaders: ce sont des programmes qui discutent avec le GPU pour rendre une image, afficher une image.

Stack: DirectX: HLSL, OpenGL: GLSL, SPIR-V, Metal

 

 shadertoy est une plateforme où on peut jouer le code en temps réel. Ca compile en temps réel.

 Aller chercher flopine pour voir les oeuvres

 

https://www.shadertoy.com/user/flopine

 

Sur Twitch aussi, on voit des battles de shader codings. On a 25 minutes pour créer une scene, un effet visuel et à la fin le public vote à l'applaudimètre.

competition 

Ressources pour faire du shader coding: "the art of code" pour les tutos videos.

Talent IO Paris Creative Code algorave cookie collective INRéV : On hardware

 

Historique rapide de la demoscene

La demoscene a évolué en fonction des puissances des machines, en fonction de 3 grandes familles:

8 bits: comodore 64, Amstrad CPC

Les jeux craqués avaient une première intro avec une musique chiptune, une animation, et le nom du groupe; D'échanges de disquettes ça a grossi, et s'est monté des rassemblements, copy parties, swap parties, et le but était de venir avec un carton de disquette vide et on repartait avec un carton de disquettes de jeux.

16 bits: Ataris ST Amiga

A ce moment là on exploite moins le hardware, les demos sont beaucoup plus des executables. Les groupes codaient leur render engine. Ce n'est plus de l'exploit hardware, mais de l'utilisations de fonctions logicielles.

32-64 bits : PCs d'aujourd'hui

On est sur de l'abstraction technique: on n'a plus accès au hardware. On ne code plus en assembleur. L'abstraction empeche l'exploit hardware. La demoscnene s'est imposée des contraintes artificielles pour s'amuser: exemple, réussir à faire un executable en 4 ko.

  

 

Une question? Posez-la ici

Besoin d'aide en dev ?

voir pouet.net un catalogue gigantesque de demos

LA demoscene a évolué avec une culture, des codes, des lexiques autour de la création d'executables générant des animations.

Il y a toujours des démos et des gens qui codent sur des machines 8 bits.

Maintenant c'est en ligne. Il y a de la compétition: les demosceneurs se jugent entre eux. "making old computers still a thing"

Exemple de demo qui tient sur 64ko Conspiracy demo tape 20 "in demo we trust"

 

Talent IO Paris Creative Code algorave cookie collective INRéV : Hardwired 1991 sur amiga

 

Les possibilités matérielles sont des moteurs de créativité.

 

On pense pratique avec le hardware et les limitaitons du hardware.

Exemples d'optimisations.

Connaitre les GPUS et les CPUS permet de bien optimiser les temps de rendus.

 

 Les bitplanes de l'Amiga 500: 1 pixel n'est pas un paquet avec un octet par chanel. 1 pixel c'est décrit par un octet par bitplane.

 

 

Talent IO Paris Creative Code algorave cookie collective INRéV : zOrg 

 

Visualisation de vidéos de Live coding lors de séances à Londres et aux pays bas.

Certains artistes utilisent des IDE et stacks d'intelligence artificielle pour créer de la musique, avec par exemple Jupiter Netbook et Python

 

Pour participer aux prochains events cookie collective, voici le calendrier:

https://framagenda.org/apps/calendar/p/zpDjE9gGFeFZAmdz/dayGridMonth/now

 

Cet article reflète exclusivement l'opinion de ses auteurs et n’engage en aucune façon Consultingit. J'espère que ça vous a plu. Vos commentaires/remarques sont les bienvenus: [No form id or name provided!]

Install raspberry pi os on vmware

User Rating: 5 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Active

Install Raspberry Pi OS on VMware

 

This tutotial is for fun, non profit, proof of concept or education lab purpose only. Don't use it on real production environment.

 

Hello, i'm PIRenPIR, developer , teacher, and through this project i want to listen what our applications send to the network.

My team and i create applications with plenty of various SDKs in it. Sometimes we use free SDKs in "blackbox" mode. That is to say, we use the SDK by sending data in the SDK and we get results from the SDK, without knowing how the SDK runs. It's the encapsulation principe of the object oriented programing. But when the SDK is free, the editor of the SDK want to make money from it. How? By selling datas which pass through the SDK. the problem is that data uses plenty of bandwith, and bandwith though the cloud is sometimes expensive and cost lot of money. In addition to that, some of our customers don't want their datas go out because of confidentials environments. So with this Pirogue Tool Suite i hope we will understand which datas flows through SDKs and the application and report to the customers what data is sent through their applications.

 

And because the philosophy of "Pcap or it didn't happen" here is the article of my little first contribution to this great project.

 

Next step, i wanted to build The great Pirogue Tool suite , but due to the chip crisis, Raspberry Pi are mostly out of stock It's not possible to buy a Rasperry Pi in my favorites eletronics shops in Paris! What a pity, what a mess! RPILOCATOR UPDATE 16/03/22: You can visit https://rpilocator.com/ to check for availability.

 

Because of "Linux is able execute binaries from other architectures, meaning that it should be possible to make use of pi-gen on an x86_64 system" during the time allowed to this project. So i decided to make a quick POC test of the install of raspberry pi os on a vmware cloud and create this article, just for fun and testing if it is possible, and why not to improve SEO for both blogs :-) 

 

Install raspberry pi os on vmware : download Raspberry pi OS ISO file

Raspberry pi logo 

You can download it here on the official raspberry website or the direct link here

 

 

Consultingit suite fleche 299

 

  

Une question? Posez-la ici

Install raspberry pi os on vmware: create a new virtual machine on Vmware

 

Here is the Virtual machine configuration:

 

Nom Pirogue-RaspberryPi4-Debian10-consultingit.fr
Banque de données datastore2
Nom du SE invité Debian GNU/Linux 10 (64 bits)
Compatibilité Machine virtuelle ESXi 7.0 U2
vCPU 1
Mémoire 2048 Mo
Adaptateurs réseau 1
Adaptateur réseau 1 du réseau VM Network
Type d'adaptateur réseau 1 VMXNET 3
Contrôleur IDE 0 IDE 0
Contrôleur IDE 1 IDE 1
Contrôleur SCSI 0 VMware Paravirtual
Contrôleur SATA 0 Nouveau contrôleur SATA
Disque dur 1
Capacité 16Go
Banque de données [datastore] Pirogue-RaspberryPi4-Debian10-consultingit.fr/
Mode Dépendant
Provisionnement À provisionnement statique, mise à zéro tardive
Contrôleur Contrôleur SCSI 0 : 0
Lecteur de CD/DVD 1
Sauvegarde
Connecté Oui
Contrôleur USB 1 USB 2.0

 

Une question? Posez-la ici

Install raspberry pi os on vmware: insert ISO in the virtual CD drive of the VM

First, copy the ISO in a datastore

Then mount the ISO donwloaded in the CD drive of the VM station

Monter iso 2021 01 11 raspios buster i386 lecteur CD Vmware

 

  

Une question? Posez-la ici

 

 

 

 

Install raspberry pi os on vmware : installation of the Raspberry Pi OS

 

Select graphical install

Raspberry Pi OS graphical install

 

 

Install raspberry pi os on vmware : partitionning disks

 

Use entire disk:

 

Raspberry Pi OS graphical install guided use entiere disk

 

Install raspberry pi os on vmware : choose keyboard

 

Raspberry Pi OS graphical install keyboard fr

 

Install raspberry pi os on vmware : partitionning

 

Raspberry Pi OS on vmware graphical all files in one partition

 

Install raspberry pi os on vmware : write changes to disk

 

Raspberry Pi OS on vmware graphical all finishing partitions

 

Install raspberry pi os on vmware : install grub loader

 

Raspberry Pi OS on vmware graphical install grub loader dev sda

 

Install raspberry pi os on vmware : remove installation ISO and reboot

 

Raspberry Pi OS on vmware graphical install grub loader installation complete

 

Install raspberry pi os on vmware : welcome to Raspberry Pi

 

Raspberry Pi OS on vmware graphical install grub loader installation welcome to raspberyPi dektop 

 

Install raspberry pi os on vmware : set country and locales

 

Raspberry Pi OS on vmware graphical install grub loader installation welcome to raspberyPi locales

 

Install raspberry pi os on vmware : change password

 

Raspberry Pi OS on vmware graphical install grub loader installation welcome to raspberyPi password Pirogue

 

Install raspberry pi os on vmware : programming menu

 

Raspberry Pi OS on vmware graphical install grub loader installation welcome to raspberyPi Python java

 

Great! While i'm waiting for Pirogue Tool Suite news, i can now code in Python or Java  on a virtual Raspberry Pi! That's so cool :-)

 

 

Ce transcript reflète exclusivement l'opinion de ses auteurs et n’engage en aucune façon Consultingit

 

Besoin d'aides avec Raspberry ou Vwmare?

[No form id or name provided!]

Installation Sketchup gratuit sur windows 10 64 bits

User Rating: 5 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Active

Installation Sketchup gratuit sur windows 10 64 bits

This tutotial is for fun, non profit, proof of concept or education lab purpose only. Don't use it on real production environment.

 

Consultingit a été missionné par le cabinet d'architecte Elenamelzoba.com dans le cadre d'un projet de développement d'une extension Sketchup et nous avons du créer une maquette pour utiliser le logiciel. Le développement via le SDK Sketchup et l'API pourront être testé sur cette plate-forme. Cette extension pourra être distribuée sur l'extension Warehouse ou installée manuellement. 

 

Installation Sketchup gratuit sur windows 10 64 bits: qu'est-ce que Sketchup ?

 

SketchUp est un logiciel de modélisation 3D, d'animation et de cartographie orienté vers l'architecture. Initialement édité par la société @Last Software (racheté par Google ensuite), ce logiciel se caractérise par des outils simples (rotation, extrusion, déplacement, etc.), qui en font un logiciel de 3D très différent des modeleurs 3D classiques. Il a été racheté en 2012 par la société Trimble.

D'après https://fr.wikipedia.org/wiki/SketchUp

 

 

Consultingit suite fleche 299

 

  

Une question? Posez-la ici

 

Installation Sketchup gratuit sur windows 10 64 bits: Le PC de test

Le PC de test est une version d'évaluation de Windows 10 64 bits en anglais

Installation Sketchup gratuit sur windows 10 64 bits setup w10

Nous avons selectionné la version Home 64 bits de Windows 10, qui permet de faire fonctionner Sketchup au meilleur rapport qualité prix:

Installation Sketchup gratuit sur windows 10 64 bits setup w10 home edition2

Windows 10 Home est installé avec le navigateur Microosft Edge qui permet d'utiliser la première version de Sketchup

Une question? Posez-la ici

Installation Sketchup gratuit sur windows 10 64 bits: inscription sur le site de sketchup

Une fois le PC installé, nous pouvons naviguer vers le site de Sketchup:

 

 http://www.sketchup.com/intl/fr/

 

Pour commencer, choisssons l'onglet "For personal project/pour un projet personnel":

SketchUp Free
Web uniquement
Découvrez et apprenez gratuitement les bases de la modélisation 3D sur le web.

Outil web de modélisation 3D
10 Go de stockage cloud
Accès à la visionneuse mobile

https://www.sketchup.com/fr/try-sketchup#for-personal

Installation Sketchup gratuit sur windows 10 64 bits: création du compte de démo

 

Installation Sketchup gratuit sur windows 10 64 bits everything sketchup2

Une question? Posez-la ici

 

 

  

Une question? Posez-la ici

 

 

 

Installation Sketchup gratuit sur windows 10 64 bits: Trimble account preferences

 

Installation Sketchup gratuit sur windows 10 64 Trimble account preferences 

 

 

Installation Sketchup gratuit sur windows 10 64 bits: accepter les conditions d'utilisations

 

 

Après avoir passé quelques heures à bien tout lire:

 https://www.trimble.com/Corporate/Privacy.aspx

https://www.trimble.com/Corporate/Terms_of_Use.aspx

https://app.sketchup.com/tos.html

https://www.trimble.com/en/our-commitment/responsible-business/data-privacy-and-security/data-privacy-center

https://www.sketchup.com/legal/privacy-notice

Global Data Processing Agreement

Privacy Notice for Applicants in EU/EEA

Customer US Data Processing Addendum (information shared with Trimble)

Vendor and Partner US Data Processing Addendum (information shared by Trimble)

 

Nous arrivons enfin sur l'écran de début de projet

Installation Sketchup gratuit sur windows 10 64 bits: welcome to sketchup

 

Installation Sketchup gratuit sur windows 10 64 bits setup w10 welcome to sketchup300

 

2 options sont disponibles: open from device pour ouvrir les fichiers d'extension skp, ou "create new" qui permet de créer une nouvelle scène depuis le début.

 

Installation Sketchup gratuit sur windows 10 64 bits: create new

 

Installation Sketchup gratuit sur windows 10 64 bits setup w10 create new 

 

Nous pouvons maintenant évoluer vers les versions pro de Sketchup et développer notre plugin VR... 

Installation Sketchup gratuit sur windows 10 64 bits setup contunue to vr

A suivre...

 

Ce transcript reflète exclusivement l'opinion de ses auteurs et n’engage en aucune façon Consultingit

 

Besoin d'aides avec Sketchup??

[No form id or name provided!]

windev 27 nouveautés: Un AGL à petit prix

User Rating: 5 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Active

Windev 27 nouveautés: Un AGL à petit prix

Windev 27 nouveautés, Un AGL à petit prix: quelques nouveautés intéréssantes en vrac

 

 

L'IA intelligence artificielle par rapport aux anciennes versions de Windev , ici version 27, permet la reconnaissance automatique des voitures sur la parking en lisant la plaque d'immatriculation.

Le nouveau champ caméra windev 27 prises de photos et videos dans l’appli. La signature electronique des pdfs permet d'authentifier l'auteur. Les mots de passes sécurisés pour HFSQL font leur apparition. Le store privé HFSQL pour déployer applications internes en entreprise.

Nouvelles fonctions, regexVerify, utilisée avec CompileSI...

Sockets SSL pour les connections sécurisées, les websockets

Google a changé les protocoles des achats Inapp, au lieu de tout développer encore une nouvelle fois manuellement les mises à jour, avec la version 27, rien à faire, tout est transparent.

GDS : 61% des utilisateurs de Windev utilisent le GDS, le gestionnaire de sources.

Le recrutement de développeurs informatiques Windev est intéréssant, car ils développent 10 fois plus vite.

Consultingit suite fleche 299

 

Une question? Posez-la ici

Besoin d'aide?

Windev 27 nouveautés, Un AGL à petit prix: nouveaux champs éditeurs de diagrammes

 

Idéal pour modélisation de l’évolution du projet de mise à place de l'infrastructure d’un parc informatique
On prend l’objet PC, on le drop et on saisit sa légende, on peut le mettre plus gros, exemple, avec le PC de marc
On ajoute la caméra IP branchée sur le PC de Marc, attachée au PC de Marc
Ce champ éditeur de diagrammes gère les liaisons, on n’a rien à coder
0 lignes de code

C’est un champ Windev donc on peut le programmer
On peut enregistrer des infos dans la base de donnée
On saisit le nom, l’adresse IP du serveur
Champ personnalisable pour l’intégrer dans les applications
Avec une barre d’outils complète pour faire des diagrammes
PNG, JPG
On peut par exemple organiser des idées, mind map, on crée une patate pour chaque idée et on les relie pour représenter les concapts
CAO pour concevoir
Champ diagramme : LeDiagramme est un Diagramme, voir diagramme de GANTT
Fonction iImprimeDiagramme(LeDiagramme)
On le sauve dans un fichier WDDiag

 

Une question? Posez-la ici

windev 27 nouveautés, Un AGL à petit prix: nouveautés mobiles

Démoi avec un Apple Iphone 13 pro sous IOS 15 (avec Air server) et un Samsung Galaxy TAB S7
Et terminaux industriels reliés aux switch et au point d’accès mobile

L'application aurora yacht Club : on liste des yatchs à controler
On a un bouton épinglé, créer des bouton épinglés c’est une case à cocher dans les 7 onglets
L’application affiche la liste des points à vérifier sur la bateau
Affiché dans le nouveau champ table hérarchique : on peut dérouler, enrouler les ruptures, pull to refresh.
Programmation table hiérarchique possible.
On peut créer un menu assigné à un bouton, c’est le champ métier « menu sur le bouton » on le pose sur la fenêtre, et on personnalise les menus, en standard en 27.

Les pop ups natives en 27 : elles se ferment automatiquement quand on clique à côté

 

Une question? Posez-la ici

Besoin d'aide?

  

Une question? Posez-la ici

 

 

 

 

Windev 27 nouveautés, Un AGL à petit prix: nouveau champ caméra intégrable à l’application mobile

 


L’utilisateur reste dans l’appli pour filmer, prendre des photos, tout est intégré. On peut placer des champs d’application sur le champ caméras. Entièrement personnalisable par programmation. Afficher, le flash, la torche, etc.

 

 

Windev 27 nouveautés, Un AGL à petit prix: enrichissement des UIs des applications

 

Les FAA, ce sont 142 fonctionnalités

Le shamps métiers : champs spécialisés métiers, prèts à l’emploi
Exemple avec la Table.cherchepartout : on cherche dans toute la table, sur toutes les colonnes
Si on saisit luxe, on valide
Zone répétée drag’ndropable
Nouveau champs de saisie pour envoyer un email aux clients : si je mets en copie le directeur commercial et la responsable qualité, on n’a plus qu’à rédiger un email.

Nouveau champ TCD : tableau croisé dynamique, le cube olap, champ pour synthétiser des données en informatique décisionnelle. Automatiquement des bases de données, sans rien programmer.
Exemple, connaitre le chiffre d’affaire de l’Australie en 2021, 2 millions d’euros.
Le champ TCD enregistre toute la mise en forme.
En 2020, ils avaient fait combien ? On peut comparer : comparaisons en 1 clic : +25% en 2022.


Le champ calendrier affiche maintenat le numéro de semaine.

Le champ graphe circulaire de progès pour afficher des objectifs ou des parts de marchés. Un cercle complet représente 100% de la progression.

 

Windev 27 nouveautés, Un AGL à petit prix: les notifications Windows avancées

 

Exemple : le bateau est livrable, avec une photo

Notifications sysnotifications du wlangage

 

Windev 27 nouveautés, Un AGL à petit prix: nouvautés d’UI pour les sites webs

 

Par exemple, lien d’une boutique avec URL référencables
Site en mode classique, pas en mode AWP
Mode session, variables globales conservées.
Type de page : mode sesion ou mode référençables

Champ inclinable à 45 degré avec une enveloppe pour s’inscrire à la newsletter : bel effet à 45 degré

Connection au site internet, une fois connecté, le lecteur de PDF permet de valider les conditions d’utilisations dès que l’on est connecté, et l’utilisateur a lu les CGU et les a validés avant d’acceder au service.

 

Windev 27 nouveautés, Un AGL à petit prix: témoignage Menicon France

 

Eric tardiv de Menicon France, avec son ERP en mode PSE, gestion des tocks 100000 références en stocks
Lentilles optiques
Sur HP9000
Sur Tablettes Surface
Picking
Joneywell CT60 sous android qui interroge l’ERP via Web services
Site B2B à destination des opticiens et ophtamologues
50 projets Windev qui couvrent l’ERP
Gestionnaire de sources
Puissance du WLangage et facilitée de prise en main.
Franck Leclere directeur général Menicon témoigne aussi sa satisfaction

 

Windev 27 nouveautés, Un AGL à petit prix: nouveauté, gestion des sprints Agile, phase de découpement

  

On gère les sprints depuis l’ALM de windev
Gestion complète du cycle de vie de l’application, on gère les taches les indicents, les plannings des équipes et maintenant les sprints pour définir les exigences du produit
Scrum : backlog
Extreme programming : unfinished features
1 sprint est une période courte, généralement 2 semaines

Brundown chart, avec calcul en permanence de la date de fin du projet
Droite bleue, vitesse de l’équipe
On peut suivre les tickets des incidents

 

Windev 27 nouveautés, Un AGL à petit prix: génération des graphes des incidents

 

Depuis l’application déployée, grace à la fonctionnalité « feedback »
L’ALM avec Windev, c’est aussi le GDS

Version 27 : l’integration de GIT évolue
On peut récupérer un projet GIT pour travailler dessus : GIT CLONE
On peut afficher l’historique d’un projet géré par GIT
Déclencher un dif avec
Fabrique logicielle : définir et utiliser des variables d’environnement

Pour alléger la messagerie, on peut filtrer les plans d’actions, recevoir les 2 qui ont réussis et pas ceux qui ont échoué.

 

Windev 27 nouveautés, Un AGL à petit prix: télémétrie

 

Détection des écrans des clients utilisateurs pour offrir une meilleure UI, exemple de la résolution la plus utilisée, 1024x768
Détection des traitements les plus longs, des boutons qui ne sont pas cliqués
On peut orienter le développement en fonction de l’utilisation réelle

La compilation est boostée en version 27, elle utilise tous les cœurs du processeur

On peut utiliser le thème sombre.

Nouveauté de déplacements de champs par incréments, exemple, 13 pixels
Coloriage dans la catalogue image, catalogue de 15000 pictogrammes pour illustrer les applications. On peut colorer maintenant ces pictogrammes

Nouvelle fenêtre de sélection des styles

En version 27, le diagramme de Gantt bénéficie de l’affichage des numéros de semaine dans l’agenda, ça a été très demandé.

Outil « flou » pour flouter une zonne avant de l’imprimer, par exemple, on peut flouter les coordonnées du client, à cause du RGPD.

Outil pour biffler : surlignage avec une couleur opaque

Explorer le répertoire de génération

 

Windev 27 nouveautés, Un AGL à petit prix: audit temps réel

 

Les audits ont évolué : nouveau type d’audit en détectant les technologies obsolètes.
Après l’audit statique, dynamique, en version 27 il y a l’audit temps réel qui conseille pendant le développement. Dans le ruban, volet affichage, cocher « audit d’UI » : on détecte ainsi des améliorations possibles : les champs sont entourés en orange et en survolant le smiley, on découvre le conseil, on clique, Windev corrige et en un clic c’est corrigé.

L’audit donne d’excellents conseils pour améliorer l’UI
L’audit prévient quand un champ texte déborde.
On est prévenu si on utilise dans plusieurs threads une variable globale : session critique, variable accédée par un thread à la fois.
Les applications font une cure de jouvence en version 27.

 

Windev 27 nouveautés, Un AGL à petit prix: environnemnet DEVOPS

 

Exemple : archi planning, code, debug, build, recette, livraison, maintenance, gestion des tickets, etc.

Utilisé par plus de 170 000 développeurs, dans 140 pays.
100 millions d’utilisateurs utilisent des applications développées avec Windev

 

 

Windev 27 nouveautés, Un AGL à petit prix: support technique gratuit par email et par téléphone

 

Formation

Sur les Champs Elysées, ou dans vos locaux
Audité et labélisé par Qualiopi

 

Consulting

Consulting : un ingénieur expérimenté, sur votre site, ou en distanciel (visio)

 

Assistance directe

Par télépone ou par email, en visio
Ingénieur dédié, toujours la même personne qui vous connait et connait vos projets

 

 

Windev 27 nouveautés, Un AGL à petit prix: nouveautés Webservices SOAP et REST

 

On peut forcer la norme HTTP2
SOAP : on insère des en-têtes lors de l’appel du web-service : soap.ajoute entee

Generation d’un webservice REST au format OpenAPI

On produit et on consomme tous les types de webservices.

2 nouvelles fonctions : XML vers JSON et JSON vers XML

JSON2XML_convertisseur

POO, programmation objet : performances : accès aux membres, 30% plus rapides, 20% rapides aux propriétés

 

Windev 27 nouveautés, Un AGL à petit prix: nouveautés serveurs websockets

 

Nouveauté pour le cross platform : serveurs websockets
Accessibles pour Windows, Linux, android, IOS et MACOS


Sponsoring du rallye des gazelles avec Marjorie et Daphné qui on fait le rallye: Marjorie Demonceaux est chef de projet Windev chez Retif et elle utilise beaucoup les websockets 

Windev 27 nouveautés, Un AGL à petit prix: nouveautés HFSQL

HFSQL encore plus rapide.

Windev 27 compatible avec toutes les bases de données du marché

+ moteur de bases de données HFSQL
Disponibles pour Windows, Linux, android, IOS et MACOS
92% de développeurs Windev utilisent HFSQL dont 67% avec d’autres marques bases de données

 

Windev 27 nouveautés, Un AGL à petit prix: nouveautés sécurité

 

En ce moment la sécurité est à la mode avec toutes les cyberattaques de ransomwares, Pégasus...

 

Nouvelle rubrique mots de passes

 

Même à Manu ça lui arrive de stocker ses mots de passes en clair dans la base de donnée! En version 27, nouvelle rubrique « mots de passe ». Cette rubrique permet d’automatiquement saler le mot de passe avec une chaine aléatoire, puis il est ensuite haché (opération irreversible) et ce résultat est stocké dans la base de donnée


Même si un pirate vole la base, il lui est impossible de retrouver les mots de passes.

Pour vérifer le mot de passe, lorsque l’utilisateur saist le mot de passe, il y a un challenge avec « = » avec la base de donnée. Cela fonctionne avec toutes les applis, les vieilles, on peut convertir les données. Pour sécuriser cette colonne « mots de passe », on change la rubrique colonne de « texte » à « mot de passe », windev lance une modif automatique.

Cluster modif auto avec cryptage renforcé

Chiffrement des fichiers avec AES192 et AES256

 

Windev 27 nouveautés, Un AGL à petit prix:  aide aux Helpdesks : le store privé

 

SAV des installeurs bonjour
J’ai installé une app de congés, je vois les congès de tout le monde, c'est un peu le bazar. Je vous envoie Victor pour faire le nettoyage.
Ben Doudou tu viens plus aux soirées ?
C’est Tarnaud, où est-ce que je trouve l’install de la CRM ? Sur le serveur Minos…

On rassemble toutes les applications de l’entreprise. On l’installe où on veut.
Applications publiques et applications privées
Connection : utilisateur/mot de passe ou service Auth

Génération de type Store Privé, dans l’assistant de création de store privé

 

Windev 27 nouveautés, Un AGL à petit prix: Le cluster Webdev, haute disponibilité et résilience en version 27

 

Nombre de connections illumitées aux sites
Répartition de charge automatique.

Ensemble de sites webs identiques qui contiennent les sites et les web services
Exemple, ajouter 10 serveurs pendant les soldes pour absorber la charge
Résilience : si une machine tombe en panne ou prend feu, ça n’impacte rien, le site reste en ligne

Proxy (répartiteur) + plusieurs serveurs Webdevs (nœuds du cluster)
Autant de nœuds installés où on veut. On les répartir généralement entre plusieurs data centers.

Pour administrer les clusters : on utilise l’administrateur webdev
On voit les 4 nœuds. On clique, on voit le détail des nœuds. On peut ajouter, retirer des nœuds

Infra : en local ou en PCScloud.

 

Windev 27 nouveautés, Un AGL à petit prix:  l’intelligence Artificielle dans l’IDE, édideur de code

 


+ de 300 nouveautés, dont 14 préférées
Exemple :
Nouveau volet d’aide intégré à l’environnement

Mo,Message.Destinataire on a la complétion en version 27
118 assistants de codes
Les assistants de code : httpRequête, Authidentifie (auoth), et HTTP/REST envoie

HTMLactiveDebugger pour debugger du javascript dans du HTML

L’intelligence Artificielle dans l’IDE, édideur de code

L’éditeur de code intègre un moteur d’IA propose les variables et les préocédures au moment où on en a besoin.
Exemple de procedure calculTVA . Quand je tape « c » l’IA propose en premier la procédure calculTVA.

Exemple de fonction très appelée henDehors (moteur de l’intelligence artificelle entrainé)
Une IA au service du code
Le moteur d’IA déduit les fonctions les plus pertinentes
L’intelligence artificielle apprend les patterns de codes tapés le plus souvent.

Site de vente pour des robes de créateurs

 

Windev 27 nouveautés, Un AGL à petit prix:  Compatibilité Windows 11

 

Et windev 27 prend maintenant en compte les fenêtres sous Windows 11 qui sont arrondies.
Mode SNAP.
Nouvelles images pour Windows 11
Nouvelles icones pour Windows 11
Applications Windev27 compatibles avec le store Windows11, on peut les distribuer par ce biais.
Bluetooth Low Energy

Windev 27 nouveautés, Un AGL à petit prix: intégration de modules Python

 

On peut exploiter des librairies externes, PHP8, Python

Intégration d’une librairie python, .py
Windev analyse les fonctions
On peut appeler les fonctions des librairies directement dans le Wlangage

 

Une question? Posez-la ici

Besoin d'aide ?

Ce transcript reflète exclusivement l'opinion de ses auteurs et n’engage en aucune façon Consultingit

 

 

Besoin d'aides avec Windev ?

[No form id or name provided!]

This Browser is not good enough to show HTML5 canvas. Switch to a better browser (Chrome, Firefox, IE9, Safari etc) to view the contect of this module properly