Home

ByPatrick

CI/CD

Continuous integration/continuous delivery : Lorsqu’il s’agit de mettre à jour à interval régulier des applications développé inhouse, il est impératif d’avoir un bon outil et de bons processus de mise en production. Nous utilisons Jenkins chez certains clients et Atlassian Bamboo chez d’autres.

ByPatrick

Western Digital Home Cloud Sous linux

Bonjour,

Aujourd’hui, nous essayons de connecter à notre Western Digital 6Tb notre sous linux Ubuntu 20.10. Un grand merci déjà à mnencia.

ByPatrick

Linkedin

Je mets à jour doucement mon profile LinkedIn

ByPatrick

L’informatique vue avec 20 ans d’expérience

Quand vous envoyé appelé une page web, on a besoin que les dns soient bien configurées, que les firewalls soient bien configurés, que les reverses proxy envoient aux bon loadbalancer, que les serveurs soient up and running, qu’ils écrivent dans une table qu’une tache planifiée vide à interval régulier (asynchrone) et au final, on a le bon résultat.

ByPatrick

Nos standards high level pour une application moderne :

Niveau 1

  • Aucun paramètre important ne doit être hardcodé, ils doivent se retrouver dans un fichier de config ou dans la base de registre (emplacement des fichiers, login, psw, connection string, url..)
  • Logging d’erreurs doit être présent, en cas de crash, on doit avoir des try catch aux bons endroits
  • Ça doit être en service, ou webservice on doit pouvoir redémarrer le serveur sans que ça n’interrompe définitivement le bon fonctionnement de l’application

Niveau 2

  • Multi users : 
    • Securité via ldap et sso 
    • ou locale
  • Logging centralisé
  • l’application doit être hautement disponible
    • Load balance
    • Windows cluster

Niveau 3

  • Test unitaire
  • Test de charge
  • Multithread
  • Get configuration via un webservice
  • Si l’application se connecte à internet, permettre de se connecter à internet via un proxy

Niveau 4

  • Logging : 
  • Différents niveaux  : permettre de mettre un mode debug avec plus de détails ou simple
  • Dfférentes destinations
    • Event viewer
    • Fichiers plats
    • syslog
    • Graylog

Accès à une DB

  • Réinclure les méthodes pour permettre une mise à jour facile (penser à Mysql qui a changé en Mysqli)
  • multi DB (MsSql, Mysql, Oracle..)
  • Syncho DB locale  : permettre à l’application d’avoir une copie local d’une partie de la DB pour mode offline
  • Toutes les requêtes SQL doivent être optimisée (moins d’une seconde), vérifier nhibernate
  • l’archivage des données moins utiles

Niveau 5

  • Audit de code pour performance
  • Audit de code pour sécurité
  • Https avec certificate pinin
  • Multi langue : Traduction facile / changer de langue / ajouter une langue

Comment gérer les licenses

Code unique à taper et validation locale

Code unique à taper et activation en ligne et blocage si > X  et lier au matériel

Code unique à taper et activation en ligne et blocage si date > X  et lier au matériel

Par user avec un portail

Utilisateurs concurrents (dès que l’application se lance, elle va se connecter à un serveur de licence et bloquer une licence pendant X heures

  •   Multi interface / design
  •   Webservice attaqués via 
    • Page web (ergonomique, réactives)
    •  Interface lourde
    • Appx ou apk (s’adapte et testé par device client)

Contraintes d’intégrités et workflow

Déploiement:

  • Pouvoir déployer facilement et recréer des environnements à la demande (Cloud, Infrastructure as code,

Swagger et health

ByPatrick

Services offerts par Linode

it’s important that you know what sort of capabilities are available to you on Linode:

Compute

  • Shared Linodes: Balanced power and performance
  • High Memory: Maximum RAM configurations perfect for caching or in-memory DBs
  • Dedicated CPU: For those CPU-intensive applications and DBs that don’t like to share
  • GPU: Equipped for complex computing, machine learning, video processing
  • Kubernetes: Fully-managed container orchestration engine

Storage

Networking

  • Nodebalancers: No fuss, intelligent load balancing and failover for your web-facing systems
  • DNS Manager: Complimentary and comprehensive Domain Management to make your life easier

Services

  • Managed: Incident response and triage for your peace of mind
  • Professional Services: Augment your team with our consultants and project experts

Tools

  • API: Programmatically access all of Linode’s products and services
  • CLI: Manage your Linodes from the comfort of your terminal
  • One-Click Apps: Save time deploying in the cloud with pre-installed software
  • Linode Images: Easily deploy one image across multiple machines with Linode Images
  • Integrations: All your favorites in one place and ready to go to work for you
  • Stackscripts: Automatically configure new Linode instances using simple scripts
  • Monitoring: Easily analyze performance and system metrics
  • Users & Permissions: Collaboration and security to accelerate your business

One-Click Apps :

ByPatrick

Vultr

Vultr offre 17 datacenter différents

un nombre raisonnable d’applications déployable en 1 click

ByPatrick

Fake harddrive from china

Juste pour l’anecdote, mon frère est allé à Pekin et dans un grand magasin spécialisé dans le matériel l’informatique, il a acheté pour un bon prix un disque dur de 2To.

Malheureusement, le résultat ne fut pas au rendez vous:

Ils avaient juste mis une clef USB de 2Go et un peu de métal pour faire illusion. Impossible à déceller sans ouvrir ou faire un test en détail (essayer de remplir les 2To et de les relire)

ByPatrick

Docker

Aujourd’hui, notre serveur docker a été un peu récalcitrant, certains containers avaient du mal à démarrer. Un petit

docker logs -f --tail 100 db

nous a appris qu’ils manquaient d’espace disque. Dans un premier temps, nous avons :

docker volume prune

et agrandit la taille du disque via docker desktop (et oui, celui là est sous windows)

ByPatrick

Intune : Comment signer un appx avec un code signing certificat digicert en vue d’un déploiement via intune (mode Hybride)

Le prérequis sont

  • installer The Windows 10 SDK sur un pc windows 10.
  • avoir un code Signing Certificat de digicert par exemple.

Ensuite, il y a deux façons, la première, si on a le pfx et le mot de passe :

signtool.exe sign /fd sha256 /f “CODE_SIGNING_CERTIFICAT.pfx” /p MySecretPfxPassword /t http://timestamp.verisign.com/scripts/timstamp.dll ” Reader_Setup.exe”

L’idéal pour scripter ce genre d’action est de rajouter le certificat dans le certificat store du pc ou d’un serveur et de lancer la commande :

“C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86\signtool.exe” sign /tr http://timestamp.digicert.com /sm /td sha256 /fd sha256 /sha1 “CERTIFICAT_THUMPRINT6D0A0BBAA40DD73” Nom_De_lAPPX.APPX