10 compétences à maitriser par un informaticien

Tout au long de sa carrière, l’informaticien aurait besoin d’apprendre plusieurs compétences. C’est dans la plupart des cas des compétences qu’aurait à utiliser presque au quotidien. Ils ne sont pas totalement obligatoires mais il serait pour lui difficile de les contourner.

1. L’algorithmique et structure de données : cette partie concerne beaucoup plus les développeurs, mais la compréhension de comment un ordinateur fonctionne est indispensable. Il faut se rappeler qu’un ordinateur est une machine comme une autre, sa particularité est de traiter l’information à la place de la matière comme les autres machines. Ainsi les structures de données permettent la compréhension de l’organisation de l’information. Et l’algorithmique, la manière dont les données sont traitées par la machine. 

2. Le hardware et matériel physique : dans cette partie l’informaticien doit avoir une perception globale de la composition physique hardware d’un ordinateur. Entre autres, les composantes essentielles d’un ordinateur, comme par exemple, le processeur, la RAM, le disque dur, la carte mère, la carte graphique…etc. De comprendre leurs caractéristiques et de pouvoir les remplacer et changer leurs paramètres. 

3. Les outils de bureautique : ou autrement appelés, les outils office en référence à Microsoft Office. C’est généralement les outils qui vous permettent d’écrire et formater du texte et de l’imprimer avec Microsoft Word par exemple. De remplir des tableaux avec des fonctions basiques de statistiques et de diagrammes avec Microsoft Excel. De préparer des présentations pour les exposer dans des réunions avec Microsoft PowerPoint. Ou rédiger des rapports techniques bien structuré avec Latex.

4. Langages de programmation : Cette partie aussi concerne principalement les développeurs, mais généralement un informaticien aurait au moins à maîtriser un ou deux langages de programmation. Pour la maîtrise totale d’un langage de programmation, beaucoup de temps et d’expérience sont nécessaires. Appréhendé de fond en comble un langage de programmation est relativement difficile. 

5. Linux : Linux n’est pas un système d’exploitation comme les autres, on peut dire qu’il est spécifique et bien taillé aux informaticiens. Contrairement à Windows qui est un système d’exploitation grand public, Linux est plus technique. Il permet à son utilisateur aguerri de faire ce qu’il veut avec ce système d’exploitation. Il peut le modifier comme il lui semble, dans le sens où il peut changer la structure interne du système pour s’adapter au hardware et au besoin de l’application. Il est aussi très adapté au processus intrinsèque à l’administration et le contrôle des machines, comme l’automatisation, la sauvegarde et le backup, la sécurité, le monitoring…etc.

6. Le Web : savoir utiliser le web comme un simple utilisateur. Et surtout reconnaître les bases de fonctionnement du web, comme les protocoles (html, http, ftp, ssl, tls…etc). Les serveurs (serveur web, serveurs de base de données, serveurs d’authentification, serveurs de clés de chiffrement…etc.). Les langages de programmation (html, css, php, javascript, ruby…etc.). La pile de développement des applications web avec ses 2 parties principales le front-end et le back-end. Les API et les services web…etc. 

7. Les réseaux informatiques : comprendre le fonctionnement d’un réseau informatique et aussi très importante pour l’informaticien. Comprendre les bases sur le fonctionnement d’un réseau que ça soit filaire ou sans fil. Que ça soit un simple réseau local à la maison, ou un réseau plus grand envergure englobant toute une entreprise. Reconnaître les protocoles utilisés et le processus de l’encapsulation de l’information à travers les couches OSI…etc. 

8. La sécurité informatique : dans un monde presque entièrement digitalisé l’information fait face à plusieurs menaces, dont le vol, la substitution, la corruption, la destruction…etc. Ainsi, il devient indispensable pour un informaticien de savoir protéger l’information, c’est comme installer des systèmes de sécurité dans sa maison. Dans ce domaine l’informaticien doit savoir comment sécuriser ses machines et son réseau, comment créer des mots de passe robustes, ne pas tomber dans les pièges des pirates, reconnaître les liens ou les emails ou les messages à risque…etc. 

