Python: Advanced Automation

The purpose is to give you:
- The understanding and analytic method for finding automation possibilities in any given complex system
- The principles for how to actually implement maximum automation to reduce manual tasks to the minimum, to what actually needs human intervention/choice and leave machine tasks to machine
- A practical, hands on approach on how to implement automation in real life, using python with a working, live automation system
- ... Starting with all the required ground courses on Python, CMses, Bash, Databases..
  • CMS / JOOMLA - DATABASES

    - A quick history of CMSes: How they came to be, what need they filled, what their purpose is - 15 MNS



    THE ARCHITECTURE AND PRINCIPLES OF A CMS - 1H



    DATABASE - 5H
    - What is a Database?
    - For what and how is it used?
    - What are the different types/topologies?
    - Db, Table, rows, Keys (Primaty, Foreign, Index)
    - SQL language: CRUD
    - Tools: Functions, Stored procedures, Queues…
    - Processes: Indexation, Optimization, Load management...

    EXERCISE
    - Simple INSERT from studens databases
    - Complex INSERT
    - Simple SELECT from studens databases
    - Complex SELECT (JOIN)
    - Simple UPDATE on single rows
    - Complex UPDATE on multiple rows
    - Simple DELETE on single rows
    - Complex DELETE on multiple rows


    THE ELEMENT AND TOOLS OF A CMS (ARTICLE / PAGE, LISTS, EDITOR, EXTENSIONS) - 1H


    JOOMLA - 3H
    - Components
    - Code: Principles, Architecture
    - Plugin, modules (components)
    * Major: K2
    * Advanced modules
    * Providers: Previously Shape5



    EXERCISE
    - Write and publish a well formatted article, with at least one intro image
    |Home page modules|
    - Set the article in at least Home page module
    - Have the article appear in the main slider
    |Evaluation|

    - How much time did this take you?
    - How much time would it take to do the same for, say, 20 articles...?



  • PYTHON TRAINING PROGRAM

    THE PRINCIPLES OF A PROGRAM - 3H
    We'll quickly go through this and keep this map opened, to fill it on the go...
    - What is a program?
    - Writing a program: syntax and instructions.
    - What is a function, what is a library? What are their roles and uses ?
    - The Python language and ecosystem.


    EXERCISE
    - | Writing and running a "Hello world" Python program



    FUNDAMENTALS OF PROGRAMMING LANGUAGES AND PYTHON - 6H
    Based on real life, simple and practical example...
    - Variables, what are they?
    - Types of variables: integers, reals, character strings...
    - Declaration, definition and initialization...
    - The different (boolean) operators
    - Control structures (loops, tests).
    - Advanced data structures (tuples, lists, dictionaries).
    - The most useful functions.

    EXERCISE
    - Various exercises to become familiar with the syntax: manipulation of variables, operators, selection and loops.


    ALGORITHMIC - 2H
    Same, based on real life, simple and practical example… using all of the above...


    PYTHON PROGRAMMING, ENVIRONMENTS - 3H
    Use a Python distribution.
    Libraries
    Tools: pip - Install third-party packages and libraries
    IDE power, flavors and choice
    Virtual environment (mention only)



    EXERCISE
    - Choose a python distribution, specify compatibility/upgrade path
    - Structure your project with an IDE
    - Search for a library, for a specific need/usage



    EXTRA - 1H
    > This is will be seen in practice/effect during the course, within the real life system we will work with:
    - Learn error handling and debugging
    - Use logging to debug your code
    - Learn how to document your code

    > This will be seen as an extra example
    - ⚠️VERY IMPORTANT: How to test your code with unit tests







    BASH

    - A quick history and view of the evolution of the commande live


    WHY IT'S (VERY) IMPORTANT - 15mns
    - Why using BASH/The command line gives you the deeper access and understanding to (your) machines you need to more efficiently use them...



    PRINCIPLES - 2H
    - OS & API
    - Commands, (types of) arguments
    - Input, Output, Piping
    - Regular expressions
    - Advanced commands
    - Most common commands
    - MySql Commands
    - Using python in combination with BASH

    EXERCISES
    - Navigate to your downloads folder and list the files
    | As a simple list
    | As a human readable detailed list
    | Ordering files inverse chronologically (most recent first)
    | Search text in files, in all subdirectories too
    - Open a connection to our local database
    | List all tables
    | Select 10 results from a table of your choice
    - BONUS: Replace '2022' by '2023' in a folder with one command

  • PYTHON: ADVANCED AUTOMATION - I


    PURPOSE
    - (Dramatic) time gain
    - Process simplification
    - Ultimately: Empowering the end user


    INTRODUCTION - 1H
    Based on the live, running scripts that we will be working with:
    - A case study of the initial problem
    - Presentation and demo of the Solution
    - General presentation of the architecture

    ANALYSIS - 2H
    - A full (functional and technical) analysis of the Issue/Problem
    - Solution project: Definition, and proposal for an end result, and the step-by-step process with Intermediate results
    - Feasibility: Components, flows, automations, simplifications



    YOUR PROJECT - 1H
    EXERCISE
    - Presentation
    - General view: Collective analysis


    IMPLEMENTATION - 7H
    ANALYSIS
    - Mistakes, errors, and possible improvements...

    HANDS-ON
    - Component - Database: Queries, DAL, cmd
    - Component - Generators: Structured texts, html, json, SQL...
    - Component - CMD: commands, sequences, parameters...
    - Component - Application: Launch, input/output, termination

  • PYTHON: ADVANCED AUTOMATION - II




    YOUR PROJECT - 1H
    EXERCISE
    - Implementation: Collective overview


    IMPROVEMENT - 2H
    HANDS-ON
    - Implementation of a chosen improvement of existing solution


    USER INTERFACE - 5H
    ANALYSIS
    - Native vs Web
    - Web: Full UI switch analysis
    | Modules
    | Calls, Results, Reads...
    | Implementation analysis

    HANDS-ON
    - Implementation
    : Chosen module


    YOUR PROJECT - 2H
    EXERCISE
    - Full UI Switch implementation analysis



    CONCLUSION - 2H
    - General principles review
    - General review

    EXERCISE
    - Your projects: We end working on your projects

    Next steps...


About your trainer

Programmer by trade, project manager and business developer by experience and training, psychologist by natural concern... 20 years of various experiences in development, management and leadership are the basis of these courses....


PURCHASE