9. L’administration des serveurs et le cloud : savoir contrôler les serveurs ou des machines distantes fait aussi partie des compétences inhérentes à un informaticien. Dans ce cas de figure, les machines sont souvent assez puissantes, ce sont généralement des serveurs à plusieurs milliers de kilomètres de distance. Qui sont uniquement accessibles par la voie du réseau, ce qui rend leur utilisation particulière et différente d’un simple PC. Le cloud c’est pratiquement la même chose mais au lieu de contrôler des serveurs vous aurez à contrôler tout un système logiciel et matériel interconnecté, ce qui rend le processus encore plus complexe.

10. Les outils de communication et les réseaux sociaux : pour les outils de communication il y en a du plus simple comme les emails et les logiciels de messagerie instantanée (Skype, Messenger, WhatsApp ou Viber), au plus sophistiqués comme Discord et mIRC. Les réseaux sociaux de l’autre côté sont à double tranchant, ils peuvent être néfastes par leurs addictions et le bafouillage des meurs et de la vie privée. Et de l’autre côté, le plus simple moyen actuel de s’ouvrir au monde et d’accéder à des milliers voire des millions de personnes. 

On a pu voir sur ces points quelques connaissances indispensables pour un informaticien tout au long de sa vie professionnelle. On pourrait aussi rajouter la maîtrise des outils de l’intelligence artificielle, néanmoins ça reste un domaine assez récent et pas encore mature. Dans tous les cas, il faut savoir que les connaissances de l’informaticien ne se résument pas à ces quelques points, à vrai dire, tout au long de sa carrière l’informaticien ne va pas cesser d’apprendre. 

Collection GitHub de ressources et de cours en informatique

L’un de mes étudiants m’a envoyé un lien d’un dépôt GitHub contenant une très grande collection de ressources sous format vidéo, de cours, de tutoriels, ou de conférences…etc., répertoriés et organisé en plusieurs catégories. J’ai un peu parcouru la liste de ces vidéos et j’ai remarqué que ce dépôt GitHub met en catalogue des cours provenant d’universités parmi les meilleurs mondes.

La liste des catégories ou des domaines que le dépôt recense et comme suite :

Le MOOC va-t-il révolutionner l’éducation ?

Par définition le MOOC (pour Massive Open Online Course) est un cours ou une formation donner à distance sur le web en utilisant des technologies diverses, parmi elles, les plus classiques comme les vidéos de cours, le format textuel de cours, les exercices, les examens…etc., en plus des outils communautaires qui vont faciliter l’interaction entre l’enseignant et les étudiants, comme les forums de discussions, les réseaux sociaux, les applications de communication visioconférence…etc.
Les MOOC ont tout d’abord émergé de la recherche scientifique, pour ensuite devenir populaire avec la pandémie, mais la question cruciale et de savoir est-ce que ça va vraiment révolutionner l’éducation ? À travers l’histoire cette prédiction était avancée pour plusieurs technologies auparavant, par exemple avec l’invention de la télévision ça a été prédit que ça va révolutionner l’éducation, ou encore avec l’apparition des micro-ordinateurs, ou d’internet. Mais jusqu’à aujourd’hui le seul dispositif pour l’éducation qui perdure reste une classe avec un groupe d’étudiants et un enseignant. Beaucoup de chercheurs pensent qu’il serait trompeur de visualiser l’éducation comme un simple processus de transmission de l’information vers l’apprenant, mais il faut rajouter en plus à cette perception l’aspect social qu’offre une classe de plusieurs personnes.
Les technologies comme internet, les ordinateurs, les tablettes, les smartphones, et la facilité d’accès numérique à l’information est un atout majeur pour l’éducation, mais en contrepartie l’aspect social de la vie d’un étudiant et d’autant aussi plus important.

L’avenir va nous dire comment l’éducation va évoluer, mais pour l’instant on va en profiter au maximum des ressources numériques comme les MOOC, l’adresse du site en bas donne un accès exhaustif des différents cours online que ça soit payant ou gratuit touchant pratiquement tous les domaines de l’éducation.

www.mooc-list.com

La différence entre codeur et programmeur selon Lamport

Avant d’entamer cette question de différence entre programmeur et codeur, il est important de présenter la personne de Lamport. Lesli Lamport est un scientifique mathématicien informaticien très connu, considéré parmi les chercheurs les plus influents dans les sciences de l’information, il a même été récompensé du titre Turing Award en 2013 (l’équivalent du prix Nobel en informatique) et plusieurs autres titres. Il est surtout connu pour le développement dans les années 80 de la première version de LaTeX, un logiciel de traitement de texte très répondu, au même titre que Microsoft Word, avec comme axe d’orientation le formatage automatique du texte. Lamport est surtout très bien connu académiquement par 3 algorithmes très populaires dans les cours universitaires spécifiques au domaine des Systèmes Distribués, qui sont l’Horloge de Lamport, la Cohérence séquentielle, et la Tolérance aux fautes Byzantines. Il travail actuellement chez Microsoft. Le site personnel de Lesli Lamport est accessible en suivant cette adresse www.lamport.org.

La différence entre programmeur et codeur

En résumé sur la vidéo en haut, « la différence entre programmeur et codeur, c’est comme la différence entre l’écriture (L’écriture littéraire) et taper sur une machine à écrire », c’est l’expression de Lamport lui-même. C’est une différence énorme, essentiellement une personne doit d’abord apprendre à programmer avant de coder.

25 expériences en Chimie

Mon entourage le plus proche sait très bien que je suis un fervent militant de l’expérience et la pratique dans l’éducation et la pédagogie, et par hasard je suis tombé sur une vidéo sur YouTube d’un enseignant en chimie qui arrive à faire 25 expériences pédagogiques en chimie en moins de 15 minutes. Malgré que je suis très favorable pour ces pratiques pédagogiques, je pense que les expériences exposées dans la vidéo ci-dessous frôlent le danger et la limite de l’acceptable, elles sont si spectaculaires qu’on se croirait dans numéro de magie ou d’illusion. L’exposant en question est appelé Andrew Szydlo, enseignant Anglais bien connu mondialement par ses méthodes d’enseignement hors normes, cette vidéo était une intervention dans TEDx.

25 expériences en chimie

Simulateur de montage et de réparation PC

C’est un très bon simulateur/jeux vidéo nommé PC building Simulator , il met le joueur dans la peau d’un réparateur PC, et avec le temps et suivant les jobs demandés, lui faire apprendre au fur et à mesure à construire, acheter et réparer des PC. Il n’est pas 100% fidèle à la réalité mais à mon sens, il est très réaliste et représente une très bonne introduction pour des personnes qui veulent comprendre comment la réparation et le montage des PC s’effectue, et en même assimiler le jargon et les termes techniques utilisés dans ce domaine. La vidéo en bas est une session de jeu d’une personne qui joue pour 30 minutes.

session de jeu sur PC Building Simulator

Jeux vidéo sur le thème des Systèmes embarqués

Les ingénieurs en systèmes embarqués sont les ingénieurs responsables de la conception et la réalisation de la quasi-totalité des appareils électroniques modernes, comme par exemple, les appareils d’électroménager, incluant la machine à laver, l’aspirateur, le réfrigérateur, le micro-onde…etc. Ou encore le consommable électronique, comme les smartphones, les caméscopes, les téléviseurs, les consoles de jeux…etc. Ou bien encore l’électronique enfouie à l’intérieur des machines, comme l’électronique dans les voitures, les véhicules de transport, dans des machines industrielles…etc. Ou l’électronique des équipements de bureau, comme les imprimantes, les scanners, fax, photocopieuses…etc. Il y a beaucoup d’exemples, c’est quasiment tous les appareils comportant de l’électronique, mis à part les PCs, les ordinateurs et les machines informatiques. Essayer de comprendre la définition des systèmes embarqués peut mener à confusion, puisque dans les exemples ci-dessus c’est l’électronicien qui doit normalement réaliser la partie électronique de la machine, mais l’électronique des appareils moderne a beaucoup changé en comparaison avec la pure électronique d’il y a 20 ans, dans les systèmes embarqués modernes, l’électronique repose sur un processeur ou un microcontrôleur que l’ingénieur non seulement doit le concevoir électroniquement mais aussi de pouvoir le programmer, en ajoutant à cela des connaissances en programmation et en informatique pour ce dernier. La vidéo en bas est une petite présentation du jeu.

Présentation de Shenzhen I/O .

Le jeu en question s’appelle Shenzhen I/O, en référence à la ville en Chine de Shenzhen, et comme décrit dans Wikipédia, c’est la métropole pilier du high-tech et des semi-conducteurs de la Chine, c’est l’équivalente et la concurrente de la Silicon valley au États Unis. Le jeu fait la simulation d’un ingénieur dans un future proche qui immigre vers Shenzhen, pour travailler dans la conception d’appareils électroniques. Le plus intéressant dans le jeu c’est que le joueur aura comme principale tâche la résolution de puzzles sous format de construction de circuits électroniques, et de faire leurs programmations en langage assembleur, il a aussi la possibilité d’utiliser les datasheets et l’oscilloscope. Les circuits sont simplistes et la programmation en assembleur est rudimentaire, mais les concepts utilisés sont réels directement inspirés de systèmes authentiques, et ce qui m’a encore le plus surpris c’est que j’ai trouvé des travaux de recherche scientifique sur ce jeu, c’est considéré comme une nouvelle forme d’apprentissage des technologies modernes en utilisant les jeux vidéo. Le lien du Shenzhen I/O est par ici pour plus d’informations. Il y a aussi en bas la vidéo d’un joueur qui a réussi à crée le jeu de Tetris sur le simulateur de Shenzhen I/O.

Tetris sur Shenzhen I/O

Comment parler académiquement

Je suis tombé sur une excellente vidéo faite par un enseignant en MIT (La chaîne de MIT sur YouTube), dont laquelle il fait des explications et des conseils aux étudiants et aux enseignants pour comment communiquer académiquement. Académiquement, ça veut dire dans le cadre de l’éducation, ça inclut l’enseignement pour les enseignants et l’exposition pour les étudiants.

Parler académiquement

J’ai trouvé la vidéo très intéressante, même qu’il faut bien se mettre dans l’esprit que ce type de contenu n’est pas de la science exacte, malgré que vous allez voir l’utilisation d’une équation dans la vidéo, ça reste toujours des avis subjectifs et une perception personnel. Quand même le fait d’avoir un aperçu sur la communication académique selon la vision d’une personne avec une longue expérience et surtout à très haut niveau, reste très très enrichissant.

Le Webinar et le Streaming en éducation

Dans cette période de covid-19 et de confinement, il nous est souvent suggéré pour nous enseignants d’utiliser les moyens d’enseignement à distance, deux types de technologies sont généralement utilisées pour cet effet, le streaming,qui est une technologie relativement ancienne qui n’est pas initialement utilisée pour l’éducation, mais plutôt comme télévision amateur où un individu lambda peut animer une diffusion vidéo à partir de son PC, les deux plates-formes les plus connues pour ça sont Youtube live et Twitch, ils sont parfois utilisés en éducation, précisément pour le suivi de projets éducatifs ou pour l’enseignement d’une classe de petite taille. Le logiciel le plus connu pour le streaming que personnellement j’utilise est OBS, son avantage c’est qu’il est open source et gratuit mais il est plein d’options et ainsi plutôt complexe et difficile à utiliser pour les débutants.

Techniques de diffusion vidéos

La deuxième technologie est le Webinar ou le web conferencing, le terme webinar vient de la concaténation des deux termes web et seminar, c’est une technologie relativement récente qui est plus adaptée à un plus grand nombre de participants, entre 100 et 1000 et plus, plus appropriée ainsi aux conférences et les cours magistraux. Le logiciel pour le webinar le plus connu à ma connaissance est Zoom, qui dispose des outils plus appropriés à l’exposition et la présentation éducative. La vidéo en haut donne une explication plus détaillée de ces technologies. Le principal inconvénient de l’utilisation de technologie de diffusion vidéo en Algérie est surtout le upload internet (bande montante/sortante), le minimum actuel pour une bonne diffusion est à partir de 2 mégabits d’upload.

30 livres en informatique récents et totalement gratuits

Récemment l’éditeur Allemand de livres et de journaux scientifiques international Springer, bien connu dans les sciences et technologies a fait l’initiative de publier gratuitement une trentaine de livres informatiques très récents (de 2016 à 2019) sous format numérique, ça concerne plusieurs domaines informatiques, dont la programmation, l’intelligence artificielle, programmation système, programmation parallèle, sécurité réseaux, cryptographie, traitement d’images et beaucoup d’autres. La liste des livres et leurs liens respectifs sont sur la liste en bas :

Lien rassemblant la liste de tous les livres